Pricefx Studio v4 Release Notes

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

Pricefx Studio 4.8 (build 173.2335)

After upgrade, follow these steps: Upgrade Studio Project Libraries

New features

Bug Fixes

  • PFAUT-296 bugfix: Workflow logic test execute was crashing every time
  • PFAUT-304 bugfix: Auto-completion for 'lib' and 'libs' did not work if the logic contained a non-groovy element
  • PFAUT-102 bugfix of searching SKU in PfxTextFieldWithAutoCompletion
  • PFAUT-306 added support for Rebate agreement templates and Rebate agreement template attributes

Improvements

  • PFAUT-299 PA SQL query console can now be used for displaying other types than Grid results - so it can be used in a similar way as the Groovy console for all functions that do not use parameters
  • PFAUT-300 Added auto completion of typeCode members for api.find and api.stream
  • PFCD-5053 Massive Groovy API JavaDoc enhancements. The documentation can be displayed by pressing CTRL +J (Win) or F1 (Mac). What has been updated: 
    • extended with more information
    • included best practices from the configuration point of view
    • added code samples added for majority of functions (Example:)
    • deprecated a few functions (@ deprecated)
    • added links to similar functions (@ see)
    • added links to reference documentations (@ see)
    • added reference to system (=server) variables
    • added references to UI (targetDate, addWarning, …)
    • fixed various typos
  • PFAUT-286 Product group type is now supported in Parameters
  • PFCD-4870 Saved charts are now supported for fetch/deploy

UI changes

  • PFAUT-289 UI component for api.option() now shows the labels (in the Parameters tab of the logic editor)
  • PFAUT-288 Save button in the element editor has been moved to the top of the panel
  • PFAUT-297 Scrollbars added in the element result popup dialog

Pricefx Studio 4.7 (build 173.2272)

New features

  • PFAUT-211 Added support for Price Records metadata (fetch/deploy)
  • PFAUT-172 Added support for MessageTemplates (fetch/deploy)

Improvements

  • PFAUT-102 Auto-completion for parameters (e.g. SKU) done by IDEA component
  • PFAUT-256 Auto-completion for DIMFILTERENTRY parameters done IDEA component

Bug Fixes

  • PFAUT-283 Fetch all stopped working in the last release
  • PFAUT-186 Not possible to enter custom condition in the element condition field
  • PFAUT-252 Various small fixes of header logics

Pricefx Studio 4.6.2 (build 173.2231)

Bug Fixes

  • Generation of parameters crashed (a bug was introduced in the previous release)
  • PFAUT-267 PA SQL query console does not work when a proxy server is used
  • Bugfix: Groovy console evalution of api.productExtension, api.productCompetition, api.productXRef when filters were used

Pricefx Studio 4.6.1 (build 173.2218)

Bug Fixes

  • PFAUT-275 Fixed a bug that when a logic deployment failed, the summary popup box displayed OK
  • PFAUT-268 Logic testing of api.decimalUserEntry does not return string anymore
  • PFAUT-278 Generate parameters crashes when DS has no records

Improvements

  • PFAUT-267 PA SQL query console improved so it supports DS/DM fields selection and generation of the result Groovy element
  • PFAUT-275 Error handling reworked and unified, PFX error messages (such as "Login failure" etc.) are now propagated to the user
  • PFAUT-277 Rank attribute from DS/DM field to main source.json / datamart.json file
  • PFAUT-102 Load possible parameters values

Minor Adjustments

  • The last element result is pre-selected (including the api.traces()) when running a new test.

Pricefx Studio 4.6 (build 173.2203)

Bug Fixes

  • PFCD-4249 Element results and api.trace() of type Map or List are now supported by the result popup tree browser (requires the Salty Dog release)
  • PFCD-3333 Error line number is now correct when calling a function from another element
  • PFCD-4193 Failing element was listed twice in a test formula list when calling a function from another element
  • PFAUT-245 Cannot run Workflow formula test for price lists
  • PFAUT-250 Parameters generation failed when using configurators
  • PFAUT-238 Deployment of Customer attributes was fixed
  • PFAUT-239 Deploy of RebateTypeAttributes and RebetaRecordAttributes was fixed
  • PFAUT-265 Saving results of a logic test caused corruption of logic.json
  • PFAUT-255 Fixed fetching of dashboards not to be environment specific

