Release Name: openCRX/Core 2.10.0 Release Date: 2012-08-24 --------------------------------------------------------------------- Notes: This software is published under the BSD license as listed below. Copyright (c) 2004-2012, CRIXP Corp., Switzerland All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of CRIXP Corp. nor the names of the contributors to openCRX may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------ This product includes software developed by the Apache Software Foundation (http://www.apache.org/). This product includes software developed by contributors to openMDX (http://www.openmdx.org/) --------------------------------------------------------------------- 0. SUMMARY * Many new features (see detailed list below) * Many bug fixes For more information see below and http://www.opencrx.org/opencrx/2.10/new.htm ============================================================================== Version 2.10.0 2012-08-24 ============================================================================== 1. NEW FEATURES CR10010952 DbSearchReplace. The method DbSearchReplace.dbSearchReplace() takes the following parameters: * Connection conn * String columnNameIncludes * String columnNameExcludes * String searchPattern * String replacement * boolean validateOnly * PrintStream out The operation is performed on all tables. Only columns matching the columnNameIncludes / columnNameExcludes patterns are processed. In case of validateOnly = true the UPDATE statements are printed to out only (no DB executes). The utility can be used in custom wizards and extensions. Example: DbSearchReplace.dbSearchReplace( conn, "(.*)", // includes "(TEXT)|(DESCRIPTION)|(DETAILED_DESCRIPTION)|(MESSAGE_BODY)|(STRING_VALUE)|(BEFORE_IMAGE)", // excludes "(guest)", "newguest", true, // validateOnly System.out ); Replaces all occurences of 'guest' by 'newguest' (e.g. useful for principal migration). DbSearchReplace.dbSearchReplace( conn, "(.*)", // includes "(TEXT)|(DESCRIPTION)|(DETAILED_DESCRIPTION)|(MESSAGE_BODY)|(STRING_VALUE)|(BEFORE_IMAGE)", // excludes "(/CRX/)", "/MYCOMPANY/", true, // validateOnly System.out ); Replaces all occurences of '/CRX/' by '/MYCOMPANY/' (e.g. useful for provider migration). CR10010925 AbstractServer: support for trust store and client cert auth. The IMAP and LDAP servlet accept the following new init-parameters when configured for SSL support: * sslTruststoreFile * sslTruststorePass * sslTruststoreType * sslNeedClientAuth CR10010707 JSP tag library. Portal offers the following tags: * portal:showobject * portal:query The tags can be used in wizards and allow easy rendering of objects and grids. Example: <%@ taglib uri="http://www.openmdx.org/tags/openmdx-portal" prefix="portal" %> ...
CR10010757 Timers allow to schedule workflows. Timers replace the now deprecated Reminders. CR10010648 FileBrowserWizard. Wizard which allows to view and download files (e.g. log files) from AppServer. Access is restricted to admin-Root. Extending org.opencrx.kernel.portal.wizard.FileBrowserWizardExtension allows to customize the behaviour of the wizard. CR10010644 AccountAssignmentDataBinding. Data binding returning a list of accounts assigned to contracts, products or inventory items. The data binding is configured in the UI configuration as follows: * featureDefinition <_object> org:opencrx:kernel:account1:Account list false <_content/> * elementDefinition <_object> org.opencrx.kernel.portal.AccountAssignmentDataBinding true true 6 <_item>Assigned Accounts <_item>Assigned Accounts <_item>0 <_item>0 <_item>5 <_content/> CR10010636 Jabber IM. The workflow org.opencrx.application.jabber.SendMessageWorkflow allows to send messages to a Jabber account (default and active Jabber service account defined on a user's home). The fields of the service account must be set as follows (e.g. for service jabber.org): * name: Jabber-ID, e.g. joe_doe@jabber.org * username: account user name, e.g. joe_doe * password: account password * hostname: jabber.org * service: jabber.org The workflow is using the library smack library for sending XMPP messages. For more information about the library on how to connect to service providers see http://www.igniterealtime.org/projects/smack/. CR10010620 Localized fields. A LocalizedFieldContainer holds LocalizedFields. This allows to localize the values of any attribute of a CrxObject. CR10010549 Support for Outlook e-mail message format (msg). BusinessProcessManager.jsp and UploadEMail.jsp wizards now support the Outlook MSG format for e-mail import. In addition, the method org.opencrx.kerne.utils.MimeUtils.mapMsgToMime() provides a utility method for the conversion MSG --> MimeMessage. CR10010614 The dashlet allows to configure a static menu. The menu shortcuts are configured in a properties file with name ./wizards/StaticQuickAccessDashlet/.properties. # SampleMenu.properties e0000=
Customers
e0001=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Customers"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0002=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Customers"); > Reference.filteredActivity e0003=
Compliance
e0004=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Compliance"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0005=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Compliance"); > Reference.filteredActivity e0006=
Generic
e0007=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Generic"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0008=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Generic"); > Reference.filteredActivity e0009=
Communications
e0010=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Communications"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0011=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Communications"); > Reference.filteredActivity e0012=
Analysis
e0013=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Analysis"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0014=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Analysis"); > Reference.filteredActivity e0021=
Underwriting
e0022=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityCreator&queryType=org:opencrx:kernel:activity1:ActivityCreator&query=name().equalTo("Sample~Underwriting"); > Operation.org:opencrx:kernel:activity1:ActivityCreator:newActivity e0023=xri://@openmdx*org.opencrx.kernel.activity1/provider/CRX/segment/Standard/activityTracker&queryType=org:opencrx:kernel:activity1:ActivityTracker&query=name().equalTo("Sample~Underwriting"); > Reference.filteredActivity CR10010522 AccountIsMemberOfDataBinding. Data binding returning a list of accounts which have the current account as member. The data binding is configured in the UI configuration as follows: * featureDefinition <_object> org:opencrx:kernel:account1:Account list false <_content/> * elementDefinition <_object> org.opencrx.kernel.portal.AccountIsMemberOfDataBinding true true 6 <_item>Is member of <_item>Member of <_item>0 <_item>0 <_item>5 <_content/> 2. CHANGES 2.0. CHANGED FEATURES CR10010951 touchRealm ignores concurrent modification exceptions. This solves the problem that the concurrent creation of users fails. CR10010942 openMDX/Portal: Refactoring data bindings. Replace DataBinding_1_0 and DataBinding_2_0 interfaces by DataBinding interface. CR10010930 openMDX/Portal: Unify Texts and Codes. The class Texts now delegates to Codes, i.e. texts are now stored as codes in the CodeValueContainer with name 'TextsBundle'. In case Codes are not defined, Texts falls back to resource bundles. CR10010561 DataSourceRealm. Migrate from JDBCRealm to DataSourceRealm. All META-INF/context.xml are now using the DataSourceRealm. The -D configuration options - opencrx.CRX.jdbc.driverName - opencrx.CRX.jdbc.url - opencrx.CRX.jdbc.userName - opencrx.CRX.jdbc.password=manager99 CR20020010 Portal: Improve grid search for code columns. Use short and long texts for filter value to code mapping. 2.1. FIXED BUGS CR10010783 Outlook 2010. IMAP adapter tested with Outlook 2010. 2.2 REMOVED FEATURES none ---