discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Application roles - first steps


From: Helge Hess
Subject: Re: Application roles - first steps
Date: Mon, 23 Feb 2004 23:42:43 +0100

On 22.02.2004, at 17:26, Stefan Urbanek wrote:
It seems that this doesn't slows down the browser very much; I've tested with two "big" directories, /dev and /usr/lib, and I get a factor of 2.1 for /dev and 1.4 for /usr/lib. But, in the normal use, I don't notice any sensible change.
What about -namesForPaths: (inspired by -valuesForKeys:(NSArray *) from key-value coding)? With this, you can eliminate lots of inter-process communication.

I would like to recommend to look on subclasses of NGFileManager in OGo. Actually we use an EODataSource for exactly that, this even allows sorting and filtering and maps very well to exotic kinds of filemanagers like IMAP4 or LDAP, which mostly consist of attributes.

Basically like that:
  EODataSource *ds = [fileManager dataSourceAtPath:@"/images"];
  EOFetchSpecification *fspec;

  fspec = [[EOFetchSpecification alloc] init];
[fspec setQualifier:[EOQualifier qualifierWithFormat:@"NSFileExtension='gif'"]];
  [fspec setSortOrderings:[NSArray arrayWithObjects:
[EOSortOrdering sortOrderingWithKey:@"NSFileSize" selector:NSCompareAscending]];
  [ds setFetchSpecification:fspec];

Notably this also maps very well to WebDAV/DASL and of course to tableview delegates. And if you are perplexed by the required lines of code - of course you can use shortcut methods, but the above mechanism as a means of implementation is extremly powerful and generic.

- metaDataForPath:? :-) or ... metaDataForPaths:? Hmmm ... if there was such method and metadata providers, we can have also 'tags' (or how they are called - those stickers you put on files in Nautilus).

Custom attributes. Supported by the OGo database storage (SkyProjectFileManager) and stored in a RDBMS in there allowing for extremely fast queries on metadata for a complete filesystem hierarchy. Accessible using the mentioned datasource mechanism.

So, now I need some suggestion for the name of the daemon and for the keys to use to get the representations. (Even if I can write a version returning just the lastPathComponent, for the moment).
What about keys: WSDisplayName, WSRole, WSTags, WSComments...? I see no reason for daemon for this functionality, Workplace framework is a good place. And you can add appropriate methods to gwremote if you want this for a remote machine.

Actually I would recommend using the WebDAV names which are somewhat standard. OGo uses a mapping for that: http://www.opengroupware.org/cvsweb/cvsweb.cgi/OpenGroupware.org/SOPE/ skyrix-sope/NGObjWeb/DAVPropMap.plist?rev=1.5&content-type=text/x- cvsweb-markup

regards,
  Helge
--
http://docs.opengroupware.org/Members/helge
OpenGroupware.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]