Labs/Bespin/DesignDocs/MetaData
< Labs | Bespin | DesignDocs
Meta Data
Examples
There are a number of areas where we have a growing need for a meta-data system:
- status messages active on file save for future commit message
- currently edited (unsaved) version of a file
- diffs of old saved versions
- diffs for server undo queue
- chat logs associated with a file
Requirements
The meta-data system should:
- Be accessed via an API so the disk layout can be changed in the future
- Have 0 risk of data and meta-data files colliding
- Should allow the storage of large amounts of data (e.g. the current edit version of a file)
- Storage should count towards a users quota (TODO: Are there any cases where this should not be the case?)
Proposed Solution
Inside a users project directory we should have something like: - SomeProject/
- example1.js - some-dir/ - example2.js - ...
- SomeProjectMeta/
- example1.js/
- status-messages
- live-edit
- chat-log
- ...
- some-dir/
- example2.js/
- status-messages
- live-edit
- chat-log
- ...
I think this system is extendable, and there isn't any danger that the data will collide with the meta-data.