Blogs

Blogs

Productive Feature Abuse II

Staging without Staging (continued)

The old saying that "many roads lead to Rome" is a universal truth. In "Productive Feature Abuse", I'm using Liferay-Features "off-label" - in a way that they were not intended to be used. Naturally, we'll run into limitations, but in some situations this might still do what you want with less effort.

And just like in the first incarnation, here's another one related to staging.

I'm assuming that you have some experience with Experiences - or, to be less ambiguous, I'm assuming that you know how to tailor Content Pages and their content to different segments. That's what's called "Experience" in the UI.

Have you seen that you can define two different Experiences for the same user segment? And wondered why this is not restricted? After all, the decision for the Experience to be shown is made top to bottom: The first matching experience from the list trumps all following - so customers will never see the second experience for the same segment.

That's where you can abuse this feature to get away without staging (in cases where other limitations don't ask for staging specifically): Once you're done, and you want to publish the second experience, just change order of the experiences, or remove the dominant one to immediately show the secondary.

Even preview of the page can be achieved - for this you'd need to jump through another hoop though: Change the experience to apply for a segment that applies to "no one, ever" - e.g. a segment that's guaranteed to have zero users. Then the simulator can simulate the content for this segment, and you (as editor with access to the simulator) can see the specific page variant (experience) that you've created. Before publishing, of course, you'll need to jump the same hoop in reverse and change the segment back to the one you actually intend.

Limitations: The content that you publish on the invisible experience might still be explorable through search - after all, it's there, and it's published. It will just not be shown to anyone. And search is one of those often missed backdoors into existing content. This applies to the asset-oriented content that we have, e.g. the classic Web Content aka Journal, and DL images.

Another drawback is that you currently can't replace the Default Experience with any other Experience, when you think it's ready - the Default Experience always needs to be worked on in plain sight. If you need to manipulate it hidden from visitors, then staging comes back as an option. But as this is "feature abuse", you probably have guessed that it's not a perfect match. (Oh, and it's nothing that can't be worked around: Just create a "new Default" Experience and have it apply to a segment that includes all users)

So, what have we learned? You don't need staging just to prepare some content hidden from plain sight. If your needs are relatively simple, so can be your tools.

(Illustration: Elbphilharmonie by Gunnar Ries zwo, CC by-sa 2.0)