The main topics of openCRX v1.9 are consolidation of existing features (clean-up, enhancement, usability, etc.), technical/internal clean-up (e.g. elimination of REF-tables) and other features:
Customizable Operations / Wizards
This feature will enable you to add (Java-) client tasks to menus (such as reports) so that application-logic can be added to openCRX without extending the model (adding operations to classes). Write your own JSPs guiding the user through the creation of complex objects (or sets of objects), step-by-step. Develop your own data entry accelerators, e.g. Quick Creation of Contacts:
From the JSPs to full openCRX API is available!
In addition to some simple sample wizards openCRX v1.9 will also include a contact exporter for MS Outlook:
Project Management / Resource Management
Major additions to the activity1 model (and some cleaning up) will make openCRX even more powerful:
Advanced Pricing / Price List Management
Major additions to the product1 model (and some cleaning up) will make openCRX even more powerful:
Unification of Root and Standard Servlet
We merged the functionality of the Root servlet into the Standard servlet. Access to the respective functionality is granted based on the user's role. This change reduces the complexity of the openCRX installation procedure and the makes the administration of openCRX a lot easier.
Load Codes / Data on Demand
Thanks to some smart improvements "under the hood" you will be able to import codes and data on the fly without restarting the application server.
Enhanced XML Export
In addition to reference names the XML Exporter will also accept (user-defined) filters. This feature will enable you to get a better handle on openCRX instances with large data sets.
GUI Enhancement: user-defined grid page size
Define the grid page size to suit your preferences:
GUI Enhancement: base filter - a customizable default filter for the "All" filter
This feature enables the customizer to define a default filter on a grid that is always applied even if the user defines additional filters. You can think of this filter as a base filter.
The following example shows the base filter for the tab Account Groups (an AdditionalElementDefinition) as it is available in the filter file org.opencrx.kernel.account1.Segment.account.xml :
<void index="8"> <object class="org.openmdx.application.gui.generic.servlet.Filter"> <void property="name"> <string>account:0</string> </void> <void property="condition"> <array class="org.openmdx.base.query.Condition" length="1"> <void index="0"> <object class="org.openmdx.base.query.IsInCondition"> <void property="quantor"> <short>2</short> <!-- there exists --> </void> <void property="feature"> <string>object_instanceof</string> </void> <void property="fulfil"> <boolean>true</boolean> </void> <void property="value"> <array class="java.lang.String" length="1"> <void index="0"> <string>org:opencrx:kernel:account1:Group</string> </void> </array> </void> </object> </void> </array> </void> <void property="groupName"> <string>~</string> </void> </object> </void>
GUI Enhancement: customizable multi grid for associations
This feature enables the customizer to filter objects based on user-defined filters into different grid tabs. For example, instead of displaying all Accounts (i.e. Contacts, Legal Entities, Unspecified Accounts, and Groups) in a single tab, it is possible to customize individual tabs for Employees (e.g. Contacts who fall into the category "employee") and Corporate Accounts (e.g. qualified Legal Entities) in addition to the standard tab Accounts.
The following example shows how to customize an additional tab Account Groups:
ElementDefinition of tab [Accounts] with AdditionalElementDefinition for [Account Groups] as it is available in the ui config file account.xml :
<org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:account1:Segment:account"> <_object> <active>true</active> <toolTip> <_item>all Accounts</_item> </toolTip> <label> <_item>Accounts</_item> </label> <order> <_item>0</_item> <_item>0</_item> <_item>10</_item> </order> <maxMember>21</maxMember> <showMaxMember>9</showMaxMember> </_object> <_content> <additionalElementDefinition> <org.openmdx.ui1.AdditionalElementDefinition id="0" _operation="create"> <_object> <toolTip> <_item>Account Groups only</_item> </toolTip> <label> <_item>Account Groups</_item> </label> <order> <_item>0</_item> <_item>0</_item> <_item>15</_item> </order> <maxMember>21</maxMember> <showMaxMember>9</showMaxMember> </_object> <_content/> </org.openmdx.ui1.AdditionalElementDefinition> </additionalElementDefinition> </_content> </org.openmdx.ui1.ElementDefinition>
Please note that the above only defines the additional tab Account Groups - it does not define the filter required to see Groups only under this tab. See
Security Extension (cross-segment roaming w/ single login)
The new role drop down allows you to change roles (including change of segment) without logout/login:
Generic E-Mail Adapter
openCRX includes a totally platform independent E-Mail Adapter (JavaMail) which enables you to
Importers/Exporters are controlled by activity processes (i.e. you can change/adapt them to your requirements).
Get the new openCRX Administrator Guide for information on how to configure and use the new openCRX E-Mail Adapter.
Support for MySQL
Starting with openCRX v1.9 the database MySQL v5 will be supported.
The minimum requirement is MySQL v5.0, which supports "subselects" (e.g. SELECT * FROM (SELECT ...) and views.
Based on our own tests the performance of MySQL v5.0 is roughly comparable with the performance of MaxDB, i.e. certainly sufficient for smaller environments and testing (more information regarding database performance with openCRX is available here).
Thanks to a generous donation from a financial institution we were able to eliminate the REF-table resulting in a massive performance gain for large data sets (factor of about 2). Try out the new and lightning fast openCRX on our demo server!
Other technical enhancements include: