« Darkpan => CPAN Service (part two) | Main | RFC: CatalystX::Model::Adaptor »



Feed You can follow this conversation by subscribing to the comment feed for this post.


I usually try to use standard method calls instead of using forward and stash. Se also Is using the Catalyst 'forward' method a cargo cult?

John Napiorkowski

Editorial: I've gotten some offline comments to the effect that some people only use the 'detach' function and only for terminal things like detaching to an error page. Also, comments to the effect that they stay away from using the stash as a messaging system to the detached command.

Al Newkirk

[this is good] My initial reaction to the article was, "who cares where arbitrary data is stored", would you agree? Arbitrary being the key word here, tell me, what is the difference between storing this arbitrary data in a session file, database row/column or in a global "stash" object.

John Napiorkowski

I guess if the data is truly arbitrary I would love to see it properly managed, maybe using a metadata system like
MooseX-MetaDescription so that at least its properly tagged. My issue with the stash relates to the fact the data stored in it is usually not arbitrary, but rather extremely important, yet the stash, as a global namespace/messaging system tends to break down with complex websites. Its totally fine when the site is small or small to medium. I guess I'm more playing devils advocate here to see if we can think of other ways to solve these common problems.Regarding sessioning, I guess I tend to see the session more as a cache to avoid roundtripping the database too much. Personally I don't use the session as a tool in my programmer box, since overly relying on session/state is a sure fire way to cause yourself terrible performance issues. Mostly I use it for simple stuff like is a user logged in or not, and that's basically it.

Dwight Vietzke

[this is good] Very appropriate question. The problem I have found as a 'new user' to Catalyst is that there doesn't seem to be a better defined way to pass state type data around between the different action classes.

And I don't mean to say that there isn't, just that at first glance I didn't see anything which demonstrated a 'standard' or 'better' way. The problem I found is that the stash is convenient in that I could change things once and know that other parts of my program would have the info available too. It just 'seems' that Catalyst works best (to a new user anyway) when you don't pass state info directly into subroutines, but assume it will be there in the stash. Again, I'm just very new to Catalyst so these are just first impressions.

I love the way the 'action' to path stuff works, but getting info into 'action' subroutines was a bit of a mystery. I probably am missing some great ideas, so any examples would be great.

Dwight - happy new Catalyst developer

The comments to this entry are closed.