TEI Publisher Documentation Introduction

TEI Publisher Documentation Introduction

1 TEI Publisher Documentation Wolfgang Meier, eXist Solutions GmbH , Magdalena Turska, eXist Solutions GmbH Introduction What TEI Publisher does ... The motivation behind TEI Publisher was to provide a tool which enables scholars and editors to publish their materials without becoming programmers, but also does not force them into a one-size-fits-all framework. Experienced developers will benefit as well by writing less code, avoiding redundancy, improve maintenance and interoperability - to just name a few. TEI Publisher is all about standards , modularity , reusability and sustainability ! In Publisher, it all starts with your source documents - regardless if they are in TEI or other form of XML: DocBook, MS Word (DOCX) or JATS. No matter how the source material has been encoded, it can be easily transformed into a range of output formats for publication - from a modern web page that you can open on your laptop or mobile device, to an ebook, a PDF file or its LaTeX source. TEI Publisher derives its name from TEI and the TEI Processing Model (PM). Processing Model is a part of the TEI vocabulary and TEI ODD specification format, described in the TEI P5 guidelines as well as further chapters here. It defines how a TEI document should be rendered in different output formats and lies at the heart of TEI Publisher. However, online editions require more than just a text transformation: the text needs to be embedded into an application context, adding navigation, pagination, search, facsimile display and so on. The larger part of TEI Publisher deals with those aspects, providing all the necessary building blocks for an online edition. Staying true to the spirit of code reuse and interoperability, TEI Publisher implements its functionalities as small "lego" blocks to be freely arranged and recombined. The technology making this possible is called Web Components . It is part of the HTML5 specification and natively implemented by many browsers. Users don't need to dive into the details of this standard though: all you need to modify the example pages is some basic HTML knowledge. Only where the available components are not enough, a new use case needs to be described and suitable new components implemented but then they can be incorporated into existing component pool for everyone else to use. After all, our mantra is reuse, reuse, reuse and we want to turn TEI Publisher into a box of tools the entire community can benefit from. 2 Despite the elegant simplicity of this approach, various projects we realized in the past prove that TEI Publisher is: 1. powerful enough to cover complex transformation needs 2. a truly universal tool for any kind of digital edition 3. capable of generating high quality, camera ready material for book publishing 4. sustainable and future-proof solution 5. suitable for any XML, not just TEI (this documentation is written in DocBook!) e-editiones.org Since its first incarnation in 2015, TEI Publisher has gained substantial following with numerous academic and commercial projects around the globe using it for their editorial and publishing needs. Grass-roots user initiative led in 2020 to the foundation of an international non-profit association e-editiones.org with the focus on further joint development of TEI Publisher, open standards and best practices for digital editions. TEI Publisher development is only possible thanks to generous contributions of developers, users and institutions willing to employ Open Source approaches so that the whole community can reuse and benefit from their work. A growing number of projects from small to large that have decided to publish their materials with TEI Publisher gives us all not only the opportunity but also the responsibility to make the project thrive for years to come and to make it truly sustainable option for XML publishing! Consider joining e-editiones.org through your affiliated institution or individually to support our efforts. We invite the community to contribute to the project - by means of code, ideas, documentation, tutorials and funding. You don't have to be a developer to contribute, you can do so in a number of ways! 1. Check out the source code, modify it, document it, enhance it. 2. Create new or enhance existing example documents and ODDs so we present showcases for various TEI applications. 3. Report your issues, feature requests or ideas for discussion via GitHub issue tracker . 4. Discuss with us on e-editiones slack chat or through the mailing list and @EEditiones twitter . 5. Contribute to translations via Crowdin . Please contact us if your target language is not listed and you'd like to work on it. 6. Port back your custimizations to the TEI Publisher code base so that others can use it too (or ask us to do it for you)! 7. Help and mentor others - publish teaching materials, answer questions on our Slack channel, mailing list and other forums. 8. Sponsor a concrete feature or fund a development grant. 3 Versions TEI Publisher has been under active development since 2015. Once or twice a year a new major version is released, bringing important new features. Minor versions are released at shorter intervals and offer bug fixes, minor new features and improvements. The current major version of the TEI Publisher is 7.0.0 There's a long list of ideas and features we'd like to see incorporated into TEI Publisher: from wider coverage of input and output formats (e.g. InDesign), CQL and DTS support, to various editing workflows and support for efficient hosting and maintenance of multiple editions. These ideas are in various stages of development - some already advanced, some in conceptual phase, some waiting for funding and implementation. Coordination of future work is primarily conducted by e-editiones.org . What's new in TEI Publisher 7.0.0 Version 7 brought another major refactoring and restructuring of TEI Publisher app , particularly regarding the server-side modules. TEI Publisher now exposes a well-defined, clear API specification following the Open API standard . This API is used in TEI Publisher by client-side UI components but can be equally well utilized by independent software which harnesses functionality exposed via the API without being forced to rely on Publisher's client-side components. On the server a new package, oas-router , reads the API specification and uses it to map HTTP requests to XQuery functions which perform actual API operations. Other packages, particularly UI web components ( pb-components ) and TEI Processing Model library ( tei-publisher-lib ) underwent necessary changes to communicate with the new API as well as retain full backwards compatibility. Beyond the structural changes a number of reported issues has been fixed and broader test coverage for all packages introduced. A sophisticated CI setup based on Docker has been created. Extensive test suite has been prepared for individual components. Furthermore, every API operation is independently tested against the specification, to assure that e.g. parameter and response types correspond exactly to the definition. Thanks to community contributions via Crowdin , TEI Publisher is now available in 20 languages. See chapter on Updating for information how to update your app to take advantake of these developments. What's new in TEI Publisher 6.0.0 Version 6 brought a major refactoring and restructuring of TEI Publisher app libraries along with new specialized components and use case examples. 4 1. Web components overhaul: migration to LitElement and to the npm library While invisible to users, this redesign greatly improves the modularity of Publisher- based applications. With Publisher web component releases published on npm, updating the user interface for all Publisher-based apps is just a question of changing a single variable in the configuration file. Furthermore, Publisher's library of web components - true to the basic idea of Web Components Standard can be included in any HTML webpage e.g. can be embedded into existing CMS or any other publishing solution, even if it's not running eXist-db. Similarly, if you prefer to write your own application using any of the popular frameworks like angular, vue or react you can easily import the pb-components package from npm and use it directly in your project. As a final consequence, this change decouples the component library from the TEI Publisher app. It is now possible to host multiple applications, which depend on different versions of the component library, without conflict within the same eXist- db instance, a point of importance for institutions with numerous projects. 2. Redesigned and simplified CSS styling customization Encapsulation of styles offered by web components can be a mixed blessing and poses some challenges when customizing the aesthetics of components to fit a project. While some aspects of component styling remained unaccessible for customization in previous versions, Publisher 6 exposes majority of styling properties via standard CSS files and theme variables. Stylesheets can also be specified within the ODD, as previously, or through pb-view component configuration attributes. 3. Extended internationalization I18n support has been extended to cover not only the labels in HTML templates but also within web components. A mechanism for project specific language files extending the default Publisher label collection has been added. Thanks to community contributions via Crowdin a number of new languages has been added and existing ones updated. 4. Subcorpora - new TEI Publisher data organization Publisher's pre-populated data collection is now split into Playground and TEI Publisher demo collection areas which illustrate how this mechanism could be used to host multiple subcorpora within single TEI Publisher application. 5. New and improved web components pb-select-feature and pb-toggle-feature components have been extended to allow for interactive changing of display parameters (like switching between regularized or original spelling) which can be then processed client or server-side.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    121 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us