New Features

  • PFAUT-267 PA SQL query console (available in Tools → PA SQL console)
  • PFAUT-112 Logics quick search (use CTRL+SHIFT+L in Windows, ⌘+SHIFT+L on Mac).  On Windows, you may need to remove the secondary shortcut for "Find Previous" in Settings → Keymap. On Mac, you may need to disable the global setting in System Preferences → Keyboard → Shortcuts → Services → Search with Google.
  • PFAUT-246 Added auto-completion for getDataSource() and getDataMart()
  • PFAUT-217 api.getElement() now alerts if the element doesn't exist (e.g. after renaming). Similarly, some other functions check the existence of PX, LT etc.
  • PFAUT-231 Possibility to fetch complete configuration of a partition (= fetch all objects)
  • PFAUT-229 Added option "With preferences" when fetching/deploying P, PP or PX/CX
  • PFAUT-261 Debug support / Groovy console support for api.getPricelistSummaryQuery, api.getPriceGridSummaryQuery(), api.getRebateRecordSummaryQuery(), api.getSimulationSummaryQuery()
  • PFAUT-262 Added auto-completion support for Calendar, Table, Column in DatamartContext
  • PFAUT-256 Added options for parameter type DMDIMFILTER
  • PFAUT-252 Test formula for the header logic
  • PFAUT-251 Support for matrix price lists and price lists in Test formula

Improvements

  • PFAUT-270 Groovy console output moved from the logic.json editor to the PfxResult tool window
  • PFAUT-241 Refresh icon on the Fetch/Deploy panels
  • PFAUT-240 Display FormulaNature in logic.json editor

Minor Adjustments

  • PFAUT-243, PFAUT-244 Change the name of Sandbox to something more intuitive

Pricefx Studio 4.5 (build 173.2094)

This version was released mainly to fix a serious bug – generation of parameters crashed with the new Cuba Libre PR4 backend.

Bug Fixes

  • Critical: PFAUT-235 Cannot generate parameters after latest PFX release
  • PFAUT-181 Proxy server is not working since IDEA 2017.3.2
  • PFAUT-206 Pricing parameters with references to other PP doesn't gets lost
  • Result view dialog crashed if the result was not valid JSON.

New Feature

  • Logic.json editor: The User group field can be viewed/edited (as a text field for now). Values are separated by "," without space.

Pricefx Studio 4.4 (build 173.2031)

This version was released mainly to fix a serious bug – crash when creating a new project.

Bug Fixes

  • Critical: creating a new IDEA project with the PFX support crashed.
  • The alert fields are not properly saved when editing, fetching or during deployment.
  • Auto-completion of 'libs' inside the Groovy library was not working.
  • Problem with configurators raising an exception was fixed.

Feature

  • Flag allow override is now supported in the logic.json editor.
  • Evaluate expression now shows results of api.findLookupTableValues() in a grid as well.

Pricefx Studio 4.3 (build 173.1979)

Upgrade Instructions

Update the project libraries as described in Step 3 in Upgrading Logic Manager to Pricefx Studio.

Bug Fixes

  • Metadata tool window exception thrown after opening a new project without config.groovy.
  • Auto-completion did not work if the metadata had not been loaded by the Metadadata window before.
  • Element copy caused formulaExpression to be saved in the logic.json. Kindly remove any formulaExpression that you see in the logic.json. It should not have a functional impact but this property should not be stored in GIT.
  • Project tree did not sort elements if there was a RESULT element (=) since for that the element file was not created.
  • Various issues in the Metadata tool window, e.g. reloading.
  • Fields Threshold in the Alerts section of the logic.json editor did not get saved.
  • Exception in the element unit test file creation if the CalculationLogicDir folder did not exist.
  • Adjusted template for the element unit test file, so it does not raise errors (removed CalculationLogicDir from the LOGIC_DIR variable).

Feature: Sandbox Groovy Console

  • Used to test a small part of the Groovy element (without the need to run the whole logic with all the elements).
  • You can test your data returning API functions such as api.find(), api.findValues(), api.stream(), including filters and see the data returned by those functions in the table grid. Note that for api.find() and api.stream() a limit is applied.
  • You can copy the data structure from the grid as a Groovy List<Map> source code to be able to mock your data in your unit tests. Right-click in the grid and choose "Copy Groovy source code to clipboard" from the menu.
  • The list of supported functions are listed in Debugging a Logic in Pricefx Studio in IDEA, since it internally uses the debugger functionality. Function api.getElement() is not supported.
  • You can test your Groovy library method calls before deploying them on server (if the method uses the above supported methods).

Feature: Keyboard Shortcuts Added - Yes, Finally! :)

Alt + F5Runs the logic test. Works from the logic.json editor as well as from the element source code editor.
Alt + 8 Windows
Cmd + 8 Mac
Fetch window
Alt + 0 Windows
Cmd + 0 Mac
Deploy window
Alt + F8Evaluates expression from the Sandbox.
Ctrl + A

Selects all logics in the Fetch and Deploy tool windows.

TabSupported in the logic.json editor.

These shortcut keys can be personalized – navigate to menu Settings (Windows) or Preferences (Mac) > Keymap. Search for: "Run logic test", "PfxFetch", "PfxDeploy".

Other Features

  • Translation of formulaNatures (diferrent types of logics) in the new logic creation dialog to a human readable language.
  • Environment/partition selector is now added in the Metadadata tool window. It also tells the auto-completion which partition metadata to use.
  • The folders CalculationLogic, WorkflowFormula, CalculationLogicTest are marked as Sources root / Test sources root when performing "Add framework support".
  • Added element numbers in the logic.json editor.
  • Added lookup label for the Customer parameter in the parameters editor.
  • More detailed error message when deploying product extensions.
  • Added support of more functions in the debugger (since Cuba libre).
  • Updated JavaDoc based on Cuba Libre.

