Perfion Windows Client - Version 5.3
Version: 2023-R2 SR3 (5.3.11)
Release date: 29 April 2024
Highlights
Filtered Values: Filter available selectable values in any feature based on value in “controlling” feature and highlight violations in grid and item editor
Filtered Values Setup: Create, Edit, Delete, Export and Import configurations for Filtered Values
Active Languages: Administrators can now manage active languages
New Action commands:
SELECT.API: Supports calls to REST and SOAP protocols
READ.FILE: Read any file type into a file stream
SELECT.XLIFF & IMPORT.XLIFF: Export and import using XLIFF format
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:
Release Notes
2023-R2 SR3 (5.3.11)
Release note title | Release note |
---|---|
Import of Lobster generated Excel files via IMPORT.EXCEL command fails | Previously, Perfion had an issue with correctly loading Excel files generated by Lobser. This has partially fixed in 5.3.9 but unfortunately imports using the IMPORT.EXCEL command could still fail. This has now been fixed. |
2023-R2 SR3 (5.3.10)
Release note title | Release note |
---|---|
Import Action - Performance optimization | The Import Action had some performance issues. |
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. |
2023-R2 SR3 (5.3.9)
Release note title | Release note |
---|---|
Import of certain Excel files could fail with message "Unable to read import file. Please check that it is in the correct format." | Import of certain newer Excel format could fail with message "Unable to read import file. Please check that it is in the correct format.". This has been fixed by attempting to convert the Excel file to an older format that are suitable for import. |
2023-R2 SR3 (5.3.8)
Release note title | Release note |
---|---|
Binary imports may freeze when running on the Perfion Application Server | Running binary imports on the Perfion Application Server could cause the import to freeze, requiring a restart of the Application Server. The issue could occur because of locks in the database, causing the application server to wait indefinitely for the locks to be released. It will now time out after 5 minutes. |
2023-R2 SR3 (5.3.7)
Release note title | Release note |
---|---|
Perfion could fail to retry in database deadlock situations | If the database cancelled an operation due to a potential deadlock, Perfion would fail to retry the change. This situation would surface as a NullReferenceException in e.g. the Item Trigger log. This has been fixed, so that Perfion correctly retries. |
2023-R2 SR3 (5.3.6)
Release note title | Release note |
---|---|
Binary imports may freeze when running on the Perfion Application Server | Running binary imports on the Perfion Application Server could cause the import to freeze, requiring a restart of the Application Server. Inter-thread communication has been refactored, so that locking is more unlikely to occur. |
2023-R2 SR3 (5.3.5)
Release note title | Release note |
---|---|
Feature Data Import could sometimes be slow, even when importing the same data | Feature Data Import could sometimes be slow, even when importing the same data. Analysis shows that the issue is caused by the execution of a sub-optimal query plan on the database. An extra index has been added to the table in question, to help SQL Server make a better execution plan. |
Improved performance in Perfion API when selecting items based on the id of some selectable feature value | Performance of the Perfion API has been improved in 2 areas:
<Clause id="Color.id" operator="=" value="1234" /> <!-- 1234 is item id of the Color-item "Black" -- Other clauses are not affected. |
Remove not used column 'Has Violations' and menu item 'Show Violations' in Filtered Values configurations | In Filtered Values configuration the column 'Has Violations' is not used and menu item 'Show Violations' are not used. These have been removed. |
With logging enabled, eCommerce API queries could return incorrect error information. | When querying the eCommerce API with logging enabled, the API could return an incorrect error message if an error occurred. This would especially happen if the supplied logon credentials to the API was invalid. This issue has been fixed. |
Action Command DOWNLOAD.FTP | The DOWNLOAD.FTP return a memory stream and this is now set to Position = 0 |
Users may be unable to logon to the Perfion Webclient if multifactor authentication is configured. | When trying to access the Perfion Webclient, users could experience an error causing the browser to show an extra Windows login prompt. This issue could show if multifactor authentication is configured. This has now been fixed. |
Proper enable of 'Replace' in grid menu when inherited values exist | An error was present of disabling 'Replace' menu item in grid when selected cell column had inherited values. This has been fixed. |
Perfion API commands Delete and Insert could be done as Reader | The Perfion API commands Delete and Insert could be done through the API despite that the user was reader (i.e. did not have Edit-access to any language). Inserts would only work, if no features were assigned a value. Update commands were not allowed, since they by nature assigns at least one feature value which is prohibited without any edit access to any language. This has been fixed so that all data modifying API-Commands (Insert/Update/Delete) now require the user to be an editor, i.e. capable of editing at least one language or non-localizables. |
Statistics and Index maintenance could fail on custom objects | If a database contained custom (customer-created) indices or statistics, the scheduled database maintenance job could fail if the objects contained certain characters such as dashes. This has now been fixed. |
Running the 'Sync AD users' scheduled task fails due to missing assembly reference | When running the 'Sync AD users' scheduled task, it would fail with a message that a reference to Microsoft.Kiota.Abstractions was missing. This has been fixed. |
Freeze column in grid is only cleared if view/columns are changed | A previous fix cleared the freeze column in grid when the grid was refreshed. This has been changed so the freeze column is only cleared if changes are made to grid columns - e.g. by choosing new view or add/remove grid language. |
2023-R2 SR2 (5.3.4)
Release note title | Release note |
---|---|
Improved performance in Perfion API when selecting items based on the id of some selectable feature value | Performance of the Perfion API has been improved in 2 areas:
Other clauses are not affected. |
2023-R2 SR2 (5.3.3)
Release note title | Release note |
---|---|
User Administration - Indonesian(IND) language counts as extra language | A bug where the Indonesian(IND) language counts as extra language in the user administration is fixed |
Load time of large configurations in WebClient has been reduced significantly | Load time of large configurations in WebClient has been reduced significantly. |
Sorting multivalue features did not save correctly | When attempting to sort a multi-value feature via the Windows Client grid, the sort order would not be saved correctly. This happened when sorting was the only change. This has now been fixed. |
Opening view formula in grid shows calculated value | Previously the view formula editor did not auto calculate the formula value on opening the editor. |
Windows client selector proper row count when filtered values filtered | The row count in the Windows client selectors was not correct when filtered values filtering is active. |
Filters on Search- and Table-features erroneously always matched no items | Right-clicking on a value of a Table- or Search-feature, making a filter always created a filter criteria that did not find anything. This was caused by an error in the Perfion API not properly constructing the SQL for such criteria. This has been fixed. |
Filtered Values configuration - edit configuration does not fail in closing ribbon display options | An error occurred if entering ribbon display options when editing an existing Filtered Values configuration. The error occurred if trying to abandon the ribbon display options mode. |
Dashboard widget - Fit text size to content | The text size in a count widget will decrease to fit the size of the widget content. |
Issue with special characters in SMTP remote connections | If in an SMTP (mail server) remote connection, the password contained an equals character '=', Perfion could parse the connection string incorrectly, causing the connection to not work properly. This has now been fixed. |
2023-R2 SR1 (5.3.2)
Release note title | Release note |
---|---|
Export from grid could sometimes fail with an 'Object reference not set to an instance of an object' | Export from grid could sometimes fail with an 'Object reference not set to an instance of an object' when either selecting or deselecting languages to export. This has been fixed. |
Accepting an item without Supplier Key-feature set, will now give proper error message. | Accepting an item without Supplier Key-feature set. will now give proper error message. Before you got a null value exception. |
Views from Supplier Portal are now available in Search Selector above grids. | Views from Supplier Portal are now available in Search Selector above grids. There are 4 such views: Expose, ExposeReadOnly, Mandatory and AutoApprove. |
Perfion API will stop query execution on client disconnects. | Previously the Perfion API would continue query execution of selects, even if the client disconnected. Now, the Perfion API will cancel query execution if the client disconnects and thus release resources to process other requests. |
Significantly optimized speed for "Global Search" in web-client | In most cases Global Search (available in Web Client) has had its performance significantly optimized. The optimization works best in installation searching in many features on larger amounts of data. |
In Table Designer ensure units, captions etc. are present when expressions are used | An error was present in the Table Designer where feature variants like units, captions etc. was not shown when expressions for non-localizable features was using these variants - e.g.: using expression @FormatMultiValues({Value}({Unit})) for a multi value non-localizable feature would not show the unit. This error has been fixed. |
Image and File URLs returned from the eCommerce API is not URL encoded | The eCommerce API could previously return invalid URLs when using the new Image/File endpoints. The issue could be seen if the file name in Perfion contained spaces or other special characters. This has now been fixed by correctly encoding URLs. |
Grid compare stage | A bug when using staging and compare are fixed |
Removing active languages error | Removing a active language did not remove languages from users. This bug are now fixed. |
Intermittent error 'API Update Failed' | When doing updates in Perfion users could see an intermittent error 'API Update Failed'. This error was caused by multiple users, a Trigger, or an Action, trying to update the same item at the same time. This issue has been resolved. |
Possible to update unique value feature in Web client | Updating a unique value feature which is part of a configuration failed in the Web client when validating config choices as 'Exclude from copy' was not present as required for unique value features. The error has been fixed by adding config choice 'Exclude from copy' when adding a unique value feature to a configuration. |
Can create new products-setting on Suppliers now respected by API | In previous versions of Perfion a Supplier was allowed to create new items in the Supplier Portal, despite that he was not given the right "Can create new products". This has been resolved. |
Perfion API could refuse to delete SupplierItem | The Perfion API could refuse to delete Supplier Items. It happened since the API mistakenly tested whether the Ids were part of any configuration (as Item Dependent items). Supplier Items can never be used in such a way, so the check has been fixed. |
Web report error when using language parameter with multiple values | Web reports failed when using language parameter containing more than one language. This has been fixed. |
'Sync with AD' may mark users as inactive in Perfion | User may incorrectly be marked as inactive when Perfion synchronizes users with Microsoft Entra ID (Azure AD). This has been fixed. |
Unique-constraint on selectable feature made it impossible to copy/paste values | In previous versions of Perfion you could not copy/paste a feature value from a selectable feature being marked as unique to the same feature on another item. Instead you got a "unique constraint"-error message. This has been resolved. |
Issues in Number default values in Feature Configuration | When changing a number feature default value in a Feature Configuration, the number was incorrectly saved if it included a decimal point. This has been resolved |
Web client import users can see all logs | When a user has the right to import data and view import logs the user can now see all logs for also other users. |
When opening a "Selectable item" inheriting its configuration Item Editor would not show all values | When opening a "Selectable item" inheriting its configuration from another feature, i.e. opening a "Related product" inheriting its values from "Product", the Item Editor would not fetch all values (specs) from the Item. This has been fixed. |
Importing SupplierItems could in some cases cause importer to fail | Importer could in rare cases throw a null-value exception during import of selectable, localizable value singles. This has been fixed. |
ECommerce API now supports getting and updating entities using their Perfion Id | All of the following methods GetProducts, GetCategories, GetSites, UpdateProducts, UpdateCategories and UpdateSites now supports filtering entities by their Perfion Id using the "PerfionIds"-parameter. See documentation for more information. |
Dashboard Widget management | Validation added to the Dashboard Widget management. |
ReportServer may not return correct filename of generated reports | When using the ReportServer (report.ashx), it would not return the filename of the generated report unless the request included 'action=save'. This has now been fixed. |
Perfion API: In-operator in clause now throws error if not supplied at least one value | Using the IN-operator in Perfion now throws an understandable error message, if it is not supplied with at least one value. In previous versions of Perfion the clause has either been ignored or you got an error message back from the SQL-server that was quite hard to understand. |
Monthly scheduling did not work | If you scheduled a Task to run using "Monthly"-scheduling it did not run at all unless scheduled in UTC-time. This has been fixed. |
Incorrect handling of filenames containing periods (.) | If a binary asset (an image or file) contained one or more periods (.) in the filename, the filename would be incorrect when downloading binaries from grid via the Perfion web client. This has now been fixed. |
Proper Query Analyser Grid count when using maxCount in Perfion SELECT | Paging is disabled in the Query Analyser Grid and when maxCount was used in the SELECT clause the grid count was not correct. This has been fixed. |
Import/export of configurations extended with support for default values | On import/export configuration also import/export possible default values |
In Windows grid do proper right click after move item to a parent | In the Windows client an error occurred if right clicking an item after move to a parent. This has been fixed. |
Deleting all roles from user threw error | When you in the Windows-client deleted all roles on a user you would, in previous versions of Perfion, get an error. This has been fixed. |
Logging in using a Group Id gave strange error message | When you in previous versions of Perfion tried to log in using a Group Id, say "Admins", you would get a strange error message. This has been fixed, so you now simply get a "User was not found" as you would if the id was unknown. |
Extra view added to SupplierPortal-views | A view named “ExposeReadOnly” has been added to the Supplier Portal-views. Features in this view are treated special by the Supplier Portal. If a feature is in “ExposeReadOnly” its value in Standard Items will be shown to the Supplier giving some information of the product the Supplier is about to fill out. As the name implies, the Supplier cannot change the value of a feature in this view. A feature cannot be both in “Expose”- and “ExposeReadOnly”-view. |
In XLIFF import choose among active Perfion languages if more than one Perfion language found | When doing XLIFF import some target languages gives hit on more than one Perfion language due to same culture name used. When this happens choose target Perfion language among active Perfion languages. |
If max number of allowed suppliers is exceeded Perfion will enter "locked mode" | If max number of suppliers allowed in license is exceeded, Perfion will enter “locked mode” in which only an admin may lock in and only is allowed to either change license or reduce number of suppliers. Either by inactivating them or remove access from Supplier Portal. |
Allowed number of Suppliers are now restricted by license | Maximum number of suppliers are now restricted by license. The interface creating organizations will prevent you from creating more than allowed. |
Typing more than 200 characters in Company Name would cause SQL-error | In previous versions of Perfion, typing a Company name longer than 200 characters would give an error message when saving company. Now Company name edit-box is limited to 200 characters. |
Reduced number of deadlocks using PTable Updates reduced | Under heavy load the API Update statement could fail due to a so-called deadlock. Deadlocks happen when other database requests holds or wants to hold the same resources. In such situations the database is forced to choose one or the other as a so-called deadlock victim and fail it. The Perfion API Update-statement is now capable of, in case it is chosen as the deadlock victim, to retry the update up to 3 times after it fails if problem persists. |
2023-R2 (5.3.1)
Release note title | Release note |
---|---|
Reduced number of deadlocks using PTable Updates reduced | Under heavy load the API Update statement could fail due to a so-called deadlock. Deadlocks happen when other database requests holds or wants to hold the same resources. In such situations the database is forced to choose one or the other as a so-called deadlock victim and fail it. The Perfion API Update-statement is now capable of, in case it is chosen as the deadlock victim, to retry the update up to 3 times after it fails if problem persists. |
Application Server - Logging | Start and stop logging are added to actions executed via Application Server. This will make it possible to see time used to each action. |
Action - Execute.Action | If an Execute.Action is called with an empty table, the action will fail. The bug is fixed to handle empty tables. |
2023-R2 (5.3.0)
Release note title | Release note |
---|---|
Saving user without any roles checked caused Perfion to throw error | When you in the Windows-client removed all roles on a user, you would, in previous versions of Perfion, get an error. This has been fixed. |
Fast Typing Caused Reverse Order of Digits in Number Feature | Previously, typing multiple digits for a number feature could reverse their order, e.g., inputting "12" might yield "21". This primarily occurred for the initial feature value. The issue has been resolved. |
Error When Using HAVING Clause with Remotes in a Perfion Query | When using the HAVING clause together with remotes in a Perfion query, an error could occur. This has been fixed. |
Feature names in item editor omitted ampersand | When opening the Item Editor in the Windows client, feature names containing ampersand would be shown incorrectly. This has been fixed. |
Formula Handling Error in Grid Clears Resolved Values with Item-Dependent Features | We've addressed an issue in the grid. Previously, when a formula with item-dependent features encountered an error, it would clear resolved values for rows with correctly expressed formulas. This behavior has been corrected. |
Join.* commands in Action altered DataTable datatypes | The Join.* commands previously converted DataTable datatypes to strings. The datatype is now retained. |
Table Designer's enhanced Save prompt on Cancel | When cancelling in the Table Designer, users are now prompted to save their changes. Previously in Perfion, cancelling would immediately close the designer, risking the loss of any unsaved modifications. |
Validation not functioning for Multivalue Selectables in Item Editor | In the Item Editor, validation rules were not checked for Multivalue Selectables. As a result, no yellow (warning) or red (error) border was shown around incorrect values. This issue has been addressed and corrected. |
New user role introduced | A new user role “Can manage actions in web client” has been introduced. |
Application Server - Import behavior update | Imports via the Application Server are now executed as the ordering User, not as Admin. |
Perfion API defaults to "EN" for unspecified localizable sorts | Previously, when ordering by a localizable feature without specifying a language, the Perfion API would default to the "EN" language. The expected behavior is for the API to order by the first language mentioned in the languages attribute. This issue has been addressed and corrected. |
Added Title and Ignore columns to Actions | Actions now features two additional columns: Title and Ignore. The new Ignore flag replace the ‘--’ method, and existing Actions have been updated to utilize this new flag. |
Perfion connector for SAP Business One | A new ERP add-in for SAP Business One is now available as part of the Boyum SAP Business One Usability Pack. The add-in enables users to view Perfion data embedded in SAP Business One. |
Dashboard access update | User Access on the Dashboard has been divided into two separate sections: User Access and Group Access. |
Actions now orderable | For improved usability, Actions can now be arranged in a specific order on the left side. |
Actions - Select.XML and Select.JSON enhancements | The {{Select.XML}} and {{Select.JSON}} actions now always add all mappings to a column in the output datatable. Previously, only mappings that matched nodes in the XML/JSON file were added. |
User roles stored in database | The User roles in the database are changed, so all roles are represented in the database if the user/group has the role. All roles are removed if the user/group did not have the role. |
Dashboard Widgets update | The ampersand (&) character is now correctly displayed in Dashboard Widgets. |
Active language list | It is now possible to add and remove active languages under the Admin → Users and Groups → Current Active Languages. |
Insert API guery | The API now validates the parent item, and it is no longer possible to create items with a normal item as the parent. |
API Update query can update ParentId and Brand | The API Update query can now update ParentId and Brand type. A change of ParentId will move the Item to the new ParentId. |
Stressing the Perfion API with queries having remotes could cause error | When issuing many concurrent queries using remotes or related values (or both) it could cause the API to fail with an error message like this: "Collection was modified; enumeration operation may not execute". This issue has been fixed. |
Remotes keyvalue feature auto-selection | Remotes required the keyvalue feature to be part of the select in order to be resolved. This has been changed so a possible missing keyvalue feature will be automatically selected as part of the remote resolving. |
Actions introduces JOIN.RIGHT command | A new command JOIN.RIGHT added to Actions to make it easier to join and continue with the joined result. |
Introduction of READ.FILE in Actions command | The new READ.FILE Actions command has been introduced, allowing users to read a file into a Stream for further processing in subsequent Action steps. |
Item triggers - "Any Language" option for localizable features | Users can now select the "Any Language" option for localizable features in Item Triggers. |
Incomplete multi-valued string exports to XLIFF | When exporting multi-valued strings to XLIFF format, the file would only contain the first target value if the user chose to include existing translations. This has now been fixed. |
Item trigger support for localizable features in Information Groups | It is now possible to use localizable features via information groups in Item Triggers. |
Introduction of 'SELECT.API' in Actions command | The 'SELECT.API' Actions command has been added, facilitating HTTP requests, such as API calls. |
Exporting issue with identical source and target language to XLIFF | If a user tried to export the same source- and target language to XLIFF, the system would shown an error. This has now been fixed so that you can export the same source- and target language successfully. |
Actions - Execute.Action.Loop enhancement | The {{Execute.Action.Loop}} now sends the entire row from the looping table to a datatable named “FromTableRow”, populated with a single row. |
Error When Choosing Inactive Language during XLIFF Export | Previously, when exporting to XLIFF, users could choose an arbitrary language as source and target. Choosing a language that was not active in the system, would result in an error. Now, only active languages are shown. |
Action commands for writing files now support encoding parameter | The Action commands WRITE.FILE, WRITE.CSV and WRITE.FIXEDWIDTH now supports a @Encoding parameter allowing the default encoding (UTF-8) to be overwritten. |
New Perfion Actions commands for importing and exporting XLIFF translations | Two new Perfion Actions commands, 'IMPORT.XLIFF' and 'SELECT.XLIFF', are now available for importing and exporting XLIFF data. |
License update downloading now supported in Perfion | Perfion has introduced support for downloading license updates through the License Management dialog and scheduled tasks. Once set up, available license updates can be downloaded automatically. |