Perfion Windows Client - Version 5.4

Version: 2024-R1-SR3 (5.4.3)

Release date: 21 August 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

Related guides:

Windows Client - Installation Guide

Release Notes

2024-R1-SR3 (5.4.3)

Release note title

Release note

Release note title

Release note

DPI parameter on ImageServer will no longer resize images

Previously, the DPI parameter for the Perfion Image Server endpoint would resize the original image according to the requested DPI setting. Because of rounding issues related to conversion between pixels per centimeter and pixels per inch, the resulting DPI setting on images could be show unexpected results. We have changed the meaning of the DPI setting, from previously resizing the image to only being a metadata setting. It is now possible to request an image in a specific size and with a specific DPI setting.

Error when using View Item Relations with more than three features selected for the Compact View.

If more than three features were selected for the Compact View, the Perfion Windows client would show an error when using View Item Relations. This has been fixed

ParseNumber could return incorrect results when string contained multiple numbers

The ParseNumber scripting function in Actions could return incorrect results when string contained multiple numbers. An example would be 60 g/m2, where the expected result would be 60. This has been fixed.

Whitespace in Remote Connection templates

Some of the Remote Connection templates contained incorrect white space characters between the property name and the equal sign. These has been removed.

Remote Connections are now sorted by name

Previously Remote Connections did not have a particular order when shown in the Windows client. The connections are now sorted by name.

Application Server running on 64bit operation systems

Previously, the Perfion Application Server was configured to prefer to run as a 32bit process. This has been updated so that it now runs as a 64bit process if possible.

Empty error message if @CONTEXT parameter is invalid when using the WRITE.EXCEL command

If the Mode or Direction elements of the @CONTEXT parameter was invalid, Perfion would show an empty error message. This has been fixed so that a more meaningful message is shown.

System Task for update license will now retry failed requests

Previously the 'Update License' system task, which by default checks for a new license every Sunday night, would only perform three consecutive retry attempts if the request failed. The task will now perform additional retries.

Import of Actions could be slow, when overwriting existing Actions

When importing Actions in Perfion, in certain situations it could slow to remove existing Actions that should be re-imported. This has been optimized.

2024-R1-SR2 (5.4.2)

Release note title

Release note

Release note title

Release note

ECommerce API: Attributes can now be output from Multi-value features

 

It is now allowed to decorate multi value output with values coming from multi value features. That is useful when you want to output Images or Attachments with for example titles and captions. See more in documentation.

ECommerce API: Fields holding multiple values can now be output individually

 

In previous versions of Perfion, features holding multiple values where, in the ECommerce API when mapped to a Field, output using sub-elements named Value:

<Field name="MultiValueLocalizable" culture="en-US"> <Value>Value A</Value> <Value>Value B</Value> <Value>Value C</Value> </Field>

Except when the multi value only held one value, where it would be output as an attribute named value:

<Field name="MultiValueLocalizable" culture="en-US" value="My only value" />

Now you can use the method-parameter OutputMultiValueFieldsIndividually to output each value as a separate field. The parameter is supplied to fx. GetProducts like this:

<Execute method="GetProducts"> <Parameter id="Channel" value="Channel A" /> <Parameter id="OutputMultiValueFieldsIndividually" value='true' /> </Execute>

And the result is now output with a separate Field-element per value, regardless of how many values there are (except if there are no values, in which case nothing is output):

<Field name="MultiValueLocalizable" culture="en-US">Value A</Field> <Field name="MultiValueLocalizable" culture="en-US">Value B</Field> <Field name="MultiValueLocalizable" culture="en-US">Value C</Field>

Spanish UI language is added to the windows client

Spanish UI language is added to the windows client

Application Server now utilizes fewer concurrent connections

We have optimized the way connections are used in the Application Server. In heavy load environments it could reach the default maximum allowed (which is 100 connections) causing jobs to fail with timeouts.

Perfion Application Server now supports configurable logging

The Perfion Application Server now supports configuring logging via the application configuration file, to support logging to e.g. console or a file on the server running the application.

Restore previous values from Log

