Get started


What is Tuttle?

Tuttle is an eXist-db application that adds version control to data collections in eXist-db. It is part of and published by the e-editiones society and can be used by other eXist-db applications such as TEI Publisher to synchronize data collections between a Git repository and the database. Tuttle wraps the APIs of the Git service providers under a single, common OpenAPI allowing projects to seemlessly add version control to their data.
Read More…

What is needed to use Tuttle?

1. Access to a repository To use Tuttle access to a repository on Github or Gitlab is necessary. This can be public or private repositories. On-premise servers will of course also work. 2. Tuttle application You can install the Tuttle application from the eXist-db public repository by using the eXist-db Dashboard. 3. Access token In order to authenticate to the VCS (version control system) and being allowed to access its API a ‘personal access token’ is needed.
Read More…

How to configure Tuttle?

Tuttle is configured in modules/config.xqm in your Tuttle installation. You may use eXide to edit the config.xqm. Below is an example configuration that shows an example for either Github and Gitlab. Due to the different API of these services the configuration differs sligtly. See parameter description below. (:~ : Git configuration :) declare variable $config:collections := map { "sample-collection-github" : map { "vcs" : "github", "baseurl" : "https://api.github.com/", "ref" : "master", "token" : "146152be6a9xxxxxxxxxxx71da8f3e4faf263", "hookuser" : "admin", "hookpasswd" : "" "owner" : "Jinntec", "repo" : "tuttle-demo" }, "sample-collection-gitlab" : map { "vcs" : "gitlab", "baseurl" : "https://gitlab.
Read More…

how to use Tuttle?

in the pictures below the Github Logo is used but Gitlab can be used the same way From Git to eXist-db With ‘Git to DB’ editors will work with their own tools and push changes to Git. The data are kept in Git and are deployed to eXist-db on demand or automatically by an Git action. Data can be updated completely or incrementally just applying the changes since last update.
Read More…