Principal Languages, Platforms and Tools


Development, Infrastructure & Applications Group (DIAG) Policy

Reviewed for FY22

Introduction

This document describes the principal technologies DIAG works in - being able to contribute to projects using the technologies here indicates an ability to contribute to the core efforts and applications the team is responsible for. Team members are expected to be able to adapt to contribution-level literacy as necessary, and we support teammates' efforts to learn. The technologies described here are referred to in our job descriptions as "the principal languages and platforms".

Languages

  • BASH/shell scripting
  • Ruby
  • PHP
  • Python
  • Java
  • Javascript
  • CSS

APIs & Protocols

  • SWORD
  • IIIF
  • GraphQL
  • REST-ful web design

Application Platforms

  • Rails (Model-View-Controller and API design patterns)
  • Blacklight
  • Omeka
  • PKP (OJS, etc)
  • Tomcat
  • ReactJS
  • Node.js

Data Formats & Transformations

  • JSON
  • CSV
  • XML/XSLT/XQUERY
  • MRC
  • HTML

Tools

  • Unix operating systems
  • Git
  • Build automation tools: Travis, Github Actions, etc.
  • NGINX/Passenger
  • Wowza
  • ArchivesSpace

Datastores

  • RDBMS: MySQL/Oracle
  • NoSQL Stores: Solr
  • Object stores: Fedora Commons, S3