A quick look at Conglomerate 0.70
[Posted September 3, 2003 by corbet]
The
DocBook format is often promoted
as the format of choice for free (and non-free) documentation. DocBook, as
an SGML and XML standard, is compliant with as many buzzwords as anybody
could wish for. The standard is well developed and highly expressive.
And DocBook, of course, is all about structure. More, perhaps, than any
other markup language, DocBook forces the author to concentrate on the
structure of the language without thinking about how a document will be
rendered in any particular medium.
Anybody who has had to create a serious work in full frontal DocBook knows
the rest of the story, however. DocBook is complex and verbose. Like
PostScript, DocBook requires that the author maintain a deep stack in mind
to track the current state of the document. And, like PostScript, DocBook
is best used as the output of a higher-level tool, rather than created
directly by the author.
Unfortunately, given the current state of the tools available, manipulating
DocBook directly with a text editor is often the only option available. So
your editor, who is currently in the process of updating a substantial book
which is, of course, in DocBook format, was more than usually interested in
the recent announcement
that Conglomerate 0.70 had been
released. As stated in the announcement:
Congomerate is a free, user-friendly XML editor. It is
particularly aimed at DocBook editing, but should be able to handle
arbitrary XML document types.
For authors working in DocBook, a nice editor would be worth a great deal.
So Conglomerate seemed worth checking out.
The first challenge with bleeding-edge software, of course, is getting it
installed and running. For Conglomerate, an attempted install on Debian
sid proved doomed to failure; the maze of dependencies proved too twisted,
and the packaged version in experimental had not been updated. On the
other hand, version 0.70 configured, built, and installed on a Red Hat
Linux 9 system without trouble. There are advantages to having a
variety of distributions sitting around.
What resulted was a tool that shows some serious promise, but which is not
yet ready for production use. The sample text used (Chapter Two of
Linux Device Drivers, Third Edition) required significant editing
(with a text editor) before Conglomerate would accept it. Conglomerate
does not recognize common entities (e.g. –), and there
are differences of opinion on how certain types of tag (such as
<indexterm>) should be terminated in some situations. The
tool spews out an unending series of Gtk warnings, crashes occasionally,
and is generally slow. It is missing fundamental features, such as an
"undo" operation. It does, however, work well enough to give a good
idea of where the developers are going.
True to the basic premise of DocBook, Conglomerate is all about structure.
Looking at a document in DocBook will not tell you much about how it will
appear in printed (or web) form, but it is full of information on how the
document goes together. To that end, the window (see the screen shot on
the right) is divided into two panes. The left side shows the overall
structure of the document, in the usual tree presentation. The main
window, on the right, shows the text. But this is no WYSIWYG presentation;
instead, the document is presented as a set of nested boxes showing, once
again, how things are structured. Subtrees of the document can be expanded
or hidden at will, providing a sort of zoom feature.
At the structural element level, the right mouse button yields an
impressive array of new elements (86 of them) which can be added as
subelement or sibling elements. Once you get below the paragraph level,
however, a whole new menu with various types of low-level markup
(e.g. <emphasis>) appears instead. Conglomerate does not, of
course, change the presentation of the text to reflect this sort of
markup. So, for example, rather than italicizing text marked
<literal>, it simply indicates that the tag is present.
The tool displays internal comments in a highlighted form, but does not
appear to provide a way to add or edit comments.
There is no shortage of features that this tool still needs: undo, an easy
way to join paragraphs, the ability to read and fix not-quite-perfect
files, entity definitions, and some sort of way to quickly see what
formatted output would look like. The performance and stability issues
need some work. But none of this should detract from the fact that the
Conglomerate developers have made substantial progress toward the creation
of a desperately needed tool. Conglomerate is headed in the right
direction; we're looking forward to the next release.
(
Log in to post comments)