I am a bit stuck in a pre-Blueprint world. So I was having a look at it.
I loaded up the current, release of pier, and it is very clean and ready
to be styled. I miss the tree view, has it gone because it doesnt fit in
Blueprint looks cool for some applications. I have one site which has a
fairly fixed layout, so blueprint appears to me to be an ideal solution
for that, but not, I fear for pier in general.
This appears to me to be a better fit, for general blogish/corporate sites.
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 have my ApplicationModel with some description.
Now i'm interested to display a small table based on TableDescription and TableMode.
I define the descriptionTable
columnsLabels: OrderedCollection ..........
rowLabels: OrderedCollection .............
Now my problem is:
i can't not know the rowLabels: OrderedCollection...... definition because it depend on the my istance of ApplicationModel.
A) How i can dinamic update the rowLabels after the descriptionTable builder ?
B) How i can dinamic update the data of the table ?
Now when the data of the table change when press the save buttons the system create error : Input is conflicting with current modification.
But the table is readonly.
Any pointers would be greatly appreciated!
> I need to dispaly more data near the button.
| This means you want a different string to be displayed?
> I have add, to the descriptionAddress definition the:
> reference: ( MAAddressModel descriptionCity, MAAddressModel
| If so, try this
| reference: (MAContainer with: (MAStringDescription new
| selectorAccessor: #printString; yourself))
| and implement your own printOn: method in your referenced object as
| you wish.
I've test this solution but d'ont work.
The printOn: method in my referenced object is never call.
I work with vw7.5 and seaside 2.8a1.
i see my last message "descriptionContainer addCondition" in the wiki are wrong formatted.
I resubmit the message.
I have define descriptionContainer with addCondition to mange the control of the data to dictionary.
The definition is:
^( super descriptionContainer)
addCondition:[ :memento | ( self controlToDataBase: memento)]
labelled:' Member not definable'; yourself
It work fine.
But when create the component with:
self call: ( ModelClass descriptionFieldOne, ModelClass descriptionFieldTwo, ModelClass descriptionFieldThree ) asComponenetOn: anModel) addValidateForm; yourself
the descriptionContainer addCondition d'ont work.
Thanks for any consideration,
my english language is very limited, i'm sorry.
I have a PersonModel with some descriptions.
One of it, descriptionAddress is based on MAToOneRelationDescription
with componentClass: MAExternalEditorComponent
and classes: ( Array with: MAAddressModel )
When rendering PersonModel asComponent for the descriptionAddress the system
display the relative low priotity description near the Remove and Edit buttons.
I need to dispaly more data near the button.
I have add, to the descriptionAddress definition the:
reference: ( MAAddressModel descriptionCity, MAAddressModel descriptionRegion)
but d'ont work well.
The same problem i found in MASingleOptionDescription where reference: d'ont work.
For MASingleOptionDescription i have solve with optionsAndLabels:
In the MAToManyRelationDescription the reference: define the data to display for any item.
I think same behaviour in MAToOneRelationDescription and MASingleOptionDescription but i wrong. ?!
My question now is:
how i can display some data near the Remove / Edit buttons relative to the MAAddressModel instance.
I discovered that where
creates a table with an ajaxId. If you try to use a scriptaculous
updater on this id it works in firefox, but not in ie6. So it looks like
we need an enclosing div
Hi All,i have define descriptionContainer with addCondition to manage the control for the add of maModel to Database.descriptionContainer
^(super descriptionContainer) addCondition: [:memento | (self controlToDataBase: memento)] labelled: 'Member not definable'; yourself
It work fine but when i create the component with:self call: ((ModelClass descriptionFieldOne, ModelClass descriptionFieldTwo, ModelClass descriptionFieldThree)asComponentOn: aModel) addValidatedForm; yourselfthe descriptionContainer d'ont work.I have add descriptionContainer to the array of description but d'ont work well.Thanks for any consideration,Dario
I had some thing strange going on...
I had lots of instances of PRDocument, at one point it reported 88000...
The key to clearing them out appeared to be, re-initializing,
Inspecting PRMacroExpander default, the #table dictionary of blocks,
had temps, with a #context defined, and that context had properties etc...
still it freed up 100Mb...
Hello All, i have one description based on MASingleOptionDescription:linkDescription
reference: MANazionalityModel description;
options: [MANazionalityModel DataBase asArray] asDynamicObject ;
Now my questions are:1) In the rendering of it, where i can select one option, i can manage add buttons to add new element to options ? 2) reference: MANazionalityModel description What's the sense of this declaration? When define MANazionalityModel descriptionWithOnlyOneDescription the system d'ont answer well ? Thanks,Dario