Public Release Note - Intershop Order Management 2.2

Table of Contents

Product Version

2.2

Product To Version

2.2
Status

final

1 Introduction

Welcome to the Intershop Order Management 2.2!

Intershop Order Management is an Intershop Commerce Suite application that is designed to combine omni-channel commerce processes into one system. It automates and streamlines the life cycle of orders and payments. Intershop Order Management processes orders from multiple touch points (web shop, mobile shop, call center and more), allocates them to multiple fulfillment solutions (fulfillment centers, drop-ship distributors, physical stores and more), and tracks all order and payment transactions.

Intershop Order Management offers a centralized platform for managing distributed inventory, order, invoice and payment life cycles, and provides call center functionality, enabling real-time visibility into customers' purchasing behavior, stock levels, payments, and more. As part of Intershop Commerce Suite, it utilizes the suite's transaction, PIM and merchandising features.

Intershop Order Management (IOM) offers the possibility to tailor your business models as flexible and free as you need and depict them in your e-commerce environment. The order management system adjusts the order processing for various sales channels and suppliers and can be seamlessly integrated with existing components of your IT environment.

1.1 Dependency Version Information


Intershop Order ManagementIntershop Commerce Management B2XIOM Connector
Version2.27.95.0

1.2 Glossary

TermDescription
APIApplication Programming Interface
B2BBusiness-to-Business
FTPFile Transfer Protocol
Gluster-FSA scale-out network-attached storage file system
HAHigh availability
ICMAbbreviation for Intershop Commerce Management
IOMAbbreviation for Intershop Order Management
IMPEXImport/ Export
OMSAbbreviation for Order Management System, the technical name of the IOM
OMTAbbreviation for  Order Management Tool , the graphical management tool of the IOM
RESTRepresentational State Transfer
SOAPSimple Object Access Protocol
URLUniform Resource Locator
WatchdogA tool of IOM to monitor and manage the availability of IOM application servers

2 General Information

3 Additional Information

4 New Features and Enhancements

4.1 High Availability

High availability can be defined as follows. The system is designed for highest requirements in terms of performance and reliability. Several platform capabilities allow easy scaling without downtimes.

From version 2.2 Intershop Order Management is ready for High Availability.

4.1.1 Symmetric HA Nodes

The major approach is that high availability can be provided by using symmetric high availability nodes. The configuration of all high availability nodes is identical so every server node is able to replace any other. It follows the whole system will be able to answer requests, as long at least one active and working node exists. A selected backend server is active at a time that will handle business processes exclusively. Additionally a server monitoring tool, IOM Watchdog, is used to manage the availability of application servers and also switches to another backend server to be active in case of errors. Also see Guide - Intershop Order Management - Technical Overview for more detailed information.

The following diagram shows an example of high availability nodes. Gluster FS is used to replicate data between FTP-servers. High availability database and server monitoring is not shown in this picture.

To support this architectural approach the IOM was improved and extended. The following list gives a short overview.

4.1.1.1 Frontend Applications Servers

Applications servers that are acting as frontend servers were proved to support session failover. Additionally load balancing and sticky sessions are tested using one approach on Apache HTTP Server.

4.1.1.2 Backend Application Servers

The new management of cluster jobs implemented by Quartz Clustering with JDBC-JobStore ensures single machine job handling. See Guide - Intershop Order Management - Job Scheduling for more information.

4.1.1.3 IOM Watchdog

This new tool was implemented to manage the availability of application server nodes. Using IOM server health checks which was added to each application server Watchdog can be configured to start/ stop/ restart applications servers if required. Additionally Watchdog switches to another backend server to be active in case of errors. Also see Guide - IOM Watchdog 2.2 - 2.11.

4.1.1.4 FTP-servers

The Ftp-servers are enabled to synchronize between each other. One tested approach is GlusterFS, but any other solutions can be used too.

4.1.1.5 Further Changes

  • Ensured automated reconnect of JMS and Database connections if connection was lost/ broken
  • Introduced multiple addresses for database cluster and jms hosts
  • Support of port-offsets
  • Ensured distributed cache management for the application cluster. See Concept - IOM Synchronization of Java-based Caches.
  • Server health check URLs (REST) are introduced to return the 'healthiness' of an application server. An additional REST service returns the current status of all applications servers within a cluster. Also see Concept - IOM Server Health Check.
  • The log directory is configurable now
  • Export jobs resistant to server restarts
  • More intuitive naming of application server nodes

