Hi all,
I made 2 small changes to the add-on Pier-Twitter so the "agoString" is
properly calculated for timezones with offsets other than 0 from UTC.
I've posted the mcz file here: http://drop.io/Pier_Twitter_jtr_10
Hopefully it's properly done as I've not used Monticello before other
than to load stuff into Squeak. Be sure to let me know if this should be
handled in a different manner in the future.
Take care,
John
Hi,
I asked some moons ago about the possibility to have parameterized
component links. I'm not that familiar with pier so my solution to this
might be a bit cheesy.
I wanted to have for multiple reason the ability to do
+mycomponent1|key=value+
to parameterize a component at rendering time. The problem is
that the string is parsed to a link and the link has the parameters.
So the question is how the component gets notice of these. The
last possible call to do I recognized to be
PRViewRenderer>>visitInternalLinkEmbed:
I added the following to it at the beginning
(anObject target isComponent) ifTrue: [
anObject parameters do: [:each|
(self context componentAt: anObject target) propertyAt: each
key put: each value.
]
].
So I just copy all the parameters over to the component. I found
that PRComponent has already properties so I'm using these. Is this
feasible to do? Is there a better way to do? Can this be added to
pier?
I use this for two scenarios:
- advising a component what type it should filter
- to select a child component from a Magritte container (not done, yet)
thanks,
Norbert
----- "Lukas Renggli" <renggli(a)gmail.com> wrote:
|
| > I ask, because I have had to make GemStone-specific changes to some
| of the packages, so it's not quite as easy as just loading the newer
| versions of the packages...
|
| What are these issues? If possible I would like to make this easier.
| Especially if Pier moves towards Seaside 2.9, I would like to package
| all platform dependent code separately.
The list isn't real big (i'd have to do a diff to get the little changes), but the main change that I'm thinking/worried about is actually a Magritte issue that overflows into Pier.
GemStone can't migrate an object that is on the stack (as a receiver), this means that the normal Magritte mechanism for creating variables doesn't work in GemStone...callers of readUsing: ... the solution for GemStone is to flip the logic:
if an 'object readUsing: aDescription' fails with an ErrCantBecomeSelfOnStack error, because object is a receiver on the stack, I retry doing 'aDescription accessor read: object'...object isn't on the stack so the migrate succeeds ... unfortunately there are a number of places where I have to insert GemStone-specific code ... in Magritte and Pier ... doing anything else would have been even more intrusive and probably broken a ton of code to boot...
Offhand there are probably only 20 methods affected but they are sprinkled around the system...
Dale
Hi,
I try to figure out how to organize my environments in
pier. In one area of the site I need only to exchange
one single component per navigation level. I'm looking
for a way to only specify the environment on the top
most node.
The structure value link is one thing that might solve
this problem. Is there a way to add something to the
structure that the value link resolved? Then I could
specify something like this
+value:structure/neighbours+
to resolve a neighbours entry local to the seen page.
This way I can have a more heavy weight environment on
the top and would just specify neighbours entries on
each page.
Or is there another way to accomplish the same?
thanks,
Norbert
----- "Lukas Renggli" <renggli(a)gmail.com> wrote:
| > I had anoter look and Pier-Documents in my gemstone is
| >
| > Pier-Documents-lr.12
| >
| > from
| >
| > http://source.lukas-renggli.ch/pieraddons
| >
| > That is strange. I upgrade to -lr.14 but it doesn't work.
| > Probably I would need a magritte update for parameterName: ?
| > And renderInstance? I saw in PRHaloRenderer but nowhere
| > else.
|
| Yes. This requires you to update to the very latest versions of
| Magritte-Core, Magritte-Seaside, Pier-Core and Pier-Seaside.
|
Lukas,
Are these updates part of Pier 1.1.1 (which is what I moved to with GLASS.230-dkh.209)? At the time I moved to 1.1.1 I used the 1.1.1 image that was distributed - at the time there were later versions of some of the packages, but I was reluctant to load packages that may be meant to be part of the release...
Is there a later version of Pier available (later than 1.1.1)?
I ask, because I have had to make GemStone-specific changes to some of the packages, so it's not quite as easy as just loading the newer versions of the packages...
Dale
Hi,
I'm still trying to change my application that is pure seaside
to pier. I need to keep the layout of the page that means I
need some control over the markup created. On the other hand
I want to be able to "document" components that means to be
able to put some text before and/or after the component.
So imagine a page that contains three components. I want to
do some specific markup for the layout of these components.
And at the same time I want to be able to press edit and write
some help text above component No. 2.
Regarding layout I would need to do HTML markup. Can a pier
page be enriched by HTML markup? Or is this possible by
tweaking the environment? As far as I understand it the
contents component in an environment determines the place
in the tree where the page is rendered into. Can you have
more than one in an environment?
thanks,
Norbert
Hi!
I need to do the typical "Contact Us" form where the user can put the name
the email and the question and then this email to the webmaster email
account.
I look there was a Pier-EmailSender which seems to do what I need. However
It has different walkbacks in Pier 1.1.1.
Keith Hodges: do you think it's rather to make it work that doing my own ?
It is very simple to reproduce. Just open a fresh Pier 1.1.1 and add that
widget.
Thanks!!
Mariano
I'm considering using Pier for a project, but am concerned that the
documentation seems quite sparse. I almost certainly will want to
extend it.
I know there's documentation on Seaside; it's the Pier part that
concerns me.
Am I missing something?
Ross
Sorry to bother again with this, but I really need it.
I need to internationalize Pier components. I am doing a site with Pier for
Spanish people. The final user has access to Pier components. For example,
it can leave comments or even post. But pier components have the html
outputs in English. For example when you are going to create a post you have
"author, publish, tags, ..." and I want "autor, publicacion, etiquetas...".
I think Pier give CMS a new and higher level to CMS. I think there is a
field in websites that can start being done with Pier, but they are no "CMS
traditional". For example, in my case, I am making a tourism website with
Pier. This sounds strange isn't it ? However It give me lots of features:
1) Do a lot with very little time and code
2) Dynamism: I can modify my website at any moment just using a browser.
3) The website can be built with business people. For example my friend
(Tourisim graduated). Hi doesn't now anything about computer neither wiki. I
explained few things: edit a page, add a page, links and now, he is building
the website with me. Ok, not all of it, but parts.
4) I am making the first tourism website I know where the final user can be
part of.
I think Pier+Seaside+Magritte has all the power and capabilities to spread
about this new field. But, for this, is very important to have int18.
Ok, after said that, I want to add int18 to my website but I don't want to
touch Pier code. So, the solution I thought is this:
override String #printOn: or Object #printString (which one could be
better?) to something like this:
(suppose I override printOn:)
printOn: aStream
"Print inside string quotes, doubling inbedded quotes."
self size < 100
ifTrue: [ self localize storeOn: aStream ]
ifFalse: [ self storeOn: aStream ]
Then I define localize like this:
localize
^ WACurrentSession value ifNotNilDo: [ :session | session language
localize: self ].
And then the Langauge # localize could be something like this:
localize: aString
^self localizationMap at: aString ifAbsent: [ aString ].
Obviously all of this methods will be with category *MiApp (an extension).
Could this be a good idea? Any other solution ?
Thanks in advance,
Mariano
hi all!
I think I am doing a mess here. I need to have:
1) a Login link if there is no user logged. Something like
*Login>.|command=Login*
2) a Logout if there is a logged user. Something like
*Logout>.|command=Logout*
3) Display something like what does loggedinuser (Logged in as +value:user+
(+widget+?))
4) a Register link if there is no user logged. This is to create a new user.
But I want all of them ;) Is there a way of put like ifs in a page ? just
to know if there is a user logged.
Can I do this just with Pier as it is now or I need to extend, modify or
create something ?
Thanks!
Mariano