I did a simple wizard page a couple months ago, and it was very simple.
I am using sessions so here is what I did.
1. Create a new module for the wizard. You will want to do this because
Plum's Module exit routine handles destroying the persistent variables
for you once you leave the wizard (module). Read up on the module exit
routine in the Plum Framework section of the help file for more info.
2. Use the IDE to create an add form set for each step of your wizard
(Step1AddForm.cfm, Step1AddAction.cfm, etc).
3. Place the fields for each form on the add forms. In the action page,
set your variables:
<cfscript>
Session.variable1 = #Form.Fieldname1#;
Session.variable2 = #Form.Fieldname2#;
</cfscript>
<!--- Route to step 2 of the form --->
<cflocation url="Step2AddForm.cfm">
repeat as necessary.
The last action page will do the insert or update as normal. When you
are done, redirect the user out of the module, and the framework will
take care of destroying the variables.
You can of course use more advanced structures than my example.
You look like you are ready to spend more time coding in a traditional
cf manner now. I don't know that you ever totally divorce yourself from
the ide, because it is so easy to go in a create a form that does
something neat in 5 minutes, without affecting your project.
I don't know what you are using for a database, but if you use MS SQL,
don't forget to check out the SP and component generators.
Jeff
Dan O'Keefe wrote:
Kind of an architectural question - Plum app is generated and tweaked to
work with all existing table in a database. Forms have been enhanced and
modified to a reasonable extent.
Now, I want to create some app specific functionality, say a wizard that
will step through several screens adding data to a few different tables
as I go along.
Question - time to divorce from the plum IDE? I am not seeing an easy
way to do this thought the IDE. I am also thinking I will need to call
my next display page from the action page to step through the wizard.
Any thoughts in this area?
Dan