One of the important things I’ve learned while developing DITAToo DITA CCMS is that sometimes, people are using features not exactly as you expect.

For example, in one of the previous releases, we’ve introduced tags. You could pre-define tags, assign them to files, and then search by tags. We thought that users will create tags in addition to, or instead of, metadata. We expected that users would define tags, like “Release 5.0”, “Troubleshooting Guide”, “ProductABC”, “Configuration”, and so on, assign them to topics, maps, images, and other relevant files, and then run a search, like “show me all topics about Configuration of ProductABC available in Release 5.0”.


After a series of interviews with our users (which we do regularly to gather feedback and adjust our roadmap), we’ve figured out that most of them were using tags to specify the workflow state of a file. So they were creating tags, like “Authoring”, “Reviewing”, “Translating”, or “Approved”, and then run a search by tags to find all files in a specific workflow state.

So what are you using to specify metadata?”, – we asked them.

The standard DITAToo’s metadata mechanism” was the answer.

OK”,- we said, – “So we are going to build a new feature that will be dedicated specifically for managing workflows, and you won’t have to use workarounds.”

And this is exactly what we’ve done. We’ve built a new module called Workflow Manager. If you are one of these users, you are probably asking how different Workflow Manager is from tagging, and why you should use it instead of tags.

Here are just a few reasons:

  1. Tagging a file with the name of a workflow state and then searching by tags is fine, but usually, something should automatically happen when a file enters a certain state. For example, an email notification should be sent to another DITAToo user or your manager. Or maybe you want a baseline to be automatically created when you move a project to a translation state.This is what Workflow Manager allows you to specify. For each workflow state (you can create as many states as you need and name them as you want), you define which actions should be triggered once a file is moved to this state.
  2. Controlling the lifecycle of your content means that certain things should be prohibited in certain workflow states. I would assume that you don’t want to allow anyone to delete or modify a project after it has been approved. Or you don’t want to let anyone to send a topic for translation while it’s being reviewed and therefore, isn’t ready yet.This is what Workflow Manager lets you define too. For each workflow state, you specify the actions that cannot be performed while a file is in this state.workflow_prohibitactions
  3. Different people might be responsible for content at different workflow states. Workflow Manager allows you to assign a file to a specific person, and the email notification will be automatically sent. You can view what files are assigned to you while the DITAToo Admin user (typically, the documentation manager) can view files assigned to all DITAToo users.
  4. If you are still using tags to provide metadata, with Workflow Manager you don’t have to mix workflow states with actual metadata and thus, can reduce the total number of tags, which will help you easier navigate through tags.

If you haven’t seen how Workflow Manager works, here a short video that we’ve prepared for you:


Leave a Reply

Your email address will not be published. Required fields are marked *