Users create the library content structure and copy any online books or manuals into directories in the library structure. DoxMentor4J then provides a dedicated web server which presents the library as a tree structure on a web page. Users can navigate through the tree to locate online books. The tree is AJAX based so there is no large initial download of all the nodes in the content structure, instead the nodes are downloaded as they are opened.
Because DoxMentor4J is a cross platform Java based application, user can write their online library to CD/DVD or flash and have it available wherever they go on different machines and operating systems.
The web server framework classes used by DoxMentor4J is called HttpdBase4J and it supports content inside archive files or in jar and zip files in the Java classpath. The content can therefore be hosted in one compressed file, and as many documentation files are often text based this means the space saving can be meaningful. Additionally it can be more convenient to have all the content in one file.
DoxMentor4J also supports full text indexing and searching of content using the Lucene library. Content indexing may be enabled/disabled on a node by node basis. Search indices can be accessed inside an archive or on cd/dvd. The indexing code currently supports text, html, pdf, chm[1] and djvu[2].
The DoxMentor4J properties file describes the available options which may be specified in the startup properties file.
Customizing DoxMentor4J describes how to create your own online library for DoxMentor4J.
Download Files: Files
Homepage: http://doxmentor4j.berlios.de
Project Summary/Services Page: http://developer.berlios.de/projects/doxmentor4j/
Browse CVS: Browse CVS
Checkout CVS: Checkout CVS
CHMLib (Required for extract_chmLib to extract chm files in Linux): Download
HTML Help (Required for hh.exe to extract chm files in Windows): Download
DjVuLibre (Required for djvutxt/djvutxt.exe to extract text from djvu files.): Download
http://address:port/
in your browser. For example if DoxMentor4J is running on your local
computer on port 8088 (the default port) use
http://127.0.0.1:8088/
to start DoxMentor. If you don't have another web server running on port 80
then you can specify port=80 in the doxmentor4j.properties file, in which case
you need not specify a port in the URL ie
http://127.0.0.1/
will be sufficient.
HttpdBase4J is an embeddable Java web server framework that supports HTTP, HTTPS, templated content and serving content from inside an archive.
URL: http://httpdbase4j.berlios.de/
License: GNU Lesser General Public License
HttpdBase4J uses TrueZip for transparent access to multiple archive types.
URL: https://truezip.dev.java.net
License: Apache License, Version 2.0
StringTemplate is a java template engine used by HttpdBase4J for creating templated content.
URL: http://www.stringtemplate.org/
License: BSD License]
Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. DoxMentor4J utilises Lucene to enable full text searching of online documentation.
URL: http://lucene.apache.org/java/docs/index.html
License: Apache License, Version 2.0
PDFBox is an open source Java PDF library for working with PDF documents. DoxMentor4J utilises PDFBox to extract text from PDF files for indexing with Lucene.
License: BSD
FontBox is a Java font library used to obtain low level information from font files. PDFBox uses FontBox internally, it is not used directly by DoxMentor4J.
License: BSD
Jericho HTML Parser is a simple but powerful java library allowing analysis and manipulation of parts of an HTML document, including some common server-side tags, while reproducing verbatim any unrecognised or invalid HTML. DoxMentor4J utilises Jericho to extract text from HTML files for indexing with Lucene.
URL: http://jerichohtml.sourceforge.net/doc/index.html
License:
GNU Lesser General Public License
Eclipse Public License (EPL)
Logback is intended as a successor to the popular log4j project. DoxMentor4J utilises Logback for logging.
License: GNU Lesser General Public License
The Simple Logging Facade for Java or (SLF4J) is intended to serve as a simple facade for various logging APIs allowing to the end-user to plug in the desired implementation at deployment time. Logback uses SLF4J to define the logging interface.
License:
X11
Jchardet is a java port of the source from Mozilla's automatic charset detection algorithm. HttpdBase4J uses it to detect character sets of html pages.
URL: http://jchardet.sourceforge.net/
License: Mozilla Public License
ANTLR is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions. Antlr is used by StringTemplate and is not used directly by HttpdBase4J.
License: BSD License]
Ant is a Java build tool. It is used internally by TrueZip to access tar archives.
License: The Apache Software License Version 2.0
[1] - Currently requires external program to extract the chm file. It should be possible to port chmlib (or at least the parts of chmlib required for extraction) to Java at a later date.
[2] - Currently requires external program to extract text from the djvu file. Not all djvu files contain extractable text.