View source | Discuss this page | Page history | Printable version   

Retail:API changes

This article is protected against manual editing because it is automatically generated from Openbravo meta-data. Learn more about writing and translating such documents.

Contents

Openbravo Retail Distribution - API changes

This document explains all changes happened in the public API of the modules contained in the retail release. These changes are a potential risk of module breakage so all of them have been reviewed and explicitly approved. Every time a new change happen it will be included in this list.


Bulbgraph.png   Since 22Q3 API changes are tracked centrally here and no longer split by ERP / Retail

RR22Q2

ID Module Type Description Risk Comments
RR22Q2.1 Mobile Core removed store server code from login flow Removed:
  • method org.openbravo.mobile.core.login.MobileCoreLoginHandler.isErpAccessRestrictedInStoreServer
  • method org.openbravo.mobile.core.login.MobileCoreLoginHandler.isLoginAccessRestrictedInStoreServer
Low See 48363

RR22Q1

ID Module Type Description Risk Comments
RR22Q1.1 POS Terminal API change: DB model changes The following DB columns are no longer mandatory:
  • OBPOS_PRINT_TEMPLATE.AD_MODULE_ID
  • OBPOS_PRINT_TEMPLATE.TEMPLATE_PATH
  • OBPOS_PRINT_TEMPLATE_SUBREP.AD_MODULE_ID
  • OBPOS_PRINT_TEMPLATE_SUBREP.TEMPLATE_PATH
Low See 47735


RR22Q1.2 Mobile Core and POS Terminal Remove unused elements related to obsolete storeserver The following preference has been removed
  • AD_REF_LIST 0E0B0BD0186E4CD68B59474B83E451F6 / "OBMOBC_RequestRouterPingTime"

The following java methos has been removed

  • org.openbravo.retail.posterminal.LoginUtilsServlet.getServers
Low See 48190
RR22Q1.3 Mobile Core and POS Terminal Remove synchronized-mode related code Several Java and Javascript related functions and methods related to the synchronized mode have been removed. The synchronized mode itself didn't work since 20Q4, but many artifacts that remained in the code have now been cleaned up. Low See 48139
RR22Q1.4 Mobile Core and POS Terminal Remove unused elements related to obsolete storeserver Many classes and AD records related to store server have been removed. Essentially all store server-related infrastructure has been deleted from mobile.core module. Low See 48227
RR22Q1.5 Mobile Core New field in Organization window must be empty or a positive number A new field has been added to the Organization window, it includes a constraint to ensure its value is null or a positive number. The value of this field is null by default, so all the current organization entries will comply with the constraint Low See 48325

RR21Q4

No Changes

RR21Q3

No Changes

RR21Q2

ID Module Type Description Risk Comments
RR21Q2.1 POS Terminal API change: unsupported print related APIs Register templates programmatically using OB.OBPOSPointOfSale.Print.ReceiptTemplate is no longer supported.

OB.OBPOSPointOfSale.OfflinePrinter is no longer used by the print engine.

Medium See 45821

RR21Q1

No Changes

RR20Q4

No Changes

RR20Q3

ID Module Type Description Risk Comments
RR20Q3.1 POS Terminal Brand has been removed The brand functionality has been removed, and has been reimplemented as a generic product characteristic. A modulescript has been provided as part of the update. This modulescript generates a normal product characteristic, and reassociates all relevant products properly. The functionality itself, including the ability to filter by brand in the WebPOS, continues to work as usual, but the corresponding tables and entities have been removed, so code directly reading them will need to be changed. Medium See 43655
RR20Q3.2 POS Terminal Search filter configuration The search filter configuration has been removed, because it didn't apply anymore after the changes due to the way filtering takes place with IndexedDB Low See 43656
RR20Q3.3 POS Terminal Old discounts engine has been removed As already announced, the old discounts engine has been removed. In 19Q4 and onwards, it was already replaced by the new discounts engine by default, and only available if a specific preference was set. Now it has been completely removed as part of the changes to support IndexedDB. All standard rules were already reimplemented and should work in a reasonably equivalent way as before, but custom rules will need to be reimplemented so that they work correctly in the new engine. Medium See 43658
RR20Q3.4 POS Terminal ReturnReason class has been repackaged The ReturnReason model has been refactored into a terminal property, as the number of records is always quite small. As part of this change, the corresponding ReturnReason class has been changed to extend a different superclass. Low See 43658
RR20Q3.5 POS Terminal API Change related to Document Sequence refactor Replaced following methods by improved POSUtils.getLastTerminalDocumentSequence method: POSUtils.getLastDocumentNumberForPOS, POSUtils.getLastDocumentNumberQuotationForPOS and POSUtils.getLastDocumentNumberReturnForPOS.

