File system model (was: UnixFileDirectoryPlugin)

Noel J. Bergman noel at devtech.com
Fri Jan 18 20:48:43 UTC 2002


> Some good suggestions for cool stuff

Thank you.

> but mostly what we need soon is better coverage of the typical
> file actions that are useful in day to day usage.

Fair 'nuff.  And I certainly recognize the difference in scope and timeframe
for a directory services interface vs an immediate term enhancement to
file/directory access.

> so far as I can see the four mostly-active ports have
> access to links ...

Hardlinks are present on NTFS only, and are rather easier done with Windows
2000/XP than NT 4.

See:
http://www.google.com/search?q=cache:aLRHQ6BLphAC:support.microsoft.com/supp
ort/kb/articles/Q234/7/27.ASP

     http://www.mvps.org/win32/ntfs/lnw.html

I used google to provide the Microsoft article because if you look for that
document directly on Microsoft, you'll get a 404 at the moment.  The
Microsoft example pretty much tells you what you need to know.  The second
article has some additional details, and illustrates how to dynamically call
the new API that wasn't present on prior to Win2K.

> file testing (... permissions ...)

As you and Lex have observed,  *NIX and Win32 are rather different.  If all
you mean is read-only vs read-write, you still have to deal with global vs
personal access, at the least.  One reason I started going down the path of
the general directory services model was to have a nice place to hang all of
the file system specific properties, such as access control, since that is
where discussion had bogged down the last time.

I supposed that we could map *NIX R/W world permissions to the Win32 GUEST
group, and *NIX R/W user permissions to the current user.  Either ignore
*NIX group permissions, or associate group permissions with every group to
which the user is a member.  There are other Win32 file system properties,
though, not present in *NIX, e.g., system, hidden (we can argue about the
'.' prefix), archive, compress, encrypt, indexed, etc., and in order to
support *NIX X and W permissions on Win32, we'd have to use ACLs, because
the file system flags don't support those properties.

> file names ought to be a class separate from file streams

ABSOLUTELY!  The File - FileStream relationship is HAS, not IS.

	--- Noel




More information about the Squeak-dev mailing list