[squeak-dev] [newbie] Configuring Metacello with github and Seaside

Max Leske maxleske at gmail.com
Mon Apr 15 07:24:30 UTC 2013


On 15.04.2013, at 02:32, Albert Vonpupp <vonpupp at gmail.com> wrote:

> Hello,
> 
> This is my first post and I'm not sure if Metacello should go on the beginners list or if it's fine here, or if it's not even considered as part of Squeak development.
> 
> I'm a total newbie to Squeak but so far I'm finding it very interesting. I have to develop an academic project with a classmate and so far I've used Squeak alone by my own without sharing anything so this new requirements raised some questions.
> 
> I managed to use Montecello fine but It seems to do a version control like on jar packages (doing a Java analogy). I thought of using Montecello over Dropbox with my friend. Is this solution reliable / recommended?

To prevent confusion: Metacello and Monticello are two different things. Monticello is a version control / package management tool; Metacello manages *dependencies* between Monticello packages / versions.

The jar analogy is not half bad; basically, the source code is stored in "chunk format" (the same format used by the .sources and .changes files) alongside some meta information and is then zipped.

Using Monticello to share packages over Dropbox is indeed a possible solution. All you'd have to do is to put your "packages-cache" directory (in the image directory) under Dropbox control and commit all versions to your local repository (or use an alternative local directory of course. Actually, rather use a different directory, because the package-cache gets very big, since all versions loaded from the net will be cached there).
The usual way of collaboration however, is to create a repository on ss3.gemstone.com or smalltalkhub.com (not sure which one the Squeakers prefer, I usually work with Pharo) and commit to that repository.

> 
> For me it seems more intuitive using git versioning over code files. To accomplish that I've read something about Metacello, but the Squeak installation seems *very* confusing to me. I managed to create a filetree repository but I don't know how to link it to my git repo: https://github.com/poo2013pos/FLOdactic. I've read both manuals of Metacello, the one on Github and the one on Google Code but no luck so far. Can anyone please help me with this?

Filetree simply stores the source code in a different format than Monticello (for various reasons) but is compatible with Monticello. Since there's no in-image Git support yet, you'll have to do the following (I use this method with Filetree, FSGit and LibGit, all on Github):
1. clone your repo from Github (let's call that directory "repo")
2. load Filetree into your image:
	Installer ss3
    project: 'FileTree';
    install: 'ConfigurationOfFileTree'.
((Smalltalk at: #ConfigurationOfFileTree) project version: #'stable') load.

3. open Monticello
4. create a new Filetree repository and choose as target the directory "repo"
5. commit a version of a package to your new repository (or copy one there via the "copy" button)
6. do a "git status" on your "repo" and you'll see the Filetree files
7. "git commit -am 'first Filetree commit'" and "git push"
8. done!

> 
> My other question is regarding Seaside. We have to implement a basic user authentication system and ACL for items. Is there something that we can reuse on Seaside classes or similar? I guess this is a quite common problem and perhaps is there something already available.

Yes, there is indeed but I don't have the means to look it up right now. I'm sure someone else can help you out there.

Cheers,
Max


> 
> Thanks a lot!
> 
> -- 
> 
> Albert.
> 
> http://www.albertdelafuente.com
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130415/44cb53fa/attachment.htm


More information about the Squeak-dev mailing list