Last modified 15 months ago Last modified on 10/29/15 22:24:26

Wish List for Publican Features

Note: This list is in order of when they were added, not in order of importance.

Major Features

Publican Website Default Pages

  1. A bookmarkable per-product link that explodes the navigation tree and automatically generates a page with the linked title names and version numbers. This would be per language. With the name of each book is a description from the abstract field.
  2. A bookmarkable per-product and per-version link that explodes the navigation tree and automatically generates a page with the linked title names. With the name of each book is a description from the abstract field.

Note: Support for Product and Version splash pages, including navigation tree automation, shipped in Publican 2.2!

Different formatting for article based on class

This has been discussed on the list, it's an extremely useful feature that would benefit many users. There is an experimental brand in the repo with a very basic attempt at a new article layout, very raw. This is by far the most requested feature.

DocBook 5 support

This is going to hit us sooner or later, we really need to rethink how we override the templates, particularly sorting what changes we can get upstream and separating them from changes that upstream don't want. This affects all users in the long run.

Note: Support for DocBook5 shipped in Publican 4.0.0!

Support different XML DTDs, e.g. DITA, Mallard

This can probably be done by sub classing Lots of work required on deciding which bits to split in to the sub classes. Could be handy, might not be used.

Support non-XML input, e.g. markdown, AsciiDoc

This could probably take the same approach as supporting othe XML DTDs, but is probably somewhat more invasive. Could be handy, might not be used.


Support non-PO translations, e.g. XLIFF

This can probably be done by sub classing, again. We do have some old code to handle XLIFF, but it needs to be reworked to fit the current code structure. Could be handy, might not be used.

Replace gettext fuzzy merge

The only part of gettext we actually use is merging updated POT files with existing PO files. Replacing this would allow us to drop the gettext dependency and make supporting other translation formats easier. Definitely be used, transparent to users though.

Note: Shipped in Publican 3.0

More ports, e.g. FreeBSD, Mac

Lets try for a wider user base. FreeBSD for instance uses DocBook for their docs, but they aren't as pretty as our output. Should be easy to whip up a brand once the port is done.

Note: Publican 3 works on Mac, see Install Publican on Mac OS X Lion

Replace FOP

PLEASE! I've looked at this on and off ever since we started using FOP. I haven't found anything that can replace it, but it's the number one source of configuration issues and weird behaviour, so either supporting another FO processor, or simply replacing it, would be a God send.

Note: Publican 3.0 shipped with support for wkhtml2pdf

Support RevisionFlag attribute

The idea being that when an author modifies a book, they set the RevisionFlag and if the book is in draft mode then Publican would highlight that tag.

Note: Publican 4.2 shipped with support for RevisionFlag.

Hyphenation Support for PDF

Currently Publican uses FOP's default of wrap at word, or ragged right, FOP does have some hyphenation modules, but they seem fragile and need some work to get them working. probably very problematical for non-Latin texts.


Glossary Collation

Currently publican does not officially support glossaries as they can not be sorted correctly in some languages. We need some smart collation routines to allow proper sorting of translated glossaries.

A nice summary of the problem in Japanese -- "an unsolved problem" --

Note: Support for using the "sortas" glossary attribute shipped in Publican 4.0.0!

Greater Test Coverage

December 2013 the tests coverage is 69.7%, wider coverage would be good.

---------------------------- ------ ------ ------ ------ ------ ------ ------
File                           stmt   bran   cond    sub    pod   time  total
---------------------------- ------ ------ ------ ------ ------ ------ ------
blib/lib/           82.8   52.2   37.8   95.7  100.0    1.0   70.2
blib/lib/Publican/   59.6   32.8   32.9   80.8  100.0    0.6   54.2
...blican/Builder/   98.5   46.8   40.7  100.0   84.6   67.3   79.6
...lican/Builder/   79.3   46.7   34.9  100.0  100.0    0.5   69.9
...lican/Builder/   67.7   30.0   26.7   97.8  100.0    0.1   58.9
...ib/Publican/    9.8    0.0    0.0   22.2  100.0    0.0   16.9
...ib/Publican/   97.3   65.0   55.0  100.0  100.0    0.1   88.6
...b/Publican/   98.4   50.0   44.4  100.0  100.0    0.0   89.1
.../lib/Publican/  100.0    n/a    n/a  100.0    n/a    0.0  100.0
...lib/Publican/   75.7   53.8   35.7   89.7  100.0   13.7   67.1
.../lib/Publican/   86.8   61.5   48.5  100.0  100.0    0.1   77.3
blib/lib/Publican/   80.9   48.4   31.7   89.8  100.0    0.1   65.6
.../lib/Publican/   95.7   71.3   57.7   96.6  100.0   16.2   82.0
blib/script/publican           60.7   44.7   20.5   96.6    n/a    0.2   51.2
Total                          82.5   48.4   37.0   93.9   97.2  100.0   69.7

Finer grained debug messaging

Currently the debug messaging is on or off, it would be able to control the verbosity or the modules being debugged ... or both :D



As its name suggests, this tool allow using bash tab completion to incorporate command line options.

Note: This feature shipped in Publican 2.2!