Roadmap

The order of work is set by the data model: first what cannot be added later, then features on top of it. Products connect to the contract as soon as the core is ready, without waiting for the whole storage.

Done

The core data model

The part whose rebuild would mean rewriting data access in every product at once.

  • The object and file_id as a permanent identifier
  • The holder table: direct ownership and product bindings
  • Quota owner and usage accounting under one account
  • Permissions on files and folders, integration permissions
  • A contract of four methods: put, get, bind, unlink
  • Region as a property of the object and of the organization
Done

Features for employees

What turns a storage layer into a product for an employee of a company.

  • Company, personal and project drives
  • Versions, rollback and trash with time limits
  • Public links to a file and a folder with password and revocation
  • Document co-editing over WOPI and locks
  • Document preview and ready-made image sizes
  • Search by name and content
Done

Extensions

Added over the same data model, with no change to the foundation.

  • Sync with Windows and macOS clients from a change journal
  • Import from external clouds: OneDrive, Google Drive, Dropbox and Yandex Disk
  • Video conversion within the plan limit
  • Deduplication on upload by a checksum of the content
  • Cleanup suggestions and a usage breakdown
Next

What comes next

Grows on top of the same contract and requires no rework of what has already been released.

  • Semantic search across the documents of an organization, together with A3.Documents
  • Storage region set per project or folder for large customers
  • Read caching for files shared with partners in other regions, while the original stays in the account region

Why the work goes in this order

If products wait for the whole storage, their development stalls and somebody builds a temporary local file upload. It would have to be redone later, and that is what we avoid. So the contract is published as soon as the core is ready, and the features follow.

API