---Reply to mail from Russell Jones about <cf_returnfuseaction> and controlling
processes
> So, I finally get it, <cf_returnfuseaction> is used for implementing
> workflow into CF apps. What a great tag! Thanks Steve!
>
> I have figured out how to use the tag, but I've got one small concern. I can
> best explain it by talking about fusebox.org's website.
>
You are correct that this is a problem. It's a bit of a hairy ne to
because there isn't really a solution. In practise however it doesn't
really (in my experience) cause too many problems. Here is what I do,
Just like a session variable times out, I time out the returnfuseaction
stack after an hour or more of inactivity - that removes the problem of
lingering returns a) consuming DB/Registry space b) causing phantom
returns later.
When setting a RFA (return fuse action) I `tag' it in the stack with a UUID (generated
at the time of sending the RFA), that way if returnfuseaction goes to set
an RFA and sees that the UUID is the same as another UUID in the stack it
knows the user has backtracked and pops off all the higher RFA's which are
now no good.
I set check for ATTRIBUTES.RFA and ATTRIBUTES.RFAKey (the UUID) in
app_globals.cfm, and set an rfa if they are defined AND NOT EMPTY, then I
promptly empty them (<CFSET ATTRIBUTES.RFA = "">) to remove any chance of
a double setting (no really possible now with each being keyed, but just
in case).
I dumped the idea of just throwing an exception when the returnfuseaction
stack is empty and you try and return. It now just goes to a default
sensible place (depends on site of course).
I have a `return' fuseaction in all my fuseboxes by default, I find it
easier to <CFLOCATION URL="#CGI.SCRIPT_NAME#?FuseAction=return"> than to
remember the attributes to returnfuseaction, plus it allows me to change
the returning mechanisim easily if need be.
---
James Sleeman
[EMAIL PROTECTED] (home)
[EMAIL PROTECTED] (work)
------------------------------------------------------------------------------
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/fusebox or send a
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.