SourceForge.net Logo

<< New features in openCRX v1.9 >>

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:

^top


Project Management / Resource Management

Major additions to the activity1 model (and some cleaning up) will make openCRX even more powerful:

  • highly advanced and fully customizable Activity Creators
  • generic and user-definable Activity Processes (i.e. now you can define your own activity management workflows complete with States, Transitions, and Actions)
  • advanced Calendar Management for activities and resources
  • Resource Management and Resource Assignment
  • Work Effort Reporting (e.g. by activity, resource, etc.) suitable for billing
  • and more

^top


Advanced Pricing / Price List Management

Major additions to the product1 model (and some cleaning up) will make openCRX even more powerful:

  • advanced price and price list management including automatic generation of derived prices (e.g. to manage discounts, foreign currency price lists, etc.)
  • assignment of accounts to price lists either filter based (automatic) or managed by hand
  • extremely flexible pricing rules (e.g. lowest price wins) - pricing rules are basically "scripts" that are programmed in Java and have access to the complete API of openCRX (and anything else that is available, including third-party systems like billing systems, etc.); the scripts are compiled on the fly at runtime (we use Janino - http://www.janino.net/ - an embedded Java compiler) for maximum flexibility, i.e. scripts can be added/modified/deleted at runtime!

^top


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.

^top


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.

^top


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.

^top


GUI Enhancement: user-defined grid page size

Define the grid page size to suit your preferences:

^top


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>

^top


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.

^top

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:

^top


Generic E-Mail Adapter

openCRX includes a totally platform independent E-Mail Adapter (JavaMail) which enables you to

  • import/export E-mails (including attachments) from/to any E-Mail client (e.g. MS Outlook, Thunderbird, Eudora, Pine, Elm, ...)
  • import/export E-mails (including attachments) from/to any E-mail server (e.g. qmail, Postfix, Sendmail, MS Exchange, ...)
  • import/export E-mails (including attachments) from/to any E-mail service (e.g. Gmail, Hotmail, GMX, ...)
  • directly send outbound E-mails from openCRX

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.

^top


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).

^top


Technical Enhancements

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:

  • DB:
    - elimination of REF table (leads to major speed improvements)
    - (re)introduction of views (MySQL v5 finally supports views)
    - support for MySQL v5.x
  • Build:
    - support for openCRX extensions
  • Deployment:
    - elimination of Root servlet
    - better support for multi-segment deployments
  • Operations:
    load codes, data, filters, and ui config on remand (--> application server restarts no long required)

^top

http://www.crixp.com/ http://www.openmdx.org/