Remove useOrderDocumentNoForRelatedDocs and docNoHandlers parameters from InvoiceUtils.createNewInvoice method.

Remove useOrderDocumentNoForRelatedDocs parameter from ShipmentUtils.createNewShipment method.

Removed following preferences: "Web POS restrict invoice if no tax ID" and "Use Order Document Number for Related Docs".

Low See 44046


RR20Q3.6 POS Terminal API change: Restored constraint in Touchpoint Type Restored constraint in Payment Methods in Touchpoint Type for payment groups.

The constraint that relates the fields payment group and payment method type has to be restored to enforce proper configuration.

Low See 44070

RR20Q2

ID Module Type Description Risk Comments
RR20Q2.1 Mobile Core Merge LogClient with TerminalLog The technical log part is now included in the main TerminalLog infrastructure. As a result, several preferences have been removed, and the LogClientLoader class has also been removed because now the information goes through the TerminalLogLoader class Low See 43289


RR20Q1

ID Module Type Description Risk Comments
RR20Q1.1 POS Terminal Remove Sort Customer Fields functionality Remove Sort Customer Fields functionality - It is recommended to order the fields by css style. Low See 42083

RR19Q4

No Changes

RR19Q3

ID Module Type Description Risk Comments
RR19Q3.1 POS Terminal API Change related to removal of product properties in the Order JSON In POS, When saving the receipt, product model property with "saveToReceipt" as true will be saved in Order JSON. Low See 40677
RR19Q3.2 POS Terminal API Change: replace OBPOS_ShowBusinessPartnerBirthInfo preference by C360 preferences Birthdate and birthplace are managed currently in webpos by OBPOS_ShowBusinessPartnerBirthInfo.

In order to show only birthdate as a new field from Customer 360 view two new preferences, one for each field, are going to be created to replace existing one to allow to either show only one field, the other or both.

Low See 40953
RR19Q3.3 POS Terminal API Change to remove an unused dataset As part of UI Configuration project an unneded dataset was detected and removed Low See 41082
RR19Q3.4 Mobile Core API Change: Remove unused method Removed unused executeRequest method in MobileServerRequestExecutor Low See 41177

RR19Q2.3

No Changes

RR19Q2.2

No Changes

RR19Q2.1

No Changes

RR19Q2

ID Module Type Description Risk Comments
RR19Q2.1 POS Terminal API Change related to Assignation of document types refactor As part of Assignation of document types refactor document types columns are moved from “Channel - Touchpoint Type” window to “Organization” window.

Document type column in “Channel - Touchpoint Type / Payment method” is removed.

Low See 40083
RR19Q2.2 Mobile core API Change related to removal of internal technical field of Mobile Server window As part of a simplication effort a column (OFFLINE_INCOMING_ERRORS) was removed from the OBMOBC_SERVER_DEFINITION table. This column was used to track that incoming errors exist when going offline. Better analysis of the use cases showed that this column was not needed. Low See 40287
RR19Q2.3 Retail Config Java API changes for PLM Status The Product Life-cycle Management Status functionality has changed in some functional dependencies. Two event handlers are not needed anymore. Low See 40356
RR19Q2.4 Retail Config Database API changes for PLM Status The Product Life-cycle Management Status functionality has changed in some functional dependencies. Some callouts and other records that are not needed must be removed. Low See 40357

RR19Q1

ID Module Type Description Risk Comments
RR19Q1.1 POS Terminal OrderLoader has been changed significantly The OrderLoader has been changed significantly, as part of the functional improvements to support Prepayments and Invoice Terms. However, all developer hooks work exactly in the same way, and the API for them has been preserved, except for the single case of the CancelLayawayPaymentsHook, which has been removed as the Cancel Layaway functionality has been refactored to work with OrderLoader also. Medium See 39696


RR19Q1.2 POS Terminal Javascript changes related to prepayments and invoice terms The receipt property "paidOnCredit" has been changed to "payOnCredit", when working in a new ticket. When a ticket is loaded from backend, "paidOnCredit" has been preserved. Property "paidInNegativeStatusAmt" has been removed, as its been super-seeded by the new API to compute the payment status. Low See 39697
RR19Q1.3 POS Terminal Column "EM_OBPOS_LAYAWAY_PARTPAID" in ad_org has been removed It's no longer possible to void a layaway which contains payments, so this column, which allowed to specify if this was allowed, is no longer relevant. Layaways which contain payments should be cancelled instead. Low See 39698
RR19Q1.4 POS Terminal The size of column "LOGLEVEL" in logclient table has been changed This column has been transformed into a reflist, and therefore its size has been changed. Low See 39700
RR19Q1.5 POS Terminal Old receipt selector component has been removed With the last Pay Open Ticket refactor, the last component which used the old receipt selector component has been modified. The old selector component was already deprecated, because it did not work well with high volumes of data, and in this release has now been removed. Both the UI component, and the PaidReceiptsHeader class have been removed, and can no longer be used or extended. Medium See 39741
RR19Q1.6 POS Terminal ProductStock does not longer extends Product, now extends just ProcessHQLQuery. This change is done in order to reuse Product functions createRegularProductHql() and createRegularProductValues() by different master data classes for Products without needed to extend the Product class. The behaviour and methods of the class remains the same and it is not expected any class from other module to extend or use 'ProductStock' in order to invoke Product methods. Low See 39948

RR18Q4.3

No Changes

RR18Q4.2

No Changes

RR18Q4.1

No Changes

RR18Q4

ID Module Type Description Risk Comments
RR18Q4.1 POS Terminal Refactor verified returns selector Removed old selector, and created new one.

In the code many methods and variables called "paidReceipts", renamed to "verifiedReturns".

Medium See 39117
RR18Q4.2 POS Terminal PaidReceiptsHeader deprecated After the verified receipts selector refactor, only pay open tickets selector is using this class.

New selectors open receipts, business partner and verified returns uses the new class PaidReceiptsFilter.

The class will be removed in a future release.

Low See 39118


RR18Q4.3 POS Terminal CheckApproval class has been transformed into a servlet CheckApproval class has been transformed into a servlet, so that it can also be called from the login screen. Low See 38776


RR18Q4.4 POS Terminal Duplicated preference "Web POS action create and edit customers" is causing confusion and needs to be removed This preference was added later and collides with some other preferences like "Web POS action edit customer" which already existed, so it has been removed. Low See 39241

RR18Q3.5

No Changes

RR18Q3.4

No Changes

RR18Q3.3

No Changes

RR18Q3.2

No Changes

RR18Q3.1

No Changes

PR18Q4.2

No Changes

PR18Q4.1

No Changes

RR18Q4

ID Module Type Description Risk Comments
RR18Q4.1 POS Terminal Refactor verified returns selector Removed old selector, and created new one.

In the code many methods and variables called "paidReceipts", renamed to "verifiedReturns".

Medium See 39117
RR18Q4.2 POS Terminal PaidReceiptsHeader deprecated After the verified receipts selector refactor, only pay open tickets selector is using this class.

New selectors open receipts, business partner and verified returns uses the new class PaidReceiptsFilter.

The class will be removed in a future release.

Low See 39118


RR18Q4.3 POS Terminal CheckApproval class has been transformed into a servlet CheckApproval class has been transformed into a servlet, so that it can also be called from the login screen. Low See 38776


RR18Q4.4 POS Terminal Duplicated preference "Web POS action create and edit customers" is causing confusion and needs to be removed This preference was added later and collides with some other preferences like "Web POS action edit customer" which already existed, so it has been removed. Low See 39241

PR18Q3.5

No Changes

PR18Q3.4

No Changes

PR18Q3.3

No Changes

PR18Q3.2

No Changes

PR18Q3.1

No Changes

RR18Q3

ID Module Type Description Risk Comments
RR18Q3.1 Retail Config & POS Terminal Delete of obsolete URL mappings for callouts Since 17Q1 no url-mappings in web.xml are generated for any callout. This change removes the obsolete rows from table ad_model_object_mapping None See 38369

RR18Q2.2

No Changes

RR18Q2.1

No Changes

RR18Q2

