Last updated at 2:37 pm UTC on 16 January 2006
Versions as subfolders
> After a couple of weeks of such tweaking, we will want to commit to some
> organization, just so that we have some reference point for starting a
> repository. (di)
I realized that we still probably will need to have versions of the hierarchy/organization as well! There can be folder aliases (symlinks) to point to previous versions, though. My KISS idea was to just have versions be a float number at the end of a path, like #(Network Scamper 1.0), and versions would then be in subdirectories of the <...>/Network/Scamper folder in a directory. (Windozers may need to fix up the directory name there to "v1p0" or so, I'm not sure.) I think that this simple solution has a lot going for it. E.g. it allows us to easily handle multiple versions of the same module fairly well.
The repository would then simply have "0.1" etc. subdirectories for different versions of the global organization. But we should still have an early version be as good as possible. Take a look at Module class>> topLevelModuleList if you haven't already.
Any file could go into the repository
> Then come the questions about module storage formats. It seems to me that a
> module should come in a form that is equivalent to a changeSet, but it could
> include an iamgeSegment for fast (compiler-free) loading.
My idea was that you should be able to put whatever files you want in a module's directory. There could be web pages for documentation, C files to handle VM sources within this scheme, etc. etc. We could code a loading strategy that would automatically look for an imageSegment of a certain name.
Storing Squeakers' personal preferences
The module directory should be available to the regular coder as well, to use for various schemes. For example I thought of having "modules" for every squeaker, ie. directories in the central repository where they e.g. could store their individual preferences, so that any image anywhere can ask for your userid (method signatures are well established) and password, then go off to the central .../people/di/preferences or /people/hg/preferences (etc.) and retrieve a file and do its thing with it. Very cool imho.