Lukas,
I find on a regular basis that I want to be able to provide an alias
to value "links", e.g. the following displays a link to the current
structure, with the text "Login", executing the login command, and
this link is only displayed if the user is not logged in.
+value:structure|link=Login|command=PULogin|loggedout+
This can be implemented very simply in PRValueLink>>#formatStructure:
aStructure in: aContext
do let me know if you include this addition,
thanks in advance
Keith
=======
PRValueLink>>#formatStructure: aStructure in: aContext
"Format ==aStructure==. Link it, if the parameter ==link== is given;
embed it, if the paremeter ==embed== is given."
| string |
((self selectAndReject: aStructure) isNil
or: [ (aContext structure: aStructure) isValid not
or: [ (aStructure propertyAt: #hideFromMenus ifAbsent: [ false ]) ] ])
ifTrue: [ ^ nil ].
"BEGIN MODIFICATION TO PROVIDE ALIAS TO LINK"
string := self parameterAt: 'link'.
string ifNil: [
string := self
formatDescribed: aStructure
default: #title
].
"END MODIFICATION TO PROVIDE ALIAS TO LINK"
^ ((self hasParameter: 'link') or: [ self hasParameter: 'embed' ])
ifTrue: [
PRInternalLink new
embedded: (self hasParameter: 'embed');
parameters: self parameters;
target: aStructure;
addAll: (string isNil
ifTrue: [ Array new ]
ifFalse: [ Array with: (PRText content: string) ]);
yourself ]
ifFalse: [ string isNil ifFalse: [ PRText content: string ] ]
I just loaded "Pier version current" into a squeak 3.10 image (with
magma). I noticed later that http://www.piercms.com/dev/code says to
use SqueakMap. Is the version I got OK, or should I back out and try
again?
Thanks.
Ross
I downloaded and unzipped Pier-1.2.app.zip onto an amd64 Linux system.
./pier.sh initially failed, but when I installed ia32 compatibility libs
it launched.
However, it is unable to resolve names, or at least squeaksource.com;
I've stepped through; the primitive resolving names seems to return
nothing. I am able to resolve the name on the host system.
I'm suspicious this is a 64 bit compatibity issue.
Any ideas?
Thanks.
Ross Boylan
At 16:34 16/09/2009, Joel Turnbull wrote:
>Is there a Pier Component that allows non-admin type users to change
>their own passwords?
Joel,
The attached "st" file implements "Edit User": a simple Pier Command
for editing the attributes of the current user, including its password.
Its mainly a refactoring of code found in PUSecurityWidget. I,
however, don't know why it has been preferred to implement "Edit
User" as part of PUSecurityWidget, rather than as a Command. So,
maybe some cauation would be necessary when using this command.
Hoping this helps,
Reza
Doing a seaside app using magritte, within pier, within the glass appliance
I created a subclass of MATextInputComponent to do some specific validation,
call it FooInputComponent,
I changed the old description method to send componentClass: like this
descriptionFoo
^MAStringDescription new
componentClass: FooInputComponent;
selectorAccessor: #foo;
label: 'Foo';
priority: 40;
yourself
However, the change doesn't seem to apply, the container still gets a
MATextInputComponent. I placed a halt in descriptionFoo and it never
triggers.
Is this a caching issue that I can reset?
Thanks
Joel
This seems to be a problem with Pier does not work with the example
browser of Seaside.
---------- Forwarded message ----------
From: Andreas Wacknitz <A.Wacknitz(a)gmx.de>
Date: 2009/9/15
Subject: [Pharo-project] Problem with pharo1.0-10440-BETAweb09.09.1
To: pharo-project(a)lists.gforge.inria.fr
I have started to look at Seaside in Pharo. There seems to be a
problem with the examples.
When I enter http://localhost:8080/seaside/examples/examplebrowser (by
clicking on examples and then examplebrowser)
I will get a Seaside Walkback:
Seaside Walkback
MessageNotUnderstood: receiver of "root" is nil
Debug Proceed Full Stack
Possible Causes
the receiver of the message is nil
a class extension hasn't been loaded correctly
you sent the wrong message
Stack Trace
thisContextUndefinedObject(Object)>>doesNotUnderstand:
#rootselfnilaMessagerootexceptionMessageNotUnderstood: receiver of
"root" is nilresumeValuenil
thisContextPRContext class>>kernel:selfPRContextaKernelnil
thisContextPRPierFrame>>initialRequest:selfa PRPierFrameaRequesta
WARequest GET /seaside/examples/examplebrowser
thisContext[] in WARenderLoopMain>>start:selfa
WARenderLoopMainaRequesta WARequest GET
/seaside/examples/examplebrowserroota WAExampleBrowsereacha
PRPierFrame
thisContextPRPierFrame(WAPresenter)>>withNextPresentersDo:selfa
PRPierFrameaBlock[closure] in WARenderLoopMain>>start:
Regards,
Andreas
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
Damien Cassou
http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry
Hi
Recently #kind was made mutable on MADescription. I think this is
great and set it on the containers of my model classes to my model
classes. This allows me to do the following:
aDescription kind new
which is really cool. The problem is that now I always get kind
validation errors. The cause is the following code in MADescription:
validateKind: anObject
"Validate ==anObject== to be of the right kind."
(anObject isKindOf: self kind)
ifFalse: [ MAKindError description: self signal: self kindErrorMessage ]
anObject would be an MACheckedMemento. self kind would previously
always answer Object so this test would always pass. Now however self
kind answers my model class and always fails.
Any ideas?
Cheers
Philippe
After the first announcement at ESUG 2009, we are proud to present the
release of the free online book
Dynamic Web Development with Seaside
http://book.seaside.st/
The book is written in the Pier content management system using the
Pier book publishing engine. This allows us to collaboratively edit
the contents and generate different output formats automatically. We
will soon offer a PDF and a printed version, but first we have to iron
out some of the remaining issues.
Over the past years the book got reviewed and revised several times.
We want to thank all the persons who helped us: Torsten Bergmann,
Damien Cassou, Tom Krisch, Philippe Marshall, Ruben Schempp, Roger
Whitney, Julian Fitzell, and Michael Davies carefully reviewed the
book and provided valuable feedback. Martin J. Laubach for his Sudoku
code. Ramon Leon for letting us using his blog ideas and SandStoneDB,
Chris Muller for Magma. Jeff Dorst provided generous financial support
for supporting student text reading. Markus Gaelli for brainstorming
on the book title. Samuel Morello for designing the cover.
Michael Davies is currently helping us getting things ready for print.
And you can help us too by writing down your findings at the bottom of
each page. Also, if you want to contribute a missing chapter or
support the translation of the book please get in touch with us.
We wish to thank the European Smalltalk User Group (ESUG) and
inceptive.be for sponsoring this book. We are looking for additional
sponsors. If you are interested, please contact us. If you are a
publisher and interested in publishing this material, please let us
know.
Please distribute this message widely.
Cheers,
Stef & Lukas & David & Rick
About the authors:
- Stéphane Ducasse is the author of a couple of books on Smalltalk.
- Lukas Renggli is core developer of Seaside and Smalltalk consultant.
- David C. Shaffer is Seaside consultant and CS teacher.
- Rick Zaccone is CS teacher.
Hi, I would like to explore Pier from my own development image
(instead of the one-click image). I used Seaside's Configuration UI
to add a PRPierConfiguration and created an instance of PRKernel with:
PRKernel named: 'Learning Pier'
But this PRKernel, even the environment page, _looks_ quite different
than the one in the one-click image. I wish to proceed with a smart,
correct choice of PRKernel instance. Are the differences between
these Kernels only cosmetic or does each provide more-suitability for
a particular purpose than the others?
Thanks,
Chris
> On Wed, Sep 9, 2009 at 2:51 PM, Gerhard Obermann <obi068(a)gmail.com> wrote:
> PRDistribution new kernel
To get Pier into my standard Squeak 3.9 image, I originally loaded
Pier from SqueakMap. However, I can see that this does not obtain
quite a few of the packages available from the Pier squeaksource
repository that are present in the one-click image.
Is there a proper procedure for to loading-up a standard Squeak image
with all of the Pier goodies?
To get PRDistribution I loaded "Pier-Setup" from Lukas' repository.
Doing this exposed PRLoader>>#load loading a bunch of other stuff.
However, I couldn't bring that in because
ScriptLoader loadLatestPackage: 'Gofer' from: ...
is not part of my ScriptLoader. The ScriptLoader version in the
one-click image is from the Pharo repository. Which begs two
important questions for those of us proceeding forward with standard
Squeak images (instead of Pharo images).
1) What is the best way to get a full, proper Pier installed in 3.9 or 3.10?
and.. 2) What are the intentions of the Pier developers, going
forward, for support of the standard Squeak images?
Despite my concern about the Pharo image and its splintering effects
on our community, as the maintainer of Magma, I can say I am
"committed" to maintaining Magma's compatibility with Pharo, even
though I intend to proceed forward with standard Squeak at this time.
I realize you cannot make any guarantee's any more than I can, but may
I at least know what the *intentions* are (as I just have)? Lukas, it
looks like you are moving forward with Pharo. But is standard Squeak
compatibility a factor for you at all in any of your decisions
regarding Pier going forward?
Thanks..