Changing Workflow on existing Content Items?

Is it possible to change the workflow of existing Content Items?

Here’s why we’re looking into this:
When we originally started using Rhythmyx for our CMS, the content editors/managers didn’t really have a good understanding of how they would need to interact with content within the system. As a result, the workflow that was implemented is really not sufficient for our purposes. Unfortunately, this wasn’t fully discovered until after we have hundreds of content items in the system. Yes, in hindsight we should have done more research into the actual workflow needed before implementation, but what’s done is done.

Now that we have a better understanding of the workflow actually needed, we’d like to implement a new workflow with all the steps and features needed. That’s easy enough, but we’d then need a way to get all our existing content items switched over to the new workflow. Simply recreating all the existing content items isn’t a viable option, because some content items have links (via insert rhythmyx link or insert rhythmyx template) to other content items, and creating new content items would result in new content ids, breaking all those links.

It is acceptable (possibly preferred) that all the content items start out in the Draft state in the new workflow when they’re switched over, and then we can send them through the new workflow to republish. We just have to preserve the content ids to preserve the links between content items.

Has anyone else run into this kind of scenario before? Is there a recommended approach to doing something like this? Or is there a different solution recommended to this kind of situation?

Thanks.

Elizabeth,

It is possible, but it is not supported as it requires directly modifying the database.

RLJII

As mentioned, it’s heavy SQL work, but it’s completely possible. Relevant tables you need to look at:

CONTENTSTATUS - note WORKFLOWAPPID, CONTENTSTATEID
CONTENTSTATUSHISTORY - note WORKFLOWAPPID, STATEID, TRANSITIONID, ROLENAME, STATENAME, TRANSITIONLABEL

WORKFLOWAPPS

STATES
STATEROLES
ROLES

TRANSITIONS
TRANSITIONROLES

You’ll need to create a mapping from the old workflow to the new workflow. That mapping will need to be applied to the CONTENTSTATUS and CONTENTSTATUSHISTORY. When you’re done, you’ll probably want to reindex the search indices.


We had over 100,000 content items, 118 communities, and 1 workflow to rule them all. Last October, we decided to move toward community-specific workflows. We used SQL to create 118 workflows, cloned from the originating workflow, then we assigned each workflow to all content items within a specific community. And we corrected the CONTENTSTATUSHISTORY table as well, because audit trails are important.

What you’re talking about can be done. Just tread slowly because you could completely wreck things.