Firing the Kiln
Last week I’ve started my secondment at King’s College London under the supervision of dr Elena Pierazzo. My work there is to learn as much as I can from the fabulous team of researchers and developers that form the King’s Department of Digital Humanities and obviously contribute to it. As my DiXiT post is mainly about publishing infrastructure I will concentrate on Kiln – the publishing systems developed and broadly used at King’s. Thanks to generous help from Jamie Norrish and Jose Miguel Vieira – the people behind the Kiln – who introduced me to the joys of Cocoon pipelines here’s my initial blog post about Kiln cross-published from here.
“Kiln is an open source multi-platform framework that integrates various software components (Apache Cocoon, Solr and Sesame) for creating websites whose source content is primarily in XML. Kiln is developed and maintained by a team at the Department of Digital Humanities (DDH), King’s College London. Over the past years and versions, Kiln has been used to generate more than 50 websites which have very different source materials and functionality.” – this short description from its authors gives all the important information about what the Kiln is and can do.
Kiln seems a very robust piece of software, beautifully designed to meet the need of publishing a corpus of XML files, especially TEI ones. It’s been actively developed through numerous versions (counting in its predecessor xMod) and is in constant use at King’s College. Still, despite general lack of tools for publishing that only recently has been somewhat diminished it didn’t see much use outside the Digital Humanities Department at King’s. Does it lack functionality, appeal, advertising or is it simply too scary for general breed of textual editors?
Upon short investigation we may find that indeed Kiln is easily obtainable from gitHub. It is (unfortunately) essential that prospective user reads concise documentation available or at least short Tutorial to stand any chance of successful installation. Conciseness may be seen as a virtue as it doesn’t take long to read, but is also quite off-putting at least for less technical users.
Installation seems pretty straightforward once the system requirements for Kiln are met (that is there’s Java 1.7 running on your system). What may cause a bit of a headache is the fact that Kiln runs by default on quite an exotic port number 9999 which may lead to it being blocked by local network setup. Changing this is again pretty simple and well-described in the tutorial but requires the user to edit manually some obscure configuration file.
Afterwards it’s actually quite impressive how all that is needed to run ‘vanilla’ Kiln service is to download your TEI files (plus corresponding images) into prescribed locations in the Kiln filesystem. From there it’s just a click of the indexing button and the service runs like magic.
Admittedly it’s rather dull kind of magic out-of-the-box that might be even called one-size-doesn’t-actually-fit-anyone by someone less awed by Kiln’s potential than I am. What we are presented with is the list of uploaded files that we can browse and perform textual search on. Kiln also offers a couple of facets like document title, author and so on, everything grabbed from document teiHeader part.
From then on user is basically on her own if she wants to force Kiln to bend to her will. This process usually involves a fair amount of head-bangin’ and asking around for help. First contact with Cocoon pipelines, SOLR query system and XSLTs that together form the Kiln framework can be not only scary but, I believe, in fact prohibitive for the non-developer.
Yet, the power and merit of Kiln are in my opinion undisputable.
What can be done then to make it easier to start on Kiln adventure? The general idea is to fit Kiln with a GUI interface that will lead the user through the steps of creating customizations for several types of publications (eg. diplomatic edition of document or set of documents or print-like reading edition), where user could benefit of being guided through the process of uploading files, choosing some basic aspects of the website design, choosing or uploading the desired transformation stylesheets and configuring necessary search facets.
This would not free the user with higher or more specific expectations from plunging into the exhausting-yet-rewarding journey with Cocoon/SOLR/XSLT but should be sufficient for a lot of quite standard projects especially at the prototyping stage. And hopefully with growing user base the open pool of domain-specific but still reusable customizations would grow as well.
The other thing is to start this online knowledge base to answer questions for those who don’t have Kiln expert at hand to pester directly. To this end in my next posts I will try to describe the process of customization of Kiln for the purposes of publication of the edition of 16th century letters (as seen in the teaser screenshot above).