Here’s something content management vendors need to understand about “scheduling” and “expiring” Web content. This is a common feature request, but users don’t always want to use it in the manner vendors expect.
Sure, often users want content to appear at a certain time, then disappear at another time. However, I’ve found another scenario that’s just as common: users want to “swap” one content block with another at a certain time.
Consider an intranet. The home page has a “lead story.” This is a single story, in a certain spot on the home page. The editor of this intranet wants to queue up a bunch of stories to rotate in and out of this spot, so at a certain time, Story A disappears and Story B takes its place.
This is tricky. Sure, Story A is expiring, and Story B is scheduled. But what you really want to do here is tell the template, “Use a different piece of content at a certain time.”
There is a way to solve this that I stumbled onto by necessity while working with Ektron. If your CMS supports “sequences” of content — ordered lists of specified content — you can make it work.
In Ektron, we have the user create a “collection” of content, which is an ordered list as we describe above. To get the lead story for the home page, we take the top content item from the published version of the list. The published version of the list takes scheduled dates into account (items before their publish date and after their expiration date do not appear in the list).
The value here is that the first content item — Story A — could expire, which means the published list filters it out, and the focus “falls through” to the second item — Story B. So, when the first content item expires, attempts to grab it from the top fail, and the second content item becomes the first. Voila — content has swapped at a specified time, exactly like we wanted it to.
Of course, the users still have to go and manually manage the list on the admin side. It would be a little slicker if, upon expiration, the first item was removed from the list, but I haven’t bothered to take it this far yet.
Curious to hear how other systems accomplish this.