It is now possible to restore previous values from the Log on Multi-selectable features without removing all other values in the multi feature.

Modify and Delete buttons disabled for languages of users from AD with advanced setup

It will no longer be possible to Modify or Delete languages from users created from AD with an advanced setup, using context (right click) menu

Actions - Moving groups and commands

It is now possible to move groups and commands to other action when the groups and commands is in a group.

Actions - SystemVar in FROM and TO column

The SystemVar was missing support for the FROM and TO columns.

Fixed problem with selecting base feature in filtered values when controlling feature is also selected

It will be now possible to change base feature when the controlling feature is also selected

Removed warning before adding value for a field of a parent

There will no more warning before adding a value to a field that belongs to a parent

Dashboard - Has/Has not values

Selecting a “Has value” in the dashboard chosen in some cases “Has no value”

Fixed issue with channel deletion

Deletion of a channel from the web client will no longer end with an error

Removed image/file url length limitation

Removed image/file url length limitation

Upcoming runs of the schedule trigger will no longer be empty in some cases

Schedules with a date set far back in time will no longer display no upcoming runs.

Query string moved from url to request body for saving search

Searches with long queries will no longer fail to save

Execute Actions in context of an item

The Execute Action dialog picks up one item id per cell. This is changed so it only picks one per row.

2024-R1-SR1 (5.4.1)

Release note title

Release note

Release note title

Release note

Import of .psd files could fail when using URLs as image source

 

When running an import including binaries, Perfion could fail to import Adobe Photoshop files (.psd) when using URLs as image source. This has been fixed.

Issue with Selectable Localizable value updates

 

Having a selectable, localizable and multi value feature, could sometimes end up, saving data incorrectly.
This has been resolved.

Perfion Queries - Must have a <Query> element i root

 

The Perfion Queries Must have a <Query> element i root and e.g. From and Where elements at the first level after root.

Got an error when trying to edit localizable base value in ItemEditor

 

If you edited the value for another language than the primary language, the ItemEditor would either not store the value on save or gave a null-value exception when entering the editor. This has been fixed.

Supplier Portal shows any Expose Read Only-features when no Supplier Items are linked to a Standard Item

 

In previous versions of the Supplier Portal, it shows any Expose Read Only-features when no Supplier Items are linked to a Standard Item. That made sense in previous version of the Supplier Portal where two views only were used to get q query result. But it should have been dropped when it was made possible to query “any” feature/view in the Supplier Portal. This have been fixed, so that the “Expose Read Only”-features are no longer added when there are no linked items found.

Export Report Data: Image quality picked was not taken into account

 

In the web client, when exporting report data, the user can choose from 3 image qualities (Low, Medium and High). In previous Perfion-versions, this choice was ignored by the Application Server. This has been fixed, so the picked quality is indeed taken into account.

E Commerce API - Error messages

Added error message when the eCommerce Api is not licensed.

Possible to set localized selectable number value when decimal separator is ','

 

Previously it was not possible to set a localized selectable number value when decimal separator for windows user was ',' and when the value was empty. This has been fixed.

Server Error processing HEAD requests for images

 

The Perfion Image Server could return a http status 500 (Internal Server Error) when handling HEAD requests for images. This has been fixed.

Selecting 'Any Language' is only allowed on the Item Trigger definition

 

Previously, users incorrectly had the option to choose 'Any Language' when configuring Conditions and Activities for Item Triggers. This has been fixed, so that users no longer are presented with the option to select 'Any Language'.

Supplier Portal search for readonly selectable value functions

Previously it was not possible to search for readonly selectable values in the Supplier Portal. This has been fixed.

Importing images using Urls did not read filename from headers

 

When importing images using a Uri in the Import-file, images were not named according to Disposition Header Values. This has been fixed.

API tester tool - Json formatter

The API tester tool will now format json results

Calculation and application of Related Sort Order has been optimized

 

Previously, calculation and application of related sort order was slow on large categories of items. This has been optimized and will not perform better.

'Widget Management' could show an error when closing the dialog.

 

The 'Widget Management' dialog could show an error when closing the dialog, if one or more widgets had multiple titles per language. This has been fixed.

