Forms: Dealing with Numerous Input Forms
Make a very plausible assumption: you want different input forms for different purposes. Taking the outreach-italy example, you may have a form for:
- inputting/editing individual hotels
- inputting/editing individual parks
- inputting/editing local tourist information
- inputting/editing itineraries
- inputting/editing general information pages
Each instance is specific, has its own data fields... a life of its own. Having a single, all-purpose input form will not only clutter up your input form, but you may also be confusing the person inputting the data. What you need is to:
- develop a form for each requirement.
- decide which form to use when
The first step is rather simple:
define a form for each requirement you have. May we simply suggest that you think about your naming conventions...
The second step requires new tools & thinking. Tha standard Manila interface states that you click on the new story link and voil‡ the page opens. But that's a simple subject/text page. It is not what you want... But you can get what you want.
- First you must think about the end... Odds are, you're going to have to edit your story a some point. & you want to use the correct form. This means the story has to be identified with a form. This is a perfect additional application for addedValues
- create a variable called something like storyInputType. Naturally this is a string, that applies to messages & stories, the value must be an identifier, preferably edited only by managing editors. You can assign predefined values; to avoid errors & confusion they must be those of the form's name and include a 'none' entry.
- The variable necessarily requires indexing. As the the applicability of a template, the answer is probably 'no'; only in really clear cases will your input and output types match
- Second, define a form for this purpose of creating new stories according to each requirement. Call it something like customizedNewStory. It will naturally apply to messages & its usage is as Manila ETP. In this form, you will define a standard interface directing the user to the appropriate form. It requires only that you respect the basic syntax of the addedValues form layout + using a manilaFixer macro. Include the following:
- [[storyInputType hidden("none")]]
- for each form you want to include: Go here to create a {addedValueMacros.newStoryFormLink("new flavourA", "nameOfFormForFlavourA")}
- Subject : [[subject textbox(1, 45)]]
- Text: [[body]]
- When you've finished, don't forget to click 'Done'
Note: you could always use a simliar system, like a dropDownLimited box, writing your own HTML code or macro to handle the choice being made by the user, it al depends on your level of sophistication.
- Third, configure your custom input forms. On the main forms page the second section allows you to pilot what form gets served where...
- To create new stories, select the Custom form we have named customizedNewStory.
- To edit stories, you will see a new menu item: Custom: value of storyInputType. Yes, addedValues picked up its cue and on the basis of your Manila ETP choice generates this option.
A side note... which fits best here. Sometimes, you're stuck & haven't defined which form a story or picture takes. Manila defaults that to the default ETP form (subject & body only). How can you ever edit that story ? Select 'Default all variables' as the discuss/edit message mechanisms & you will always be in a position to edit a story or picture.