Drupal as a DITA CCMS, the Drupal way

kvantomme's picture

At Drupalcamp Cluj in Romania I got really excited again about the possibility for building a CCMS (component content management system) in Drupal.

Ages ago when we did our first experiments with DITA in Drupal this was our goal. We did a prototype for a tool that was able to do single pass transformations of topics, allowed you to manage DITA maps in a mindmap and that had a form for creating DITA topics.

At Drupalcamp Cluj, Ser_Mir gave a presentation about the Paragraphs module, a module I had heard about before but never used. It allows you to define a series of "paragraphs" that can be chosen by the author. So instead of using a WYSIWYG editor, you can build a rich text with variable types of block content that are built through a field type interface.

During the presentation it struck me that it would be possible to use Paragraphs to create the child elements of the top elements in a topic. So that you could provide a form based interface that still allows for some flexibility in the structure (e.g. in the task steps, you could choose the step type as a paragraph). Normally if you use fields you are stuck with the order in which they appear in the form, using paragraphs you can have some form elements that are in a fixed place and interspace them with form elements of which the order can be chosen by the author.

Another project that Sergey recommended me when I explained to him what I'm looking for, is the Asset module. It would allow us to drag and drop elements, again populated through a form based interface, into a WYSIWYG field. The elements available in the WYSIWYG field could be heavily limited to keep the content clean.

There will probably be a few elements that won't work, but the resulting content type would allow us to easily create specialisations, especially if they are not too complex. Since all the data is stored in a structured format, we could also easily create an export function that renders the content as a DITA file. The other way around, a sufficiently specialised topic could be imported into Drupal using the Feeds module.

The main advantage of this approach is that it would require very little custom work, and be able to leverage the existing Drupal architecture.

What do you think? Can you imagine this approach to work?


Creating DITA content with Drupal

Frank Ralf's picture

Hi Kristof,

Many thanks for your input. I hadn't heard of the Paragraphs module before and it looks indeed like a perfect fit for creating structured content. I still must have a closer look at that module but perhaps one of the Views export modules could also be able to create DITA XML from Drupal content types, for example Views Data Export.

My current focus is more on using Drupal as a web-publishing platform for DITA content but in the long run I think Drupal provides enough modules to also support creating and managing structured (DITA) content.

I will "click" together a

kvantomme's picture

I will "click" together a prototype and report back. I think a free DITA cCMS could help grow the DITA and the Drupal technical communications market...


Check out more of my writing on our blog and my Twitter account.

Demo video

kvantomme's picture

I promised I would report back when I had my demo video up. You can find it at https://www.youtube.com/watch?v=qARAPG1OBJ8&feature=youtu.be


Check out more of my writing on our blog and my Twitter account.

Paragraphs in LCCMS

tewnet's picture

Kristof, I'm going to try the paragraphs model in the LCCMS I'm working on. Will let you know how it goes.

What do you think of Assets compared to the Media module?