Skip to content

Stakeholder Stories

kitblake edited this page Jul 15, 2020 · 2 revisions

Stakeholder Stories

These user stories are meant to describe context for the PoC. The functionality in the details goes beyond what's needed for the Hackathon but is included for relevance. See the Minimal Viable Proof of Concept for the abridged version containing functionality to be implemented.

Country Civil Servant Reporting

Each signatory country is responsible for submitting NDCs (Nationally Determined Contributions) on a scheduled basis. These take the form of one or more files. We're presuming that Sam the Civil Servant (could be an individual, or could be a team) will zip multiple files into an archive and upload the batch.

  1. Using his browser, Sam accesses his country's environment on the ClimateDataPool server.
  2. There needs to be authentication and authorization in play, but for the PoC we're ignoring that. Sam navigates to the upload page.
  3. This submission page contains a form. Many of the fields are pre-filled using local configuration acquired from the country environment. Sam fills in a few required fields with corresponding metadata.
  4. Sam adds the file to the form and clicks the upload button. Probably there's a review screen with another submit button. He submits. The server confrims the succesful submission. At this point he's done with the reporting.
  5. Later, a confirmation email will arrive containing info about the submission.

Server Script

When the file arrives at the server it gets processed by a script. We assume that there is an IPFS instance running on the machine. In short, the script:

  • Checks if it's a zip file and if so unpacks the archive.
  • Copies each file to IPFS.
  • For each file it creates a record in the OrbitDB which contains the IPFS hash and/or path, plus select metadata (details TBD, but e.g. it contains the country name).
  • For each file copied to IPFS, the script uses the Pinata API to pin the file. Perhaps this can be batched, or unified in one operation.
  • When done copying, pinning, and recording, the script sends a confirmation email to Sam. Among other info it contains a mapping of each uploaded file to its IPFS reference.

ClimateDataPool User Interface

Each country has an environment on the ClimateDataPool server. The environments acquire most of their features from the root but have editable local settings.

The primary function of the UI is to provide listings of files. For example, Sam can view his most recent upload which is a list of files with corresponding metadata. If needed he can amend something or replace a file.

A listing contains various metadata such as submission date, file size, etc (TBD). When rendered for the public each record contains a "Download" button. For example a researcher could view a listing of all the files submitted by a particular country.

The listings are generated using queries to OrbitDB. Each listing is the result of a search with parameters. Most of the view actions use predetermined (hard coded) queries but it's possible for the public to construct custom queries using a form interface.

Scientific Researcher Searching

Many organizations make use of the climate data, primarily for analysis. By using a browser a researcher can access the ClimateDataPool UI. For this story we're presuming that Reilly the Researcher (could be an individual, or could be a team) is collecting specific data for a project.

  1. Using her browser, Reilly accesses the ClimateDataPool main page.
  2. The server is open to the public, no authentication is required. There is a fair use issue, and it could be that operations that cause substantial load to the server will require KYC and authentication, but not for the PoC.
  3. The main page presents links to various listings. These might include latest submissions, submissions by country, submissions by type, etc. There is also a link to a search form. Reilly is familiar with the UI and goes directly to the form.
  4. Using the form controls Reilly constructs a search where she requests a specific NDC type, for certain countries, over a specified date range. She clicks the search button.
  5. The server returns a listing of files. Much like the internal view, each file is a record with corresponding metadata, including a "Download" button.
  6. Reilly reviews the listing. She makes adjustments to the form fields, adding a couple parameters, and presses search again.
  7. The server returns the result of the more granular search.
  8. Satisfied with the result, Reilly clicks a "Download all" button.
  9. The server retrieves all the files, zips them into an archive, and sends the zip file to Reilly. At this point her task is complete.

Content Administrator

There are a range of tasks that would be performed by the organization responsible for maintaining the data but these are out of scope for the PoC.