============================================================================== Version 4.0.0 2016-09-05 ============================================================================== 1. NEW FEATURES CR10013089 Back reference for AccountAssignment. Add a shared association to Account selecting all objects which reference the account by an AccountAssignment. CR10013083 depot1: aggregated depot reports. Allow to aggregate depot reports at level depot groups. The transient class AggregatedDepotReportItem aggregates the DepotReportItems of all depots of a given depot group (recursively). CR10013030 depot1: SingleBookingEntry. SingleBookingEntries allow custom-specific, performance-optimized queries on SingleBookings. The (transient) class SingleBookingEntry represents as SingleBooking. SingleBookingEntries are accessible from the depot segment, depot entity, depot holder, depot and depot position. Custom-specific attributes can be added as sub-class of SingleBookingEntry and by extending the corresponding database view OOCKE1_TOBJ_SINGLEBOOKINGENTRY. CR10012988 New operation CompoundBooking::appendBookings(), ::appendBookings2(). The new operations allow to append SingleBookings to an existing CompoundBooking. CR10012880 The operation Indexed::updateIndex() has the following new parameters: * keywordLengthMin * keywordLengthMax * indexedAttributesInclude * indexedAttributesExclude The IndexerServlet workflow can be configured as follows: * As admin-Root add the component configuration with name 'Indexer' * Add string properties with the following names: * {provider}.{segment}.keywordLengthMin * {provider}.{segment}.keywordLengthMax * {provider}.{segment}.indexedAttributesInclude * {provider}.{segment}.indexedAttributesExclude E.g. CRX.Standard.keywordLengthMin 3 CRX.Standard.keywordLengthMax 40 CRX.Standard.indexedAttributesInclude CRX.Standard.indexedAttributesExclude CR10012828 Support for webcomponents-based wizards. The directory layout for web- components based wizards is as follows: wizards/ {wizard-name} META-INF wizard.properties Api.jsp index.jsp {wizard-name}.html {wizard-name}.css index.jsp is a wrapper which launches {wizard-name}.html. Api.jsp implements the API which itself delegates to the openCRX API. See SessionManager, CreateActivity, BulkActivityManager for examples. CR10012806 DbSchemaUtils supports custom extensions of the database schema. All schema scripts META-INF/dbschema-add.sql are loaded and applied to the core schema. The extensions script may contain any valid HSQLDB statements. Examples: ALTER TABLE OOCKE1_ACCOUNT_ ADD COLUMN OTHER_BUSINESS_NAME VARCHAR(256); CREATE TABLE CGNOC1AU_CAMPAIGN (OBJECT_ID VARCHAR(250) NOT NULL, ACCESS_LEVEL_BROWSE SMALLINT, ..., PRIMARY KEY (OBJECT_ID)); ... CR10013118 Share Button: add share button (https://github.com/carrot/share-button) to navigation control. 2. CHANGES 2.0. CHANGED FEATURES CR10013070 libphonenumber: phone numbers are parsed and normalized with Google's libphonenumber (https://github.com/googlei18n/libphonenumber) for phone numbers with automaticParsing=true. CR10013038 DbCopy: include / exclude patterns for db objects. Replace startFrom / endAt index range with include / exclude patterns for db objects. CR10012961 Contracts: enable / disable ContractPositionModifications. Creation of contract position modification can be controlled by new backend method Contracts.isEnabledContractPositionModifications(). The default is false. CR10012960 Add WfProcessInstanceParameter. Replace generic Properties by WfProcessInstanceParameter. This allows to separate static properties attached to CrxObjects from the runtime properties created by workflows. CR10012893 ext-attributes for AbstractProduct. AbstractProduct inherits from org:opencrx:kernel:generic:Extended. CR10012872 Replace BulkCreateActivityWizard, BulkActivityFollowUpWizard, BulkWorkflowMonitorWizard by new polymer-based BulkActivityManager wizard. CR10012904 Upgrade to PDFBox 2.0. Solves some reported PDF parsing problems. 2.1. FIXED BUGS CR10012974 RestServlet_2: multi-valued attributes with one element buggy in JSON format: OLD: "postalStreet": { "_item": { "@index": "0", "$": "Avenue de la Porte Neuve 29" } } NEW: "postalStreet": { "_item": [ { "@index": "0", "$": "Avenue de la Porte Neuve 29" } ] } 2.2 REMOVED FEATURES CR10013029 Deprecate AirSync wizards. AirSync is not supported by future versions. The backend classes org.opencrx.application.airsync.* are left unchanged for upwards compatibility. CR10012987 SalesContract: remove inventory operations. Operations * SalesContract::updateInventory() * SalesContract::removePendingInventoryBookings() are deprecated and replaced by custom operations. Also see CR10012961: Contracts: enable / disable ContractPositionModifications. ~ ~ ~