-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Metadata System #43
base: master
Are you sure you want to change the base?
Metadata System #43
Conversation
@demhydraz can you elaborate? |
@oeed I think that @demhydraz would like to have custom keys, which you disallow:
I would argue that for a solid metadata system, custom keys are a must. In @demhydraz's case, he would have to create another metadata format to function alongside this one to store additional information his OS needs for proper handling of executables, for example. Information about what rights different user groups hold for the file is crucial to the shell, but this metadata standard is infeasible for its storage. |
Okay, I certainly understand where you are coming from. I was originally thinking that it would be a good idea but I can see a few issues. The main issue is the inconsistency it will cause. Say, for example, @demhydraz starts using the key 'J' as a number value, say, the number of times it's been opened. If a folder then ends up @viluon's system which also uses the key 'J' as a number value, but instead for the colour depth, problems arise. @viluon's system will try to open an image from the folder and use the number of times it has been opened, say, 7, as the colour depth. This has a reasonable chance of cause the file to become unreadable on that system. It also requires a change to the format somewhat, as the keys are currently fixed you don't need a byte specifying what type it is as it already knows. That's not a major issue, but just something to consider. |
Once again, elaborate? |
Wow, extended attr. list is a good idea @demhydraz! I was thinking that you might add something like a custom key key, custom key type key and a custom value key (but the format probably doesn't support multiple entries of the same type right?). That would allow you to set up "virtual keys", which would be formed by EDIT: Example: Now I'd need another key, to describe how awesome the author of the file is. 3 more entries: The keys in the file have to maintain their order, because otherwise you wouldn't know which value belongs to which key (in this case, the types can be swapped, because they're identical). While usable, this is a rather crappy implementation of custom keys, mainly building atop what's already there. Extended attribute list as suggested by @demhydraz is a very good idea, but I would say the format itself should support custom keys in some way. |
I really don't get this extended attribute list, can you explain @viluon? |
After a discussion on Gitter, it has been proposed that the keys are changed to 3 characters with support for custom keys and extended attribute list support be added to allow for greater flexibility. |
This is a metadata based somewhat upon Lyqyd's previous proposal and previous input from others.
In simple terms, the system consists of a '.metadata' file stored in each folder which stores the metadata for each file in that folder as well as the folder's own metadata. The data is stored as Binary for fast and efficient storage.
I can see there being disagreements about this, so as with my suggestion in #42 I do not yet have an API written.