Idea ID: 1641485

JSONPath filter

Status : Delivered
over 3 years ago

DESCRIPTION

Add a "JSONPath" fitler to the list of available filters

BENEFIT

Reduced complexity of flow design/development - JSON is now ubiquitous in the integration market. The current workaround is to go onto the web, download a JSONPath script (in minified format), paste the code into a script and do the the query inside of the script (there are detriments to this, which I will mention in another request).

Increased security - the JSONPath code that MF recommends to customers uses "exec" which is both slow and is very [very] insecure.  It is theoretically possible to inject javascript inside of an input that gets run through that parser, which is then executed by OO.

By building this functionaltiy directly into OO, and using one of the more secure libraries out there (that do not use exec) OO could allow developers to use a JSON Path query in a filter, and that library could ALSO be made available to scriptlets as well (without having to paste in the JSONPath code).

DESIGN

  1.  Pick a JSONPath library that does not use exec (this could be challenging because many of the libraries out there are for node.js and have additional dependencies) and load it into OO's execution context (so it is available to both filters and scriptlets OOTB)
  2. Add a "JSON Path query" option to the dropdown that is displayed when adding a new filter
  • With the introduction of the ability to filter and use functions in Expressions Editor in OO Workflow Designer in the OO 2020.08 release, we now also have available a built-in JSON Query function which can be used to parse and query JSON objects.

    There are multiple built-in functions to parse and manipulate strings and data, including XPath and JSON. Since they are based on Python 3, the output of these functions can be further augmented with additional Python code written in the Expression Editor.

    More details are available on the Release notes page: https://docs.microfocus.com/itom/Operations_Orchestration:2020.08/ReleaseNotes 

  • After careful consideration, it was decided to decline this idea.

    The reason posted by Andrei above still stands, such this idea does not fit with the current strategy of the product and there are good workarounds that can be considered.

  • The idea has received enough support from the community and has been reviewed by Micro Focus for strategic fit. The idea is continually monitored and considered for prioritization in our development planning.

  • As there are 6 votes already after further consideration we decided to open it for more votes for an OO Designer future implementation.

  • Hi David,

    We have reviewed the idea and we consider it a good enhancement to the product in general.

    However considering that we are going forward with the web based implementation of the authoring tool - OO Designer - where you have the ability to filter stuff (both inputs and outputs) through python based expressions we decided to decline it at the moment.

    Best regards,

    Andrei Vasile Truta