Jump to content
You must now use your email address to sign in [click for more info] ×

Recommended Posts

On 11/20/2021 at 5:02 PM, sfriedberg said:

If you mean simply that they are not children of other layers, sure

Correct, top level, meaning no parent layers.

 

On 11/20/2021 at 5:02 PM, sfriedberg said:

If you mean they must be at the top of the Z stacking order, then no.

In a "normal" use of global layers, all other layers would be inside of global layers, so they would in effect be used to determine the Z stacking order of all other layers relative to other global layers (just not to each other).  Thus one global layer would by definition be on top of the Z stacking order, one on the bottom, and the rest in between, with all other layers having their relative Z order positions organized within the stacking order of the global layers.

The scheme I presented above basically relies on that assumption as any layers of a master page which were not inside global layers would have no where to go on the pages the master is assigned to.

If Serif were instead to allow global layers to intermix with non-global layers at the top level, then you are correct that the Z stacking order would not be able to be locked at the top - but they still must not be children of other layers or the entire scheme breaks down.

Link to comment
Share on other sites

On 11/20/2021 at 3:52 AM, fde101 said:
  • Global layers are probably not compatible with artboards?

So we might have to do without Artboards?

On 11/20/2021 at 3:52 AM, fde101 said:
  • Add a drop-down at the top of the layers panel which lists the spread and any masters applied to the spread.

This has me confused. How is it different from the current Layers panel and the Selected Page/Spread. Are you wanting a list of all the Master Pages and All the spreads in the document?

On 11/20/2021 at 3:52 AM, fde101 said:

Whichever of those is selected in the drop-down, the layers from the spread or the selected master are then listed in the layers panel, organized under their global layers.

Again I cannot see how this is different from the current implementation of the Pages and Layers panels. There is no Global Layer(s) currently.

 

I don't understand why there would need to be a drop down menu and things selected there.

I am actually trying to understand why people are wanting this Global Layer feature.  But I don't understand what they offer or would offer that is so essential. 

Mac Pro (Late 2013) Mac OS 12.7.4 
Affinity Designer 2.4.1 | Affinity Photo 2.4.1 | Affinity Publisher 2.4.1 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

Link to comment
Share on other sites

6 minutes ago, Old Bruce said:

I don't understand why there would need to be a drop down menu and things selected there.

I agree that a drop down seems like an extra step that would complicate things. To me, a simple expansion of the "Add a Layer" to include "Add a Global Layer" and also a right-click action to "Convert Layer to Global Layer" would do the trick.

As someone said, by default on a new document, everything could exist in a "hidden" base Global Layer. If you're not interested in the feature, you'd be none the wiser. But if you wanted to "activate" the feature, you could, upon adding a new layer, choose to make it global. Then the existing "hidden" global would become visible along with your new global layer.

I think it would be easy enough to indicate the Globalness of the layer with some nice UI (which is sometimes challenge for Affinity IMHO). You could even add warnings to the hide/move action of Global layers that alert users to the broader consequences (with the ability to choose "never show again" obviously)

Link to comment
Share on other sites

36 minutes ago, prophet said:

For me, the main crux is to be able to toggle the visibility of objects across every page within the document. Any object, on any Page, on any Master that resides in the Global Layer, can be toggled.

While I can see some utility in that capability I have to say that I doubt I would need some thing on each and every spread. Or have I missed something here? Is the Global Layer similar to a Master Page in that the Global Layer can be applied to page ranges?

Mac Pro (Late 2013) Mac OS 12.7.4 
Affinity Designer 2.4.1 | Affinity Photo 2.4.1 | Affinity Publisher 2.4.1 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

Link to comment
Share on other sites

35 minutes ago, Old Bruce said:

Is the Global Layer similar to a Master Page in that the Global Layer can be applied to page ranges?

It's not "applied" per se. It just exists as the structure on every page.

36 minutes ago, Old Bruce said:

Or have I missed something here?

