New FileSystem (was RE: About a new roadmap for 3.9)

lex at cc.gatech.edu lex at cc.gatech.edu
Sun Dec 19 13:13:16 UTC 2004


"Russell Penney" <russell.penney at tincanct.com> wrote:
>    The idea is to do things in 2 parts with FileStream (Standard or
> otherwise) being the link between the FileSystem and Codecs. I envisage 2
> packages one for the filesystem framework and one for the Codec framework.
> Other packages will add codecs to the framework so Ogg would be a separate
> package (as would MP3, JPEG, etc).

This sounds like something that we already have 3 of in Squeak.  Could
you please check whether you can use or extend one of the existing
mechanisms?  Also, I think you are mis-firing some readers by calling
this a file system.  It might better be called a registry of file types
or content types or some such.  A clever person might come up with a
name based on the fact that we are trying to interpret non-object data
that comes from outside of Squeak, but I'm not clever enough right now
to do it.  :)

The main system of the 3 I am thinking of is the one in FileList.  It
has a registry of file types called "file readers".  This is how when
you click on a file in the file list, it has a menu item specialized for
that item.  Packages can register readers when they are loaded, so that
what is in the list depends on what is installed in your system.

The other two implementations of this idea are minor, but worth
mentioning.  One is in MailMessage and/or Celeste, and is used to handle
different kinds of content being sent to you via email.

Another is in classes MIMEDocument--which guesses a file type based on
extension--and class Scamper--which has a hand-coded list of rules about
how to display a document of different types.  Look at method
displayDocument: to see what I mean.


It is wonderful to work on this area of Squeak, but please make an
effort to either reuse an existing mechanism, or to simultaneously
squash at least one of these mechanisms with your new and improved one. 
Keep in mind that if you produce a fourth great new idea here, it will
be doomed to get only 1/4th the attention and development that it might
if it was the only contender.  The more you can squash the better.  :)

Lex



More information about the Squeak-dev mailing list