O4W 1.4 Documentation

- O4WMobileTableOptions:
A new O4W style/options function with the following API:
O4WMobileTableOptions(bDoGrid, colHeaderTheme, colHeaderPct)
Where bDoGrid is a flag that indicates whether the normal o4w table should be turned into a jQuery mobile grid (set bDoGrid to "1" to convert to grid); colHeaderTheme is the jQuery mobile theme letter to apply to the grid; and colHeaderPct is the percentage to use for the headers of the grid.

- jQueryParentTheme%:
A new O4W common variable.  The "parent" container of the jQuery mobile form will have its theme set based on the original jQuery theme applied to the base form.  Change this common variable's value to a different jQuery mobile theme, if desired, to change the overall parent theme.

- O4WTableCellOptions:
Enhanced the existing O4WTableCellOptions API so that the existing "bAsHeader" parameter will now, if the table is being converted to a jQuery mobile grid (see O4WMobileTableOptions), specify which jQuery mobile theme to use for that column.  Valid options for the bAsHeader parameter, then, are "0" (not a header), "1" (treat this as a table header), or "a"  - "z" (treat as a table header with the appropriate jQuery mobile theme).

- CheckLegalO4WUser function:
New internal function that can be used in O4W, or elsewhere, to check if an O4W encrypted password is valid for the specific OpenInsight user.  The CheckLegalO4WUser function has the following API:
function CheckLegalO4WUser(User, encPassword, salt, hashvar)
where User is the user name to check, encPassword is the encrypted password, salt is the salt value used in the encryption, and hashvar is the additional variable used in the encryption (in O4W's login, this is typically the date or datetime).  The return value is "-1" (not a valid user/password combination), "0" (a valid normal user), "1" (a valid administrative user), or "2" (a valid system administrative user).

- O4WI_AUTHORIZE_OIUSER_ENCRYPT:
An additional authorization method that can be entered into the O4W configuration screen.  If specified, it tells O4W to check OpenInsight for the valid user names and passwords, rather than O4W's own user table.

- O4W Form Wizard:
If selected during the O4W form definition process for a particular field, the "pattern validation" will apply the field's input conversion (pattern) to any data entered by the user.  If the data fails the input conversion, then an error is generated and the form will not be saved.

- OWI_SETSESSIONINFO:
An additional internal subroutine that can be called to set the "cookie" and internal O4W record for the current user.  It has the following API:
Subroutine O4WI_SETSESSIONINFO(permsLevel, userName, SecurityProc)
Where permsLevel is the O4W permissions level to assign to the current user, userName is the name to assign to the current user, and securityProc is an optional parameter to specify the name of a stored procedure to override the configured, default security procedure for this user.  Note that if permslevel and username are passed as the null string, the current user will be effectively logged out of the system.

- O4WForm/O4WStyleSheet:
The O4W template used in the O4WForm subroutine call can now be specified as a repository entity, if you wish to create DOC type repository entities of either O4WTEMPLATE or HTML class.  O4W will load the document from the appropriate location.  Similarly, CSS documents can be passed into the O4WStyleSheet subroutine if you wish to create DOC type repository entities of the CSS class.

- O4W Form Wizard:
When creating a control of type 'file upload', a subroutine name can now be specified as the "destination".  This stored procedure will be called to generate the actual destination for the upload.  Be sure to prefix the subroutine name with an "@" (ie, "@UPLOADHANDLER").  The user subroutine must have the following API:
SUBROUTINE UPLOADHANDLER(formName, fieldname, destn)
Where formName is the name of the O4W form (passed in to the user subroutine), fieldname is the name of the current field (passed in to the user subroutine), and destn is the desired destination for the upload (set by the user subroutine).


- Enhanced OECGI3P.PHP:
OECGI3P.PHP has been enhanced to use persistent sockets (pfsockets) for better performance

- O4W Form Wizard/O4W Report Wizard:
In the commuter module for both the form and report wizard, there is now an additional event named "READY" that can be selected.  The READY event will be triggered after the form or report has been generated, and control is about to return to the user.

- O4W Overall Behavior:
The internal routine OESS_SYSINFO has been modified to make sure background indexing is turned off for engines running in the engine server.  This should ensure that the indexing doesn't interfere with O4W, AREV32, or CTO behavior.

- Initial deployment of new engine server functionality:
The engine server has been enhanced to allow for the recording of errors in the 'wrapper.log' file by specifying a debug level in the eserver.cfg file.  Specify DebugLevel=<level>  (ie, DebugLevel=2) to start the engine server in the desired level; output will go to the wrapper.log if running in service mode.  Optionally specify the debug output file with DebugFile=<filepath> (ie, DebugFile=ourengineserver.log) to direct the output to the specified file.