[Catalyst] Re: Reseting a chained action
melo at simplicidade.org
Wed Aug 8 22:56:17 GMT 2007
On Aug 8, 2007, at 1:38 PM, A. Pagaltzis wrote:
> * Pedro Melo <melo at simplicidade.org> [2007-08-07 11:20]:
>> In the course of a project I'm working on, I found it useful to
>> "reset" chained actions. It would work like this:
>> . assume that you have a chain like /company/ID/copywrongs
>> . and in certain situations you want a alternative
>> environment for the chain, like this:
>> The /approve would modify the stash to include some alternative
>> schema or environment that the rest of the chain could use to
>> tweak their behavior. The thing is, the /approve action would
>> like to tell catalyst "ei, please disregard me and start
> That doesn’t look very HTTPish. The URI should be purely the
> address of a resource, whereas you seem to be putting an
> operation in there. See also REST.
they are diferent resources, so diferent URLs. It makes total sense
Imagine that you have some DB, that only a few people can commit, but
several can suggest changes.
Showing a entry in that table or showing the proposed change is a
matter of merging the delta with the actual data.
the real data sits at /dbdata/ID, a delta to be approved can sit at /
What I wanted was to reuse the last part of the chain. I think mst
proposal will work for us, with a common base controller for the
shared chain part.
> If you do in fact modify state on the server based on information
> in the URI, I hope that you at least require POST for these
We always redirect after POST.
> Otherwise things like Google Web Accelerator or
> Firefox’s prefetching will badly break your app, proxy caches may
> cause heisenbugs, and all sorts of other mayhem.
I understand the dangers of not redirecting after POST :)
XMPP ID: melo at simplicidade.org
More information about the Catalyst