In this post I share about an Experience Space GUI extension our product team released on Github: the "Published to" column extension. This post starts with some background on GUI Extensions then covers the out-of-the-box features that show how items are published, community requests for enhanced functionality, and information on what the extension provides. We conclude by exploring what it would take to put such functionality in the product and why an extension might be a better fit for now.
GUI Extensions
Graphical User Interface (GUI) extensions have been part of the Tridion Sites product all the way back to Tridion 2011, in the now Classic UI that followed then SDL's "Carbon" design system. This original UI extension framework, internally (and eventually externally) called Anguilla, allowed customers, partners, and RWS to add additional functionality and information to the user interfaces beyond the out-of-the-box editorial experience. Since then, Tridion Sites has added a newer user interface called Experience Space, now based on our "Graphene" design system. Astute readers will recognize the play on words between the space age Graphene material and the Carbon molecule it's made of.
To learn more about how Tridion Sites 10 adds extensibility to the Experience Space UI, see the recorded Tridion Sites 10 bootcamp sessions. Otherwise, read more about Experience Space extensions on the RWS Documentation Center and stay tuned for more content from the broader community!
With this context set, let's take a look at the out-of-the-box publishing information and then the example extension.
Where Published... exactly and how?
Tridion Sites already shows how an item is published in the Classic UI as a pop-up or in Experience Space in an insights panel. There's also a visual indication that an item is published at all with a globe icon in both UIs.
Out-of-the-box
See the out-of-the-box publishing information below in Experience Space, through the globe icon in the Status column and the Published to panel open on the right for the Articles index page. And for those newer to the new UI, read this topic on the RWS Documentation Center to understand the rest of this UI.
However, a popular request is the ability to see if and how an item is published across multiple targets, specifically in the main table list view. See, vote, or comment on these ideas in RWS Ideas:
- Display a Last Published column in CME and Experience Space
- have tooltip on published item such as page, component, categories etc.
- Add icons to List view to show if Page / Component is published to Staging or Live
The comments in the last idea in the list in particular offers a creative way to quickly see where and how an item is published. Kudos and thanks to Travis and Andrew for the context and the example of how they add this information to the Classic UI.
Extended Published-to
Here is a screenshot of the extended Published To information, directly in the main table.
The icons work as follows:
- Targets are shown in the PUBLISHED TO column from left-to-right (e.g., Staging, Preview, and Live)
- A "dot" means the item is not currently published to that target
- A green icon means the latest version of content is published to that target
- An Orange icon means the item has been updated and may need to be republished for that target
- A filled circle in each row indicates the target the item was publish to most recently
Based on the screenshot above, we can see that the Articles page is only published to the 2nd target in the list and it has been since updated. The All Articles page is only published to the last two targets, with the most recent publishing action being to Live. All of the targets are "fresh" as in there has been no updates since the last publishing requests.
The next natural question now is why isn't this functionality in the product.
Should that be in the product?
Aside from the necessary focus on everything else that needs to go into the next versions of Experience Space, a few challenges keeps this from being a simple change to the newer UI.
- Performance. The Published-to extension relies on both the front end visual display as well as back-end data from the Content Manager. This back end logic takes some time to calculate, which isn't necessarily an issue for the insights panel "where published" information. But calculating this for everything in the list will impact how long it takes to display the entire list. Community member Atila Sos submitted a separate idea, for the Classic UI at the time, to separate the loading of the data of Where Used, Used, and yes, Published To tab.
- Customizability. This kind of functionality is something customers would want control over from the order of the targets, the icons and colors used, and any additional information to include. This example extension can get customers started to display the targets in a way that makes sense for their use cases.
- Productization. On the surface, this kind of functionality seems simple to implement. And it definitely can be for a specific use case such as publishing to "Staging," "Preview," and "Live." However, to make this work for all customer use cases the behavior needs to handle edge cases such as a large number of Targets, no Targets, Targets that shouldn't show in the list, Folders or Structure Groups that don't allow publishing, end-user rights, showing status in the list and item pickers (or not), and nonfunctional requirements such as not relying only on color to convey information to the end user.
Definitely check out the Published-to GUI extension code to see how it works or give it a try. And if you'd like to vote for this kind of functionality being in the product, vote and join the discussion on Tridion Sites Ideas.