I have an old post somewhere outlining my particular use case, but in simple terms…I am a package designer, snack bags mostly. In my usual design, I have a Master for the front of the bag and a Master for the Back with common elements. On each individual page, there are unique elements corresponding to product in the bag. Also on each page, front and back, there is a product window in 2 forms, 2 identical shapes/curves: one is a simple spot color fill called "window" which the printer uses to make the transparent plate, and one contains an image of the actual product along with additional graphic elements to make the product look "realistic" within the window (shadows, highlights, etc.). These graphic elements vary somewhat between product since what is "in the bag" is different for each.

At one point in the workflow, I need to export the bag artwork with an actual image of the product visible in the window for the purpose of making 3D renders. At the later point of the flow, sending the art to the printer, I need the product image to be hidden.

In this simple example, hiding the product image itself is relatively simple: I turn off that layer in the Front Master and the Back Master. However, since the additional graphic elements are different on each page, they are not attached to the Master. I would have to go to each page and hide them separately.

Life be be much easier with a single Global Layer called "product window" that could be flipped document-wide and hide everything I need hidden/shown.

Link to comment
Share on other sites

2 hours ago, Old Bruce said:

While I can see some utility in that capability I have to say that I doubt I would need some thing on each and every spread. Or have I missed something here?

@Old BruceIt's certainly not needed for every use case, but the example I gave above directly addresses your question.  In that set of 50-some documents, I do indeed have things that need to be on each and every spread (cutting guides, background textures, etc.), and I need to turn them on or off individually when printing/exporting to generate the several variations of output from each document which comprise the package of digital files I sell.

Link to comment
Share on other sites

6 hours ago, fde101 said:

In a "normal" use of global layers, all other layers would be inside of global layers, so they would in effect be used to determine the Z stacking order of all other layers relative to other global layers (just not to each other).  Thus one global layer would by definition be on top of the Z stacking order, one on the bottom, and the rest in between, with all other layers having their relative Z order positions organized within the stacking order of the global layers.

@fde101I am accustomed to applications which have both per-page and global layers.  No layers nest within other layers; all layers are in the top layer of nesting hierarchy.  Object and groups of objects are distinct from layers.  The Z stack is determined first by layer order, then by object/group order within a layer.

Obviously, I can work in other document models!  But I would find the absence of per-page layers rather a nuisance!

Link to comment
Share on other sites

9 hours ago, Old Bruce said:

So we might have to do without Artboards?

Just no artboards and global layers in the same document.  You already can't have artboards and multiple spreads in the same document.  The whole point of global layers is to exist across all spreads and masters so there is no real value in them anyway when you are working with artboards.

 

9 hours ago, Old Bruce said:

This has me confused. How is it different from the current Layers panel and the Selected Page/Spread. Are you wanting a list of all the Master Pages and All the spreads in the document?

Currently, a layer is added representing the master page.

With global layers existing across spreads and masters, the master could have layers of its own spread across multiple global layers.

The problem then is where the layer representing the master page goes, and I am arguing it should go away (disappear).

Then if you want to access the layers which exist on the master page, you would need to switch to the master page - but that introduces a problem for per-page overrides if you want to select the layers from the master in order to manipulate them for the current page.

Without the specific layer representing the master being present in the layers panel, you would need some other mechanism for accessing the layers of the master - and I am suggesting that a drop-down list be used for that.  The drop-down list would change the layers panel to show the layers of the master even though the normal document spread is selected (one that the master is applied to), instead of the current scheme of listing them under a pseudo-layer of sorts representing the presence of the master on the spread.

 

8 hours ago, Old Bruce said:

I doubt I would need some thing on each and every spread.

The global layers themselves would exist on every spread and master, but their content would be distinct for each spread and master.  In other words, consider you have three global layers in the document: "Front", "Middle" and "Back".  Every master and spread would then have those three global layers, but each would have its own per-spread/master layers organized underneath them.  Adding a new rectangle within one of the global layers would not automatically add it to all spreads and masters.

Any spread-based document could be thought of already as having a single implied global layer - one layer to rule them all, which is not shown in the panel, with all layers organized underneath it.

What we are asking for is to break that up and have multiple named global layers, so that something on a master which is in "Front" will be in front of the spread's content which is in "Middle", which will be in front of that same master's content which is in "Back" - but then also the ability to hide an entire global layer so that anything in "Front" on any page is hidden, then shown again when its hidden status is revoked.

 

6 hours ago, sfriedberg said:

I am accustomed to applications which have both per-page and global layers.

The content of a global layer is per-spread (or master), so you would still have the per-page layers, they would just be inside of global layers.

 

 

Link to comment
Share on other sites

For those of you who haven't seen this before, it might be easier to show you - this is how it works in QuarkXPress.  The layers in QuarkXPress are the equivalent of what we are requesting as global layers, and the objects on the spread (which are not considered layers in QuarkXPress) are listed underneath each layer (all objects are on layers, and all layers are global); additionally, if you toggle the visibility of a layer it is toggled across all pages (yes, I goofed the first time and toggled the object itself instead of the layer then realized what I did and went back and did it correctly):

 

 

Link to comment
Share on other sites

4 hours ago, fde101 said:
10 hours ago, sfriedberg said:

I am accustomed to applications which have both per-page and global layers.

The content of a global layer is per-spread (or master), so you would still have the per-page layers, they would just be inside of global layers.

Ah, that's where we diverge slightly.   First, there is a need for global layers which contain the same content on each spread.  I don't find it satisfactory to manually duplicate content within a global per-spread-content layer every time I add a new spread.  The virtue of global same-content layers is that you get it right once, and it's guaranteed to be the same everywhere and if you update it, it gets updated everywhere.  You never have to painstakingly inspect every single spread to make sure the supposedly-replicated content is actually replicated and not merely a close but out-of-date version.

Second, when working in CorelDRAW on pages (which are more like artboards than spreads for the purposes of this discussion) it is frequently very convenient to have varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers.  And I am using layers in the "top level of the nesting hierarchy" sense, clearly distinguishing objects and groups of objects from layers.  And I do want layers, not groups of objects, for several reasons related to visibility, print management and (ultimately, someday) automation scripting.

Link to comment
Share on other sites

4 hours ago, sfriedberg said:

there is a need for global layers which contain the same content on each spread

We already have those - this is what master pages are for.

Global layers work together with master pages to control the Z order of elements on master pages: if you have two global layers, and put your per-spread content in the lower layer, then the content from the master page can be placed in the upper layer to appear above the per-spread content, or on the lower layer to appear below the per-spread content.

 

4 hours ago, sfriedberg said:

varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers

This is exactly what we are requesting global layers for - they provide that kind of grouping.  See the video I posted above.

Link to comment
Share on other sites

10 hours ago, sfriedberg said:

Ah, that's where we diverge slightly.   First, there is a need for global layers which contain the same content on each spread.  I don't find it satisfactory to manually duplicate content within a global per-spread-content layer every time I add a new spread.  The virtue of global same-content layers is that you get it right once, and it's guaranteed to be the same everywhere and if you update it, it gets updated everywhere.  You never have to painstakingly inspect every single spread to make sure the supposedly-replicated content is actually replicated and not merely a close but out-of-date version.

Second, when working in CorelDRAW on pages (which are more like artboards than spreads for the purposes of this discussion) it is frequently very convenient to have varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers.  And I am using layers in the "top level of the nesting hierarchy" sense, clearly distinguishing objects and groups of objects from layers.  And I do want layers, not groups of objects, for several reasons related to visibility, print management and (ultimately, someday) automation scripting.

 For certain cases you can use masters for these same-content-elements, since you can stack multiple masters and even move them around the page (selected on the layers panel). It's pretty handy. So most times, if there are things I want to handle separately, but on multiple layouts, I just

1. cut-paste the elements to another master and group them

2. apply that master to any master page I need those elements on

3. apply those masters to the spreads

4. switch the group on/off as needed.

A drawback is, if you need to have on-spread elements to be between those groupped ones in the Z-order, then you need to arrange them on multiple masters which can be complicated to follow. 🙁 I can see how the global layers would make this easier.

 

I'm still trying to wrap my head around how these global layers would work, I've never used a software that has them. I think I get the spread-wise use now (thanks for everyone who wrote explanations here), what I find confusing is how it can be used with masters. Can elements on a master be on separate global layers? Let's say I have a document with global layers named A, B, C, D from top to bottom. If on the master page I have elements on layer B and D, and on the spread my elements are on layer A and C, then how the layers panel would look? Is the master split into two to show the right layer order? Can I easily move the master in the z-order in this case? I mean inside the global layer of course. Because I like how you can move around masters in Affinity, not just in the Z-order, but also position-wise, it allows some creative uses. But sometimes, when I want to position something between master layers, it's a struggle, see above. So it would be nice if it could work this way, my only concern is, how you keep track of the "splits" of your master, if you used several global layers?

