First (alpha!) release of Pier running with Magma Persistency.
Image available from ftp.seasidehosting.st
User: preloaded Password: squeak
enjoy
Keith
------
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
tutorial")
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,
and enter
MCHttpRepository
location: 'http://www.squeaksource.com/Seaside'
user: ''
password: ''
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.
MCHttpRepository
location: 'http://www.squeaksource.com/Monticello'
user: ''
password: ''
Add the following repository for Magma.
MCHttpRepository
location: 'http://www.squeaksource.com/MagmaTester'
user: ''
password: ''
and the following two repositories for Magritte and Pier
MCHttpRepository
location: 'http://mc.lukas-renggli.ch/magritte'
user: ''
password: ''
MCHttpRepository
location: 'http://mc.lukas-renggli.ch/pier'
user: ''
password: ''
also:
MCHttpRepository
location: 'http://www.squeaksource.com/OmniBrowser'
user: ''
password: ''
(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'.
----
Loading Seaside
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
will open.
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.
Loaded Seaside2.6b1-mb.79
Loaded Scriptaculous-lr.137
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
web browser.
http://localhost:8080/seaside/config
you should be prompted for you username and password (as given earlier).
----
Loading Magma
Back to the Monticello Browser. Deselect the selected package by
clicking on it once. This should re-reveal all of the registered
repositories.
(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
"open".
Select MagmaServerLoader, and click "load". (it takes a while!)
loaded MagmaServerLoader-cmm.21
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
loaded Seaside-Examples-Store-Magma.kph-11
----
Before using Magma may need to execute the following.
MagmaSession initialize.
MagmaRepositoryController initialize.
useful snippets
MagmaSession allInstances cleanUp.
MagmaSession disconnectAndCloseAllConnectedSessions.
----
Load Magritte
loaded Magritte-All-lr.171
Load Pier
loaded Pier-All-lr.109
Load OmniBrowser
loaded OmniBrowser-avi.258
loaded Pier-OmniBrowser-lr.19
----
Latest Pier-Magma code
loaded Pier-Model-kph.80
loaded Pier-Seaside-kph.80
loaded Pier-Magma-kph.1
----
Pre-upload actions:
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
any ideas?
Keith
___________________________________________________________
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html
---------- Forwarded message ----------
From: Thomas Koschate <koschate(a)gmail.com>
Date: Dec 20, 2006 2:34 PM
Subject: [Seaside] Magritte for VisualWorks
To: seaside(a)lists.squeakfoundation.org
I've released a reasonably functional port of Magritte into the Cincom
public StORE. Load MagritteForVisualWorks - it will prompt you to
load any further required parcels. There's some chaff left from stuff
that isn't supported in VisualWorks, but nothing that will impede
functionality.
--
============================================================
Thomas Koschate
_______________________________________________
Seaside mailing list
Seaside(a)lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Hi all!
Pier is using Seaside File Libraries (PRPierLibrary) to store CSS and
images for the look'n'feel. Using a small extension that I just
committed it is now very easy to change the look'n'feel by just changing
the file library to another one.
Name: Pier-Seaside-cw.107
Author: cw
Time: 26 December 2006, 12:56:04 pm
After loading this patch a variable will be available in the seaside
config that allows you to change the default File Library to any other
you need to provide before (any subclass of WAFileLibrary is available).
This way the look'n'feel may be changed on-the-fly and you may store
your own File Library with your CSS and image files in a repository of
your choice.
Good night!
Chris
--
--------------------------------
Christoph Wysseier
Länggassstr. 74
3012 Bern
T +41 31 972 92 08
M +41 78 616 35 35
chris(a)wysseier.net
--------------------------------
>> May I suggest that you remove #asString from UndefinedObject and
>> replace all #asString
>> sends by #displayString in Magritte. Once you have an inventory of
>> all these replacements,
>> you will just need to apply them to the Squeak package and do
>> another port. I found about
>> 15 occurences of #asString sends in Magritte. Of course this would
>> have to be
>> negotiated with Lukas. That's why I copied him.
>
> I seem to be haunted by #asString in every Smalltalk dialect I come
> across. In my real life (a VisualAge/GemStone/ObjectStudio shop),
> we've adopted #displayString as well. While I'm willing to make
> that change, I'd certainly prefer it if we could prevail upon Lukas
> to do it, if only to avoid coordination issues.
The problem here is that this will turn the Magritte-Core package
dependent on the Seaside package, because it already defines
#displayString. Otherwise I don't see a problem to adopt this in the
Squeak Code.
>> 2) Among others, the Seaside-VW bundle includes bundle Squeak.
>> This bundle is intended
>> to group all extensions that are needed by VisualWorks to look
>> like Squeak. It is used by
>> Seaside but can be used by any project that is ported from Squeak.
>> I could see that your
>> Magritte port contains a lot of extensions that would be better
>> placed in the Squeak bundle.
>> May I propose the following. I can create a version of the Squeak
>> and Seaside bundles in
>> the public store with as many as poissible of the Squeak
>> extensions needed by Magritte.
>> When it is ready, I let you know, then you will be able to remove
>> the extensions from your
>> Magritte port.
>
> I'm quite happy to go this route. I was getting a little dismayed
> at the number of Squeak-isms that I had to implement for the port,
> and any work done getting them out of the Magritte package will
> help other porting efforts.
If you have any idea to reduce these I am happy to accept patches.
> A question for Lukas: I came across the use of
> SystemChangeNotifier in Magritte. I ended up either removing or no-
> oping operations related to it. Is there something I'm losing as a
> result? I couldn't find any uses outside of Magritte that didn't
> appear to be related to the development environment itself.
There are two uses of SystemChangeNotifier, they should be probably
moved to the MACompatiblity class.
1. MAAutoSelectorAccessorTest: this one is only needed to prevent
from marking the test-package dirty as this tests adds/removes i-vars/
accessors.
2. MADescriptionBuilder: this one makes sure that the description
cache is flushed whenever a description method is changed/added/removed.
The first one isn't critical, as this is only a tweak to make the
test run clean. The second one is more critical, without it you need
to flush the description cache manually by executing
MADescriptionBuilder default flush
There were some concerns in the beginning that rebuilding those
descriptions over and over again is very costly, therefor I added the
caching. I don't know if this is still relevant. Probably it hurts
more than it helps, but we have to check.
> Lukas, I've uncovered a small bug in MAReportComponent. While the
> #renderContentOn: method calls #labelId, that method is not
> implemented in the class hierarchy. I'm not sure if the
> implementation from MAElementComponent should be moved up, or if
> something else was intended for the report hierarchy. For
> reference, this is in package Magritte-Seaside-pmm.206.
I think this change was introduced by the latest change of Philippe,
maybe he can have a look?
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
Lukas, I've uncovered a small bug in MAReportComponent. While the
#renderContentOn: method calls #labelId, that method is not
implemented in the class hierarchy. I'm not sure if the
implementation from MAElementComponent should be moved up, or if
something else was intended for the report hierarchy. For reference,
this is in package Magritte-Seaside-pmm.206.
--
============================================================
Thomas Koschate
Hi,
I'm playing with custom views in Magritte. I have a model
and overwrote descriptionContainer with my own instance of
MAComponentRenderer.
What I'm trying to achieve is to display a text input the
following:
<label for="anyid">labeltext</label>
<input type="text" id="anyid"..../>
As a quick test I changed the renderLabel: to
renderLabel: aDescription
aDescription hasLabel
ifTrue: [ html
label attributeAt: 'for' put: aDescription hash;
with: [ html render: aDescription label ] ]
I need an id attribute in the <input> tag which has the
same content as the for attribute in the <label> tag.
I don't have a glue how to insert an id attribute to the
renderControl:. Is there a way to add an attribute if I only
have a component. I doubt the component description is the
right place to put.
If I only want to change the behaviour of the text input field,
is it best to overwrite the visitStringDescription?
thanks in advance,
Norbert
Hi
There is now an audioscrobbler[1] plugin for Pier at [2]. Margitte is
used for XML data binding. It makes use of traits so you will need a
Squeak 3.9. And the YAXO XML parser.
Currently supported are:
* Top Artists
* Top Albums
* Top Tracks
* Top Tags
* Recent Tracks
* Recent Banned Tracks
* Recent Loved Tracks
* Weekly Artist Chart
* Weekly Album Chart
* Weekly Track Chart
The Audioscrobbler system is a database that tracks listening habits
and calculates relationships and recommendations based on the music
people listen to.
A screenshot can be found at:
http://img79.imageshack.us/img79/7537/audioscrobblervp6.png
[1] http://www.audioscrobbler.net/
[2] http://mc.lukas-renggli.ch/audioscrobbler/
Cheers
Philippe