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
(sorry wrong thread)
Error: There is no free space in this set!
I got this error when attempting to add a page
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 have been working with Pier a bit lately, and I noticed a couple of things
I was curious about.
First, in my image, if you go to a page and then go to lunch, come back and
hour later and click a link you get dropped back to the front page because
your session has expired. But I thought Pier used the URL to be able
bookmark, surf the side via URL etc. In fact, I thought it even worked this
way before I put the security package in.
Has this been fixed? It seems like if you click on a link that has a URL,
but an old session Pier could just make a new session and apply that to the
page the user is trying to go to. If the user is not allowed to see that
resource with the blank session then kick them back to the front like now,
but if the page is not restricted they should see it.
Second, is there any plan to expand on the RESTfulness of Pier? I mean, I'm
not a die-hard REST person or anything, but there are times it would be nice
to use URL's. I think the above suggested handling would probably be
One thing that makes me want this is the difficulty of pointing to another
page in your Pier site from a custom component. I know you have the #goto:
message on anchor, but (1) I need it anywhere a URL could be used, since I
am using "html tag:" to do some tags not in seaside (an HTML image map to be
specific). And (2) the #goto: message expects a structure that can be tough
to get a hold of sometimes. The easiest thing for me would be if I could
simply point my image map at the URL as a string, since that part is public
and I don't care if the user is logged in or not.
And lastly, I have had some users complain about the ugly URL's. I know you
can say that they shouldn't look at the URL, etc. etc., but if we can make
this better why not?
What I was thinking was, how hard would it be to change Pier so that the URL
part stays, but at least the session (and maybe the command and view fields
as well) could optionally be cookies. And this could even be something
configured in the /seaside/config/pier page.
Thanks in advance. You may have ways to do all these things by now, but I
thought I would check.
Valentines Day -- Shop for gifts that spell L-O-V-E at MSN Shopping
I am planning to set up a simple wiki for personal use (noting my tasks,
thoughts, etc.) and maybe more. I decided to
use SmallWiki, as it seems to work really fine in practice
(www.squeak.org is very nice). At first I tried Pier, but it
was a bit complicated for me, as I am not familiar with Seaside and I
really don't want to develop web applications. So
I downloaded the SmallWiki prepared image from
http://homepage.mac.com/jborden23/FileSharing3.html. Loading from
SqueakMap to 3.9 did not really work out (getting a dependency message
and after ignoring it getting another error on a
non-existing method in Monticello?). The prepared image is a Squeak 3.7
one and works just fine but I did run into
troubles when trying to configure SmallWiki. So here are some questions,
maybe you can help me:
1.) I don't really understand the difference between roles and users. If
I enter the wiki, I have automatically anonymous
role? Why can't I edit any page then?
2.) I tried to protect a page, that should not be viewable by other
users then admin. I executed the script I found in the
(server root at: 'Secret')
with: (BasicRole name: 'anonymous')) " this role has no permissions "
but I could still access the page when I normally entered it without any login. Am I
doing something wrong?
3.) How can I remove actions (RSS for example) from the upper right corner?
I think that's pretty much it. I would appreciate any help. Thanks in advance,
Related to my previous post, here is the 'out of the box' experience
of a newbie. The image was downloaded from the Web site and untouched.
The 'How To' seems to be out of sync with the software.
> Configuring for Magma.
Why does it have to be configured for Magma? What is the default
> In application 'pier' configuration.
This is the Pier > configure link on the Pier home page.
>1. Add WAMagmaConfiguration to configurations.
I am assuming that this is in the 'Configuration Ancestors' area?
>2. Switch sessionClass to WAMagmaSharedSession
There is now a General > sessionClass with an override link.
I am assuming that we have to press Save at this point...
>3. Return to the config app and click the new 'magma'.
There is no direct link, so I pressed Done and clicked again on the
configure from the Home page.
In the General section there is a override link next to Location > Magma
>4. Create RepositoryRoot selecting PRMagmaRepository (create)
No such thing... The choices for Magma > Locations are
- MagmaRemoteLocation, and
Not sure what to do, I selected MagmaLocalLocation and left 'magma' in
the path field. Then pressed Saved.
>5. Return to config app and click the 'pier' link.
There is no Pier link. Only a Pier section header.
>6. Switch the kernel to the persistency scheme of your choice.
For the Kernel the choices are:
- "None", or
- "a Pier kernel named: 'Pier'"
Do you need Magma? I've not tried installing the Magma-Pier integration, yet (quite frankly, Keith's instructions are a bit vague and needs a bit more detail for a newbie like me), but the experience of just installing Pier is fairly straightforward (unless something has changed since my last install). Just install Pier from SqueakMap, and it'll take care of all the dependencies.
Even when installing via the Monticello repository according to the instructions worked painlessly.
Try the instructions here for the installation without Magma:
If you're determined to get Magma running with Pier, you might want to try getting help on Magma's mailing list, since it seems that most of your problems come from Magma.
Magma List: magma(a)lists.squeakfoundation.org
Magma List Archive: http://lists.squeakfoundation.org/mailman/listinfo/magma
I feel similarly in regards to SqueakMap. It seems to lack automatic dependency resolution, and puts all the dependency resolution in the hands of the package developer, of which many pass that burden on to the user. The most well-behaved SqueakMap package so far for me, is Pier. I can take a fresh 3.8 image and install Pier, and it'll install all the other packages that it depends on, plus setting things up so it can start running once the installation is done.
I always keep a fresh image that I can restart on. Many times installing packages from SqueakMap and fiddling around Squeak can break my image or change file, and I don't know how to fix it, so I just start fresh again.
----- Original Message ----
From: Thierry Thelliez <thierry.thelliez.tech(a)gmail.com>
To: "Magritte, Pier and Related Tools ..." <smallwiki(a)iam.unibe.ch>
Sent: Wednesday, January 24, 2007 4:15:01 PM
Subject: Re: Pier 'How to'
Quite a lot of problems with the Squeak environment...
Because of the previous issues, I decided to try updating Magma and
I must say that I am underwhelmed with the SqueakMap system. Few days
ago I was using YumEx for Fedora. I found the dependency management
Anyhow, I first tried to update Magma. localhost:9090/seaside/pier
refused to work... I tried updating other packages. Still no luck.
Then I tried opening a fresh 3.9 image and running the Pier
installation script. Again many not very clear messages about loading
older versions of some MA * packages. The choices are yes and no.
That's not clear what the implications are. I picked yes for all of
them. I then got an error message about a missing MATestCase class...
My perception as a newbie is that there is quite some version
management issues here. The whole process stopped because of a syntax
error (probably due to a different class schema version).
I am not sure what to do next...
SmallWiki, Magritte, Pier and Related Tools ...
Any questions? Get answers on any topic at www.Answers.yahoo.com. Try it now.
I am building a mostly static website that can take advantage of some
automation, so I have written it using Pier. I just took a look at the MC
repo and noticed I am a ways behind in revisions (i'm at 79) so maybe there
is a way to do this now. Or maybe there was before I just didn't understand
What I am doing is making a band website. One of the things we need on the
page are CD's. What I would like to do is; in Pier do a normal Component
add, but I would select PRCDPage instead of the normal one. Then I can edit
the CD from the Edit command. Simple enough.
But it occurs to me that this is a more general problem. I have an object
which may be image only, or it may actually live in the database. I want to
do a "PRModelPage" add, have the edit let me select the model and then after
the model is known the Edit command will edit the object directly.
I really think something like this would be helpful for the site overall. I
think this is the type of thing you get easily from Rails. So before I go
off and implement it, I thought I was ask, what do you guys think? Does
this exist already? Is there some better way it should be implemented them
how I am suggesting (i.e. the Migretta meta-information will have to be kind
of "two phase")?
Thanks for any insight you can provide,
Turn searches into helpful donations. Make your search count.
Beginning with Pier/Magma/Seaside, I have some issues following the
While starting the server works, few lines down the 'How-To' we can see:
"To Change Admin Password
' pier' control panel link is visible in config application
has buttons for (Manage Users) and (Manage Groups)"
where is this panel link refered to?
Lukas, I loaded up the latest Magritte code the other day, and it blew up
because MANamedBuilder is now using your #value: symbol hack from your
Mondrian package. I like the symbol trick, but I assume you don't mean for
Magritte to depend on Mondrian.