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'd like to collect some snippets of documentation about Pier. Would
be the right place to do so? I was not able to figure out a login to
that wiki :-(
When trying to add a new item inside an MAToManyRelationDescription
container, I get the error found in the attached file. It says that
the MAOneToManyComponent>>value is an undefined object.
I reproduced this error in the MADescriptionEditor example as well as
in my code.
I'm using the latest Magritte-all package.
> I was a bit busy those days so I could sent this email before. I told
> you I got problems with the 'Magritted' PRWidgets. Actually what I
> like to understand is why mightn't I write those lines (a bit
> because I should write a custom #initialize and #children:
> WAComponent/PRWidget>>renderContentOn: html
> html render: (PRTreeWidget new)
this is Seaside code that will not work. You have to initialize your
child component in #initialize and store it into an i-var and return
it from #children.
Your code will re-instantiate the PRTreeWidget every time you display
the page and it will be impossible for Seaside to keep the state and
to perform the callbacks. Have a look in the Seaside mailing-list
Hope this helps,
I would like to create a Widget for PIER which will generate a HTML page
by using the tree structure of PIER with a visitor. Currently I have
created a test by creating a visitor who overloads PRViewRenderer (PIER
-SEASIDE). Unfortunately I encounter a problem of context when I launch
my app. Can you help me to understand how to create a temporary context?
Sample of my code:
kernel := PRKernel instances anyOne.
myVisitor := SPGHTMLVisitor new.
myVisitor renderer: WAStaticHtmlCanvas new.
page := kernel root.
use: (PRContext kernel: kernel)
during: [myVisitor start: page.].
Thanks in advance
I have created some custom subclasses of MADescription. When editing
these descriptions through a web-based web description editor via
aDescription asComponent, there are just too many attributes in the
form for my users to handle. How would I go about showing only a few
attributes like, say Label, Options, and Required as opposed to
showing everything including StringReader StringWriter, etc?
When trying to save a new Multiple-Option, Single-Option, 1:1, or 1:m
description through MADescriptionEditor, I receive the error:
"Component Class: Invalid input given"
I'm using Magritte-Model-lr.262 , Magritte-Seaside-lr.226, and
in a MADateDescription I set a component class derived from
The renderEditorOn: methode split the Date in day, month and year and store
this parts as instance variables. Then the methode create the input fields
for DD MM YYYY and a hiddenInput:
html hiddenInput callback: [
self value: (Date fromString:
month asString, '.',
day asString, '.',
Its works fine, but now I like to add a error handling to deal with invalid
dates like "30.02.2007".
In other cases I use the MADescription>>addCondition, but in this case I
have no access to the three parts of Date (DD MM YYYY) ...
... error in reasoning?
View this message in context: http://www.nabble.com/-MA--Error-handling-in-MADateDescription-componentC...
Sent from the SmallWiki mailing list archive at Nabble.com.