There is a newer version of this record available.

Software Open Access

digicademy/svsal: SvSal v2.0.0

David Glueck; Andreas Wagner

This is a major update that aims to provide improvements/solutions in three areas, in particular: an enhanced modularization of the different parts of application logic (the app core, the webdata factories, and the API); substantial performance improvements; and full compatibility with eXist-db 5. The revisions include a re-structured xquery module system and new modules, some additional functionalities, optimization of existing functions, and bug fixes.

New Modules and Backwards Compatibility

Due to changes and restructurings in the module system, this release is not fully backwards-compatible with version 1.x. An exhaustive list of changes in xquery functions is not provided here, but changes may be comprehensible through function descriptions in new xquery modules. The following modules are new with this release:

  • modules/factory/works/html.xqm
  • modules/factory/works/iiif.xqm
  • modules/factory/works/index.xqm
  • modules/factory/works/txt.xqm
  • modules/api/api.xqm
  • modules/api/v1/add.xqm
  • modules/api/v1/texts.xqm

The following modules have been renamed or moved:

  • modules/sutil.xqm (formerly modules/sal-util.xql)
  • modules/factory/works/nlp.xqm (formerly modules/nlp.xql)
  • modules/factory/works/stats.xqm (formerly modules/stats.xql)

Please also note that all existing library modules have been renamed through the "xqm" file extension (instead of the former "xql" extension, which is now reserved for non-library query modules).

Finally, the following modules have been removed altogether:

  • modules/dbtagger.xql
  • modules/render.xql

Besides attempting to make the structure of the app more intelligible and easier to maintain, the restructuring and modularization of the module system also shall make it possible, in the future, to outsource parts of the application such as the webdata factory or the API into separate apps/microservices.


Structural revisions (also, see above):

  • refactored API with RestXQ, now residing under "modules/api"
  • separated logic for deriving webdata formats from tei data into dedicated modules in the new "modules/factory" directory
  • separated gui/html-related logic from config.xqm into new module gui.xqm (#80)

Compatibility with eXist v5.x (#76):

  • implemented http requests by means of the EXPath Http Client
  • replaced deprecated eXist library functions
  • syntactical revisions of xquery code

Speed/performance improvements (#38):

  • revised i18n templating and processing
  • simplified dependencies between xqm modules
  • revised access of files for web crawlers (robots.txt)
  • replaced xsl transformations from within xquery modules by means of xquery typeswitch functions

Additional functionality:

  • differentiated (scholarly or technical) work editors in catalogue records
  • added links from profile pages of editors to the works they contributed to (#83)
  • added options for creating statistical data for works from the administrator interface
  • added basic corpus statistics to works' overview
  • added link from a work's image view to its reading view (#15)

Bug fixes:

  • improved server-side error handling through enhanced accessibility of error modules/functions
  • fixed responsiveness of placeholder image for dictionary


  • added and improved docs for xquery functions and modules, and extended API docs and technical docs

Files (56.7 MB)
Name Size
56.7 MB Download
All versions This version
Views 22919
Downloads 261
Data volume 1.3 GB56.7 MB
Unique views 19413
Unique downloads 231


Cite as