Creating SqueakSource

23 December, 2006


SqueakSource is a web based repository for versioning and storing Squeak code. The subject of creating a squeakSource image came up on the beginners list.

Franz Josef Konrad posted a very nice “how to create your own SqueakSource image” response. By running your own squeakSource you can share code with other developers or use it just to keep track of your own stuff. Here are the steps to create a squeakSource image:

I’ve built my own Squeak Source server some weeks ago and of course I could make this image available… BUT it’s easy to build your own and a good exercise to improve your skills. I hope my small Howto will work and help…

  1. download the squeak-dev image from damien cassou’s web site: (this version was created with
  2. run this image and install DynamicBindings via SqueakMap
  3. install FFI (needed for graphViz later). I’ve used the Script Manager at “Prepared Packages” to load it
  4. Open a Monticello browser and add as a repository (Squeak Source Repository)
  5. Open that repository and install the following packages in exact the shown order step by step. At some packages you will be asked for user/password data KomServices-gk.2.mcz KomHttpServer-pmm.7.mcz XML-Parser-mir.9.mcz VB-Regex-avi.2.mcz Seaside2-lr.94.mcz Mewa-pmm.16.mcz GraphViz-pmm.43.mcz GraphBuilder-pmm.4.mcz TinyWiki-lr.10.mcz (*take care, it’s not the newest package*) SqueakSource-pmm.1012.mcz
  6. configure your own Squeak Source Server with changing the class methods in SSRepository
    1. change SSRepository>>defaultRepository when you don’t want Lukas as your super user ;-). The following code only creates one super user. You can create everything else later TTW. SSRepository>>defaultRepository “member” | yourInitials | yourInitials := (SSMember initials: ‘yourInitials’) fullname: ‘Your full name’; superuser: true; password: ‘yourPassword’; yourself. ^ SSRepository new title: ‘SqueakSource for your Name’; addMember: yourInitials
    2. change the method name of the class method initialize to a name you like for doing your own initialization. You need the following statements enabled: initializeTMP “– initialize default repository –” Current := self defaultRepository. RootUrl := self defaultRootUrl. Storage := self defaultStorage. “– save the current repository –” self storage saveRepository: self current. “– load the last repository –” “Current := self storage loadRepository.” “– clear seaside caches –” WARegistry clearAllHandlers. Smalltalk garbageCollect
  7. Open a workspace and “doit” SSRepository initializeTMP. SSKom startOn: 8888.
  8. save the image That’s it! You should be able to browse http://localhost:8888 (or http://your-ip:8888). Login with the user/pw you created in your method.
  9. Individual configurations (can all be done when you are logged in as super user)
    1. change your e-maill address when you are logged in in “Edit Account”
    2. change smtp server and admin mail in “Edit Settings”
    3. if you haven’t a well configured DNS environment running change the entry for “Root URL” (also in “Edit Settings) to http://your-ip-or-valid-dns-enabled-name:8888 (otherwise you will not download your source).
  10. I’m sure I’ve forgot something but perhaps you will find it out :-). E.g. how to run the whole stuff on a different port… If this is too complicated for you (hm, at least you’ve asked in the beginners group. But running your own Squeak Source server isn’t a beginners topic IMHO), I can sent you an image.

I also want to thank Damien Cassou here for doing his great work with the developer images. It saved me as a newbie (newbie to Squeak but I did Smalltalk 10 years ago) a lot of time. Thank you.

Hope this helps,

Franz Josef Konrad

2 Responses to “Creating SqueakSource”

  1. Damien Cassou Says:

    Thank you for thanking me 🙂 Is there any reason for pointing to the non-latest image version ? If possible, I advise you to link to instead of a fixed version.


  2. Damien,

    I edited the article to suggest your link instead.

    Ron Teitelbaum

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: