The recent issues with SEN Launcher have forced me to reconsider my approach to shared Workareas. My default approach is to house all content in a single Workarea shared by all Authors (on all projects). The rationale behind this is to promote maximum re-use across projects by allowing all Authors to see everything, and to cater for the fact that Authors sometimes switch between projects, so setting a project-specific sub-Group as Root was not really viable. The problem with this (everyone/everything) approach is that my primary client’s Workarea is now extremely large (> 12,000 objects), which takes around 8 hours to fully synchronize the first time. On top of this, recent changes in SAP Enable Now (and the use of time-limited ‘nonce’ security tokens) has meant that Producer would often time out and close before it had even finished loading.
At the same time, the latest (cloud) release of SAP Enable Now – the 1911 (November 2019) release – included a great new function that lets you selectively disable synchronization of individual Groups in your Workarea. By flipping this concept around, this means that you can actually set up your Workarea to initially synchronize only the Groups you want, and change which groups are synchronized as and when you need, without having to blow out a sub-Group set as Root and re-build your Producer Workarea every time.
So in this article, I walk through my new process for setting up an Author’s Producer Workarea for the first time, and look at some of the options that are available when doing this. This is done from the perspective of a Master Author instructing a new Author. Caveat: This is based on the latest (1911) release in a cloud environment. On-premise installations may differ, and most of this won’t work with any earlier releases.
A Minimum Viable Workarea
The first thing a new Author needs to do is get the Producer Workarea connected to the server. As a first step (again, this is for cloud), carry out the following steps:
- Open Producer. As soon as it opens, the Resources Group and everything in it is automatically downloaded and added to the Workarea. Note that Authors won’t see the Resources Group unless they select menu option View > Workarea Details > Show Resources. You will typically want them to display Resources so they can set the default Recording Dictionary (if you have a custom one – which you probably do). They can hide Resources again once this has been done.
- An empty Group called Content will also be created as part of this initialization. This is effectively the Author’s ‘local repository’ or cache, existing only on their PC (you can see that the Group icon does not contain a ‘cloud’ symbol on it). Technically it is a little more complicated than that, as content in Content can be saved to the server, but conceptually it is easiest to think of this as a local repository. I typically ask Authors to rename this to My Local Content to better identify it as their content, and to differentiate it from ‘server’ content.
- Click the Synchronize Workarea button. This will download all ‘Must Have’ content. This will normally be your Toolbox, containing your templates, image assets, and so on (basically everything your Authors need to start creating content), and maybe some other objects that you want all Authors to have. This content will be saved to a new Group called Unsorted.
- Drag the Toolbox (and any other content) out of Unsorted, and drop it as a first-level indent under Workarea. The Unsorted group will disappear if it has nothing left in it; don’t worry, it will be recreated automatically when necessary.
The Author’s Workarea should then look like something like this:
At this point the Author can start work, creating content in their ‘local repository’. However, they can’t see anything else on the server – or save what they create to the overall Root structure. That’s the next step, and there are two main options for this: Synchronizing assigned content and Synchronizing ‘all‘ content. We’ll look at both of these, separately.
Synchronizing assigned content
Using this approach, Authors are explicitly assigned content objects, and they synchronize only these objects (between the Server and their Producer Workarea). For this to work, you (as a Master Author) need to explicitly assign the applicable content objects to them. To assign a content object to a specific Author, you can either use the Tasks tab in Manager, or use the Change Workflow button in Producer.
This approach can work well if you create empty simulation Projects that you then assign to Authors for recording, or if you need Authors to update specific existing content objects. Note that a Group is also a content object, so you can assign a Group to an Author, and the Author will have visibility to and be able to access all of the contents of this group (but see comments below). Unfortunately you can only assign a content object to a single Author, which isn’t very convenient if you want multiple Authors to be able to work on content contained within a single Group. Luckily, there is a solution to this: You can create Author-specific Groups (using the Author’s name as the Group name works well), assign each Group to its Author, and then paste As Reference the Group(s) that you want the Author to be able to work in.
Assuming you have assigned content to Authors, you then need to tell the Author to synchronize the content that has been assigned to them. To do this, they just need to select menu option Server Workarea > Check Out Assigned Objects. When they do this, ‘their’ content (or Group) will be downloaded to Unsorted, and their Workarea will appear as follows:
Note that in this example we have assigned the Dirk Manuel Group to the Author, and included the Procurement folder, from our overall Root structure, in this.
Because only the author’s personal Group is assigned to them, they can see its immediate contents, but these content objects (and their contents) have not been downloaded (they are shown with a question mark on their icons). This content will be downloaded as soon as the Author synchronizes their Workarea, or the Author can download individual content objects (so that they can work on them) by right-clicking on the content object and selecting Check On Server from the shortcut menu. This will then give the Author the option to download the object and any/all of its contents (this is explained further, below).
Synchronizing server content
Maybe you don’t want to go to the trouble of assigning content to individual authors, and/or maybe you want all of your Authors to be able to work on any of your content. In this case, you will want your Authors to synchronize the server ‘Root’. This is probably the easiest scenario, and effectively the ‘default’ scenario – at least the way SAP position it.
The ‘Root’ is the highest-level structure element on the server. All content that will be published and made available to your users must exist somewhere underneath Root (although you don’t have to publish everything under it – and typically won’t; your Toolbox is also under Root, but this is not ‘publishable user content’. SAP has traditionally espoused synchronizing the entire Root, but thanks to the ‘Remove Locally’ functionality released in 1911, there are good reasons to not do this – especially if you have a very large Workareas.
To synchronize all or some of Root, carry out the following steps:
- In Producer, select menu option Server Workarea > Check Out Objects. You will be presented with a dialog box showing all content from Root down (that isn’t already synchronized), in an expandable/collapsible hierarchy, and with a selection checkbox to the left of each node (group or content object).
- Ctrl-click to select the highest-level Group in the Workarea – which should be called Root, or something similar. It is important to use Ctrl-click, so you are only selecting the Root node itself, and not its contents (unless you do want to synchronize the entire server – in which case, just regular-click to select everything and skip the rest of these steps).
- Navigate to the (sub-)Group that you do want to synchronize (typically the Group for the project/organization you will be building content for), and select its checkbox. This will include all of its content – you could also Ctrl-click to select/deselect individual nodes if you needed to.
- Make sure all of the nodes in the path all the way back to Root are also selected (individually, via Ctrl-click, so as not to include their contents). This is important; if you do not choose to synchronize the ‘parent’ of a node, that node (and all its sub-nodes) will be placed in Unsorted, and not under Root.
- As as side note, this can sometimes be a useful approach – for example, if you want to temporarily synchronize a single group but don’t want it to remain (even as an empty reference) in your Workarea afterwards. When you Delete Locally (see below) a Group in Unsorted, it is completely removed from your Workarea, instead of showing as ‘unsynchronized’ (again, see below).
- Click OK. The selected content will be downloaded to your PC (you’ll see a progress dialog box).
- Once this is done, a message will be displayed, stating: “You have checked out the server’s root group. Do you want to set it as your local root group?“. Select Yes. (If you select No, it will be saved to Unsorted, and you will need to right-click on it (or a sub-Group) and select Group Options > Set Root to set it correctly.)
Your Producer Workarea will now look something like this:
There are a few important things to note, here. First, the content you explicitly selected (including the Group’s contents, where you selected the entire group) are shown with a blue (filled in) cloud symbol on their icon – these content objects are now being synchronized with the server. Next, any content objects that are directly within a group that you synchronized (and you synchronized the Group node only) are also listed, but are shown with a white (empty) cloud symbol – these are content objects that are not being synchronized with the server, and cannot be edited (the property sheet for these objects will indicate “Unknown Reference”). Note that for these (unsynchronized) objects you can only see the objects themselves – not their sub-Groups/contents, because these are not being synchronized.
Synchronizing only the contents of the Group(s) that you need to work in will significantly speed up the time it takes to synchronize the Workarea – and also the time it takes to open the Producer, because SEN has to load less content. It will also reduce the amount of space taken up by your local repository on your PC.
So now the Author can work on the content they need to, without worrying about any other content belonging to any other project or organization. But what if they change projects, or need to work with (or look at) content in a group that they don’t have synchronized? Luckily, SAP Enable Now caters for such situations, as explained in the next two sections.
Synchronizing additional content
If an Author needs to work on additional content that is currently not synchronized, they can access it by carrying out the following steps:
- Right-click on the (currently-unsynchronized) Group that you want to use, and select Load from Server from the shortcut menu.
- The same Checkout dialog box seen above is displayed. Select the Groups and/or content objects that you want to synchronize, as before, then click OK.
You can also start from Server Workarea > Check Out Objects again, and select the additional content from there, as explained above. And as long as you select the parent nodes back to a Group that is currently synchronized (not necessarily all the way back to Root), the new content will automatically be slotted into the relevant place(s) in the Root structure. This also works if you forgot to select the path back to root, and now your content is in Unsorted – as soon as you select the path nodes for synchronization, the content in Unsorted will automatically be moved to the correct position under Root.
De-synchronizing content
If an Author no longer need to work with the content of a Group (maybe they switched project, or are just done looking at it), they can remove this content from their synchronized content as follows:
- Right-click on the Group (or content object) and select Remove Locally from the shortcut menu.
- When prompted, confirm that yes, you do want to remove it.
- You may see a message stating that some content objects in your selection also exist (as references) in other Groups that are still set to synchronize. You can choose to de-synchronize these references as well, or leave them synchronized.
A progress dialog box will show the selected objects being deleted. Don’t panic – they are just being deleted from your local repository. Once this has finished, the selected Group will show as unsynchronized (a white/empty cloud).
Even if you previously synchronized the entire server Root, you can use this method to ‘remove’ any content that you don’t need. (This is actually the intended purpose of the new ‘Remove Locally’ function.)
Summary
So that’s the basic options for setting up a Workarea, now that the ‘Remove Locally’ feature is bedded into SAP Enable Now. You may find that you use both approaches: an ‘assigned content’ approach for SMEs or other Authors for whom you want to strictly limit their scope, but use the (partial) server synchronization if you have a large Workarea, with Authors typically working in only one section at a time, but sometimes switching between them.