First (alpha!) release of Pier running with Magma Persistency.
Image available from ftp.seasidehosting.st
User: preloaded Password: squeak
Image Use Instructions
In pier configuration click on 'Magma Control Panel', which will inform
you that the repository does not exist. If you have placed this image on
seasidehosting then you will have to manually create the repository
directory. Given the list of options as to what repository to create,
click the 'create' button (and wait). The existing pier kernel should
appear in the list with a 'persist' button next to it, click 'persist'.
Then try it and see!
Detailed Log of Image Creation Steps (alternative title: "monticello
This image was prepared as follows:
Beginning with Squeak3.8-6555full
Initial start asks for updates: select "do not ask again" - this is
important should you wish to deploy. Headless servers (e.g.
seasidehosting) cannot handle user interaction and will stop at this point.
From "world menu > open.... > Monticello Browser"
Browser opens with (Monticello....)
Click the "+Repository Button", select "HTTP" as the repository type,
as the repository info (if you have a login on Squeaksource then you can
enter your initials
as the 'user' above.)
Add the following repository for Monticello.
Add the following repository for Magma.
and the following two repositories for Magritte and Pier
(to edit this information:
click the menu button in the right hand pane of the Monticello Browser)
Loading Latest Monticello.
More recent versions of Monticello provide better feedback as to which
packages are currently loaded.
Select the http://www.squeaksource.com/Monticello repository, click
"open", select the latest package (Monticello-avi.279) from the main
"Monticello" branch, and click "load".
Select the Monticello package on the left hand pane, and the
squeaksource/Monticello repository in the right hand pane. Click 'open'.
In the repository browser, click on the latest version
(Monticello-avi.279.mcz) and click 'Load'.
Select "world menu > open... SqueakMap"... and a dialog will ask if you
wish to upgrade SqueakMap. Which you do. Notice that SMBase, SMLoader
packages appeaer in the Monticello browser, since the upgrade is
performed by loading Monticello packages.
In SqueakMap, select the ever so convenient "Seaside Installer" which
should load in the whole of seaside with its dependencies in one go. To
do this select the left had pane menu button, "install". (Part way
through the install you will be prompted to enter an admin username
(seaside) and password (admin))
(if SqueakMap doesnt work it is being knobbled by a more recent
package-cache, remove it and try again)
Select the seaside repositoryClick the "open" and the repository browser
Select Seaside2.6b1 which is the current latest. In the right hand pane
are the releases. Releases may be made by anyone and they may be small
branches off from the main stream. Periodically an effort will be made
to ensure that all changes are merged. Click the history button in order
to browse the history of this package to get some idea of what is going
on. Look at the ancestors of a package to see if one version is being
sequentially built on the next, or whether any branching is occurring.
Seaside is fairly mature and changes infrequent, therefore it is likely
to be safe to grab the latest version.
To start Seaside doit:
WAKom startOn: 8080.
( Or use the "beach flags" SeasideMorph
available from: http://minnow.cc.gatech.edu/squeak/5862 )
To test if everything is running, check the following url in your normal
you should be prompted for you username and password (as given earlier).
Back to the Monticello Browser. Deselect the selected package by
clicking on it once. This should re-reveal all of the registered
(It is worth saving this. In the right hand side pane menu button there
is a menu item: "Save Repositories", which writes a simple configuration
script to the working directory.)
Select the http://www.squeaksource.com/MagmaTester repository, and click
Select MagmaServerLoader, and click "load". (it takes a while!)
loaded Ma client server-cmm.123
loaded Ma exception handling-cmm.22
loaded Ma time objects-cmm.37
Load Magma Seaside Integration Package
Select "Magma Seaside" (lhs) and the latest package and click "load",
loaded Magma Seaside-kph.18
Load Magma Seaside Sushi Store Demo fixes
Before using Magma may need to execute the following.
MagmaSession allInstances cleanUp.
Latest Pier-Magma code
Monticello Browser - "flush cached versions".
Release Preloaded Image as Sqk3.8f-smp.image
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html
I am a newbie to programming and especially Smalltalk/Seaside/Pier.
I've been fuddling around for a while trying to learn more in a
Smalltalk environment that is not exactly set up for *complete*
newbies like me. So with that in mind I thought I would start
collecting all the information I can into one place to help others
who may (foolishly! ;) ) follow me. This might be a bigger
undertaking than I realise just yet - but I'm game to give it a shot.
My sense is that there is a quiet group of people out there wishing
this was already available.
Here is the situation - I am not exactly sure the best way to start.
I have books (I've started with SQEAK - A Quick Trip To Objectland)
and more that I've downloaded from the web. But when it comes to Pier
and Seaside (I know this is a Pier list so we can focus on that
specifically) there is not a lot of help for people in my shoes - and
I've heard this cry elsewhere. For example, even though I'm committed
to learning Smalltalk, is Pier even ready for a non-programmer yet?
So I have set up a website @ http://www.BeatTheDrums.org where I
will start to place all the information I gather or create. I am
currently reading a lot of Lucas Renggli's writings and trying to
grok them :). With his kind permission I will be taking what I learn
from that and re-formating it (in a format that works for novices - I
want to be clear that I am showing no disrespect for his work) and
adding in everything else I discover from this list and elsewhere on
the web. The site itself is in extreme ALPHA right now as I try to
get my head around everything and find a starting point and a way to
structure my "journey".
So, on the advice of Lucas, I am announcing my intentions to the list
(sticking my head out!) and asking for your suggestions and advice.
Lucas did mention that most of you are programmers and not inclined
to document your experiences - so whatever pearls you throw my way
Perhaps I should start with a direct question - If you were a
complete novice how would you approach getting started on Pier, given
that you have no access to any professional Smalltalk education
(schools, classes or user groups).
I am reading Lukas book Magritte – Meta-Described Web Application
I have tried to type in the code and run it.
But it doesn't run. :(
DateDescription selector: #birthday label: 'Birthday')
between: (Date year: 1900) and: Date today;
This is in the latest squeak-dev image.
It complains that DateDescription doesn't exist and offers
MADateDescription instead. Okay.
But then #year: isn't a method in Date either. :(
It would be nice if Pier/Magritte/Seaside had current documentation.
Would it be possible, reasonable to put up an OO.org doc or some such of
the original book so that it could be kept up to date by the community?
I know this is asking a lot. But I also hate to ask Lukas to do all of
the work by himself.
I don't know exactly what would be the best process for community
stewardship over material like this. But it would be nice if we had an
excellent place to start. And I think this book is. It would be nice if
it was current with the current favored images.
If this isn't doable for whatever reason, I certainly respect Lukas'
wishes concerning his material and authorship. Next best thing until a
different book or such material came out would be an excellent errata
page for this book.
Lets make choosing Squeak/Seaside/Pier as easy as possible.
Any way, some thoughts for consideration.
I am exploring my options for a couple of websites. I am a big fan of
Squeak, Seaside and Pier. But I have been exploring and learning about
There is a tremendous amount of energy and work behind Plone and
products available for it. Plone 3.0 is about to be released. They have
put a lot of work into UI usability and into a lot of areas which are
nice to not necessarily implement yourself.
That said, I don't really have a grasp as to how far Pier is from
Plone-like abilities for both the end user and the developer.
One thing I am looking at is the Plone4Artist product which implements a
very sweet package for multimedia and Plone.
I do very much like Squeak over Python.
In general I like Seaside/Pier over Zope/Plone.
I know that Lukas has used Zope/Plone, but I don't know how current his
How far is Pier from offering a competitive experience to end users and
developers with regard to something like Plone?
Is there any interest in the community of competing in that sphere?
Or do most here happily use Seaside/Pier as a toolbox and the bigger
application type CMS isn't on the radar?
And initially I speak as to a basic Plone 3.0 out-of-the-box
capabilities and user/developer experience. Not necessarily the plethora
of add-on products. Those can come later if the out-of-the-box
experience is compelling enough.
Naively it seems that content types are easier to develop in Pier as
opposed to Plone.
I just don't know how much I could build on Pier towards a Plone-like
experience in the time it takes to do some things in Plone. And I really
don't know how much of the machinery that makes Plone what it is, is in
Pier. Or the effort to get there.
Comments regarding my questions above or most anything relevant to Pier
v. Plone 3.0 are greatly appreciated.
yeh thats a good point, it would be great if we could use the thesis as a foundation to create an up to date versioned Magritte/Pier documentation > Date: Fri, 24 Aug 2007 07:47:12 -0500> From: j.squeak(a)cyberhaus.us> To: smallwiki(a)iam.unibe.ch> Subject: Re: Magritte book> > i p wrote:> > > > "Magritte – Meta-Described Web Application> > Development" is not a book. but its Lukas's Masters degree thesis work. > > The thesis documents the the design and overall architecture of > > magritte, the benefits of magritte and what problems it solves, this is > > not going to be updated (i dont think ) as it is not inteded to be a > > book for magritte, but this document will give you a good understanding > > of the overall architecture and design decisions made in designing > > magritte .> > The wiki would be a good place to have up to date information and > > current documentation, up to date class names etc> [snip original message]> > Yes, you are technically correct. It is not a book technically. I > thought it was his thesis, but missed inside where it said so.> > Nevertheless. It can provide an excellent foundation for such a book. It > is being provided as documentation for Magritte. It would still be nice > if this documentation was current. If Lukas wishes for this be to be > left alone and remain a thesis and a historic artifact it can be so and > with great respect to him for the work he put into his thesis and the > value it currently provides. But over time it will diminish as > documentation. In any living system if the documentation isn't also > changing, then the documentation will at some point become a historic > artifact of the program at a point in time.> > So the question still remains on whether this thesis can form the > foundation of a documentation book or booklet which can and will remain > current documentation of Magritte, Pier, etc? Or do we from the > knowledge gained from all of the materials start from scratch to create > such a work?> > His thesis will always be his thesis. That is a historical and > documented fact. But if it is made available as the beginning of some > versioned Magritte/Pier documentation then that document can be kept > current with the state of Squeak, Seaside, Magritte, Pier.> By versioned I mean it can have a version number which states the > versions of Squeak, Seaside, Magritte, Pier that are used in its pages.> > Stale documentation always frustrates and hinders beginners and people > exploring new technology. We need to enable the adoption of these tools. > Not provide another excuse for passing them by and instead using > "industry standard" and accepted tools which in many ways are less > productive than the Squeak toolset.> > Any way just some thoughts.> > Jimmie> > > > _______________________________________________> SmallWiki, Magritte, Pier and Related Tools ...> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Discover the new Windows Vista
"Magritte – Meta-Described Web ApplicationDevelopment" is not a book. but its Lukas's Masters degree thesis work. The thesis documents the the design and overall architecture of magritte, the benefits of magritte and what problems it solves, this is not going to be updated (i dont think ) as it is not inteded to be a book for magritte, but this document will give you a good understanding of the overall architecture and design decisions made in designing magritte .
The wiki would be a good place to have up to date information and current documentation, up to date class names etc
Date: Fri, 24 Aug 2007 10:41:58 +0200From: matthias.berth(a)googlemail.comTo: smallwiki(a)iam.unibe.chSubject: Re: Magritte bookI think that an "errata" or "comments" page is an excellent idea. How about a wiki page on http://smallwiki.unibe.ch/smallwiki/pier/ and a hint on http://smallwiki.unibe.ch/smallwiki/pier/pierfaq/ ? You can use anonymous/xopu to login.Cheers Matthias
On 8/24/07, Jimmie Houchin <j.squeak(a)cyberhaus.us> wrote:
I am reading Lukas book Magritte – Meta-Described Web ApplicationDevelopment.I have tried to type in the code and run it.But it doesn't run. :(DateDescription selector: #birthday label: 'Birthday') between: (Date year: 1900) and: Date today; yourself.This is in the latest squeak-dev image.It complains that DateDescription doesn't exist and offersMADateDescription instead. Okay. But then #year: isn't a method in Date either. :(It would be nice if Pier/Magritte/Seaside had current documentation.Would it be possible, reasonable to put up an OO.org doc or some such ofthe original book so that it could be kept up to date by the community?I know this is asking a lot. But I also hate to ask Lukas to do all ofthe work by himself.I don't know exactly what would be the best process for community stewardship over material like this. But it would be nice if we had anexcellent place to start. And I think this book is. It would be nice ifit was current with the current favored images.If this isn't doable for whatever reason, I certainly respect Lukas' wishes concerning his material and authorship. Next best thing until adifferent book or such material came out would be an excellent erratapage for this book.Lets make choosing Squeak/Seaside/Pier as easy as possible. Any way, some thoughts for consideration.Thanks.Jimmie_______________________________________________SmallWiki, Magritte, Pier and Related Tools ...https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Discover the new Windows Vista
I want to add a condition to a Magritte-described object that checks the
whole object for consistency (and not just a single attribute). Is that
Example: Think about creating a workgroup from some of the users of your
site. The workgroup has a manager. The condition is that the manager must be
one of the members of the workgroup.
I've tried to do this. I have two descriptions on the workgroup class side:
one for the manager (saying that it can be any of the site's users) and one
for the users (saying that this is a subset of all users). I can add a
method #description to modify the standard description that is assembled
from the description* methods on the class side. So I tried:
addCondition: [:workgroup | workgroup users includes: workgroup
labelled: 'Manager must be a member of the workgroup';
Alas, trying to edit an existing workgroup, I learned that the argument of
the condition block is a MACheckedMemento, so I can't ask it for users.
What would be the best way to have this check everytime the work group is
edited? Or should I just write the #manager: method such that the condition
will be satisfied automatically?
PS: I want to say a big thank you, especially to Lukas, for the great
answers on this list. I have learned something every time, and I was
impressed when my questions on how to do something were answered with a
PPS: No, this email is not a request for a patch :-)
I wrote this because I want my data model classes to have one set of
#description's to model their data structure and another set of
#settings to model the view/filter settings that are available for each
I dont know what the best way to achieve this with magritte would be,
but I figured being able to have multiple sets of descriptions for
different unrelated purposes could be very useful.
As an implementation detail, it might be useful if the
MADescriptionBuilder 'Cache' was a class instance var rather than a
p.s. Lukas, I want to thank you for all of the great help you have
provided, especially in the past few days.
Time: 18 August 2007, 2:53:47 am
- Variant of MADescriptionBuilder that is not tied to #description as a
usage: (MCCustomDescriptionBuilder prefix: #settings) for: anObject
Notes: Includes a performance enhancement to double speed of description
building. (selectors of Object are ignored)
[ 1000 timesRepeat: [MADescriptionBuilder default build: (ProductData) ]
] timeToRun. 21622
[ 1000 timesRepeat: [(MACustomDescriptionBuilder prefix: #description)
build: (ProductData) ] ] timeToRun. 11075
i found that when i click on 'Groups' or 'superuser' column sort on the users. i get the following error. if i click on groups i get "MessageNotUnderstood: OrderedCollection>><="
and if i click on 'superUsers' column i get messageNotUnderstood: True>> <=.
is it just a matter of adding <= to Boolean so it can respond to the binary message <= , for orderedcollection not sure
any ideas ?> From: renggli(a)iam.unibe.ch> Subject: Re: Error in PUUsersWidget> Date: Fri, 17 Aug 2007 18:36:37 +0200> To: smallwiki(a)iam.unibe.ch> > The problem is fixed in:> > Name: Pier-All-lr.230> Author: lr> Time: 17 August 2007, 6:35:49 pm> UUID: 49baa1a6-da58-4dfb-8c98-ec9d1c2a521e> Ancestors: Pier-All-lr.229> Dependencies: Pier-Model-lr.162, Pier-Tests-lr.73, Pier-Seaside-lr. > 194, Pier-Security-lr.87, Pier-Blog-lr.58> > - fixes: "when i added a system users component to a page, when i > click on any thing on the component which invokes a callback. i get > the following error 'Components not found while processing callbacks: > an Array(a PUUsersWidget)'. " (thanks to isaiah)> > > I see the same problem, I have two images, the older one where it> > works, and the newer one with the problem:> >> > Working:> > Pier-Security-lr.85> > Pier-Seaside-lr.185> > Pier-Model-lr.158> >> > Not working:> > Pier-Security-lr.86> > Pier-Seaside-lr.192> > Pier-Model-lr.161> >> > I've had a look at the changes in Pier-Security, but I have no idea> > what could cause this problem.> >> > Cheers> >> > Matthias> >> >> > On 8/17/07, isaiah <cappadonza(a)hotmail.com> wrote:> >>> >> hey i got the latest version of pier, when i added a system users > >> component> >> to a page, when i click on any thing on the component which invokes a> >> callback. i get the following error> >> "WAComponentsNotFoundError: Components not found while processing > >> callbacks:> >> an Array(a PUUsersWidget)" .> >> any ideas how to resolve this> >> --> >> View this message in context: http://www.nabble.com/Error-in- > >> PUUsersWidget-tf4286525.html#a12202036> >> Sent from the SmallWiki mailing list archive at Nabble.com.> >>> >>> >> _______________________________________________> >> SmallWiki, Magritte, Pier and Related Tools ...> >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki> >>> >> > _______________________________________________> > SmallWiki, Magritte, Pier and Related Tools ...> > https://www.iam.unibe.ch/mailman/listinfo/smallwiki> > -- > Lukas Renggli> http://www.lukas-renggli.ch>
Explore the seven wonders of the world