Re: DITA: Fifteen(+) years old #history
I became familiar with DITA less than two years ago. We wanted to migrate from structured FrameMaker to DITA for all the usual reasons, and I volunteered to investigate. I struggled to learn how DITA and the DITA-OT worked. I struggled with specialization. I didn't know Java or XSLT or Ant (still don't!) so many interesting things I found in discussion threads were beyond my abilities.
Gradually, I made progress. I abandoned DTD/XSD and embraced RelaxNG. After lots of Q&A with Eliot, I created a utility to automate specialization and I learned more about how DITA works in the process. I began migrating our FrameMaker books to DITA. So far I've converted 80 books in my development area, and we're doing a pilot project with five of the books to try DITA + Oxygen XML Author for production work. The writers in this pilot project absolutely love Oxygen's integration with Git, especially how easy its WYSIWYG conflict resolution is.
One of the things we like about DITA is specialization. I rejected the "specialize only if needed" approach and I specialized so that almost all the FrameMaker elements our writers are used to were recreated in DITA. I specialized attributes so that writers could intuitively control pagination and output formatting. I like knowing that we can plug this DITA grammar plugin into any DITA-capable authoring, management, or output tool.
We are frustrated that RelaxNG grammar support is not ubiquitous yet, but it's slowly getting there...
We're also looking at integrating many of our internal "style guide" authoring rules into Schematron, which will get integrated into our DITA grammar plugin. This is another plus that an XML-based format provides, as we previously used developed-in-house, manually-run tools in our FrameMaker flow.
There are many places where we want something different than the DITA-OT's default behavior - numbering, wording of certain builtins, etc. Currently I'm using a tremendous number of CSS kludges to force the PDF to our whims in Oxygen PDF Chemistry. But I'd like to learn how to write a DITA-OT plugin that does this in the processing pipeline, where it should happen. I'm struggling to figure out where to even get started, but I've struggled before and I eventually overcame. The same applies here.
We are aggressively using keyref-based references, including cross-book links. With Radu's help, I created a utility to implement cross-book links in XHTML and WebHelp output. We've run into authoring issues in Oxygen and publishing issues in the DITA-OT with cross-book links, but the only way to make progress is to push the boundaries, file issues, and hope for people smarter than you to fix them.
In my view, DITA continues to grow and develop in a positive way. Compared to being stuck in the same stagnant FrameMaker flows for years upon years, DITA and the freedom and flexibility it affords us is a breath of fresh air.