Le 15 avr. 07 à 18:08, Jesse Ross a écrit : >> Please let's also find a common terminology for things. I think >> projects and tags are mostly clear, but when it comes to objects, >> files and documents, things start to get blurry for me. I'm afraid >> discussions like these stay fruitless unless we have a common ground >> to build upon. > > Good point. Here's how I understand it: > > - Projects: cross between a virtual desktop, a desktop, and a > folder. Only 1 level deep (no Projects within Projects). All Projects > exist within a flat space, which tentatively exists at ~/Workspace. > > - Documents: roughly equivalent to files in modern systems, except > all Documents exist in a flat object space (this may be ~/Workspace > again). Projects contain Documents. Documents may contain other > Documents (as a compound document, such as a Document that contains > an image and text). > > - Objects: Same as Documents.
I wouldn't say so. Objects should be a shorthand for User Object. User Object: Any objects published/available in User part of the CoreObject tree. All these objects can be manipulated by an object manager directly. The most common ones would be: documents, projects, folders, document components, persons, bookmarks, bundles (like applications, services etc.) The CoreObject tree map each object to a path exactly as filesystem does with files rather than objects. However user objects are a restricted part of the tree. For example (purely dummy hierarchy): /private/applications/etoile_system /private/applications/etoile_menuServer /tags/color/black /tags/color/white /userObjects/john/pictures/blackBird.png /userObjects/john/music/whatever.mp3 /userObjects/john/RevolutionaryPaint.app /userObjects/john/blabla/myCoolProject/bird.jpg /userObjects/john/blabla/myCoolProject/michael /userObjects/john/blabla/myCoolProject/myString /userObjects/myFunkyFTPServer/myDocument.doc Everything under /UserObjects can be accessed by the user. The rest of the tree is only reachable by Étoilé shell or by writing code. To take an extreme example… Now you can export a "programming object" like an NSString instance to user side by using CoreObject API. A possible call would look like [coreObjectServer publishObject: stringWhatever forName: @"/userObjects/john/blabla/myCoolProject/ myString"] Then this NSString would be visible as a User Object with an icon in myCoolProject. By displaying info inspector for this element, you would be able to read the content of the string (for example it would call -description through DO behind the scene). > - Tags: strings that can be applied to Documents for organizational > purposes. > > - Types: basic object "formats", such as Text, Image, Video, Audio, > Person. Roughly correspond to Apple's UTI: http://en.wikipedia.org/ > wiki/Uniform_Type_Identifier From recent discussions, I would state that tags are metadatas of type/kind 'keywords'. 'Types' is a metadata type/kind too. Rather than speaking of Tags and Metadatas, we may talk of Tag Kinds and Tag values (or Tags as a shorthand). Examples of Tag Kinds/Types/Fields: - modification date - persons - keywords - type/UTI - Examples of Tag Values (or Tags): - 02/17/2007 - John, Michael - Recent, Fun, Tutorial, Biology - PDF As a side note, some Tag Kinds can have several values rather a single one. I think we should try to find a consensus on what are precisely tag, metadata, keyword, name (specially at UI level) and how they relate to each other. > - Component: Same as Documents. We also talk of components for bundles/plugins that can be loaded by an application/service. Quentin. _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
