Doco Home Hints Home

Platypus Hints

This page describes how to edit a POs conf file. The format and content of the configuration files is described here.

Outermost section

INVOKEDBY
INVOKEDBY is needed for almost all pages. Specifically, its needed for all pages that read from the query string. This is basically every page except Query pages at the start of a workflow.

COMMITS Sections

Modifying the database
Any page which updates or adds a record to the database should have a COMMITS section
REDIRECTTO in outermost section
A REDIRECTTO field in the POs outermost section is needed for commit pages which redirect onto a separate results page.
FORMS
A FORMS field is required for a COMMIT section.
DBINDEX
A DBINDEX is required if we're updating an existing DB record

ACCESSES section

Superfluous accesses
Do we have Access sections that we don't want? This can happen if we have a Table Row, marked with an ID attribute, intended for use as a prototype subheader in a table.
DATAFROM in IDS section
When a dynamic node is intended for use as a template for an Access, it should have DATAFROM = NONE.
TABLE
Is this set correctly? It probably needs "Table" removed from the end.
ISUNIQUE
Is this set correctly?
QUERYARG*
The QUERYARG* fields are required for non-unique accesses. They can be cut&pasted from the conf file for the PO which invokes this one. (See the INVOKEDBY field in this PO.)

IDS section

Drill downs
IDS.ObjectId.FORMAT = FormatUtil.DRILL + "NextPOName.po?TableNameId="
Dates
Dates which should be set to today should have DATAFROM = BUSINESS. This will mean that the corresponding BO will compute the value.
Optional sections
If a dynamic node (and its children) might be deleted form the served page (depending on dynamic values), it should have an ALWAYSIN field set.
DATAFROM
Are these correct? Very few IDs should have DATAFROM = BYHAND after the conf files have been edited.
FIELDPATH
Check this value. If the value is to be taken from a table other than the base table for this access, this value will have to be edited.

Do we want to extract any ID section fields out to the global IDS section in dev.conf? Usually, the DATAFROM, FIELDPATH and LITERAL fields can be extracted - if they will be the same in all POs!

We usually don't globalise pulldowns, because ConfigGen generally generates correct values for the fields which might be globalised. Very few pulldowns have the same DATAFROM throughout the app - they will take a default value in some POs (eg, adding a new database record) and a value from the database in other POs (eg, editing a database record).

FORMS section

The FORMS section is generated with a commented out QUERYARG section. This will be useful for cut&pasting to the POs that the FORM invokes.

Unwanted arguments
Remove arguments that won't be used in a query.
Indices
Number the arguments from 0.
QUERYARGCOUNT
Set this value.

Finally

Are there any TODOs in the file?