4.1.2 PostgreSQL HA Cluster

IOM supports access to PostgreSQL HA clusters but has always connect to the master database.

PostgreSQL HA cluster usually consists of one master server and one or more hot-standby servers. The master-server is the only one, which is allowed to change data. An additional witness-server is needed by the fail-over process when the total number of servers (master + standbys) is odd. The database connection address of IOM consists of a hostlist which supports a number of one or more database host addresses which ensures a connection to the database as long as at least one of these addresses are pointing to a working PostgreSQL HA clusters. Please see Guide - Intershop Order Management - Technical Overview for more detailed information.

4.2 Improvements of the User Interface

4.2.1 Changed URL of OMT

The URL of the OMT application, the user interface, was cut down from /bakery.omt/app/ to /omt/app/ only and has no visual relation to the technical deployment artifact any longer.

Note

The URL /bakery.omt/app/ does not work any longer and has no redirect to the new URL.

4.2.2 New Icons for Menu

Icons for the main menu were replaced to more fit the represented content.

4.2.3 Improvement of Page Header

The page header of OMT was improved. Therefore the quick search was moved to it to be able to quickly search for orders, customers and items any time. Additionally icons to reach the user profile of the current user and to logout was introduced.

4.3 Enhanced Business Features

4.3.1 Support of Night Shipping Information at Shipping Addresses

Customer shipping addresses has been extended by the attribute night shipping. It indicates, if night shipping and delivery for a customer address is permitted. Thus, a call center agent can configure whether night shipping is enabled for a selected customer shipping address.

The new version of SOAP web service CustomerService/v1.1 and ExportCustomer/v1.1 supporting the new attribute nightShipping. Also see Reference - IOM SOAP Web Services

Note

Export Customer (based on CustomerService-v1.0.xsd) is no longer available.

4.3.2 Improvements of the Invoice View

On the invoice detail page the information about settled state is now shown on top too.

Additionally a comment can be added to the invoice.

4.3.3 Net Values for Manual Credit Notes on B2B Shops

On the invoice detail page it is possible to grant manually a credit note to a customer. For B2B shops the amounts now can be entered as net value. For B2C shops gross values still is required.

4.3.4 Delivery Note Number for Accounting Interfaces

The delivery note number from the supplier can now passed though the accounting interface of IOM to connected accounting systems. Following it is possible to match several deliveries from a supplier to aggregated invoices from a supplier.

Also see Reference - IOM ImpEx Interfaces. The new attribute is named DeliveryNoteNo.

4.3.5 Configuration of Aggregated Invoices

Aggregated invoices allows to generate one invoice for all orders/ dispatches within a certain time frame for a customer. Aggregated invoices now can be configured at the customer details page. Set here if an aggregated invoice should be generated and it's time frame.

For more information see Concept - IOM Aggregated Invoices.

4.3.6 Configurable Default Return Quantity

It is now possible to set the default quantity of the items that are possible to return within the dialog of OMT for the return confirmation. The default value can be the maximum returnable quantity or zero (0). For configuration use the cluster property is.oms.default.max.return.quantity. If not set zero (0) will be used.

See section Cluster Properties of Guide - Setup Intershop Order Management 2.2.

4.3.7 View of Discounted Amounts, Promotions and Discounts

With the enhancement of the OrderService v1.2 also improvements of the user interface were made. Therefore all amounts are now showing discounted values for an all-over consistently view. Discounts and promotions are shown separated.

The affected pages are:

  • Order detail page
  • Order return confirmation modal panel
  • Order return position list
  • Order position details
  • Invoice position tab
  • Credit note creation modal panel

Also email templates and PDF document templates were updated.

4.3.8 Consolidated View of Charged Values at Invoices

To have a more clear view about the several types of booked order values improvements were made on the invoice list.
Therefore the column paid was removed from the customer invoice list and the order invoice view. Further on the invoice details view the label paid was renamed to captured, the status for paid/ charged/ captured was removed. The status for booked remains.

4.4 Customization

4.4.1 Configurable Quartz Jobs

