Version: 2024-R1 (5.4.0)
Release date: 30 April 2024
Highlights
Language variants on selectables:
Validate selectable translations in grid and item editor
Edit translations via “Open selectable item”
‘Default values’ and ‘Copy’ are now allowed together
Action management improvements
Multiple environments:
Manage environments
Individual connections for each environment
See more info in the features presentation (on the front page of the Knowledge Base) or refer to the release notes.
Windows Client
The Perfion Windows Client has to be installed/upgraded for all Perfion users
Release Notes
2023-R1 (5.4.0)
Release note title | Release note |
---|---|
Action - Add Contains to ScriptVariable | It is now possible to use Contains on ScriptVariable like var.Contains( “@TestVar“ ). |
Action log messages was truncated to 200 characters | Previously any Action log messages would be truncated to 200 characters, potentially removing important context information from the messages. This has now been extended to max. 4000 characters instead. |
Actions - Execute.Script | The Execute.Script can use code parts from Perfion code base. The NameSpace available in actions is Perfion.Actions. Other NameSpaces are not available anymore to ensure backward compatibility. |
API Having clause includes Like and Match operator | It is now possible to use Like and Match in having clauses and in filters with Remotes/Related Values. |
Better support of SVG files | Perfion will convert any image format to a raster format to support generating different sizes previews and renditions via the ImageService. Previously, Perfion did not properly handle SVG files, resulting in the generated raster images being of too low quality. This has now been fixed. |
Branding feature has been removed from Perfion | Branding feature has been removed from Perfion. In case your installation has "Branded" items, these will be reckoned as normal items in this version. |
Column choose throws error on certain characters | In previous versions of Perfion the column chooser in the win-client would throw an error when typing certain special characters like ' (quote) and \ (backslash). This has been fixed. |
Concept for Environment Definitions added to settings | The Environment Definition make it possible to create and manage environments which is a prerequisite for e.g. storing individual connection strings for each environment. |
ConstructedFileName can now be output without fetching files | The ConstructedFileName is output as part Image- and Attachment-elements when the OutputKind is set to Image(File, '<some filename template>') or Attachment(File, '<some filename template>'). This also means, that a file named "<ConstructedFileName>" will be stored in a folder controlled by the Setting "OutputFolder". From this version of Perfion, you can get a ConstructedFileName without fetching and storing any file simply by Setting "OutputFolder" to blank. |
Copy Action in Perfion Windows Client | The Perfion Windows Client now supports copying an entire Action, including its definition. A new menu item 'Copy Action' is available in the right-click menu in the Actions section. |
Create Copy of item(s) in grid also copies unique selectable values | A fix has been made to copying items ensuring unique selectable values for an item are also copied. |
Database transaction isolation level changes | To minimize the amount of database locks used when reading and writing data to the database, Perfion now uses the Read Committed Snapshot feature of SQL Server. This is an optimistic locking mechanism, where SQL Server will take a copy of the data targeted for update, allowing other users to read the existing data without further locking. Note that the copy will, per default, be placed in the tempdb, so this change may result in more load and disk usage in the tempdb. |
DevExpress components updated to version 2023.1.6 | Perfion uses a third-party component library, DevExpress, for generating reports (amongst other things). This library has been updated to version 2023.1.6. |
Do not show hanging dropdown box in grid | When a localized selectable is updated in grid it was possible to get in a situation where the dropdown box was hanging in the grid. This has been fixed. |
Dynamics NAV Add-in - link features are clickable | In the Dynamics NAV Add-in it is now possible to click at a link feature and open a browser. |
eCommerce API configuration could contain incorrectly named 'Nice' view | When querying the eCommerce API configuration including the _Nice _view, the configuration would incorrectly contain a quotation mark after the name (_Nice"_). This has been fixed. |
Error parsing 'Ignore' column when importing Actions. | When importing Actions into Perfion, the import could fail to parse the value of the 'Ignore' column. This has been fixed. |
Error when using formulas including remotes | Perfion could in some cases show an error when trying to resolve formulas that includes remotes. It would typically happen when the remote did not return data for the rows in question. This has now been fixed. |
Export data from grid in same order as grid data order | Previously when exporting data from grid the exported data was in another order than the order of the data in grid. This has been fixed so data is exported in same order as data appears in grid. |
Feature Configuration - Default values and copy is allowed together | At Feature Configuration it is now possible to set Default values and copy at the same feature. |
Filtered Values supports multiple levels of configurations | It is now possible to make chains of Filtered Values configurations where controlling feature in one configuration can be filtered feature in another configuration. |
Global Search allows Match operator | A bug is fixed so Global Search can use Match operator |
Incorrect XML export of Actions | When exporting Actions in DataTable/XML format, the ignore column would be incorrectly exported as a string. This would lead to issues when trying to re-import the Actions. This has now been fixed. Ignore is now exported as a boolean. |
ISINVALID filter operator enabled in grid filter | The ISINVALID filter operator used in a Perfion query to get all items having invalid values of a feature was only enabled in the Perfion API. It is now enabled in grid filtering. |
Item Trigger Activity - system would incorrectly calculate days from now to be added | When using the Update value in 'Date feature' to '+- days' from now” trigger activity, the system would perform an incorrect calculation between minutes and days when editing the value. This has now been fixed. |
Item Triggers - Update Formula features | It is now possible to update Formula Features via Item Triggers. |
Mapping in SELECT.PERFION now supports '.childCount' | Previously mapping in the SELECT.PERFION Action command did not support mapping of .childCount. This has now been fixed. |
New API option | A new API option “IncludeVisibleChildCount” is added. This includes a ‘VisibleChildCount’ attribute value for each Item in the result-set, with the number of child items that have the Item as their parent and included in the result set. |
New scheduled system task for clean-up of binaries | Previously, administrators had to click the "Cleanup Binaries" button in the Settings dialog, to force Perfion to remove orphaned and other binaries marked for deletion. We have now introduced a new system task, enabling administrators to run binary clean-up on a schedule. |
New type "Conatant" added to Remote Connections | A new type “Constant” is added to the Remote Connections |
Open item-menu not available on multi-value selectables in Item Editor when value is inherited | When any feature value is inherited from its parent, it should be read only on the child. But users should still, on selectables, be able to "Open item" in the context menu of the control. In previous versions of Perfion that was not possible on multi-value selectables, but it has been fixed in this version. |
Perfion API IN statement with mere then about 10.000 elements | It is now possible to have many elements in a API IN statement. |
Perfion API: In-operator in clause now return empty result if not supplied at least one value | Using the IN-operator in Perfion now returns an empty result, if it is not supplied with at least one value. In previous versions of Perfion the clause throws error message. |
Perfion Client API now uses similar database connection string configuration as the Perfion API | Previous, the Perfion Client API used a database connection string configuration, based on appSettings. Instead, it now use a connectionString element, similar to the Perfion API configuration. |
Perfion XML API now supports inserting- and updating features to whitespace | Previously, when using the Perfion XML API for inserts and updates, users was not able to insert- or update feature values only containing whitespace characters (one or more spaces for instance). This has now been fixed. |
Possible to copy and paste images in Supplier Portal | When copying and pasting images in the Supplier Portal an error occurred. This has been fixed. |
Possible to show localized selectable values in grid and Item Editor | A new checkbox has been added to the grid language menu for enabling show of localized selectable values in same way as for explicit localized values. A new checkbox has also been added to the Item Editor for enabling show of localized selectable values for other languages than current user language. |
PTable-performance increased for Insert/Updates/Deletes | Optimized updating of data through PTable. The most significant performance increase will be seen when updating or inserting multiple values in the same Query. The performance of the Supplier Import will be increased similarly, since it relies on the PTable to update database. |
Report designer could show an “Invalid cast“ error in Formatting Rule Sheet Editor. | The Perfion Report designer could show an “Invalid cast from ‘System.Decimal’ to 'System.Drawing.Font'“ error message when working with the Formatting Rule Sheet Editor. This was caused by an error in the DevExpress component library Perfion uses. We have updated the DevExpress component library, fixing this issue. |
Restart Perfion required when updating current users languages | When a user changed own languages in 'Users and Groups' admin the users language list was not updated so e.g. Item Editor did not reflect the updated language list. The update of the users own languages list requires a restart of Perfion, so a mandatory restart of Perfion is now enforced. |
SELECT.ODATA could fail when reading more pages, due to invalid authentication | When using the SELECT.ODATA Action command, the command could fail to retrieve dataset that spanned multiple pages. The command would get a new authentication token for each subsequent call to the OData source, which could cause the server to not being able to correlate the requests and thus fail the request. |
SELECT.PERFION did not correctly support mapping of metadata on selectable formula features | When using SELECT.PERFION, attempting to map feature metadata (e.g. ID or ModifiedDate) on selectable formula features, users would get an error. This has been fixed. |
Shopware license now visible within License Management | Previously, the License Management overview would not show whether the license contained the Shopware Connector license option. This has been fixed. |
Supplier portal configuration | Categories in the Supplier Portal are displayed in a flat list. |
Supplier Portal search of read-only features | The Supplier Portal can now search on exposed read-only features when the search filter contains exposed read-only features. |
Support for EntraID guest accounts for logging into Perfion | Previously, Perfion incorrectly retrieved information about guest accounts in EntraID (previously Azure AD) leading to such users being unable to access Perfion through single-sign-on. This has now been fixed. |
Swap Relation Data can now be fetched for all features in configuration | Before this version of Perfion, the only way to fetch data for a Swap-relation-feature was to do the following: <feature id='MySrd' type='Relation' /> This would fetch data for the Swap Relation Table (SRD in the following). You could include a view, and that would be used for fetching that specific relation: <Feature id='MySrd' type='Relation' view='Family' /> Without a view only the base value for the MySrd-feature is fetched. Now two select-options have been added: Option 1: <Query> <Select languages='EN' options='IncludeConfiguredSwapRelations' > <Feature id='*' view='Item'/> </Select> <From id='ProductDefaultValues' /> ... </Query> This will make Perfion fetch SRD for all SRD-features in the Item-view for the configuration of the Product-feature. Note that this can be combined with the explicit select of individual SRD-features. Using the option to fetch SRD will always make Perfion use the Config-view when fetching SRD-features. Option 2: Adding this option will make the Perfion API fetch the same SRDs as it otherwise would (explicitly selected or selected from configuration using the option), but instead of outputting the data, it will only output a marker that indicates that the feature holds data for the specific item. Example: Instead of outputting the data as shown here: <Product ...> <MySrd type="table"> <MySrd id="123" parentId="0" ...> <Value seq="0">SRD1</Value> </MySrd> <MySrd id="234" parentId="0" ...> <Value seq="0">SRD2</Value> </MySrd> </MySrd> ... </Product> this will be output instead: <Product ...> <MySrd type="table" data="1" /> ... </Product> If some item (here Product) does not hold any data on the SRD-feature, nothing will be output for it for that product. This is just as is the case for all other features in Perfion. |
The office add-in is deprecated | The office add-in is deprecated from 2024-R1 |
Timeout is now configurable on 'Delete old log entries' system task | Previously it was not possible to configure the database timeout on the 'Delete old log entries' system task. This is now possible. For existing tasks, the system will use a default value of 5 minutes. |
Using Filter dialog to add new filter now can handle ISINVALID operator together with id selection clause | When defining a new filter using the Filter dialog the filter handling would breakdown if id clause was specified using '_FeatureValidation' or '_FilteredValues' - e.g. using the WHERE clause '<Clause id='*._FeatureValidation' operator='ISINVALID'/>'. This has been fixed. |
Webkit - Report endpoint | The endpoint in Webkit is changed from /Perfion.Report?id={itemId}&reportid={reportId} to /Perfion/Report.ashx?id={itemId}&reportid={reportId} |
Wexo Shopware connector has been removed from Perfion license | Previously the Perfion license check included licensing of the Wexo Shopware connector. This meant that the "checkmark" had to be set within the Perfion license for this check to validate correctly. This requirement has been removed. The Wexo Shopware connector may now be licensed fully outside of Perfion. |
When copying a report template the rich editor styles and table designer styles are also copied | When copying a report template the rich editor styles and table designer styles where not copied to the new report template. This has been fixed. |
When defining a new supplier item the supplier identifier is always set | Previously the supplier handling did not ensure the supplier identifier was always set. This is enforced always now. |
When moving item to parent ensure Filtered Values are properly handled | A special corner case existed of item having a value for a controlled Filtered Values feature was not allowed to be moved to parent having both controlled and controlling feature values; i.e. the item value was not be used, both values are to be inherited from parent. This has been fixed. |
When using Simple AD integration, users were not required to be member of the Perfion AD group | When using Simple AD integration, users were not required to be member of the Perfion AD group that is meant to be used for restricting which users could logon to Perfion. This has been fixed. Users now needs to be member of the Perfion AD group to be able to successfully logon. |
Windows Client can now fully delete an Action | Previously, if a user deleted an Action in the Windows Client, the action definition (the items on the right side) was not correctly deleted. Instead, the items would be moved into the untagged category and had to be cleaned up separately. This has now been fixed. Deleting an Action will now correctly delete the entire definition. |