[squeak-dev] suggestions for ftp.squeak.org directory structure reorganization

Ken G. Brown kbrown at mac.com
Fri Apr 11 14:51:57 UTC 2008


It has always seemed to me that the ftp site directory organization has been a bit messy and is hard to figure out what's where.
It has grown in an ad-hoc way without enough design forethought. With some discussion, we should be able to come up with a much improved design for moving into the future.

eg. look at the whole ftp directory, you see 'current_stable', 'current_development'(are these the same files as in the numbered directories?), 'VM_Sources' (but only for Win here), 'versions' (but its empty), 'updates' (but who knows what that is?), etc. etc. A new person would go looking in 'updates' no doubt, for updates of course, and there's no readme telling how to use it. '3.9 beta' has a final in there, but final isn't really final since '3.9' has a 3.9 final and also a 3.91 final, and isn't '3.9.1' a descendent of '3.9'? The 'various_images' directory looks to have up-to-date stuff but you get no idea idea how it fits in from looking at it. It has FunSqueak which has a couple versions of 3.10 full but is nowhere to be found from the 3.10 branch. And there's more issues, but I won't bore you further.

I feel someone new (or anyone really) should be able to come in at the top level and drill down to what they are looking for easily, each level can have a readme directory if needed that shows first in the list, for a place to put docs explaining what the directory is for if it isn't self explanatory, or other miscellaneous useful info.
Looking at all the directories at each level can give progressively detailed view. Think starting with the universe and progressively stripping away irrelevancies as you drill down.

I'm not saying I have it exactly right in my first try here, but I am just throwing it out for discussion. There should be consistency throughout as well, so the structure is easy to figure out and it is obvious where new items should go and how they should be named. Symlinks should be used where needed and named obviously so that the items are only stored once. Symlinks could be used for the 'QuickStart' all-in-one downloads.

I started more or less from the svn source directory structure so this would be comparable.

If the directory structure is redesigned with a little more generality and thought, it will be easy to navigate, and be obvious where to look for stuff, and where and how to insert new items.

And the naming conventions for versioning need to have more consistency and thought given as well.

Comments?

Ken G. Brown

Example suggested directory structure, incomplete:

Squeak
       <ReadMe
             ReadMeA.txt
             ReadMeB.txt
       Licence
             ReadMe.txt
             Licence.txt
       QuickStart
            <Readme
             fullPackagesLatest             
                  Win
                  Mac
                  Linux/Unix 

       Sources
           <ReadMe
                ReadMeA.txt
           forSqueak 1.0-1.x
                 SqueakV1.sources
               forSqueak 2.0-2.x
                 SqueakV2.sources
           forSqueak 3.0-3.8
                 SqueakV3.sources
           forSqueak 3.9-3.10
                     SqueakV39.sources

       Images
           <ReadMe
           versions
              3.9
                 basic
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 dev
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 web
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 full/fun
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
              3.10
                 basic
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 dev
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 web
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
                 full/fun
                    alpha
                    beta
                    gamma
                    releaseCandidate1
                    release1
              3.11
                  versions
                       etc.
              OLPC
                   versions
                       etc.
       Spoon (not sure exactly where this should go in the overall structure)
             <ReadMe
              versions

              etc.

       VM's
           <ReadMe

           Platforms
               <ReadMe
                Mac OS
                      OS 8 - 9
                            versions
                      OS X
                            versions
                   HydraVM
                Windows
                      Vista
                           versions
                      XP
                           versions
                               HydraVM
	Dos
                      Subtype
                           versions

                OLPC
                     Subtype
                          versions
	QNX
                      Subtype
                           versions
s              
               RiscOS
                      RiscType
                           versions

               unix/Linux
                     debian
               versions
            Ubuntu
               versions
            RedHat
                          versions
         SmallSqueaksForPDAs/
	    NOKIA
                         Subtype
                              versions

                    WIN-CE
                        Subtype
                             versions

	etc.		
       
          OtherSqueakStuff
              <ReadMe
               alice
               Exupery
               Experiments
etc.



More information about the Squeak-dev mailing list