On 2008-08-21 at 15:29:09 [+0200], Bruno Albuquerque <bga@xxxxxxxxxxxxx> wrote: [...] > 2 - There is no full inheritance from the super-type to the sub-type. It > is partial in the sense that the icon, for example, is inherited by the > sub-type from the super-type (if the sub-type does not have its own). > But this should also extend for other fields like, for example, the > attribute list. Audio files are a very good example of this. Right now > if you want to see specific attributes in Tracker for audio/wav and > audio/mp3 files, you have to add the attributes to both sub-types > (considering a directory that has only wav or only mp3 files) So you > would have to add, say, Audio:Title to wav and also to mp3 file types > while it is obvious that all Audio:* attributes should be assigned to > the super-type. > > For example, we could have something like this: > > audio ---------------------------| wav > | | | > | | | > Audio:Title | Audio:WavSpecific1 > Audio:Author | Audio:WavSpecific2 > Audio:AnyGenericAudioAttribute | ... > ... | > | mp3 > | > | > Audio:Mp3Specific1 > Audio:Mp3Specific2 > ... Just to throw that in, the relationships between file formats might be even more complex. Like: text <- XML <- SVG. We could actually try to reflect that by allowing a type to have an explicit base type (e.g. XML for SVG). To consequently handle those type hierarchies quite a bit of code would need to be adjusted though, so it's probably more an R2 thing. CU, Ingo