Pricefx Studio v2 Release Notes

This document summarizes major improvements and changes introduced in Pricefx Studio. 

Pricefx Studio 2.3 (build 1240)

Major Changes

  • Only IDEA 2017 and higher is now supported.
  • The way Pricefx Studio works with files was significantly reworked: the Pricefx Studio plugin now uses the internal virtual file system in IDEA, so there is no need to push the 'Sync' action to get files. 
  • You can get the most recent JavaDoc if you apply 'Add framework support' > Pricefx to the existing project.  

Added Auto-completion Support for:

  • lib – Injected variable for Groovy library elements. The __LIBRARY__ logic must be present on the disk and its folder must be part of "Sources" in the module setting.
  • api.product() – Lists the possible Product fields + their labels defined in PFX.
  • api.inUserGroup() – Lists the user groups defined in PFX.
  • api.findDataLoad – Lists the data loads defined in PFX.
  • api.getManualOverride(), api.removeManualOverride() – Lists available elements.
  • api.vLookup, api.findLookupTable(), api.findLookupTableValues() – Lists the lookup tables defined in PFX.
  • api.pricelist(), api.pricelistItem(), api.getPricelistItem() – Lists the price lists defined in PFX.
  • api.customerExtension(), api.productExtension() – Lists the extensions defined in PFX.
    For the auto-completions with connection to Pricefx defined above, the first connection in config.groovy is used. The values are fetched only the first time and cached.

  • api.find(), api.count(), api.add(), api.addOrUpdate(), api.update(), api.delete(), api.stream(), api.emitPersistentObject() – Lists available type codes.
  • actionbuilder injected variable
  • quoteProcessor injected variable
  • raProcessor injected variable
  • rebateRecords injected variable
  • quoteProcessor injected variable
  • ConfiguratorEntry object
  • ContextParameter object
  • DashboardController object
  • DatamartContext object
  • DatamartRowSet object
  • ResultFlexChar object
  • ResultGauge object
  • TableContext object

Other New Features and Changes

  • Pricefx API JavaDoc was updated to the last version. Requires re-applying 'Add framework support' > Pricefx to the existing project.
  • Elements can be sorted now.
  • Recently used environment and partition is now remembered in the Fetch/Deploy tool windows whenever the config.groovy file is changed.
  • Element timeout is now added in the edit element form.
  • Editing of an element does not do unexpected changes of: null => empty string in logic.json anymore.
  • Logic name is now shown as the title in the editor of the logic.json file.
  • Debugging as a beta version added. Requires re-applying 'Add framework support' > Pricefx to the existing project.

Live Template Support

Live template support was added. 

  • Typing "pfxfind" <ENTER> will paste a common code snippet for api.find().
  • Typing "pfxquery" <ENTER> will paste a common code snippet for writing a DM query using api.getDatamartContext().

More functionality will be added later. You can create your own templates in File > Editor > Live Templates > PriceFx.

Pricefx Studio 2.2 (build 962)

There is a major change of behaviour in the deploy action: it now takes the 'Valid after' date into consideration, whereas previously the latest active logic from the target environment was used.

Extended Scope

Pricefx Studio newly supports:

  • Formula test of Workflow logics, rebates and contract.
  • Fetching logics with different 'Valid after' dates or with 'Status' set to Inactive.
    (warning) Keep in mind that logics with different 'Valid after' dates are fetched to the same logic directory, so make sure you fetch one valid logic at a time!

Improvements in User Interface

  • Added buttons for filtering logics based on their formulaNature (pricing logics, Groovy library, matrix, CFs, quotes, PA, rebates, contract, workflow).
  • Logic's 'Valid after' is now shown in the logic's list in the fetch tool window.
  • Logic's 'Name', 'Valid after' and 'Status' are now shown in the logic.json editor.

Bugfixes

  • Object browser crashes when viewing results of a Map class.

Pricefx Studio 2.1

Improvements

  • The actions Fetch and Deploy can now be permanently displayed on the right side of the IDEA window, so that you can access them faster whenever needed. By default, they are hidden; to have them displayed, go to the View menu > Tools Buttons.
  • There is better support for entering the test parameters. On the Test Logic tab there is a new Parameters sub-tab where you can generate parameters, save them as a preset or have them pre-filled with values from the last run. As a consequence, the params.json file is no longer used/created.

Pricefx Studio 2.0

Changes

New Structure of logic.json

The logic.json file has a slightly different structure – but this change is handled by Pricefx Studio. When you open logic.json with the old format, Pricefx Studio converts it to the new format automatically. The only impact is if you use a versioning system (GIT, CSV, ...) – then you have to commit logic.json with the new structure.

The change is that the following part was removed:

{
  "response" : {
    "data" : [
    <-- only the content between these arrows remains from now on -->
    ],
    "status" : null
  }
}

Improvements

Improvements in Logic Testing

Pricefx Studio newly supports: 

Improved usability:

  • There are new icons to addedit or remove elements; you don't have to do these changes in the code manually.  
  • It is possible to use a quick search field for a list of elements.
  • red icon is shown for an element that had a parse or runtime error. Clicking on this icon takes you to the exact place where the error was found. (This functionality requires the Mai Tai version. )
  • A new object browser that displays structure of the element results or element traces that are arrays and objects (like the IDEA debugger panel).
  • If the targetDate parameter is not defined in params.json, Pricefx Studio will automatically set it to the current date. 

Improved navigation:

Improved look & feel:

  • Space on the screen is better utilized.
  • Column sizes in element result traces better correspond to their content.
  • There is a better look & feel thanks to using the native IDEA UI components. 

Performance Improvements

  • Logic deployment is now faster.
  • Logic test run is faster thanks to having the logic parsing optimized.

Found an issue in documentation? Write to us.