With the new management of cluster jobs as mentioned in section HA of this document, the configuration of cluster jobs was moved to etc/ of the application server. Using the files quartz-cluster.properties and quartz-jobs-cluster.xml cluster jobs can now be configured without any build of deployment artifacts before. Please see Guide - IOM Job Scheduling for more information.

4.4.2 Customizable Email Validation

Using the cluster property is.oms.validation.pattern.email it is now possible to customize the email validation using the given pattern. See section Cluster Properties of Guide - Setup Intershop Order Management 2.2.

4.4.3 Customizable Password Validation

Using the cluster property is.oms.validation.pattern.password  it is now possible to customize the password validation rule using the given pattern.
With is.oms.validation.pattern.password.hint the displayed note, where you can explain the rules for OMT users, can be customized. Both values can be set independently from each other.

See section Cluster Properties of Guide - Setup Intershop Order Management 2.2.

4.5 External Interfaces

4.5.1 Enhanced OrderService v1.2

The OrderService to submit new orders was enhanced to:

  • Better support different calculation models
  • Support further order information next to the order level and order position level
  • Support multiple shipping addresses and multiple freight classes
  • Display more information in the UI, emails and PDF documents

Therefore the OrderService was updated with following information:

  • Additional discounted amounts on different order levels
  • Additional unit information for items, e.g., meter, liter, piece
  • Promotions on order and order position level, e.g., 10% off
  • Cost center on order and order position level. Additionally a project can be noted.
  • The former reserved properties payment, delivery_address, billing_address and reservation became part of the interface.

Note

  • Currently the IOM supports only one shipping address per order. The new OrderService is well prepared to handle different shipping addresses (Position / Shipping attribute shipToAddress). But until the time has come, all positions should point to the same shipping address otherwise the system takes the information from the first position (shipToAddress) during the processing.
  • The attribute shippingMethod (Position / Shipping) pretends that a client can define shipping methods per order position. But that is not the case. We do not recommend to use this attribute.
  • The IOM OrderService v1.1 is declared as deprecated and will disappear in a future IOM version.

Also see Reference - IOM SOAP Web Services

4.5.2 CustomerService v1.1 Supports Night Shipping 

Customer delivery addresses has been extended by the attribute night shipping. It indicates, if night shipping and delivery for a customer address is permitted. Also see Support of Night Shipping Information at Delivery Addresses and Reference - IOM SOAP Web Services

Note

Export Customer (based on CustomerService-v1.0.xsd) is no longer available.

5 Setup & Configuration

The distribution package that contains the binary distribution of Intershop Order Management 2.2 is available in the Product Calendar and consists only of this file:

  • IOM_2.2.0.0.tgz

For installation instructions please read:

Please note that the installation requires installed and preconfigured:

  • JDK 8
  • WildFly 9
  • Postgres 9.6

6 Interface Descriptions

6.1 REST API

6.2 SOAP API

The commented WSDLs are part of the IOM distribution package and can be found in this directory /doc/SOAP.

6.3 Asynchronous Interfaces

6.4 Deprecations

6.5 Removals

7 Fixed Defects


Key Summary
IOM-6705 Missing TypedObject at PaymentNotificationDO while saving payment notification
IOM-6674 Sporadic very slow product import
IOM-6642 Credit note limit is wrong when position is spread over invoices
IOM-6626 Manual Credit Note Fails After Return
IOM-6625 Login fails after a deleted user was created new with the same login name.
IOM-6567 Hibernate-exception while editing an erroneous dispatch
IOM-6533 Order Responses with Wrong Quantities Cause Failure of subsequent Responses
IOM-6516 VelocityTransformer doesn't support UTF-8 encoded includes
IOM-6514 ApprovalResponseDOs marked as invalid
IOM-6513 Non-atomic open amount (XML) export causes duplicate export
IOM-6492 Length check missing in OrderMapperInBean (HouseNumber, StreetName)
IOM-6448 Conflicting Order Responses Create a Deadlock
IOM-6403 Credit note invalid for position which is waiting for aggregated invoice
IOM-6402 Precondition check for invoice number generation doesn't work
IOM-6382 Order invoice list shows negated status in field 'settled'
IOM-6361 Can't create proper order responses for partially dispatched positions
IOM-6354 TransmissionTypeDefDOEnumInterface unchecked cast to TransmissionTypeDefDO
IOM-6353 ATP error when using multiple ShopArticleNo for a same SupplierArticle
IOM-6352 TransmissionTypeDefDO[EnumInterface] uses MessageTypeDefDO instead of EnumInterface
IOM-6347 Manual approval rejection not working while payment approvals are pending
IOM-6346 NullPointerExceptions in ValidateResponsePTBean.identifyPosStateCode4Continuous
IOM-6344 OMT Item search ID type selection is misleading
IOM-6312 SQL injection is possible in OrderStateService
IOM-6310 Country is missing in AddressLO and cannot be used within mail templates
IOM-6309 ShopArticleNo mapping update impossible in some cases
IOM-6249 Exception in OMT order position view ("Rounding necessary")
IOM-6230 Edit order response dialog broken
IOM-6229 Business query "Not refunded returns" incomplete
IOM-6227 Aggregated invoicing: InvoicingDO has empty street
IOM-6225 OMT field outstanding invoice amounts shows wrong value
IOM-6199 update_properties does not reflect syntax errors in exit code
IOM-6194 Return reason combobox too small
IOM-6119 Mail Displayed Twice for Split Order
IOM-6117 Order Response Displays Wrong Purchase Price
IOM-6111 LazyInitializationException when calling returnReportRequest of webservice ReverseService
IOM-6077 Display of long customer numbers breaks OMT layout
IOM-6076 Not able to create dispatches / cancellations in OMT (multiple supplier order)
IOM-6066 ScheduleDO stuck due to race condition in JobHandler
IOM-6059 Rounding issue in Net Based Price Calculation ICM 7.7.2.3/4 und OMS 2.1.1
IOM-6047 OMT Homepage - Item & Customer search does not work
IOM-6005 Return reasons are not displayed properly in OMT
IOM-6000 FTPFileTransferBean causes infinite loop
IOM-5998 "Cancelled" and "Later" quantities are exchanged with icons in Order Receipt tab
IOM-5976 ArticleCollectionForAggregationUpdateDO possibly has duplicates
IOM-5957 update_properties.sh ignores lines, not ending with EOL
IOM-5956 (re)deploy.sh ignores lines, not ending with EOL
IOM-5918 Error creating delivery confirmation in OMT for orders with many positions
IOM-5904 Configured email sender name is not used for customer emails
IOM-5903 OrderMessageLog archive csv does not show the archived data
IOM-5901 openInvoiceAmount of customers is never updated properly
IOM-5835 ShopCustomerMailLogicBean inconsistent behaviour (Payment method)
IOM-5818 validateCancelOrder fails in ReverseService.cancelOrder
IOM-5814 Article export file format does not match to documentation
IOM-5802 javax.persistence.OptimisticLockException: Row was updated or deleted by another transaction
IOM-5798 NullPointerException in OrderDocumentsMapperBean
IOM-5753 WARN: ''quartz-jobs.xml'' does not exist.
IOM-5631 Same id for different states in DocumentStatesDefDO (STATE_INVALID.id == STATE_CLOSED.id)
IOM-5621 Order cancellations have a refund value of 0.00
IOM-5563 JMS Queues in clustered environments: failover
IOM-5504 Possible SQL Injection in Reservation REST API/ArticlePersistenceBean
IOM-5427 Item details page: description looks bad if there is no content provider available
IOM-5395 Stacktrace in the browser after cancelling a cancellation
IOM-5361 Potential NPEs for *PropertyDOs
IOM-5319 CustomerService resets open amounts
IOM-5258 New customers are "hardcoded" B2C customers
IOM-5251 Manual payment notification date is not set properly
IOM-4454 Using browser "Back" button after viewing a search result leads to a technical error
IOM-2634 Duplicate check in ValidateOrderCompletePTBean will add same ValidationException twice for missing existing delivery address for physical item

8 Changelog


8.1 Version Intershop Order Management / 2.2.8

Overview - IOM 2.2.7 - 2.2.8 Migration

8.1.1 Fixed Defects

8.2 Version Intershop Order Management / 2.2.7

8.2.1 New Features

8.2.2 Fixed Defects

8.3 Version Intershop Order Management / 2.2.6

