cos-labs / Federal-Prototype

An institutionally ownable application to harmonize and comply with the OSTP Public Access Policy of US Federal Agencies. This was a prototype of the product specification and technical architecture for what JHU is now developing as PASS (Public Access Submission System).
Apache License 2.0
2 stars 5 forks source link

Federal Prototype

Build Status

Overview

The Federal Prototype Project is centered around a new government mandate. This mandate states that any research that is funded by the government must not be behind a paywall. There has been no platform created to facilitate this proccess. It is a primary objective of this project to develop a user frindly API for other software to make use of. A user-friendly interface has also been developed to allow users to make use of this API, even though other software may not exist to do so yet.

Setup

Assuming $FED_PROTO is the root of this repository.

Install ember-osf. Assuming ember-osf will be or is installed in the same directory as Federal-Prototype;

Install ember and link ember-osf to Federal-Prototype.

The following comprise the steps to run this software locally for those that wish to develop with this project.

Make a new virtual environment, install the required python packages via pip, then remake the migrations and start the server.

Blueprints may need to be generated for some of this project's dependencies.

To run this project, the ember server needs to be started, as does the django backend. It may be helpful to specify which backend to use for ember. Backends are defined in $FED_PROTO/frontend/config/local.yml. Running the local backend will require running OSF, Waterbutler, and CAS to be running locally. See the respective documentation for more information on this software.

Build and run the frontend.

Developer's Notes

Backend

API endpoints:

Frontend

Routes

General Workflow

some text

Researcher Upload Document Workflow

some text

Future Ideas

  1. Further implementation of GUI Form builder
  2. Editable status filters
  3. More options to settings page
  4. JSON to from builder XML (so if you update the json maulay it will update the XML)

Major Libraries

  1. FormBuilder https://formbuilder.online/
  2. BootstrapGrowl http://ifightcrime.github.io/bootstrap-growl/

TODO

  1. Authentication, permissions
  2. Allow multiple grants per document (front and backend)
  3. Metadata form builder, get JSON format to be able to build XML for drag and drop form