Pricefx Studio 4.2 (build 173.1936)

Upgrade instructions:

Update the project libraries as described in Step 3 in Upgrading Logic Manager to Pricefx Studio.

Bug Fixes

  • PFAUT-189: Fixed problem with loosing the labelTranslations element property when editing the elements properties.
  • PFAUT-194: Fixed problem with saving of non-groovy elements of types ADD, SUBTRACT, RESULT or BRICK which were save to files with the suffix ".formula" but instead the correct suffixes should have been: ".add", ".subtract", ".result" and ".brick".
  • The element duration information stopped working due to a changed format of the __TRACE__ element (after a new column was added in the Cosmopolitan version).
  • Auto-completion of PFX metadata (attributes) was not working if the Metatada tool window was not opened before (and populated the meta database).
  • PFAUT-198: The lookup labels for logic parameter values in the Parameters tab in logic.json didn't take the environment/partition change into consideration.

New Features and Changes

  • The automation library and Swagger HTTP client have been completely removed from the engine and replaced everywhere with the pfxpackage tool (and its own faster HTTP client). As a result of that, the size of the installation package has decreased by almost 50%, so the upgrades are faster now and the memory/time needed for file indexation done by IDEA is reduced.
  • The internal model how Studio works with the logics and elements data has been changed in order to be able to work with the future Pricefx releases without the need of upgrading Studio (e.g. when a new property is added in a new Pricefx release).
  • It is now possible to create all types of logics in Studio (= with the corresponding formulaNature). Formerly only pricing and workflow logics could be created.
  • PFAUT-197: Editing of the Calculation Context element property is now possible from the logic.json editor (the elementGroups field in JSON).
  • The class com.googlecode.genericdao.search.Filter has been moved to the default package to avoid automatic creation of 'import' statements.

Pricefx Studio 4.1 (build 173.1889)

If you would like to use this version and still have a version lower than 4.0, follow the steps in Upgrading Logic Manager to Pricefx Studio.

New Features and Changes

  • The legacy Logic Manager core has been redesigned (the engine based on an automation library has been replaced with the pfxpackage engine).
  • Added support for fetching/deployment of other PFX objects: LT, P, PX, CX, CFS, CF, DS, DM, DL, DB, PREF, CT, CTT, RB, RBT, RR, U, UG, BR.
    Prerequisite: all non-workflow logics must be located in the CalculationLogic folders and workflow logics must be placed in the WorkflowFormula folder. 
  • It is possible to deploy multiple objects to multiple partitions. 
  • Error reporting has changed: deployment errors now appear in a popup window. The error log has been moved from the PFX Console to the Event log.
  • Removed dependency on a particular Groovy library version: you can use the same plugin version again for both versions of IntelliJ IDEA 2017.2 and 2017.3. So using versions 173.xxxx is 2017.2 compliant.
  • In order to fetch logics with different validAfter, they are fetched to a folder having the validAfter value as a suffix e.g. Current_Logic+2017-02-23. The suffix can be removed afterwards, it is not used for anything. The logic's name and validAfter are determined now only from logic.json.
  • Bugfix: the syntax of the newly created config.groovy has been fixed (2FA 'null' => null).
  • Auto-completion support was improved. Added support for libs (multiple Groovy libraries). PFX binded variables (actionBuilder, quote, raProcessor etc.) are now suggested only in logics where they are applicable.

Pricefx Studio 4 (builds 172.1814, 173.1815)

To upgrade to this version, follow the instructions in Upgrading Logic Manager to Pricefx Studio.

If you have configured proxy servers in IDEA, you can upgrade your IDE up to the version 2017.3.1, but not higher for the moment!

Since this version, the plugin repository URL has been changed. You can find it at /wiki/spaces/KB/pages/102793333.

Major Change

  • IDEA 2017.3 is now supported.
  • Plugin is now available in two versions: for IDEA 2017.2 and 2017.3 (due to different Groovy versions).
  • Plugin version numbering has been changed due to the point above.
  • Plugin name has changed from Logic Manager to Pricefx Studio. 
  • Logic format as used in the Pricefx Cosmopolitan version is now supported (labelTranslations).
  • API sandbox Javadoc and auto-completion updated to the Cosmopolitan version. 
  • PFAUT-159 – Added support for Inline configurators.
  • PFAUT-158 – Added support for Condition and Suffix in the formula element editor. 

New Features

  • PFAUT-165  It is possible to generate a TDD Test template by clicking in a second column in logic.json
  • PFAUT-162  The 'Allow object modification' option from the formula test has been implemented.

UI change

  • Buttons in various panels have been moved to the left so they don't get hidden when resizing.

Bugfixes

  • Crash exception has been fixed when the plugin was installed in a directory path that contained a space.

Found an issue in documentation? Write to us.