Oh that rose another question: Could you group elements accross multiple global layers? That would be certainly handy sometimes, to move them together, but then again, how you keep track... Maybe there could be a little dot/icon that highlights all the global layers on the panel where there are elements of the group or master. 🤔

 

Link to comment
Share on other sites

6 hours ago, fde101 said:
11 hours ago, sfriedberg said:

varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers

This is exactly what we are requesting global layers for - they provide that kind of grouping.  See the video I posted above.

 

15 hours ago, fde101 said:

The global layers themselves would exist on every spread and master, but their content would be distinct for each spread and master.  In other words, consider you have three global layers in the document: "Front", "Middle" and "Back".  Every master and spread would then have those three global layers, but each would have its own per-spread/master layers organized underneath them.

I cannot reconcile these two statements, @fde101. Your earlier statement (2nd quote here) says that all global layers are on all spreads.  That's not at all the same as supporting non-global layers which exist uniquely on one page, artboard or spread.

Again, I am distinguishing layers (top level of the nesting hierarchy) from objects and groups of objects.  In this document model, layers never nest within layers.  Placing an object or group of objects on one spread is not at all the same as placing a distinct layer on one spread.

Where is my misunderstanding of your proposal?

Link to comment
Share on other sites

47 minutes ago, Annabella_K said:

I've never used a software that has them. I think I get the spread-wise use now (thanks for everyone who wrote explanations here), what I find confusing is how it can be used with masters.

CorelDRAW has had them for decades, but it only supports a single master page.  So we can't look there for a good example of how they might interact with multiple masters.  CorelDRAW also supports per-page layers which do not nest within and are completely independent of master page global layers, with the exception of Z stack order.  For each page, master page global layes can be inserted/arranged in the master+page Z stack order as desired, perhaps quite differently from the order on other pages.  Sometimes this is a great convenience, other times it is a tremendous nuisance to manage.

Link to comment
Share on other sites

26 minutes ago, Annabella_K said:

what I find confusing is how it can be used with masters. Can elements on a master be on separate global layers?

Yes, the same layers that are available on every spread/page are also available on every master.

Items on each layer on the master page show up underneath the per-spread/page items on that same layer, but above anything (from the master or the spread) which is on a lower layer.

If you turn off visibility for a layer, it applies to ALL objects on that layer, regardless of whether the object is from a spread or from a master.

Note that most DTP software only allows one master page per spread, so the issue of layering the master page amongst the layers of the spread is unique to Affinity Publisher.  

Link to comment
Share on other sites

5 minutes ago, sfriedberg said:

Where is my misunderstanding of your proposal?

Please review the video I posted above.  The layers themselves are on every spread and master, but the content of those layers (the children underneath - the individual objects that the layers contain) are unique to each spread and master.

 

Content on a master page appears on every spread that the master is assigned to, in the same layer that it is placed in on the master, underneath any per-spread content of that same layer.

Link to comment
Share on other sites

Just now, fde101 said:

Please review the video I posted above.

I did.  I thought I was being clear that I did not care for having all layers be present on all pages.  That is not a good tool to manage document content.  In documents with diverse page (artboard) contents, the "natural" set of layers to organize one page is very different from the "natural" set of layers to organized a 2nd page.  Consider a simple brochure or announcement which has primarily text and perhaps a few decorative graphics on the first page, and a complex vector illustration on the second page.  Many of the layers used to construct the illustration have no place on the first page.  And we really are talking layers, not groups of objects.  Containers for things like guides, construction lines, grids, to take just one example.

I understand perfectly well that not all content in a layer is replicated across all pages.  But it does not help the user to show a bunch of layers with no purpose on the current page.  It clutters the user interface, makes it harder to find the actual content, obscures the relevant structure of the page.

So I am going to reiterate my desire for "varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers".

