Skip to content

OSDF Feature Requests

Gene Hsu edited this page Feb 26, 2019 · 2 revisions

OSDF Feature Requests

Documentation

Operation Manual

There should be an operation manual.

Troubleshooting Guide

There should be a troubleshooting guide.

Ingest API Clients

CLI Client

There should be a CLI interface. TBD

Web Client

There should be a Web interface. TBD

Ingest API Application

Administration Interface

  • Create an administration interface for maintenance of users/roles
  • API for create user (with roles, password)
  • API for update user (with role updates, password change)
  • API for activate/inactivate user

Authentication

  • Integrate with OAuth/OpenID
  • Use Token-based/HTTP Bearer Auth instead of HTTP Basic Auth
  • API to retrieve token give user/password
  • API to update password given user

Authorization

  • Create a superuser role to administer any domain/namespace, read/write any document/schema in any domain/namespace
  • Create an administration role to administer a specific domain/namespace, read/write any document/schema in the domain
  • Create a namespace role to read/write any document/schema in the domain
  • Create an API role to read any document/schema in any domain/namespace
  • Schemas should be publicly readable

Auditing

  • All CRUD actions should be auditable for their actions, not necessarily for their content.
  • Errors should be logged/reported for debugging and monitoring purposes.

Namespaces

  • Users should be associated with the namespace roles they need access to
  • API users should be associated with the API role

Object Identifiers

  • Objects should identified by an externally specified object identifier
  • Objects should be linkable by an externally specified object identifier
  • Object Types
  • Objects should belong to a namespace
  • Objects in a namespace should be able to be of a type of object outside the namespace

Code Maintenance

  • Update connector between CouchDB and ElasticSearch to support current versions
  • Update dependencies to remove security vulnerabilities
  • Update dependencies to remove deprecated libraries
  • Update JSONschema library to support current versions of JSONschema (v7) (ajv?)
  • Update to use Promises for async
  • Verify the code runs with current version of node

Ingest API Maintenance

Monitoring Endpoint

  • There should be an API endpoint that can be used for monitoring

Statistics Endpoint

  • There should be an API endpoint(s) that can be used for application statistics

Event Publishing

  • The API endpoint may publish events to an eventing mechanism in order to communicate with other systems.

Clone this wiki locally