In addition, there are various technical enhancements, "under the hood" features if you want:
Customer Care Wizard
A new wizard that supports the most important use cases for customer care:
Permissions must be granted by the segment admin for the users to show activities and activity creators:
The wizard can be launched on:
GUI Element-Level Security
GUI element-level security allows to set show and edit permissions for the following GUI elements:
Permissions are defined per Role. One or more role can be assigned to a user's principal. Roles are created by the segment administrator in Security policies > Roles. Segment administrators (e.g. admin-Standard) can then easily view and manage permissions with the new wizard Manage GUI Permissions:
Enhanced Business Processes
The openCRX business process engine has received a major boost with openCRX v2.9.0. The most important enhancements are the following ones:
The new wizard "Business Process Manager" assists users in managing instances of complex/nested activity processes. The wizard can be started from any activity and it will collect all other activities that belong to the same process instance and display them in a visualization of the activity process. It is possible to create new sub activities with a single click and adding follow-ups to existing activities can also be done right within the wizard:
Wizards for BulkCreateActivity and BulkActivityFollowUp
These two new wizards enable users to create activities with a bulk operation (e.g. to create a campaign) and perform bulk follow ups:
Contract Groups, Contract Creators, new Contract Types
The openCRX Model was enhanced in a major way to support generic types of contracts, sales volume contracts, etc. Also, similar to Actiivty Creators and Activity Groups, there are now Contract Creators (to create contracts) and Contract Groups (to group/classify contracts) available.
Here are the most important UML models (click on the thumbnails to see larger versions of the class diagrams):
Reporting and Output Management
Use the existing method exportItem() to export/render data. Overriding Exporter.exportItem() allows the implementation of custom-specific rendering. As an example you can look at the openCRX Sample project, where the method exportItem() is implemented in the class org.opencrx.sample.backend.Exporter.
It is now possible to add custom-specific actions to the grid menu 'Actions'. The following default actions are added for openCRX:
The above actions either export the current grid page or the selected object(s).
Move Address, Merge Address
The new operation move address allows users to move an existing address to a new target account and update the following address references:
The operation performs the following steps:
Similarly, the new operation merge address allows users to udpate references pointing to a source address (to be disabled) and let them reference a new target address.
This new attribute enables you to assign addresses to "authority" accounts. Think of the authority of an address as an account that "manages" or "owns" the respective address, e.g. the employer assigning e-mail addresses out of a particular domain to individual employees, etc. Even though such an e-mail address "is assigned to" to the respective employee, the employee doesn't really own this e-mail address (e.g. if an employee moves on to a different employer the previous employer (the "authority") will disable the employee's e-mail address.
Similarly, there are plenty of use cases for telephone numbers, postal addresses, etc.
The new grid [Assigned Addresses] available on all accounts lists all addresses that reference the current account as authority. Hence, it is very easy for an authority to manage such addresses:
Starting with openCRX v2.9.0 you can set reminders on any openCRX object. The simplest reminder works like an alarm that goes off at a certain time and (depending on your subscriptions) creates an alert, sends e-mail message, posts a twitter message or takes any other action that is available. It is possible to define repeating reminders with arbitrary intervals:
With Actions > Set Reminder you can start a wizard that helps you create simple alarm-type reminders.
Search Criteria for Group Membership
It is now possible (without defining SQL queries) to create account and/or address filters that select accounts/addresses based on an existing account membership, e.g. in oder to select all employees of a company or all e-mail addresses of members of a particular account group, etc.:
Indexer Support for MS Office Open XML File Formats
The openCRX Indexer now supports MS Office Open XML File Formats, e.g.
... in addition to the many already supported file formats:
Wizard DB copy
This new wizard can be invoked as root administrator (admin-Root). It allows to copy data from a source database instance to a target database instance. It provides the same functionality as the command-line version.
With this wizard you can - for example - copy all your data from a MySQL database to a PostgreSQL database directly from the openCRX GUI:
Wizard DB schema validate/upgrade
The wizard can be invoked as root administrator (admin-Root). It allows to create, validate, upgrade and migrate an openCRX database. The database can either be specified by its JNDI name or by a JDBC connection URL.
Validation performs the following checks:
Fix allows to fix the reported issues:
Fix never never drops or removes any database objects or rows. So you never loose data. However, because fix may modify your schema it is recommended to backup before upgrading / fixing a database. It is possible to run fix on an empty database schema. In this case all tables, views, indexes and sequences are created.
openCRX Server Installer with Apache TomEE
Apache TomEE, pronounced "Tommy", is an all-Apache stack aimed at Java EE 6 Web Profile certification where Tomcat is top dog (more information about Apache TomEE is available from http://openejb.apache.org/apache-tomee.html).
The new openCRX Server installer includes Apache TomEE so that the whole installation process can be completed in one go and there is no more need to deal with a Tomcat installer.
The AccessControl plug-in supports runAs permissions. runAs permissions allow to run object access operations (read, update, delete) under a different principal than the requesting principal. This feature allows users to define deputies for certain use cases, e.g. a user can allow an assistant to manage his/her calendar.
Two different formats are supported:
Permissions are created as follows:
The AccessControl plug-in handles runAs permissions as follows:
Extended OpenCRX Object
Many more objects than in previous openCRX versions are now full-blown openCRX objects:
The advantages are manifold, including user-specified attributes (i.e. no need to extend the UML model and the database to beef up standard objects with your own attributes; "adding" a new attribute to an OpenCRX Object is a matter of customizing only).
Mapping of E-Mail Recipients / Attendees
Unknown e-mail recipients were mapped to the generic e-mail address "UNKNOWN" in previous versions of openCRX. Starting with openCRX v2.9, an e-mail address object is created for such recipients and then assigned to the segment administrator. The address can be moved with Move Address to the proper account at a later time.
Additionally, there is also an enhanced ICAL mapping of attendees. The new attribute emailHint was added to AbstractActivity party. The hint allows to have multiple activity parties pointing to the same account. The hint serves as e-mail address selector in case the account has multiple e-mail addresses. The ICAL import sets the hint field for each imported ATTENDEE, whereas the ICAL exporter/mapper uses the hint to generate the ATTENDEEs.
When importing an ICAL and the e-mail address of an ATTENDEE is unknown, an e-mail address object is created for such attendees and then assigned to the segment administrator.
Lightning's Meeting Attendee Status NON-PARTICIPANT
We newly map the status code NON-PARTICIPANT, which is used by Lightning (Mozilla Calendar Project) to indicate that a meeting participant was removed, to the openCRX status code "N/A". This ensures, that it is possible to "remove" attendees from an event directly in Lightning without actually "deleting" such attendees in openCRX..
Enhanced VCARD Importer
The openCRX VCARD importer was enhanced so that it accepts mime types and file extensions. It is also possible to import minimalistic VCARDs. Some of these enhancements were propagated to other importers as well.
The openCRX persistence configuration was moved to
The table prefs_preferences is not required anymore.
Code Reload on-the-fly
New codes can be reloaded on-the-fly, i.e. it is not required to restart openCRX anymore.
The new grid actions allow you to change the position of values for multi-valued, ordered reference features (e.g. you can now change the ordering of contracts referenced by an activity):
Support for OpenJDK
It is now possible to run openCRX with OpenJDK (required is at least v1.6.0_23).
New Language: xx_YY
openCRX is already available in many languages and more of them are in the pipeline. At this time we do not know yet which additional languages will be ready for inclusion in this openCRX release, but any news will be posted without delay. If you want to contribute and are ready to translate a bunch of strings into a new language, .