Why talk about non-core services?

There is more than the data-model module required to run the DINA-Web system.

What are the "core" components?

Components outside of the "core"?

APIs other than Collections API

  • taxonomy management (classifications-docker | nub-docker)
  • user management (keycloak)
  • repository for multimedia (media-server-module, mediadrop-docker)
  • fast search and indexing (search-docker)
  • sequence management (seqdb-docker)

Orchestration tools

  • exposing web services under relevant names and provide SSL (proxy-docker)
  • resolving names internally between containers (dns-test-docker)
  • monitoring web service status for uptime (uptime-docker)
  • building and backups of source code (bob-docker)

Data flow tools

  • loading and exporting data from the command line (cli-tools-docker)
  • datasets (example-data, information-model, datasets)
  • utilities for tracking db schema differences (dbdiff-docker)
  • exports in ABCD and Darwin Core Archive formats (biocase-docker)
  • reporting and statistics (bookdown-reports)
  • R bindings (dinar)
  • Python bindings (collectionsbatchtool / python-dina)

Internal communication

  • methods (guidelines)
  • developer blog (DINA-Web.github.io -> blog.dina-web.net)
  • slackish instant messaging (chat-docker)
  • email services (mail-docker)

What is lacking?

  • A communication channel to external stakeholders (wordpress/ghost-docker)
  • Traffic analysis (piwik-docker)
  • Searching through logs and fixing operational issues with ELK-stack (elk-docker)
  • Backup container with S3 archiving storage (dropmedia-docker)
  • Configuration and troubleshooting guides (we use GitHub Wiki)
  • Tutorials (documentation)
    • Systems Integration - How to create a DINA-Web module from scratch, what files are needed? Use nub-docker and keycloak as examples relevant for most system integrators. (nub-docker)

Skills - Software Carpentry