[squeak-dev] extending monticello to support swiki development?

David T. Lewis lewis at mail.msen.com
Sat Apr 12 14:39:09 UTC 2008


On Thu, Apr 10, 2008 at 10:47:02AM -0600, Hal Eden wrote:
> hi,
> 
> with je77 having graduated and moving on to a career path, future  
> directions for swiki development are not clear.

<snip>

> as far as i know, the primary mode for development was within a small  
> number of people, so the need for distributed development was minimal.  
> it seems to me that the ways of sharing code was either
> 	1) an entire distribution (which usually took the form of an image
> 		(although there was generally a "source release" as well)
> 		and a tar of the files (actions, templates, addresses, icons,
> 		starting pages, etc) needed)
> 	2) a set of instructions such as "change this file", "create this  
> action",
> 		 etc--basically an individually-tracked mechanism.
> i have found this to be less than ideal, even in local development  
> within a small group.
> 
> although we could continue this mode for distribution of releases, it  
> doesn't seem to be a good match for the development process. i find  
> that a major part of the development takes place in the set of swiki  
> addresses, templates, and actions, so i would think that an approach  
> similar to what monticello uses for packages, classes, methods, etc  
> would be appropriate. the elements are after all just other forms of  
> code elements that might be merged, diffed, replaced, etc.
> 
> do any of you monticello "experts" know how difficult something like  
> this might be, whether it is in line with or antithetical to the  
> monticello/squeak source approach, or have any other insights into the  
> problem?

Hal,

The best analogy I can think of is the Squeak virtual machine itself.
Development is handled by four principle maintainers with occasional
contributions from a few others. The VM consists of Smalltalk code
(in the "VMMaker" package) along with external support code (C code,
makefiles, icons, etc).

The Smalltalk part of the VM is managed in Montecello (but is not yet
on SqueakSource :-/ ). All of the rest in managed in a Subversion
repository at www.squeakvm.org. You could adopt a similar scheme for
Swiki, in which you maintain the Smalltalk package on SqueakSource, and
the external support files in a traditional version control repository
such as Subversion or CVS.

The Squeak VM development relies on people working separately in different
parts of the world, supporting a wide range of computer platforms, and
keeping track of the version compatibility between the Smalltalk part
(VMMaker) and the support files (in Subversion). It's not perfect, but
if it works for the VM, it should be possible to make it work for Swiki.

One suggestion, personal opinion and others might not agree: If you can
find a way to keep the Swiki support files in Smalltalk such that they
can also be maintained in Montecello, I think the overall environment
would be simpler in terms of version coordination and distribution. I
don't know if that is feasible in the case of Swiki, but it's worth
considering.

You might also want to browse the archive of the vm-dev mailing list
http://lists.squeakfoundation.org/pipermail/vm-dev/ to get a feel for
what goes on there.

Dave




More information about the Squeak-dev mailing list