8.3.1 New Features

8.3.2 Fixed Defects

8.4 Version Intershop Order Management / 2.2.5

8.4.1 New Features

8.4.2 Fixed Defects

8.5 Version Intershop Order Management / 2.2.4

8.5.1 Fixed Defects

8.6 Version Intershop Order Management / 2.2.3.1

8.6.1 Fixed Defects

8.7 Version Intershop Order Management / 2.2.3

8.7.1 Fixed Defects

8.8 Version Intershop Order Management / 2.2.2

8.8.1 New Features

8.8.2 Fixed Defects

Key Summary
IOM-7179 Manual credit notes are not considered correctly when creating credit notes for returns
IOM-7165 ShopCustomerMailLogicBean.createShopUserMailInvoicingLO inconsistent behaviour (Payment method)
IOM-7154 Debtor/Invoice transmissions don't reset MessageLogContext and cause MessageLogException
IOM-7151 Retry mechanism for all transmission types broken in latest patch
IOM-7140 Search for order in "Waiting for approval" doesn't work
IOM-7128 Customer search breaks for a 3 level shop hierarchy
IOM-7125 Shop-Supplier check is wrong when looking for article availability in parent shop(s)
IOM-7124 Export files are deleted from the filesystem when the JVM/application server is shut down
IOM-7122 OrderAuthorizationExpireControllerBean creates captures / invoices for orders with incomplete Payment
IOM-7120 Race condition causes Exception in ClosePaymentNotificationQueue when creating two notifications for the same order at the same time
IOM-7099 OrderRecallController / OrderRecallPC functionality is not working
IOM-7093 Cron schedules defined in the table ScheduleDO are not respected at the first run
IOM-7092 The lastRun attribute of ScheduleDO is set to the job creation date instead to the current time on the first run
IOM-7070 Disabling invoice creation via the active-flag is ignored
IOM-7061 discountedItem* prices for undiscounted items not mapped in OrderService 1.2
IOM-7007 All positions of an order are displayed as check failed allthough only some are
IOM-6844 Order search filter breaks when a shop hierarchy contains more than 2 levels

8.9 Version Intershop Order Management / 2.2.1

Please see Overview - IOM 2.2 - 2.2.1 Migration for migration guidelines.

8.9.1 New Features

8.9.2 Deprecations

8.9.3 Fixed Defects

Key Summary
IOM-6881 Faulty EMail validation in OrderController
IOM-6852 Customer specific data are offered by OOTB in Invoice Templates
IOM-6834 NullPointerException when working with multiple tabs on order details page in OMT
IOM-6802 Missleading filter description in OMT order search
IOM-6799 Invoice calculation after a manual credit note doesn't consider the entered values
IOM-6796 Delivered custom password expression doesn't match the default one
IOM-6795 Role assignment is successful without selecting an organisation
IOM-6790 OMT searches with customer attributes is not consistent between the Order and the Customer search results
IOM-6779 Wrong unique constraint on ExecutionBeanValueDO
IOM-6771 Sort articles according to order position in e-mails
IOM-6753 modificationDate of ArticleSupplier(Shop)DO is not updated by OMT
IOM-6730 Non-deterministic carrier name display in OMT
IOM-6725 Order/customer search table only shows 'row number'-column for new users after first login
IOM-6724 OMT displays links to customer detail page without permission "show customer data"
IOM-6721 Cascading delete on Shop2Supplier2ApprovalTypeDefDO may cause orders to get stuck
IOM-6671 Expanded Payment methods do not show up as filter in the order search
IOM-6583 WebService CustomerService/v1.1 throws 'Unable to throw real Exception' if id was set
IOM-6549 Bootstrap dateRangePicker does not close using Close Icon
IOM-6528 Response & Response Position Properties are not processed / stored into the database
IOM-6527 Return & Return Position Properties are not processed / stored into the database
IOM-6523 Dispatch & Dispatch Position Properties are not processed / stored into the database
IOM-6289 Double error message "not authorized" while confirming not permitted order cancellation
IOM-5898 JobHandler suppresses Stacktraces
IOM-5644 ScheduleDO is automatically activated after job run when it was deactivated during job run
IOM-5512 Help tool tips are not respected in tab order of user creation dialog

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets