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
when I call: or embed a WATask, the main area of the Pier page shows
nothing. It also remains empty when I go to other pages. I have also
tried to embed the sushi store example, like so:
- In the Pier menu use Add... component ...name: store, then choose
"Store" from combobox
- embed store in another page using +store+
Same problem. Both my code and the embedding of store work without
problems in my older Pier image:
The problem occurs in a newer image (derived from the
What can I do?
in the latest commit of Pier I removed the PRHider. This class was
sort of obsolete and added a lot of complexity to different parts of
the code. It is easier to use a security plugin to hide particular
Before loading the latest version make sure that you don't have any
instances of PRHider in your model.
PRHider allInstancesDo: [ :ea | ea remove ]
I assume that nobody will have any of these instances in their model,
unless you added them manually from an inspector.
I'm glad when I can help you, though I'm afraid it's just a little
help ;-) From start to first problem it was just a few seconds:
- start sq3.9-7067dev07.09.1.image using the current squeak 3.10 VM
- open Package Universe
- select Squeak web packages version 0.1
- press the "select package" button
--> this gives a Warning: could not find necessary package: Pier
I guess it's due to the splitting of Pier into several packages, so
there is no global package "Pier" in the universe? The comment in the
Universe browser says:
Abstract package that only depends on other packages. This packages
are used to build a squeak distribution for developers.
Category: Web Development
Squeak dev packages
Maintained by: Damien Cassou <damien.cassou(a)gmail.com>
Downloads from: (no url)
So, what can we do?
I'll go try the same thing on the clean 3.9 image immediately.
PS: Yes, I updated the package list from the network this time ;-)
On 9/27/07, Lukas Renggli <renggli(a)iam.unibe.ch> wrote:
> I just updated the Package Universe Definitions for Seaside, Magritte
> and Pier (and several of its plugins). I did not have the time to
> test it yet (dependencies), so I am looking for people that are
> willing to try and report problems ;-)
On 9/28/07, Damien Cassou <damien.cassou(a)gmail.com> wrote:
> Hi Matthias,
> I'm not responsible for Seaside-related packages on the universe
> anymore. Please ask Lukas Renggli about that.
> Thank you
THANK YOU, Damien, for all the work you put into the squeak dev image
and the other projects. The squeak dev image has really helped me in
getting started and in getting a stable configuration to build on. Not
to mention the nice things like eCompletion etc that made my life so
much easier. Some of these packages were unknown to me before I saw
the squeak dev image.
Making things easy for beginners is not trivial, and you do a great job,
we've just established that the basic components of the squeak web
section in the squeak-dev package universe (how can I find out which
universe I'm in at the moment?) should work. However there is a
problem with packge 'Pier' not being found. I'd propose to create a
package called Pier that includes (depends on):
That Pier package could then be referenced by the squeak web packages.
Description for the Pier package:
Pier is a powerful and extensible content management and Wiki system.
I posted a version of the list composition component which uses
scriptaculous to the http://mc.lukas.renggli.ch/pieraddons repository.
The code works but I am not conviced it is entirely the correct/best way
to do it.
p.s. Also, I am unable to access the magritteaddons repository, but
pieraddons is fine. Does anyone else have the same problem?
We are considering moving our relatively small (250 pages) but steadily
growing ComSwiki to Pier at MSC (formerly Toolkit Software). There are
several reasons for picking Pier, but it is not yet totally decided. One
obvious reason is that we have been looking at integrating Pier and
Gjallar, so learning more about Pier is a good thing. We also like the
fact that we can "hack it" etc since we know Squeak and so on.
I have a few questions:
- What persistency are people using? Saving the image now and then is not
enough, we are considering using Magma (since we use it a lot in Gjallar)
and are interested in any reports on that.
- Compared to ComSwiki, what is *missing*? I know Pier has lots of
*extras* but I am more concerned about stuff *not* there. The basics we
really want are of course recent changes, access to older versions
(diffing not required), search, references to this page, attachment
handling (versions not needed). Might have missed something in that list
I want to mix raw HTML into Pier wiki pages, mostly for laying out
some parts inside <div>. For example I want to put a heading and some
text inside a box, like so:
Pier uses line breaks to start new paragraphs, so this gets rendered as:
I cannot put the <div> at the beginning of the line because the Pier
parser would not detect the !Hello as a heading then (! has to be at
the start of line).
I guess that there will be no perfect solution for mixing HTML and
wiki markup, but I'm willing to give it a try.
Here are potential solutions I could see:
- do a HTML escape (put <html> and </html> at the start of two lines)
- a bit better: do html escape and use Piers textmatcher to resolve
*internal links* and +embeddings+
- change the paragraph line break convention to what's used e.g. in
TeX: paragraphs are separated by two or more newlines (roughly
I'd love to hear your opinions, and maybe tips about possible implementation.