Link to comment
Share on other sites

26 minutes ago, sfriedberg said:

I understand perfectly well that not all content in a layer is replicated across all pages.  But it does not help the user to show a bunch of layers with no purpose on the current page.  It clutters the user interface, makes it harder to find the actual content, obscures the relevant structure of the page.

So I am going to reiterate my desire for "varying sets of per-page layers without creating a set of global layers that is the union of all the per-page sets of layers".

You will have both options and the choice because you do not have to create global layers, instead you will rather create them if you like their structuring support. If you want such an additional structure on certain pages only you use the already existing type of "(Layer)" layers. They appear only on that page where you created them, if you want them on 2 pages than you create them on 2 (or copy/paste).

If you don't create a global layer (or maybe have 1 app's default only) then all objects respectively their layers will be within/on this single main level (= as currently).

About your fear of a "cluttered interface": in my experience 3-6 global layers will do it, for instance in your example 1 info&guides, 2 text, 3 illustration, 4 background. If you feel disturbed by any basic set then reduce them or create only the amount of global layers you feel comfortable with.
– [ p.s.: have you noticed that in AD's Layer panel ALL artboards always are visible layers, regardless of the artboard you currently work on? No way to get rid of them. I assume there are usually more artboards in an .afdesign Layer panel than global layers will ever be in the Layer panel of an .afpub. ]

Accordingly global layers will not "make it harder to find actual content", instead they make it easier by 1) their bounding box color in the layout (= global layer color) and 2) by less need to have all global layers unfolded permanently and 3) you would need to look into the layers panel less often: For instance story text layers usually don't overlap in the layout, aren't nested within other layers and don't have mask or adjustment layers nested. Therefore you sufficiently can work with the layout / page view only and don't  need to care as currently for the layers panel because all objects will be more organised in their hierarchical order, respectively you will use it mainly to switch between (collapsed) global layers to select / activate one for creation of new objects, or to unfold a global layer to for a nesting operation with a containing object.

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

On 11/22/2021 at 5:59 PM, fde101 said:

The content of a global layer is per-spread (or master), so you would still have the per-page layers, they would just be inside of global layers.

This seems to be the statement I am getting hung up on.  Are per-page layers nested inside global layers, or not?  My reading (perhaps I am being too pedantic?) of @fde101 's comments is "yes", and of @thomaso 's comments is "no".

Link to comment
Share on other sites

46 minutes ago, sfriedberg said:

This seems to be the statement I am getting hung up on.  Are per-page layers nested inside global layers, or not?  My reading (perhaps I am being too pedantic?) of @fde101 's comments is "yes", and of @thomaso 's comments is "no".

In my understanding / idea: IF a user created global layer(s) then every object will be in one of the global layers. If there is only 1 global layer then all objects are inside this single global layer. If there is no global layer in the layers panel then the page is the (invisible) global layer so-to-say (= the current state). So, WITH global layers there is no object or layer which does not belong to a global layer and no object is outside a global layer.

Again, compare AD: there you can currently work a) without artboards or b) are allowed to place objects outside of artboards in both layout & layers panel but those don't show up on any artboard but are hidden in the layout view (by Clip To Canvas which can't get deactivated when using artboards). That means there is no practical use for objects outside artboards although the UI does allow to place objects there.

Or, vice versa: I can not imagine of any advantage if objects of specific pages only may get positioned between global layers. – You seem to see this as a must have, right? For what specific use / what disadvantage if they couldn't, what would not work if all objects are in global layers?

However, this question might be already answered / decided by the developers and therefore irrelevant for us to discuss. At least it appears not to be a question in TonyB's post from friday.

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

3 hours ago, thomaso said:

I can not imagine of any advantage if objects of specific pages only may get positioned between global layers. – You seem to see this as a must have, right?

Given the tenor of complaints on this forum, I am reluctant to claim anything is a must have😀

However, I have found it useful to have some master global (i.e., repeated content across spreads) layers above per-page content, and some global layers below the per-page content.  Examples would include cutting guides (above) and background texture (below).  And I could envision a situation where there could be additional, intermediate Z, global layers, where page content needs to be inserted between particular pairs of global layers.  In particular, I am thinking of a set of instructional slides representing a series of steps performed on some mechanism/design/org-chart which is replicated across all the slides.  Successive slides would highlight particular portions of the mechanism and "bury" the rest.  This is most easily accomplished by shuffling the Z order differently on different pages.

