Improved methods for editing books on a Drupal site

Date: Tue Oct 09 2007
Export DocBook "This module allows the export of Drupal books, in DocBook XML format." The module is only for Drupal 4.7, and I've not tried this module. There doesn't seem to be a method to import from DocBook.

Export dotReader Book "Exports Drupal books to dotReader, an open source e-book reader written in Perl." The module is only for Drupal 4.7, and I've not tried this module. There doesn't seem to be a method to import from dotReader.

Export DXML "This module allows the export of Drupal books, in 'DXML' (Drupal XML) format." The module does exist for Drupal 5. It's unclear whether DXML is of any use, since of course there are no WYSIWYG editors for this format. The module description says you can import using the Book Import, but it does not support Drupal 5.

Export OPML "This module allows the export of Drupal books, in OPML format." The module does exist for Drupal 5. I don't know of any OPML editors but maybe they do exist. There doesn't seem to be a way to import from OPML.

I have to strenuously DISRECOMMEND one module: HTML2Book. The premise sounds great. You write your "book" in an HTML editor using full WYSIWYG glory, you make sure to split sections using 'header' tags (H1, H2, etc), and then you upload the HTML. The HTML2Book module then takes that content and generates multiple child pages based on the header tags, starting a new child page for each one. It does do this, but there's a problem.

What happens if you want to edit the book after you've published it? This is common, you publish something, then you want to change something, or add new material, etc. As the Buddha said the only constant unchanging thing in the world is that the world is constantly changing. HTML2Book, when you upload the HTML for a book, it splits that HTML into multiple nodes. Each node gets the appropriate section of the uploaded HTML. However that HTML is not collected in one place. Therefore if you edit the original file and upload it again, the HTML2book module will take that new HTML, split it, and generate new nodes based on that HTML, but leave the old nodes in place.

I believe what's required is a general method of exporting and importing a book structure.