Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

CMS to control data in the IATI Humanitarian Data Portal. Explore the humanitarian data that Grand Bargain Signatories are publishing to IATI and learn more about how the Grand Bargain Transparency commitments are helping signatories to publish better data on global humanitarian action.

License

Notifications You must be signed in to change notification settings

zimmerman-team/IATI-Humanitarian-Data-Portal-CMS

Repository files navigation

CircleCI Maintainability Test Coverage Cypress.io tests

What is the IATI Humanitarian Data Portal CMS?

Content Management System (CMS) for IATI Humanitarian Data Portal. The CMS is built using the SpaceUpTech Space Cloud CMS .

What is the IATI Humanitarian Data Portal?

The IATI Humanitarian Data Portal has been developed by Development Initiatives as part of its programme to support the Grand Bargain transparency workstream. The portal provides information on the Grand Bargain transparency commitments, how they are measured , and monitors progress at an aggregate level for signatories in meeting their commitment to publish timely, high quality, harmonised and transparent open data on global humanitarian action.

About the project

Installing

1. Follow this guide to install SpaceUpTech Space Cloud
2. Checkout repo to local folder
3. Make sure you've installed node.js 10.16.3 or higher
4. Run yarn install
5. Create an .env file and specify the following variables:

  • NODE_PATH=src/
  • REACT_APP_CLIENT_NAME=<CLIENT_NAME>
  • REACT_APP_PROJECT_ID=<SPACE_CLOUD_BACKEND_ID>
  • REACT_APP_SPACE_CLOUD_URL=<<SPACE_CLOUD_BACKEND_URL>

From SpaceUpTech docs:


PROJECT_ID: Unqiue identifier of a project. It’s derived by converting your project name to lowercase and replacing all spaces and hiphens to underscores. For example Todo App becomes todo_app.

SPACE_CLOUD_URL: This is the url of your space-cloud binary. It’s http://localhost:4122 or https://localhost:4126 for HTTP and HTTPS endpoints respectively.

Note: Replace localhost with the address of your Space Cloud if you are not running it locally

6. Run yarn start

Page breakdown

  • Signatories

    • Table view with all existing GB signatories and preview of their data fields
    • Search, download CSV, view/hide table columns, sort, filter functionalities available
    • Table row click leads to the edit page of the selected signatory
    • 'Add Signatory' button leads to the add new signatory page
  • About Text

    • Edit IATI Humanitarian Data Portal about page text blocks
  • FAQ Text

    • Edit IATI Humanitarian Data Portal FAQs page cards
  • CCTRIs Text

    • Edit IATI Humanitarian Data Portal CCTRIs page text blocks
  • Tooltips Text

    • Edit IATI Humanitarian Data Portal Tooltips help text
  • User Management(Only accessible by an 'admin user')

    • Add/edit/delete cms users
  • Signatories Progress

    • Manage fixed date values used for mlt-frontends signatory progress page.

Deployment Extra Info

So besides the generic way of deploying the frontend of the cms. This is some extra info describing how to deploy the backend and associated things.

  • Currently mlt deploys the cms backend(space-cloud) by running it localy on the server, as described in space-cloud deployment docs, and proxying it via the location '/' of a domain/sub-domain. One IMPORTNAT thing to note, is that as far as we've noticed you cannot proxy space-cloud as any other location than the root('/') location of your domain/sub-domain, as most pages just don't seem to work when trying to proxy like that. This is ofcourse using nginx(as its the service used for mlt), maybe it would work with other serving technologies.
  • Make sure to set up socket proxy for space-cloud - https://www.nginx.com/blog/websocket-nginx/
  • One more thing to note is that mlt-cms is using periodic functions that happen every 24hours to update data in the cms, so these services need to be initiated for all of the cms data to be there and to be up to date. Currently its set up to run with supervisor running the scripts with the 'node' command in the frontend folder 'mlt-cms/scripts/period_scripts.js'

About

CMS to control data in the IATI Humanitarian Data Portal. Explore the humanitarian data that Grand Bargain Signatories are publishing to IATI and learn more about how the Grand Bargain Transparency commitments are helping signatories to publish better data on global humanitarian action.

Resources

License

Stars

Watchers

Forks

Packages

No packages published