The confusion/concern/curiosity I have been expressing in my last few contributions to this thread center around organization of per-page content.  In a Publisher-style document, this is less of a concern.  In a Designer-style document with diverse page/artboard contents, it is more of a concern.  I agree with your comment that in most cases only a modest number of master global layers is needed.  The appropriate number of per-page layers varies quite widely with what's on the page, and my objection earlier was to seeing the union of all the per-page layers all the time, on every page.  If I am reading your respective replies correctly (and perhaps I am not), then you do not expect per-page layers to be visible on every page, while @fde101 does.

Let me see if the answer to this question clarifies things:  @fde101, are you proposing that all layers are global layers?  Or merely that all master page layers are global layers?  It's the consequences of the "all layers" decision that concern me.

Link to comment
Share on other sites

3 hours ago, sfriedberg said:

are you proposing that all layers are global layers?  Or merely that all master page layers are global layers?  It's the consequences of the "all layers" decision that concern me.

In existing professional DTP applications such as QuarkXPress and InDesign, ALL layers are global layers, with any per-spread or per-master content being nested within them.  This is how it has been for several decades now and I have never seen complaints by their users that they do not have the option of limiting a given layer to a particular page.  That is not a description of how it needs to be in the Affinity apps, it is the reality of what already exists in other apps which professionals have been using for a long time, and it works.

As to whether or not the Affinity apps should behave that way, that may be an open question, but consider what could happen if they do not.

Assume there are three global layers, Front, Middle and Back.  As these are global, they appear on every spread and every master.

Now on a single spread of the document, call it spread 2, you add a spread-specific layer between Middle and Back, I will call it Local for purposes of this example.

Now we have spread 1 with layers Front, Middle and Back, and spread 2 with layers Front, Middle, Local and Back.

An important point possibly not mentioned until now is that the ordering of global layers is also shared among all spreads (at least, in existing apps).

What happens if I am working on spread 1 and decide to move layer Middle behind layer Back - what happens to Local on spread 2?  Does it move along with Middle, presumably because it was meant to contain content that should be behind the layer you are moving, or does it stay between Front and Back, presumably because it is meant to contain content that was intended to be in front of Back?  The movement of the global layer from spread 1 is ambiguous regarding the content of the layer on spread 2, because it is not visible in the layers panel and there is no way for the user to express that intent.

Let's assume for a moment that the software were implemented this way and the Local layer remained in front of Back, causing spread 2 to contain Front, Local, Back, Middle.

Now the user decided that Middle should have been where it was to begin with and moves it back.  On spread 1, the user only sees Front, Back, Middle, but for spread 2, the software need to decide if Middle is being moved before Back or after Front - in other words, it is again ambiguous as if the layer is being moved before Back, then you could wind up with Front, Local, Middle, Back.  Because the user has been working on spread 1, it might go unnoticed at this point that by manually "undoing" the move of Middle behind Back, the Local layer on spread 2 has in effect migrated from being behind Middle, to being in front of Middle.

Multiply this confusion across hundreds of spreads each of which may have "local" layers with different intentions, and you might start to realize why this is a bad idea - seemingly simple manipulations of the layer stack could wreak havoc on the structure of the rest of the document, and it would go unnoticed while you were focusing on just one place.

One way to resolve this would be to have the order of global layers independent for each spread - then if you wanted to move Middle behind Back it would only impact the spread you are on, but what happens when you actually WANT the layer to move on all spreads?  If you have hundreds of spreads, you need to go through and make that change on every one of them (and on the masters), which reduces the benefits of having used global layers in the first place.

These same issues occur for layers which are shared among some spreads but which are not present on all of them - the same issues would occur.

If you want a mix of top-level layers being both global and local (and possibly shared among some but not all spreads), this is the sort of problem that the intended behavior needs to be defined for.  Something needs to give at some level - there needs to be compromise of some sort, which is largely why I think @TonyB started asking those questions to begin with - to determine what kind of compromises people are willing to live with.

 