ID Module Type Description Risk Comments
RR18Q2.1 POS Terminal Removed jQuery library The WebPOS already has the Zepto library, which covers all relevant functionality. jQuery was unnecessary, so it has been removed as part of some efforts to optimize the login speed. Medium
RR18Q2.2 POS Terminal A new check constraint needs to be added to obpos_userterminal_access Before it was possible to add give access to a terminal multiple times for a given user. With this check constraint, it's no longer possible to do it. Low See 38088
RR18Q2.3 Mobile Core Multi Server Several methods of MultiServerJSONProcess have been removed as they are not being used anymore These are the following methods of the class org.openbravo.mobile.core.servercontroller.MultiServerJSONProcess: afterReturnFromCentral, executeFromWebPOSInCentral and executeFromWebPOSInStore Low See 38123
RR18Q2.4 Mobile Core Multi Server Removed class used for synchronized cashup Class is not needed anymore as from now on standard retail cashup classes are used. Removed class: org.openbravo.retail.posterminal.master.CashupSynchronized Low See 38123
RR18Q2.5 POS Terminal New parameter to createLinesForServiceProduct Added new parameter and set to private createLinesForServiceProduct funtion in OrderLoader process Low See 38156
RR18Q2.6 POS Terminal Remove many png's files Replaced png's files with svg's files that has less size and scales better Low See 38417

RR18Q1.3

No Changes

RR18Q1.2

No Changes

PR18Q1.1

No Changes

RR18Q1

ID Module Type Description Risk Comments
RR18Q1.1 POS Terminal Change delete line API Old API to delete lines (order.deleteLine() and order.deleteLines()) has been deprecated. It should no longer be used, and will cause problems if called on a ticket which contains services or complementary products. The new API order.deleteLinesFromOrder() must be used from now on. Medium See 35741
RR18Q1.2 POS Terminal Logclient now stores its data in a CLOB/TEXT column Previously the data in logclient was stored in a Varchar column, and therefore it had to be truncated. Now it is stored in a CLOB/TEXT column, which means that it is not truncated anymore, but the data type has changed and therefore the generated DAL method receives and generates a different type of parameter. Low See 37468

RR17Q4

ID Module Type Description Risk Comments
RR17Q4.1 POS Terminal Change in c_bpartner table

All columns with address information have been removed. We already have that information in c_bpartner_location table. Removed columns: 'locId', 'locName', 'postalCode', 'cityName', 'regionId', 'countryId', 'countryName', 'shipLocId', 'shipLocName', 'shipPostalCode', 'shipCityName', 'shipRegionId', 'shipCountryId'.
The suggested way to read the location properties is to read them from the location objects in the receipt. The existing properties have been preserved for compatibility purposes inside the business partner object, but specially if there are customizations which add more properties to the location, the proper place to read them from is both location objects (billing and shipping) from the receipt model.

Medium See 36515
RR17Q4.2 POS Terminal Change in OrderLoader process

Some methods have been changed from protected to private. The OrderLoader itself could not be extended after the change done in 15Q3 and the addition of the ImportEntry functionality, so the change is done mainly to prevent future misunderstanding.

Low See 36614

RR17Q3.1

No Changes.

RR17Q3

No Changes.

RR17Q2.4

No Changes.

RR17Q2.3

No Changes.

RR17Q2.2

No Changes.

RR17Q2.1

No Changes.

RR17Q2

ID Module Type Description Risk Comments
RR17Q2.1 POS Terminal Change in OBPOS_PAYMENTMETHODCASHUP table

Field STARTINGCASH default value 0
Field TOTALSALES default value 0
Field TOTALRETURNS default value 0
Field AMOUNTTOKEEP default value 0 and not null

Low See 35472
RR17Q2.2 Mobile Core Removed class WritableOrganizations The process implemented in WritableOrganizations is no longer used by any retail module Low See 35630
RR17Q2.3 Retail Discounts Change in column EM_OBDISC_IDENTIFIER of the C_Orderline_offer table Column EM_OBDISC_IDENTIFIER length has been increased from 50 to 100 Low See 35342
RR17Q2.3 Mobile Core additionalCheckForDuplicates has been removed In previous versions of the Web POS, there was a mechanism called additionalCheckForDuplicates. This mechanism became obsolete with the arrival of the Import Entry functionality, and therefore has been ermoved. Low See 35293

RR17Q1.3

No Changes.

RR17Q1.2

No Changes.

RR17Q1.1

No Changes.

RR17Q1

No Changes.

RR16Q4.2

No Changes.

RR16Q4.1

No Changes.

