Alternatives for implementing a topic review workflow
Posted: Wed Jan 06, 2010 12:29 am
As part of a collaborative project, a couple of users migrated documentation (about 1,000 Word pages) to DITA using oXygen Author and storing the files on a subversion repository. Now other users would continue to author further documentation, which would be reviewed by others, and then translated into multiple languages.
I would appreciate feedback about the potential alternatives to implement a multiuser authoring review workflow with oXygen (for example to transition from Draft to Reviewed to Published). I understand that we should consider using a DITA-enabled CMS to avoid reinventing the wheel. However, many CMSs have either proprietary or database driven storage, and we would like to keep the files on subversion (from where a Maven mojo might publish in batch using the OT, or distribute references to topics that would need revisions, for example).
We would then need to store the editorial revision state of the topic somewhere. We have considered three alternatives:
1. Store the status on either the DITA status attribute or on the Otherprops attribute.
2. Store the status on Subversion properties attached to the file/working copy
3. Storing the status on an issue manager/tracker using the file name as the linkage key
We should be able to leverage the Author API to read the status of the topic, infer and offer appropriate actions to the user, and finally persisting the new status to storage.
After some experimentation with the API it seems feasible (please tell me if I am missing something) to store the status on the topic attributes (option 1), but it would be difficult to prevent the user from changing or deleting the status on the source.
Storing the status on Subversion file properties is attractive, but I don't think we can set them from the Author API (I mean, referencing the working copy being edited).
Linking to a issue repository like Bugzilla seems doable, although there are some challenges to keep content and status synchronized.
Reading at previous posts, it seems that another alternative would be to use the Eclipse plugin version and handle the custom workflow handling status on a plugin outside of Oxygen.
I would very much appreciate guidance, comments or any suggestion. I assume this is an usual scenario, and perhaps oXygen has features facilitating workflow handling that I am missing.
Thanks in advance for your kindness,
Guillermo
I would appreciate feedback about the potential alternatives to implement a multiuser authoring review workflow with oXygen (for example to transition from Draft to Reviewed to Published). I understand that we should consider using a DITA-enabled CMS to avoid reinventing the wheel. However, many CMSs have either proprietary or database driven storage, and we would like to keep the files on subversion (from where a Maven mojo might publish in batch using the OT, or distribute references to topics that would need revisions, for example).
We would then need to store the editorial revision state of the topic somewhere. We have considered three alternatives:
1. Store the status on either the DITA status attribute or on the Otherprops attribute.
2. Store the status on Subversion properties attached to the file/working copy
3. Storing the status on an issue manager/tracker using the file name as the linkage key
We should be able to leverage the Author API to read the status of the topic, infer and offer appropriate actions to the user, and finally persisting the new status to storage.
After some experimentation with the API it seems feasible (please tell me if I am missing something) to store the status on the topic attributes (option 1), but it would be difficult to prevent the user from changing or deleting the status on the source.
Storing the status on Subversion file properties is attractive, but I don't think we can set them from the Author API (I mean, referencing the working copy being edited).
Linking to a issue repository like Bugzilla seems doable, although there are some challenges to keep content and status synchronized.
Reading at previous posts, it seems that another alternative would be to use the Eclipse plugin version and handle the custom workflow handling status on a plugin outside of Oxygen.
I would very much appreciate guidance, comments or any suggestion. I assume this is an usual scenario, and perhaps oXygen has features facilitating workflow handling that I am missing.
Thanks in advance for your kindness,
Guillermo