Kitodo.Production is continuously updated and new functions are added. The current version 3.1.0 offers the following features:
Kitodo.Production can be used with all operating systems. All infrastructure components required for operation, such as a database and search engine, are also open source and system-independent.
Kitodo.Production can run on both Linux and Windows servers as a Java8 application. This also applies to all necessary infrastructure components, such as ElasticSearch and MySQL/MariaDB.
Kitodo.Production employs a modular structure, so that only modules whose functions are actually required need to be installed and configured. If required, individual modules can be replaced by alternative implementations or, thanks to the well-documented interfaces, custom modules can be developed for this purpose.
All module interfaces are available in a separate API module. Implementations can be placed in the classpath at runtime and are then initialised by the ServiceLoader.
The web technologies Kitodo employs have been supported by all modern browsers for many years, including Internet Explorer (version 11 and above), Edge, Firefox, Chrome, Safari, Opera, and most mobile browsers.
Digitisation workflows usually require a complex interaction of many components such as OCR/OLR (text/layout recognition), validation, asset preservation, etc. Kitodo.Production therefore enables the integration of external tasks in the regular workflow, so that these processes can be automated and executed according to needs.
Via a number of interfaces, external processes can also access workflow information, metadata and structural data, and other relevant data of the operation being processed, and relay their results back to Kitodo.Production.
Any number of clients can be managed within a single Kitodo.Production installation, each with its own projects, data storage, access rights, metadata configuration, and workflows. The multi-client capability can also be used to grant separate system access to external service providers or project partners.
The separation of client data is based on a granular rights and roles system. All data from any one client can only be viewed or modified with appropriate access rights. The stored data, however, is not physically separated, and administrators generally have access to all data.
At the heart of the Kitodo.Production data model is what is known as the rule set. It defines the metadata and structural data to be used, together with permissible value ranges and relationships, and includes clear input and output mappings. As several rule sets can be used in parallel, project- and client-specific configurations are also possible.
Thanks to the flexibility of the rule set, it is also possible to define metadata groups (e.g. persons, organisations, copy information, etc.).
The rule sets are XML files that are stored in the system. Sample rule sets that meet the requirements of the DFG application profiles are included with the application.
Every user has their own login with specific rights and roles in Kitodo.Production. Personal preferences such as language, display of tables, password etc. can be set in the user’s account.
User administration can be carried out either internally via the database or externally, e.g. using an LDAP system. This allows the same access data to be used within other applications.
Groups with individual, granularly configurable read and/or write access rights can be defined using a flexible rights and roles system. Users can be members of one or more groups and accumulate their rights.
The rights and roles system in Kitodo.Production is based on the Java Spring Security framework. Access rights are ultimately also linked to the project management, i.e. individual rights granted to users are valid only for the selected projects to which they are assigned.
Both the import of data from local or linked databases/catalogues and the export of the finished digital assets from Kitodo.Production can be individually configured using transformation rules. A multitude of different data sources can thus be connected and any XML output format can be used – including the DFG METS/MODS standards.
In terms of technology, the import and export functions are essentially based on XSLT and can therefore be applied to any output data in XML format.
All process metadata, including process information (e.g. the workflow status), are stored in an index and can be searched via a central search field. Search queries can also be saved as filters and reused.
The process search and filter are based on an Elasticsearch index integrated in Kitodo.Production, which can be initialised and managed using a graphical backend module.
Kitodo.Production, all third party components it uses, and any required software infrastructure are open source and can be used in perpetuity without any licensing costs. Kitodo.Production’s development is transparent and community-driven on GitHub.
Kitodo.Production is not only open source in the sense that its code can be freely viewed and reused; The source code also follows strict coding guidelines and is documented. There are clear tools and processes available to those who wish to contribute to the code. In addition, professional release management is financed by the supporting association.
The operating concept and design of Kitodo.Production follows the latest scientific findings on usability and accessibility. It was developed in close cooperation with the Chair of Usability Engineering at Nordakademie University of Applied Sciences.
The user interface uses JavaServer Faces (JSF) technology in the current version 2.
In addition to encoding the correct page order for digital presentation, Kitodo.Production also makes it possible to record pagination and foliation based on the count in the physical book. This step is supported by tools that, for example, enable automatic counting of pages, folios, and columns in Roman or Arabic numerals. Deviations can be recorded by hand.
Using a combined metadata and structural data editor, a digital table of contents that reproduces the inner (logical) structure of a work can be created. The entries (e.g. chapters and subchapters) can be structured hierarchically and described in greater detail with their own metadata (e.g. the name of the chapter). The structure is stored in the international METS standard and can therefore be displayed by presentation systems such as Kitodo.Presentation for navigation within a work: clicking on a chapter takes the user to its first page. Alternatively, the physical structure of the work can be described in a separate structure tree. This is useful in archives, for example, if holdings are to be represented in envelopes, folders, or boxes. The same functions used for entering the logical structure are generally available here.
Use of the combined structure tree, which displays logical and physical elements simultaneously, inherently rules out interrupted structures such as newspaper articles that begin on the front page and continue on later pages. In such cases, however, it is possible to switch to separate structure trees at any time, which can represent any complexity.
The metadata editor not only enables corrections and additions to the imported title data; it also allows for further descriptions of all substructures and the addition of technical and administrative metadata (e.g. rights information, provenances, or scan parameters).
Within the meta and structural data editor, the scans are displayed in a gallery, which simultaneously shows the allocation of the images to the logical and physical structures (e.g. chapter/folder). This allocation can be changed by dragging and dropping a picture into another structure element. Users can view and zoom in on individual images in a detailed view.
The detail view is implemented with the OpenLayers open source viewer, which is also used in Kitodo.Presentation.
In a newly installed system, Kitodo.Production comes with a number of standard configurations, e.g. for METS and MODS. These configurations are based on the DFG’s “Digitisation” practical guidelines and are also supported by the German Digital Library (GDL), the Archive Portal-D, and the DFG Viewer. These standards are international and widely applied in European and English-speaking countries.
As Kitodo.Production rigorously applies international standards for data formats and interfaces, it can also be used independently of the other Kitodo family components and combined with solutions from other providers.
An integrated tool for image processing not only generates the preview images of the scans as they are displayed in the metadata and structural data editor, but can also be used to automatically generate various image versions for presentation.
By setting the relevant parameters, scaling, target format, etc. can be defined and the image version links can be controlled in the resulting METS files.
In order to be able to identify the physical asset at any time during its passage through the digitisation workflow and allocate it to the correct process in Kitodo.Production, a routing card can be generated and printed from within the program. It can be configured as desired and contain, for example, machine-readable barcodes or specific metadata.
The configuration is carried out flexibly using XSLT scripts, and several different routing card configurations can be stored.
Kitodo.Production provides a calendar module for the efficient digitisation of periodicals (e.g. newspapers). This makes it possible to record publication schedules (including irregular issues and changes) and then automatically create hundreds or thousands of processes at the push of a button. It is also possible to display volume/year number changes within a calendar year, such as is the case with seasonal playbills or concert programmes.
Kitodo.Production links all processes created in this way in a calendrical METS structure that meets the requirements of the DFG application profile for digitised periodicals and is compatible with the DFG Viewer as well as Kitodo.Presentation.
Project management can help to ensure compliance with common framework conditions, processes, and quality standards within a project. These can be defined differently for different projects. Pure digitisation projects with a clear workflow can therefore be edited just as well in Kitodo.Production as projects with very detailed structural data and metadata acquisition, full-text recognition, and deep content indexing.
In addition, various operating and control parameters (e.g. actual/target figures for digitised pages, runtime, etc.) and technical metadata (e.g. presentation versions to be generated) that are valid for the entire project can be defined.
Kitodo.Production features a graphical workflow editor that can be used to create and configure each process step schematically. The steps can be linked with arrows to form a workflow; branches, switches, and loops are also possible. In addition, conditions can be defined for each workflow step that must be fulfilled in order for it to be executed (e.g. text recognition can only be performed for processes which use the “Antiqua” font).
Internal functions can be assigned to each workflow step. This may involve calling a script, granting access to the process directory with scans and full texts, activating the metadata and structural data editor, or even completely automating the step. Branches and loops can also be used to execute parts of the workflow in parallel. The workflow is described in the BPMN standard and uses the bpmn-js open source editor.
If an error is detected during the digitisation of an asset (e.g. a missing scan or a typing error in a chapter heading), a correction loop can be triggered at any time. A process is then returned to the previous workflow step for correction and, once the correction has been made, it can either run through the rest of the workflow again or return to the process step in which the error was detected. A system-wide comment function can also be used to store more details about the error or other notes and information.
The comment function is also available independently of correction loops and can generally be used to record meta information about the process or the digital asset – e.g. references to damage or loose pages.
In Kitodo.Production, workflows, rule sets, and routing card configurations are combined into what are called production templates, which in turn can be assigned to one or more projects for use there. All components are reusable and can be recombined at any time.