RR16Q4

ID Module Type Description Risk Comments
RR16Q4.1 POS Terminal Change in orderLoader to avoid unneeded query createShipmentLines method now receives the locator list Low See 33732

RR16Q3.3

No Changes.

RR16Q3.2

No Changes.

RR16Q3.1

ID Module Type Description Risk Comments
RR16Q3.1.1 POS Terminal Change in orderLoader to avoid unneeded query createShipmentLines method now receives the locator list Low See 33732

RR16Q3

No Changes.

RR16Q2.4

No Changes

RR16Q2.3

No Changes

RR16Q2.2

No Changes

RR16Q2.1

ID Module Type Description Risk Comments
RR16Q2.1.1 POS Terminal Change in orderLoader to avoid unneeded query createShipmentLines method now receives the locator list Low See 33732

RR16Q2

No Changes

RR16Q1.3

No Changes.

RR16Q1.2

No Changes.

RR16Q1.1

No Changes.

RR16Q1

ID Module Type Description Risk Comments
RR16Q1.1 Mobile Core Add the ability to add parameters to getHqlProperties function Add the ability to add parameters to getHqlProperties function Low See 31572
RR16Q1.2 POS Terminal Change POSImportEntryProcessor to use Business Event Handler concept POSImportEntryProcessor now extends EntityPersistenceEventObserver instead of ImportEntryPreProcessor class Low See 31650

RR15Q4.5

No Changes.

RR15Q4.4

No Changes.

RR15Q4.3

No Changes.

RR15Q4.2

No Changes.

RR15Q4.1

No Changes.

RR15Q4

No Changes.

RR15Q3.4

No Changes.

RR15Q3.3

No Changes.

RR15Q3.2

No Changes.

RR15Q3.1

No Changes.

RR15Q3

ID Module Type Description Risk Comments
RR15Q3.1 Discounts Loader classes are not extensible As the data synchronization process of the Web POS changed significantly in this release, the ability to extend Loader classes (such as the OrderLoader) doesn't work anymore. This means that even if there is a child of any Loader class, and this class is registered in the client side, it won't be used in the backend to import the data. More information about this change can be found here.

It's important to remark that this way of adding new functionality to the Loading process was never intended, it was always dangerous (as overwriting our methods had the risk of losing bug fixes and new functionality if done improperly) and never worked completely (for example, it never worked if records ended up in the 'Errors while importing POS data' window and users tried to "Save again" the record).

This functionality has been replaced by the already existing hooks, so all developers are encouraged to use them to add new functionality to the Loader classes.

Low See this page for more information about the data synchronization changes.

RR15Q2.5

No Changes.

RR15Q2.4

No Changes.

RR15Q2.3

No Changes.

RR15Q2.2

No Changes.

RR15Q2.1

No Changes.

RR15Q2

ID Module Type Description Risk Comments
RR15Q2.1 Discounts AD Element has been removed The AD Element 'Discount percentage to apply' has been removed because it is not used in this module. It has been moved to the module 'discounts by total' Low See 29834
RR15Q2.2 POS Terminal Two mandatory fields now accept null values Now the fields Financial Account of POS Terminal Window / Payment Type Tab and Cash Differences from POS Terminal Type Window / Payment Method Tab allow null values. See the issue for more information. Low See 27722

RR15Q1.4

No Changes.

RR15Q1.3

No Changes.

RR15Q1.2

No Changes.

RR15Q1.1

No Changes.

RR15Q1

No Changes.

RR14Q4

ID Module Type Description Risk Comments
RR14Q4.1 Mobile Core Changed URL to retrieve (static) content before login The recommended URl for retrieving content generated by components before logging in has changed. See the issue for more information. Low See 27248
RR14Q4.2 Mobile Core New method to access the HookManager in client side javascript The HookManager is now accessible through this javascript: OB.UTIL.HookManager. The old method through the OB.MobileApp.model.hookManager is deprecated. See the issue for more information. Low See 27349

RR14Q2.4

ID Module Type Description Risk Comments
RR14Q2.4.1 Mobile Core Changed URL to retrieve (static) content before login The recommended URl for retrieving content generated by components before logging in has changed. See the issue for more information. Low See 27248

Retrieved from "http://wiki.openbravo.com/wiki/Retail:API_changes"

This page has been accessed 22,061 times. This page was last modified on 7 July 2022, at 08:29. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.