Steps to be followed when using application builder
Lists in detail the options to be used when using application build to build all pages consistently. All application pages should reside within some folder and not on the root directory. Only Header/Footer/Login/etc may reside on the root directory.
Wizard steps
Below is how to use the wizard and options to be chosen
- Choose “Create a New Page”
- Choose the existing connection
- Builder Options
- Check Enable smart naming
- Choose auto increment PK depending on if you are using sequences for that table or NOT
- Uncheck “Use single keyword field …”
- Uncheck “Publish site after …”
- Check “Use popup date picker”
- Check “Internationalized”
- Check “Save Builder Options”
- Choose “Display buttons as Buttons and NOT Images”
- Select the tables - the point to note here is that if you are using multiple tables they all use the above options (especially the PK one)
- On the generate page components page
- For each table choose the options to generate and security to choose from
- Click on each table (if multiple and do the following)
- Search Option
- Think through the fields to search on, and exclude Audit fields (such as create/update user/date)
- On the control type for all fields, check each one and mark them all as “TextBox”. Some of them will be “Listbox” depending on if you have FKs on in the table. Do no leave them as Listbox or it will create a join SQL and mess/complicate the underlying SQL.
- Leave Orientation as Vertical
- Click the advanced button and choose
- POST method with validation
- Multiple columns using AND condition
- Check “Add a clear option/link”
- Check “Make search button active by default”
- Grid Option (click on the tab)
- Choose page name - make sure it is all lower case and “nice”. E.g. menu_list instead of SE_MENU_list
- Choose correct order by
- Link Option (usually no changes here)
- Record Option
- Choose PK if not already chosen correctly
- Again make sure the Control type is “TextBox” for all controls
- Choose a more likable page name
- Preview (ignore this one)
- Click next and choose the style
- Click next and pretty much ignore the summary listed!
- Click Finish
Post Wizard changes
There will typically be a list and maint screen for each table - unless some funky options were chosen. Here are the set of things to do to get the page going
- Open locales and update all of the descriptions to be more readable
- Change all of the reference table related fields (especially the _SW columns) to become listboxes and choose from the reference table. Below is the procedure. This needs to be done for both the maint and list pages.
- Right-click on field and change to Listbox
- In the properties choose
- Connection (e.g. dbconn1)
- Data Source (e.g.RT_VALUES), Using query builder do the following
- Choose code and description values to display and they could be the same (e.g. RT_VALUE)
- Choose where clause - e.g. RT_ID = 'YESNO'
- Choose order by clause - e.g. SORT_ORDER
- An alternative to this is to choose SQL and just use this SQL: SELECT RT_VALUE FROM RT_VALUES WHERE RT_ID='YESNO' ORDER BY SORT_ORDER
- Choose bound column (e.g. RT_VALUE)
- Choose text column (e.g. RT_VALUE)
- If using lower case column names: SELECT rt_value FROM rt_values WHERE rt_id = 'YESNO' ORDER BY sort_order
- In the maint add a cancel button that does not seem to get generated by default
- Click to the left of the list of buttons to insert the “Insert Button”
- Add space and click Button on forms
- Click on the button and replace the text under “Format –> Values” from Button1 with {res:CCS_Cancel}
- Go to properties
- Under Data Tab
- Under Name property, Rename Button1 to Button_Cancel
- Choose “Cancel” in operation
- Change “Enable Validation” to No
- In the maint page
- Change formatting of audit fields
- To be on one line with four columns
- Create a header row with title as {res:OT_CR_UP_LABELS}
- Format the above label with black text and box
- Delete the date picker for the dates
- Change audit fields as indicated here
- In the list page
- Center all _SW fields (rather than being left justified for text)