Compile Time Changes

Variants Table in Catalog Creator is no longer editable

As catalog has moved towards using constraints tables instead, we are deprecating support for variants tables. They will no longer be editable from the catalog creator and will be read only from 17.5 onwards. The user can migrate their variant tables to constraint tables using the migrate button in catalog creator.

The following methods have in the custom.dataCatalog.build.variantsTables package been removed:

class DcVariantsTableCard

Removed: method public bool dropFiles(DropFiles drop)
Removed: method extend public void importXLS()

class DcVariantsTableGridSubWindow

Removed: field public DsButton replaceBtn;
Removed: method extend public bool nameTxtEvent(str msg, Object value=null)
Removed: extend public bool importBtnEvent(str msg, Object value=null)

class DcVariantsTableToolboxSubWindow

Removed: field public DsButton importBtn;
Removed: field public DsButton newBtn;
Removed: field public DsButton deleteBtn;
Removed: method extend public bool importBtnEvent(str msg=null, Object value=null)
Removed: method extend public bool deleteBtnEvent(str msg=null, Object value=null)
Removed: method extend public bool newBtnEvent(str msg=null, Object value=null)

Performance improvement for loop detection in additional products and features

Previous when additional products and/or catalog features were deeply nested, there were sometimes performance issues when adding additional products and/or features in the catalog creator. We have updated the algorithm to be more efficient to improve such performance issues.

functions.cm

The following interfaces have changed in custom.dataCatalog.functions.cm

Old: public bool dcFeatureLoop(DsProductType prod, DataCatalog catalog, str[] soFar=null,
			       str{} validated=null, bool useCache=true) {
new: public bool dcFeatureLoop(DsProductType prod, DataCatalog catalog,
			       str{} visiting=null, str{} validated=null) {
Old: public bool dcFeatureLoop(DsProductType prod, DataCatalog catalog, str[] soFar=null,
			       str{} validated=null, bool useCache=true) {
new: public bool dcFeatureLoop(DsProductType prod, DataCatalog catalog,
			       str{} visiting=null, str{} validated=null) {
Old: public bool dcAdditionalProductLoop(DsProductType prod, DataCatalog catalog, str[] features=null, str[] products=null, str{} validatedFeatures=null, str{} validatedProducts=null, bool useCache=true) {
New: public bool dcAdditionalProductLoop(DsProductType prod, DataCatalog catalog, time timelimit=time(0)) {
Removed: public bool dcAdditionalProductLoop(DsProductType prod, DataCatalog catalog, time timelimit,
				    str[] features=null, str[] products=null,
				    str{} validatedFeatures=null, str{} validatedProducts=null,
				    bool useCache=true) {

Performance improvements when copy/paste/delete/undo material applications in the Options grid window

Fixed an issue where CET would get stuck when performing copy/paste/delete/undo actions in the material application column in the Options grid window.

The following interfaces have changed in custom.dataCatalog

** class DcDBBuilderEditFeaturesCard**

Old: extend public void triggerUpdate(Option opt) {
New: extend public void triggerUpdate(Option opt, bool synchronize=true) {