Daisy: WYSIWYG Wiki for PDF Books
By Eric Armstrong on Apr 13, 2008
If you need the collaborative aspects of a Wiki combined with DITA's modular topics and publishing capabilities, then DAISY might just be the system you need--and it's free. DAISY provides WYSIWYG editing for Wiki pages that can be combined to publish books, either in a PDF or as a single HTML page.
Daisy may be the most unheralded publishing system on the planet. When I was doing a preliminary evaluation of CMS systems, I went to their web site. All I saw was "wiki and web content management". There was nothing that made me sit up and take notice, so I moved on. Then I went to 2008 DITA/CMS Conference.
As chance would have it, the session I was planning to attend was rescheduled, so I stepped into a presentation on Wikis given by Peter Dykstra of MetaphorX Information Design. I came away from that session with a whole new appreciation for Daisy. This post contains the list of features and benefits that should by rights be prominently displayed on the Daisy site. Here are the preliminary attention-grabbers. Daisy main features include:
- Wiki system that lets you publish books
- Integrated WYSIWYG editor
- Single-page HTML and PDF outputs
- Lets users add comments to the Wiki pages.
- Allows multimedia attachments.
- Allows for document variants (useful for multiple languages and product/version variations, for example).
Daisy's Book Definitions give you the moral equivalent of DITA maps. But the story gets even better:
- Wiki pages edited in Daisy are called "documents".
- The basic document type is SimpleDocument.
- Several other kinds are pre-defined.
- But you can also add your own.
Being a good DITA-head, Peter just naturally added a document type called "Topic". He then took advantage of some additional features:
- Daisy "fields" are the equivalent of DITA metadata parameters.
- Many fields are pre-defined--as, for example, "product".
- But you can also add your own.
So Peter created a TopicType field, specifying values of "Concept", "Reference", and "Procedure". He now had a "DITA-lite" system he could use for modular documentation.
To make it easier to use, he created templates for each of the three types that provided guidelines for writing the different kinds of topics.
Authors aren't restricted. They can add put anything they want into a topic, despite its type. The guidelines provide suggestions, but don't ensure that the resulting content is truly reusable. As Erik Hennum commented in another session, "You can do object-oriented programming in C, too. Java just makes it so much easier that people actually do it without superhuman self-discipline." On the other hand, given the ability to readily refactor information, get everything "just right" at the outset is less of an issue, so there are many shades of gray in this area.
At this point, I was thinking that surely you would be missing other important DITA features like transclusions and conditionals, but Peter assured us that Daisy had us covered in those areas, as well:
- Compound (multi-part) documents allow for content transclusions
- Variables can also be defined and used
- Conditional text is also supposed to be possible using role-based access rights where, for example, you specify "product=X".
I don't have enough information to know for sure how well those things work, but the potential for doing "interesting things" certainly seems to be there.
Some questions remain to be answered about how the system works:
- How easy is it to customize the headers and footers in the final HTML and PDFs? How good are the PDFs?
- Can you get an email notification when a page changes?
- Is there a search capability? How good is it?
- How do you export documents to external publication systems?
(For example, a separate web site.)
- Really strict schema controls (which can be a blessing or a curse)
- A boatload of semantic tags (Ditto. For blessings, see The Value of Semantic Tags)
- Output formats like troff and help
- Specializations like those DITA has for learning and training
- Conversion tools for importing information from other formats
Another possible option for WYSIWYG editing of DITA documents is DITAStorm. (See the Conference Highlights) That option runs right at $400 per user (minus quantity discounts). In return, you get an authoring environment that accommodates the full rigor of DITA. But if that isn't what you need, then Daisy just might be the authoring and production environment for you.
Daisy provides a browser-based WYSIWYG editing environment that can readily be used for modular documentation, all for the low, low price of free. Daisy doesn't provide all of DITA's capabilities, but it provides enough that it just might be worth a serious look.
Such a system provides a useful vehicle for collaborative editing in a way that allows for some level of modular reuse, as described in Wikis, Docs, and the Reuse Proposition.
It's possible that it could also be used to enable collaboration scenarios like those described in Enabling Online Design and Decision-Making Discussions. The Book Definition could record the structure of the conversation, with individual topics containing the proposals and arguments that comprise the discussion, complete with transclusions, when needed.
- Overview of Daisy features
- Document Architecture
(This page shows how documents are constructed. I think it provides even better insight into the kinds of things that are possible.)
- DITAStorm browser-based DITA editor
- Peter Dykstra's MetaphorX Information Design
- The Value of Semantic Tags
- Highlights of the 2008 DITA/CMS Conference
- Enabling Online Design and Decision-Making Discussions
- Wikis, Docs, and the Reuse Proposition