Kitodo.Production is continuously updated and new functions are added. The current version 3.1.0 offers the following features:

Operating environment

  • Operating systems

    Operating systems

    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.

  • System architecture

    System architecture

    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.

  • Web-based usage

    Web-based usage

    Kitodo.Production is a web application based exclusively on modern browser technologies such as HTML5 and Javascript. Users can therefore make use of all Kitodo.Production functions without the need to install any additional software. Files – of scans, for example – are also transmitted using existing system tools such as File Explorer.

    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.

  • Interfaces to third-party systems

    Interfaces to third-party systems

    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.

Core functions

  • Multi-client capability

    Multi-client capability

    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.

  • Data model

    Data model

    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.

  • User administration

    User administration

    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.

  • Rights and roles

    Rights and roles

    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.

  • Import and export

    Import and export

    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.

  • Search index and filter functions

    Search index and filter functions

    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.

  • Open Source

    Open Source

    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.

  • User ergonomics

    User ergonomics

    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.

Technical functions

  • Pagination


    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.

  • Structural data acquisition

    Structural data acquisition

    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.

  • Metadata editor

    Metadata editor

    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).

  • Image display and galleries

    Image display and galleries

    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.

  • Compliance with standards

    Compliance with standards

    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.

  • Image processing

    Image processing

    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.

  • Routing cards

    Routing cards

    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.

  • Calendar module

    Calendar module

    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.

Organisational functions

  • Project management

    Project management

    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.

  • Workflow editor

    Workflow editor

    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.

  • Correction loops and comment function

    Correction loops and comment function

    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.

  • Production templates

    Production templates

    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.