100% Java application server and web development framework. Includes installer and embedded relational database. Install and setup in less than 2 minutes!
Customers who download this product often download the Vortex IDE for developing Tornado applications
Updated many internal parts to support the Oracle database (10g). Also updated admin, webdesign and setup apps to support the same.
New console command "clear roles *" to remove all roles from all active sessions. This is useful for when an application's security changes and all sessions need to be clear to pick up the new security settings
Updated HTMLView to avoid a NPE when a style sheet did not exist in he design collection and one could not be made from the XML buffer.
Updated HTMLVIew code. When a URL did not include a '?' (eg "http://server/app.pma/AccountView") parameters were appended to the URL. Added code to check for a '?' and add one first if missing. This ensures valid urls.
Moved the server cache from the http server task into the pmaSystem object. This means the server cache is now accessible from all server addin tasks, not just the http task. Also made the method calls the same as for adding session objects.
The cache is now accessed through the SystemContext object (pSystem) eg:
Requires a new webdesign app to set the design element's CompositeElement=1 parameter
Added new methods to TableManager to allow the easier setting of null column values. eg TableManager.setFieldDateNull("SomeField")
Added code to the SOAPClient executeInternal() method so that the soap reply package is available for debugging
public Connection getDataConnection(String sDriverClass, String sDBURL, String sDBURLOptions, String sDBName, String sDBUserName, String sDBPassword)
method so that when server only connections are made (eg sDBName is "") the previous pooler for that item is removed. This helps the webdesign app correctly create a new database if on an earlier attempt the connections credentials were incorrect.
Created new method pSystem.removeDatabasePool(sPoolAlias);
This now allows connections to be forcibly removed from the pool. This is important as sometimes if a connection was set up with an incorrect username/password the connection remained in the pool with invalid credentials.
Simplified the constructor to create a new tablemanager object by removing the need to pass a SystemContext object. This can be derived from the SessionContext.
public TableManager(HTTPSessionContext pSession, String sConnectionName, String sTableName)
By default files served off the filesystem were given a future expiry date of half the time between now and when the file was last modified. Added a new puakma.config variable:
The default value is 3600 (1 hour).
HTMLControl ctrl = ActionDocument.getHTMLControl("TemplateStatus");
ctrl.setType(HTMLControl.ITEM_TYPE_RADIO); ctrl.setItemAttribute("cols", "9");
In the above scenario, the cols attribute would have no effect on the number of columns displayed in the control.
Updated pdx importing routine. Was causing sporadic issues with the import of dates which would be out by a random number of seconds when the time was midnight exactly.
The agenda task runs actions as "CN=SYSTEM". Added code to the pmaSystem class to avoid sending a request to the authentication chain to determine the group memberships of this account. Previously some authenticators (LDAP) would show an error when a scheduled action was run.
Added new puakma.config setting LogFileMaxSizeKB=999999
This new setting will control the log file size. Set this to a positive integer value and the log file will not be allowed to grow past this size. When the log exceeds this limit, the file will be renamed to filename.log.1 and a new log file will be created as the current log. This means that if you specify a 1KB limit you will have 2KB of logs in two files, with the primary (active) log not exceeding 1024 bytes.
Updated Util.adjustDate() to reduce spurious object creation.
Added boolean and IF(cond, if_true, if_false) method to FormulaCalculator.
Add protection code for NullPointers in AGENDA if the Options field on the scheduled action is null.
Added two new methods on HTTPSessionContext:
Date dt = getSSOExpiryDate()
This controls how long the SSO token lives for. Previously the token was cleared when the browser was closed. The oprevious functionality will remain by default, unless an application specifically calls this method.
Updated MailTransferThread code to add a socket timeout before sending a HELO. This was causing threads to hang and clog up the mail queue when connecting to non-responsive mail servers
Added two new config variables for controlling default locale and timezone of new user sessions.
The default locale should have the language and country seperated with an underscore. Alternatively, only a language can be specified eg "en".
This new functionality allows for a server based in one timezone with all users based in another.
Added new method ActionDocument.getAllHTMLControls("FieldName");
This allows multiple controls on the page to have the same name and now all can be accessed programmatically instead of only the first one.