From 57cef0f4cf5103c2c6e2733f65368d347fe64bba Mon Sep 17 00:00:00 2001 From: Disassembler Date: Wed, 3 Jun 2020 18:56:46 +0200 Subject: [PATCH] Add more docs --- doc/applications/crisiscleanup.rst | 21 +++++++++++++++++++++ doc/applications/index.rst | 4 ++++ doc/applications/opendatakit.rst | 24 ++++++++++++++++++++++++ doc/applications/openmapkit.rst | 12 ++++++++++++ doc/applications/pandora.rst | 25 +++++++++++++++++++++++++ doc/applications/seeddms.rst | 5 +++++ 6 files changed, 91 insertions(+) create mode 100644 doc/applications/crisiscleanup.rst create mode 100644 doc/applications/opendatakit.rst create mode 100644 doc/applications/openmapkit.rst create mode 100644 doc/applications/pandora.rst diff --git a/doc/applications/crisiscleanup.rst b/doc/applications/crisiscleanup.rst new file mode 100644 index 0000000..bcbb4fb --- /dev/null +++ b/doc/applications/crisiscleanup.rst @@ -0,0 +1,21 @@ +CrisisCleanup +============= + +Overview +-------- + +Crisis Cleanup is a collaboration platform that connects disaster recovery organization volunteers with people who need help after a disaster. It is a Ruby on Rails application written for Ruby 2.6 with NodeJS-dependent web frontend. + +Upstream URL: https://github.com/CrisisCleanup/crisiscleanup-2 + +Version 2 maintenance +--------------------- + +As of 2020-03-27, CrisisCleanup v2 is no longer maintained. The maintenance has been discontinued in favor of CrisisCleanup v3, which splits the backend and frontend into two separate projects. Unfortunately the source of the backend part hasn't been opened and the creator has no plants to do so, so currently only the frontend application as available on https://github.com/CrisisCleanup/crisiscleanup-3-web. + +Version 3 uses OpenStreetMap and Leaflet, whereas version 2 used Google Maps. + +NodeJS compatibility +-------------------- + +The application uses NodeJS to generate and pack assets, however due to its age, yarn dependencies installation fails on NodeJS versions newer than 8, therefore the NodeJS version has been frozen on 8.14.0 provided by Alpine 3.8. diff --git a/doc/applications/index.rst b/doc/applications/index.rst index 5d9a060..c65e880 100644 --- a/doc/applications/index.rst +++ b/doc/applications/index.rst @@ -8,8 +8,12 @@ Applications and containers tech-knowledge map-services ckan + crisiscleanup frontlinesms kanboard + opendatakit + openmapkit + pandora sahana sahana-configuration-report seeddms diff --git a/doc/applications/opendatakit.rst b/doc/applications/opendatakit.rst new file mode 100644 index 0000000..1ac35b5 --- /dev/null +++ b/doc/applications/opendatakit.rst @@ -0,0 +1,24 @@ +OpenDataKit +=========== + +Overview +-------- + +OpenDataKit is a suite of tools that help organizations collect and manage data, typically via mobile application. The most interesting components used on SpotterVM are + +- **ODK Aggregate** - Main data storage server and analysis tool, written in Java, running on Apache Tomcat using PostgreSQL database. +- **ODK Build** - Drag-and-drop form designer, written in Ruby 2.4, requires NodeJS for frontend assets. +- **build2xlsform** - Service to convert ODK Build forms to xlsform-compliant XLSX, written in LiveScript (NodeJS). + +Upstream URLs: + +- **ODK Aggregate** - https://github.com/getodk/build +- **ODK Build** - https://github.com/getodk/build +- **build2xlsform** - https://github.com/getodk/build2xlsform + +ODK Build exports +----------------- + +ODK Build runs in a container separate from ODK Aggregate and doesn't use any database engine for its persistent storage. ODK Build can however export the designed form to ODK Aggregate via HTTP endpoint. In case HTTPS is used with self-signed certificate, it needs to be imported to OpenSSL trust store prior to first communication attempt. In our container, this is ensured by ``add-ca-cert`` script. + +build2xlsform lives in the same container as ODK Build and allows for export of ODK Build JSON forms to XLSX files editable via any modern office suite. diff --git a/doc/applications/openmapkit.rst b/doc/applications/openmapkit.rst new file mode 100644 index 0000000..f1412ae --- /dev/null +++ b/doc/applications/openmapkit.rst @@ -0,0 +1,12 @@ +OpenMapKit +========== + +Overview +-------- + +OpenMapKit is a standalone extension to OpenDataKit providing mapping features and handles collection and aggregation of OpenStreetMap and OpenDataKit data generated via mobile applications. + +NodeJS compatibility +-------------------- + +OpenMapKit is purely NodeJS application. Unfortunately it depends on a libxmljs module in version incompatible with NodeJS version newer that 10. Due to that OpenMapKit is currently frozen on NodeJS 10.19.0 provided by Alpine 3.10. diff --git a/doc/applications/pandora.rst b/doc/applications/pandora.rst new file mode 100644 index 0000000..93d4a7f --- /dev/null +++ b/doc/applications/pandora.rst @@ -0,0 +1,25 @@ +Pan.do/ra +========= + +Overview +-------- + +Pan.do/ra is a free, open source media archive platform. It allows to manage large, decentralized collections of video and collaboratively create metadata and time-based annotations. Pan.do/ra is a Django-based application written in python and is split to several components, most notably OxJS javascript framework and oxtimelines. It heavily relies on *ffmpeg* and uses *RabbitMQ* to pass messages between the components. + +Upstream URLs +^^^^^^^^^^^^^ + +- Pan.do/ra: https://code.0x2620.org/0x2620/pandora +- OxJS: https://code.0x2620.org/0x2620/oxjs +- python-ox: https://code.0x2620.org/0x2620/python-ox +- oxtimelines: https://code.0x2620.org/0x2620/oxtimelines + +Localization +------------ + +Czech localtization for Pan.do/ra currently exists only in SpotterVM repository. Separate localization is required for Pan.do/ra and OxJS framework which it uses. Moreover, the list of supported languages is hardcoded, so localization entails also modification of this fixed list of languages. + +Python 3.8 compatibility +------------------------ + +Pandora doesn't work well under python 3.8. Specifically, the database migration won't pass. This is caused by old version of Django, which doesn't play well with the new version of psycopg2 (see https://github.com/divio/django-cms/issues/6672), however older version of psycopg2 (2.7.7 as recommended in the linked issue) can't be installed on python3.8 as it uses some undocumented feature unsupported in python3.8 (https://github.com/psycopg/psycopg2/issues/854). The way out of this for Pandora would likely be to eventually bump the required version of Django to version 2.2+ which works well with psycopg2 2.8+. Pan.do/ra maintainer is aware of this, but it's not a simple task. For the time being, Pandora is stuck on python 3.7 provided by Alpine 3.10. diff --git a/doc/applications/seeddms.rst b/doc/applications/seeddms.rst index 47561eb..8cd8908 100644 --- a/doc/applications/seeddms.rst +++ b/doc/applications/seeddms.rst @@ -8,6 +8,11 @@ SeedDMS is a free document management system with web based user interface. It i Upstream URL: https://sourceforge.net/projects/seeddms/ +Localization +------------ + +Although the upstream contains some Czech localization, proper translation including the missing strings currently exists in SpotterVM repository. SeedDMS has a translation helper which displays untranslated strings, but the actual translation needs to be supplied as ``lang.inc`` file with PHP associative array. + Previewers and converters -------------------------