Consider just three of the many possibilities here, just with the points I raised in this post:

  • All top-level layers are global if any global layers are used, and the order of layers is shared among all spreads and masters.  In this case, there is no ambiguity when re-ordering layers, and document-wide changes can be made quickly and easily.  On the downside, a few of the global layers might not be used on every spread, so there might be a handful of extra layers cluttering the interface for the most complex documents.
    • Possible improvement: a toggle is added to the layers panel to hide global layers which have no content on the specific spread or master, except when moving global layers.  This reduces the clutter under normal conditions, but needs to be turned off when first adding content to one of the hidden layers; making them visible when re-ordering the layers helps to eliminate the ambiguity of what to do with the others, but also means that the place you are dragging to in the layers panel becomes a moving target compared to when you started the dragging action.
  • Top-level layers may be a mix of global, shared (subset of spreads) and local (per-spread) layers, including individual object layers; the order of global layers is shared among all spreads and masters, and the order of shared layers is shared among those spreads which contain them.  In this case, the number of irrelevant layers which appears in the layers panel is reduced, but moving layers which are global or shared can have unexpected consequences for other spreads of the document which may not be immediately noticed by the user.
  • Top-level layers may be a mix of global, shared (subset of spreads) and local (per-spread) layers, including individual object layers; the order of global and shared layers is unique to each spread and master.  In this case, the number of irrelevant layers which appears in the layers panel is reduced, and moving any top-level layers on one spread will not impact other spreads at all.  To make changes to the layering structure of the contents of different global layers throughout the document, the layers must be manually re-ordered separately for each spread, even if there are hundreds of spreads.
    • The need to manually re-order layers across many spreads can be alleviated by a menu command that opens a dialog box to express the exact operation desired.  This could allow specification of which layer(s) to move, where to place them (after layer X, before layer X, at the bottom of the layer stack, at the top of the layer stack, etc.), and which spreads to include in the change.  However, this would still be more work than simply having them all share a common layer order to begin with, and still cannot accurately express every possible scenario when dealing with layers that are not present on all spreads.

 

Consider which of these (or some other behavior) would be most appropriate for your work, then try to consider people working on different types of projects, and realize that the one you pick will still cause problems for someone else.

My argument is that the well-defined behavior of all top-level layers being global and having a shared order among all spreads and masters, something which already exists in the wild and is well-understood in other apps, is the least problematic solution of any I personally can think of for the greatest range of users with the widest assortment of projects.  By all means, discuss other options if I missed something (as I am quite sure that I have).

Link to comment
Share on other sites

6 hours ago, sfriedberg said:

However, I have found it useful to have some master global (i.e., repeated content across spreads)

Here’s where the misunderstanding comes, namely that global layers = repeated content. First, the term “global layers” I think may be new, as we in the Affinity community are trying to reconcile the Affinity concept of layers, as they exist entirely independently on each page, with the way layers work in other software we are used to such as InDesign. In each case, they are called simply “Layers,” but their implementation is different. I think the term “global layers” has been coined here to distinguish the layer behavior we currently miss from the existing Affinity concept of layers. Or am I mistaken, that the term has existed in other software? Probably some software out there does use it. If I am not mistaken concerning the coining of a new term, then it is understandable that not everyone is “on the same page” when understanding what we mean by it.

While I am not against the Affinity concept of a layer, I do occasionally miss how layers work in InDesign across all pages. And apparently Quark too (thanks for the video @fde101). So many of us, when we ask for “global” layers, we are asking for what those kinds of layers provide that are not available to us presently.

So for those who don’t understand how “global” layers are different from master pages, then I suggest you first forget the concept of repeated content, because this is not what it is about. Layers in the big legacy DTP apps are about simple z-order containers that exist across all pages in a document. As others have suggested in this thread, a document could be set up with layers called “Top,” “Middle” and “Bottom” as the only global layers. Every page would have those three layers in the predefined order. What goes into those specific layers will vary for every single page, because it is not about repeated content but repeated containers.

