XDocC

Xexperimental
Docdocument
Ccompiler

XDocC is a software that compiles documents to HTML documents. The idea is to have a file system-based structure with documents that can be viewed with any browser. With XDocC and the support of other tools such as WebDAV or modern file-managers, a small to medium-sized CMS can be realized. XDocC currently runs as a daemon and incrementally compiles changed documents. Supported formats are currently TEXTILE, HTML (pass-through), PNG, JPG, TXT. Planned formats are ODT, WIKI, and PDF. As the name suggests, XDocC is experimental and many features have not been implemented yet.

History, Background, and Mission Statement

I used many types of CMS (Typo3, Plone, Mamboo) and have built some CMS from scratch starting with TNTool with Java 1.1, then moved to PHP and MySQL. After a longer period of time, my content was stuck in a database and it was difficult to extract it and it was scattered in different incompatible types of of CMS. At this point, I came to the conclusion, that personal content that should be long-lived should not be in a database, but remain in a file system, that can easily be copied, moved or viewed.

The following example illustrates the problem. Let’s take the gallery software Gallery2. Although, files are stored on a file basis, the comments and titles for the pictures are stored in a database. A migration by copying the files does not work since the meta data will be lost. To do a smooth migration to another gallery software, you would need to extract the meta data from the database and store it in the new database, which requires you to understand the internals of both gallery softwares. Another approach would be to crawl the webpages, create a parser for it and store the parsed content in the new gallery software also using the webfrontend. However, both approaches require major effort, resulting in a lock-in effect, since there is no easy export/import. A better approach is used in JAlbum, which lets you create HTML pages from the original images. The titles can be stored e.g., as the filename or in EXIF, which remains always with the original images. Although JAlbum goes into the right direction, it only supports images. I was looking for a software, that can handle also documents and directory structures. I didn’t find any, so I started my own.

A file-system based content management has the advantage, that you can move, copy, delete, and view the content with any file-manager. Furthermore, modern file-managers typically offer previews for images, PDFs, or other documents. Modern desktops also integrate remote sites e.g. with WebDAV, and you can drag and drop your content around. This makes many of the typical CMS functions obsolete.

--Thomas