Storj is introducing object versioning. To maximize its utility, users need a user-friendly web console interface. Without this, they may find it challenging to manage and comprehend their object versions solely through programmatic access.
Who is impacted?
Non-technical users or those who prefer using the web console for data management.
Customers wanting a visual representation and easy management of their object versions without resorting to programmatic solutions.
What is the impact?
Enhanced user experience through a visual interface for object version management.
Lowering the barrier for users who might be hesitant about programmatic access but still wish to use object versioning.
Why now?
As Storj advances with the object versioning implementation, integrating it into the web console concurrently ensures that users can maximize the feature's benefits as soon as it's launched.
Requirements
User Story
As a Storj user, I want to view and manage different versions of my objects directly from the web console. This will enable me to effortlessly track changes, download specific versions, and revert to previous states without needing programmatic access.
Acceptance Criteria
Object Listing with Versions
Users should be able to toggle between seeing just the latest version of objects and seeing all versions of objects
Each object should have a dropdown to show available versions and include the same metadata that is shown for unversioned buckets AND the addition of the version id
Object Operations
Actions for each object version should be as follows
Restore
Only relevant to versions other than the current version
Restore should perform a copy object into the same bucket, using the specified versionId as the source
Users should be prompted with a confirmation dialog that says: “You are about to restore version [versionId] of [objectName]. This action will create a copy of version [versionId] as the latest version of the object. All existing versions, including the current one, will be preserved.”
Delete
Delete a single version - user should be able to delete a specific version of an object
Confirmation: user should be prompted to confirm the delete and acknowledge that it will be permanently deleted - unable to restore
When deleting a specific version a DELETE call should be made specifying the versionId, resulting in a permanent delete
Multiple versions: user should be able to select multiple versions of an object and delete them all in a single request
Confirmation: user should be prompted to confirm the delete and acknowledge that the delete will be permanent for the selected versions - unable to restore
When deleting multiple specific versions of an object DeleteObjects call should be made with each version
Download
Same functionality as downloading an unversioned object
Linkshare should only be available on the current version as the share will always return the current version of an object
Bucket Operations (already implemented)
Buckets list view should have an indicator with the versioning status of the bucket
Users should be able to enable versioning when they create a new bucket
Users should be able to suspend versioning on a bucket
Users should be able to enable versioning on a bucket
Success Metrics
Positive feedback from users utilizing the web console for object version management.
An increase in the adoption of the object versioning feature due to its integration in the web console.
Enhanced user satisfaction and retention among those who prioritize web console-based operations.
Background
What is the problem/pain point?
Storj is introducing object versioning. To maximize its utility, users need a user-friendly web console interface. Without this, they may find it challenging to manage and comprehend their object versions solely through programmatic access.
Who is impacted?
What is the impact?
Why now?
As Storj advances with the object versioning implementation, integrating it into the web console concurrently ensures that users can maximize the feature's benefits as soon as it's launched.
Requirements
User Story
As a Storj user, I want to view and manage different versions of my objects directly from the web console. This will enable me to effortlessly track changes, download specific versions, and revert to previous states without needing programmatic access.
Acceptance Criteria
Success Metrics
Productboard Link
AWS S3 Web Console
Walk through AWS S3 console for Object Versioning:
https://github.com/storj/roadmap/assets/7063002/6f84234c-4e03-4be7-aa7b-6ef246de1509
References:
S3 Actions relevant to Object Versioning
https://github.com/storj/gateway-mt/issues/363