Perfion could fail to retrieve watermarked images during high load

 

Perfion could fail sometimes fail to retrieve images during high load. A fix has been implemented to allow for better concurrency of requests for images that are already cached.

Feature validation on localized features

 

The Feature validation on localized features was only working on the main language. This is fixed so all localized values are validated.

Proper usage of CSS settings for sub reports

 

When CSS settings was changed for a sub report the changes was not reflected in the rendering of rich editor feature values. This has been fixed.

In Windows Client Filtered Values now functions using scene selector as pop-up selector in grid

 

If a Filtered Values filtered feature was setup as a scene selector (defined as a section) and the feature was edited in grid for an item the scene selector did not properly use the context of the item being updated. This has been fixed.

Filtered Values import of configurations now functions when importing using ID

Filtered Values import of configurations did not function using ID import format. This has been fixed.

Outputting related products using two (or more) different features would only output same relation once per product

 

In the ECommerce API, setting up two RelatedProduct-mappings from two different identity inheriting features and putting the same product “A” in both features, then “A” would only be output for the first mapping. Same issue was there for categories, but it is quite unusual to have more Related Categories. These two issues have been fixed.

No error on selecting all data in grid and copy to clipboard

 

Previously when selecting all data with CTRL-A in grid and afterwards copying to clipboard with CTRL-C an error occurred. This has been fixed.

Filtered Values - update/check whole chain of configurations on changes

 

When a chain of Filtered Values configurations exists the whole chain of configurations is now checked/updated upon changes.
E.g. if the Filtered Values chain of configuration is Material controlling color and Color controlling Country then changing Material might clear the Color value and clearing the Color might clear the Country value.

Sorting of feature within Feature configuration

 

Perfion supports sorting features within Feature configuration, but when trying to sort the changes was not correctly stored and thus users would not see the effect. This has been fixed.

Export and import logs show duration for proper step

 

Previously the export and import logs shown in the Windows client where showing duration for the previous step. This has been fixed so the logs show duration for the correct step.

Using keybord shortcut CTRL+ENTER in a multiline editor for search in grid does not insert new line

 

Previously when entering the keyboard shortcut CTRL+ENTER in a multiline editor in search in grid a new line was added. This has been fixed so the command does not insert a new line but only performs the search.

Proper headers in grid with correct language specific unit

 

Headers in grid was not showing correct unit for other languages than the current users system language. Other languages showed the system language unit even though translations for other languages existed. This has been fixed.

When copying a report the custom data xml is copied properly including xml schema

 

When copying a report the custom data was not properly copied as the xml schema information was missing. This has been fixed so schema information is stored as done for inserting new report and updating existing report.

Possible to update selectable date value in grid

An error occurred when updating a selectable date value in grid. This has been fixed.

Ordering of multi-value selectables was not correctly saved

 

If a user tried to re-order a multi-value selectable feature, the changes would not be identified and saved correctly. This has been fixed.

Refresh of base feature in Feature Data before showing pop-up menu

 

Previously the pop-up menu in Feature Data was not showing based on newest base feature data. This has been fixed.

Grid - Column width

The minimum column width fore booleans are increased.

In grid blinking remote filtering warning changed to non-blinking

 

Previously when remote filtering was used a warning red blinking text 'remote filtering enabled' was present. This has been changed to non-blinking.

Column Chooser in Windows Client shows all features if show all configured features chosen and no configuration exists

When choosing to show only configured features in Column Chooser not all features where shown if no configuration exists; e.g. related values where not shown. This has been fixed, so all is shown.

In reports the visibility of a table designer component can now be toggled

 

Previously the visible checkmark for a table designer component in Reports did not function. This has been fixed so the visibility now can be toggled as for other report components.

In Windows Client grid paging control - only possible to write numbers

 

Previously it was possible to write non-numbers in input field for number of records to fetch in one page for a grid. This has been fixed so only numbers can be entered.

2024-R1 (5.4.0)

Release note title

Release note

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: IncludeConfiguredSwapRelations

<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: OnlyShowSwapRelationMarkers

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:

this will be output instead:

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.