[ANN] Update streams for SqueakMap packages

Stephane Ducasse ducasse at iam.unibe.ch
Thu May 15 05:34:26 UTC 2003


That's look really cool.

Stef
On Thursday, May 15, 2003, at 12:54 AM, Andreas Raab wrote:

> Hi Guys,
>
> After some discussion with Göran, Avi, and Daniel about how to manage
> incremental development a little better, I've set up a small SM package
> which allows you to provide and receive update streams for any package
> hosted at SqueakMap (see
> http://map2.squeakfoundation.org/sm/package/6aa919cb-3b7c-4c4f-93de- 
> ca90c612
> c6fe).
>
> The essential idea here is to bring a well-known technology to  
> SqueakMap
> (rather than inventing a whole new set of tools - this may be done in  
> the
> context of Monticello). The update streams are intended for packages  
> which
> rapidly change and where providing a 'full' package any time something
> changes is too bothersome or simply not possible.
>
> It's pretty simple to use your own update stream, so here's the  
> complete
> how-to:
>
> Step 1: Define your update stream location.
> You need a directory which is accessible via http for download and via  
> ftp
> for upload. While not strictly necessary, I recommend having a separate
> directory for every package since it will simplify your work in the
> long-term.
>
> Step 2: Annotate your SqueakMap package
> I've been talking to Göran about including a few things in SM1.1 but  
> as we
> are still at 1.0 you will need to use a specific kind of annotation in  
> your
> package description (note: package DESCRIPTION not version comment).  
> The
> annotation needs to look like:
> 	[loadUpdatesAt: http://my.place.here/somedir/mypackage]
> 	[storeUpdatesAt: ftp://myName@my.place.here/upload-loc/mypackage]
>
> For an example, check out the package description for this package or
> Balloon3D.
>
> Step 3: Update SM from the net
> 	Since SM caches some things you will probably have to update SM so
> that it sees the annotations above. (don't forget this - I've got  
> bitten by
> this a couple of times!)
>
> Step 4: Load the UpdateStreams package
> 	If you haven't yet then now is the time ;-)
>
> Step 5: Open the 'Update Loader' (from world menu/open)
> 	Here you should see all the packages for which update streams have
> defined. The package you annotated in step 2 should show up or else  
> you've
> got something wrong (did you forget step 3? ;-)
>
> Step 6: Choose 'create update stream' from the context menu
> 	This will be the first real test of the upload url.
> 	NOTE: You may get an error saying that the server responded 'no such
> file' which is perfectly reasonable. Just say 'OK' to proceed.
>
> Step 7: Post a test update
> 	Once the update stream has been initialized you will be asked if you
> want to post a test update. Say yes. The update is an empty update and  
> will
> ensure that all works just the way it should.
> 	You will be walked through the entire publishing process with a few
> additional warnings here and there.
> 	Once complete the update loader should indicate '1 new' update for
> you.
>
> Step 8: Load updates
> 	Select your package and choose 'load updates'. This will test the
> download process. If everything works out you should get the info that  
> '1
> new update was loaded'.
>
> Step 9: Posting 'real' updates
> 	Make up a change set and, from the file list, choose 'broadcast as
> update'. You will be prompted with the packages which have update  
> streams
> (as well as all the server groups for the Squeak image updates).  
> Select the
> package you want to send this update to and you will be taken through  
> the
> update process.
>
> Step 10: Receiving 'real' updates
> 	Choose 'update list' from the Update loader to see if there are any
> new updates for the packages you have. Then choose 'load updates' for  
> the
> package you want to update and you're all there.
>
> That's really all there is to it. I've tested it with 3.4, 3.5, and  
> 3.6 and
> it seems to work pretty well so far.
>
> If there are any problems, let me know - I'll post an update ;-)
>
> Cheers,
>   - Andreas
>
>
>



More information about the Squeak-dev mailing list