Can anyone give me any pointers about how security works in pier? In
particular, if I make my own components, how do I apply security to
them?
I've been browsing around and tracing the code and see that the security
descriptors end up as decorations which apply to objectified commands.
However, I don't know what I need to do to set the security of an object
or fiddle with the security policy.
Also, if someone comes in from the outside with a link like
http://my.host.com/seaside/pier/personalpreferences, is there a way I
can ensure that they will be prompted for login and then taken to a
preferences page for them?
Thanks.
Ross
Hi,
Is it just me, or are link parameters in links that appear within a
table broken?
e.g.
| +embeddedcomponent|param=value+ | second column
==
I am not up to date with pier, so I dont know if this is still an issue
Keith
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.