As I now work remotely from my colleagues, I would like to use the global layer concept for documents going through the editorial process. In such documents, I would have the main global layer (or layers), and on top of that I would have another global layer I might call “annotations” or “proofreading” or some such. As I go through the process, I would make various notes about the underlying content: it could be text in frames, circles, arrows, proposed alternative graphics, etc. Every page would necessarily be different content, as I am making editorial notes about things that we should consider. It could be hundreds—potentially thousands—of different objects, all of them basically independent objects that are not repeated on other pages, but the whole lot of them are contained in one single container. I can move the Z-order for the whole lot of them by simply moving the global layer if I wanted to. I can turn off visibility of all of them at once by the same eyeball icon we are used to in Affinity today and in the other apps, so if I want to view, print, or export with or without annotations, it is one click away. And if at the end of the editorial process, we no longer want to keep the annotations, the potentially thousands of unique text and graphic objects pertaining to annotations could be deleted simply by deleting the global layer they are in.

The multiple languages per document is a very common use for these kinds of layers as well. It is not necessarily repeated content, as the content would often be different for every page, but you need the global layers as containers concept to be able to switch on all of the French layers and switch off all of the German content with a couple of clicks.

If repeated content across multiple pages—or even all pages—is what you want, then that really is the domain of master pages. Having a “global layer” concept that is additional to but slightly different from master layers is in my view an unnecessary complication of the interface, and in the end it would still leave us begging for a solution for what Affinity layers does not provide that the other apps do. I like Affinity master pages, particularly the interesting idea that multiple masters can be applied to single pages, or even multiple masters applied to other masters, so I think Affinity master pages are quite flexible already.

It seems like the main weakness of master pages in Publisher currently is that they necessarily go to the bottom of the layer stack on each page, while sometimes master page content should go over the content unique to that page, and the current way to achieve that can be a cumbersome operation that must be done on every page. Global layers would not solve that problem by being an alternative to the master pages, but it could indeed solve the problem by virtue of the fact that global layers are layers available everywhere, on every page, and that would include master pages. Some of the content of a master page could be in lower global layers, some in higher layers. On the regular pages, the master page content that went into the “top” global layer would be located at the bottom of the “top” layer on the individual page, but it would still be above all content in the global layers below.

Perhaps I can sort of illustrate this concept. For those of you who are hoping global layers = repeated content, let me humbly ask you to temporarily imagine global layers as containers only, on the model of the other apps, and forget the idea of repeated content for this illustration to see if this would meet your needs. Here we will set up our imaginary document with three global layers, and just to stay consistent with our discussion, we’ll just call them “Top,” “Middle,” and “Bottom.” So those three layers (containers) are available everywhere in that order. Now let’s add to our document a model for the spread that introduces a new section. It will be a consistent format across the book, i.e., repeatable content, and that calls for a master page. So let us define a master page called “New_Section.” With global layers, remember that those layers are available even in master pages. Here is what the Layer Studio might show for our “New_Section” master:

  • Top (Global Layer)
    • Header (Text Frame)
    • header_background.png (Image)
  • Middle (Global Layer)
    • Section Intro (Text Frame)
  • Bottom (Global Layer)
    • Page Number (Artistic Text)
    • background.jpg (Image)

So there is what our “New_Section” master looks like in the Layer Studio with the global layer concept. Those two images and three text objects are repeatable content that will be on every spread with the New_Section master applied. Now let’s have a look at what that would look like on a particular page with that master page applied. The text could go in the master page text frames, as always, but let’s say we have a few other objects unique to that particular spread. Just as the master pages are today applied as layers on the bottom, with global layers they would be applied as layers at the bottom of each global layer, leaving the unique content above.

  • Top (Global Layer)
    • section_3_overlay.png
    • (New_Section Master)
      • Header (Text Frame)
      • header_background.png (Image)
  • Middle (Global Layer)
    • Pull quote (Text Frame)
    • chart.pdf (Image)
    • section_3_illustration.afdesign (Linked Document)
    • (New_Section Master)
      • Section Intro (Text Frame)
  • Bottom (Global Layer)
    • (New_Section Master)
      • Page Number (Artistic Text)
      • background.jpg (Image)

I hope that helps. It seems to me that the kind of global layers that function as the way layers do in the other apps would work well in the Affinity model, and it could extend what is possible with master pages rather than being an alternative to them.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.