Skip to content

Product Roadmap

slhurley edited this page Apr 11, 2024 · 28 revisions

Below is a rough outline of the features that we are targeting for COMS.

v0.1.0 - Minimum Viable Product (MVP)

General

  • General Documentation
  • Database action auditing
  • Over 50% coverage in unit tests

Authentication

  • Multiple authentication modes
    • Unauthenticated
    • Basic
    • OIDC
    • Full (Basic and OIDC)
  • Support multiple identity providers (eg: IDIR, BCeID)

Object Operations

  • Upload multiple objects to storage
  • Expiring object download links
  • Object versioning and history

Permission Management

  • Share objects
  • Search for OIDC users
  • Toggle object for public access
  • Update and manage object permissions

v0.2.0 - Version Tracking

  • Explicit version management
  • Soft-delete objects
  • Enhance validation layer support

v0.3.0 - Metadata & Tagging

  • Object metadata
  • Object tagging
  • Object discovery via metadata/tagging

v0.4.0 - Multi-tenant Bucket support

  • Multi-bucket support
  • Database refactor
  • Permission cascade/inheritance refactor
  • API shape extensions

v0.4.1 - Reliability Pass

  • Improve architectural documentation
  • Refactor objection model mock pattern; improve unit test coverage
  • Validate bucket credentials on add and allow folder key to be optional
  • Performance improvements

v0.4.2 - Domain Scoped Metadata Keys

  • Change mandatory metadata keys to be domain scoped

v0.5.0 - Filename Support

  • Support arbitrary filenames for S3 Objects
  • Add First Nations glyph support to filenames
  • Track and enforce coms-id as an S3 tag
  • Deprecate coms-id and coms-name S3 metadata enforcement
  • Add tracking support for version-specific S3 ETags

v0.6.0 - File Transit

  • Add new PUT endpoints for uploading files
  • Extend filesize limit from 50GB to 5TB
  • Add more consistent error responses for upload failure situations

v0.7.0 - Synchronization

  • Bucket and object synchronization support
    • Add retroactive backfill for existing S3 buckets and directories
    • Retroactive bucket and object database population
    • Implement merge-conflict logic for data collision scenarios
    • Add global synchronization support for coms-id tags
    • Add proactive coms-id tag annotation support for objects
    • Add status probe endpoint for synchronization
  • Fix request timeouts from large file uploads
  • Remove metadata key/value length constraints
  • RFC 7807 error reporting compliance

v0.8.0 - Invite Links, Pagination and S3 Public synchronization

  • Add paginated object search support
  • Add public permission tracking support from S3 Object ACL endpoints
  • Track S3 last modified date on versions
  • Add bucket last synchronized date and object last synced date
  • Add children bucket creation support
  • Improve environment variable support for recognizing truthy string representations
  • Add invite link deferred permission grant support (READ)
  • Security improvements and various bugfixes

v0.9.0 - Continuous Improvement

  • Add additional permissions to invite link

TBD - Feature ideas only - subject to further feedback

  • TBD