Features and Configurations

Features

The Features menu in the web client corresponds to the same option in the windows client. This is where you manage the data models you use in Perfion.

image-20240419-101118.png

Features overview

Features are the basic building blocks of your Perfion data model. The tree structure on the left gives you access to all existing features grouped by data type:

To locate a specific feature, you have the following options:

  • Expand a group by clicking the arrow to the left of a group

  • Expand the entire tree by clicking the Expand All icon in the toolbar

  • Filter by feature name or Perfion ID by typing in the Filter features box

  • Show only features with configuration by changing selection in the drop-down box in the toolbar

In this example, we expanded the Date data type to see all existing Date features:

Feature types

This table briefly explains the values each feature type (data type) can hold. Please see Feature Definitions, for more details about feature definitions.

Feature (Data) Type

Values

Boolean

True/False (True/False/Neutral for tri-state booleans)

Date

Dates

File

Physical files of any type (extension)

Image

Physical images of these types (extensions):

BMP, GIF, JPG/JPEG, PNG, TIFF/TIF, EPS, PSD, PDF (first page), SVG, WEBP, AVIF

Link

URLs and network file references

Number

Numbers (standard format or fractions)

Related Value

Auto populated with data from another configuration (e.g. “BrandImage” will show the Image configured on the selected Brand)

Search

API queries that retrieve/filter items (used for special purposes in Perfion, never as a normal attribute)

String

One-line texts, maximum 256 characters (plain text or formulas)

Table

Table “designs” build with the Perfion Table Designer (used to generate dynamic tables for reports and other channels)

Text

Long texts (plain text format, HTML-tagged text, or Rich Text (RTC) format)

Manage features

From the feature tree, you can manage features like this:

  • Add feature

  • Edit feature

  • Delete feature

Add feature

To create a new feature, right-click on a data type or an existing feature and select Add Feature:

NOTE: You have three options when choosing which “parent” node to start from:

  • Start from a data type root

    • The new feature inherits the data type

  • Start from an existing non-selectable feature

    • The new feature inherits the data type

    • The new feature inherits some basic settings as suggestions (all settings can be changed before saving)

    • This structure is very useful if you have a large feature library as it creates order and overview

  • Start from an existing selectable feature

    • The new feature inherits the data type

    • The new feature inherits some basic settings (some settings can be changed before saving)

    • The new feature inherits all items from the parent feature

    • Example: If you create InteriorColor as a child of Color, the new feature will not have its own item list in Feature Data. Instead, Interior Color will re-use the item list from Color. This means you only have to manage one list of colors.

Clicking Add Feature opens the Feature Definition window. Please refer to Feature Definition for information about feature setting.

Edit or delete feature

To edit an existing feature, double-click the feature name or right-click on the feature and select Edit Feature.

To delete a feature, select Delete Feature from the right-click menu.

Edit Feature will open the Feature Definition window. Please refer to Feature Definitions below for information about feature setting.

Delete Feature will delete the feature from the system and all data related to the feature. This operation cannot be undone, so use with caution!

Feature Definitions

The Feature Definition window is where you manage all settings for a feature. The window has three tabs:

  • Basic Settings (default)

  • Captions

  • Advanced Settings

Basic Settings

General

In the General section, you will find the two most fundamental setting of any feature.

Name (unique)

This is a unique name identifying the feature. Name must consist of alphanumeric characters only and must not start with a number. Spaces and special characters are not allowed.

TECH NOTE: Use “camel case” names like ItemNumber, LongDescription, etc

Feature type

The feature type will be preselected from the node you clicked in the feature tree. You can change to another type if needed.

Information Groups

Settings in this section determine where a feature is located on the item card and who can access the feature.

Top View Group

Top View Groups are the primary grouping feature in the item editor. A feature will show up in the selected Top View Group in the item editor:

TECH NOTE: The order of features inside the Top View Group in the item editor is determined by the order of features in the configuration. See Groups for details.

View Group

View Groups are the secondary grouping feature in the item editor. A feature will show up in the selected View Group under the Top View Group. Dimensions and Approval are view groups in this example:

Security Group

In the Perfion security model, users and groups are assigned rights to each Security Group. By placing a feature in a Security Group, users automatically get permissions to the feature determined by the Security Group.

Please refer to Security Groups for information about managing permissions.

Remote

Remote features can retrieve data “live” from an external system or from other features in Perfion (also known as “self remotes”). Typical use cases are price information from ERP (remote) or unit conversion in Perfion (self remote).

Please refer to separate documentation for how to create Remote Queries and Data Fields.

Remote Values

When Remote is checked, it is not possible to manage values for this feature in Perfion. The feature becomes read only for all users and will automatically display values determined by the Query and the Data Field.

Query

Select the remote query that retrieves data from the external system or from other features in Perfion.

Data Field

Select the required data field exposed by the selected remote query.

Remote (Related Value features)

The Remote section looks different when you manage a Related Value feature. It is designed to show values from another configuration. As an example, you can create a Related Value feature, that’s shows the Brand Logo from the Brand you select on a Product.

Base Feature

Select the base feature with the configuration from where you want to expose a value.

Value Feature

Select the feature you want from the configuration of the base feature.

Please refer to separate documentation for how to build and use Related Value features.

Values

In this section you define settings for the values managed in the feature.

 

Localizable

If you check Localizable, values can be managed in multiple languages. A typical example is Item Name, which should be managed in all languages.

 

Inheritable

If you check Inheritable, values can be inherited from a parent item to a child item. A typical example is Brand, which will be set at parent level and inherited to all child items.

Allow Multiple

If you check Allow Multiple, users can manage multiple values for the same item in the same feature. A typical example is Related Products, where you want to create references to multiple other products.

 

Sortable

When Allow Multiple is checked, Sortable becomes available as an option. If you check Sortable, users can sort the multiple values, they select in the feature. Building on the Related Products example, you want users to sort related products, so they are shown in order of importance.

Formula

When Formula is checked, users can construct formulas that build values (strings of text) based on values in other features. It works like Concatenation in Excel.

Please refer to separate documentation for how to use formulas.

Unique Values

When Unique Values is checked, Perfion makes sure that all values in this feature are unique. A typical example is EAN code.

Read Only

When Read Only is checked, Perfion prevents all users from managing values in this feature. Read Only is typically used to expose values owned by ERP system and synchronized into Perfion.

Selectable

When Selectable is checked, users must pick values from a list rather than enter explicit values in the feature. Typical examples are colors, materials, etc.

Allow Hierarchy

When Selectable is checked, Allow Hierarchy becomes available as an option. If you check Allow Hierarchy, you can use virtual items in Feature Data to build hierarchies. Typical example are category values.

Custom Ordering

When Selectable is checked, Custom Ordering becomes available as an option. If you check Custom Ordering, you can sort selectable items in Feature Data manually and make them appear in the order you choose. Typical examples are external category structures where categories are shown in logical order rather than alphabetically.

Sort Related Items

When Selectable is checked, Sort Related Items becomes available as an option. This is typically used for categorization/channel features, and the meaning is best explained through an example.

Take the Catalog feature above. This feature is created with the intention of adding products to each node. If you check Sort Related Items on the Catalog feature, it becomes possible to sort products with the same Catalog value relative to each other. In real life this means, that users can decide the order or products shown in the catalog in each section:

Other Values

Tri-state Boolean

When you create a Boolean feature, you can select Tri-state Boolean as an option. This means that users can select between values False – Neutral – True rather than just False – True. Typical example is Hazardous Goods, where it is important that users make an active choice. Neutral will indicate, that a choice has not been made yet.

Captions

In Captions you manage all user oriented feature captions in all active languages.

Caption

This is the feature name users will see when they manage data in the indicated language. All characters are allowed.

Caption Alt

This is an alternative caption that can be used in reports and other channels. The alternative caption is not shown in the Perfion client. All characters are allowed.

Abbreviation

This is another alternative (short) caption that can be used in reports and other channels. The abbreviation is not shown in Perfion client. Typical use will be Ø as an abbreviation for Diameter.

Unit

This is the unit users will see when they manage data in the indicated language. Units are typically used for number features (i.e. “cm” for Length). All characters are allowed.

Help Text

This is the help text users will see when they manage data in the item editor.

Advanced Settings

Good job! You have now come to Advanced Settings.

Control

Control Type

The Control Type determines which editor is used users manage data in a feature. This is mostly legacy from the Windows client, but a few options are relevant also in the web client. Here is a list of control types you can meet.

Control Type

Data Type(s)

Comment

Default Editor

All data types

The default editor for the data type is used.

Toggle Switch

Boolean

Users will see a “slider” rather than a checkbox.

Fraction Editor

Number

Users will be able to input numbers in fraction format (e.g. 10 1/2)

Graphic:Progress

Number

Values between 0 and 100 will be converted to a graphical progress symbol.

Numbers below 0 will be treated as 0.

Numbers above 100 will be treated as 100.

Typically used in combination with the Remote setting to create progress bars.

Single Selection Tree Editor

Search, String, Text

(Selectable features only)

Legacy from Windows client. Web client will use Default Editor.

Single Selection Tree Editor with Late-Load

Search, String, Text

(Selectable features only)

Legacy from Windows client. Web client will use Default Editor.

Single Selection Tree Editor with Paged Late-Load

Search, String, Text

(Selectable features only)

Legacy from Windows client. Web client will use Default Editor.

Graphic:Symbol

String

HTML color codes (#ff00ff) will be converted to color symbols.

Typically used in combination with the Remote setting to create “traffic lights”.

Inline Text Editor

Text

Legacy from Windows client. Web client will use Default Editor.

Rich Editor

Text

Users will be able to manage HTML-tagged values.

Typically used for web texts where bullet lists, bold, italic, etc, is used to format texts.

Rich Text Format Editor

Text

Users will be able to manage values in RTF format. This format can include images, tables, etc.

NOTE: RTF format is not accepted by most external systems/channels. Use with caution.

 

Security

Feature Item Security

Feature Item Security is the most advanced part of the Perfion security model. It allows you to change user permissions on items based on the value in a selectable feature. This is best explained via an example:

Say you are creating a Status feature with the purpose of tagging products as either Under Enrichment or Published. You want products to be editable when status is Under Enrichment, but products should be non-editable when status is Published. This can be achieved with Feature Item Security if you change the value to either:

  • Give Access

  • Restrain Access

Please refer to separate documentation for further information about how to use Feature Item Security.

Views and Filters

In this section you can enable custom views and filters on a feature. This will allow users to create and save views and filters in grids where the feature is base value.

Views Feature

In the Views Feature drop-down you can select a Search-feature from your feature library. When done, Customized Views will be added to the View-selector in grids where the feature is base value. In the example below, a Views Feature has been added to the Product feature:

Filter Feature

In the Filter Feature drop-down you can select a Search-feature from your feature library. When done, users will be able to save and reuse filters in the Filter-selector in grids where the feature is base value. In the example below, a Filter Feature has been added to the Product feature:

Export Key

In this section you can change the key feature used when users export items and data from grid.

Export Key Feature

In the Export Key Feature drop-down you can select an explicit string-feature from your features library. When done, the selected feature will be shown in column A of the Excel-file when users export data from grid.

Configurations

When you have created the features you need, its time to put them to work in Configurations. A configuration in Perfion is basically a data model for a selectable feature. This may sound complicated, but it’s quite simple.

Take the basic Product feature as the most prominent example. The Product feature itself can hold a value like all other features. This could typically be the key feature of the product like the article number. But you would always want to manage more data on a product than just the article number. This is where you need a configuration on the Product feature as seen here in the right panel:

Understanding a configuration

Basic structure

Reading and understanding a configuration is simple. The top node (Product) is called the Base Value. This feature is the root of the configuration, and it is always shown in the first column in the grid:

Features at the next level of the configuration (Item Name, EAN, etc) are valid for all products. These are shown in the grid in the order then appear in the configuration.

Item Dependency

Selectable features in a configuration can serve as root for Item Dependency. This concept allows you to select features valid only for specific products. Look at this example where Category has been expanded:

At the first level under Category, you see Category items (in bold). Under each Category Item, you see a set of Features. These features are only valid when the product is in the specific category. This is what Perfion calls Item Dependency.

Adding, organizing, and removing features from a configuration

The starting point for a configuration is a selectable feature. Use the right-click menu to Create or Edit Configuration.

This will load the configuration (expanded to first level) in the right panel:

Adding a feature

Adding a feature to a configuration is simple. Drag it from the library on the left into the position you want it in the configuration:

Organizing features

As described above, the order of features in the configuration controls the order in which features are shown in grid. To some extend the configuration order also controls the order in which features are shown in the item editor, but this is more complex. See Groups for details.

Organizing features in a configuration is done with drag-drop. Simply drag the feature to its new position. You can also select multiple features at the same time and drag them to a new position, provided that the selected features are at the same level of the configuration.

Removing a feature

You can remove a feature from a configuration via the right-click menu on the feature inside the configuration:

It is also possible to remove multiple features from a configuration in one go. To do so, select the features to be removed, then right-click. This time, the right-click menu has a single option only: Remove from configuration.

Working with Item Dependency

As mentioned earlier, Item Dependency allow you to build individual data models for individual groups of items. The key concept is described in Understanding a configuration.

Add items to Item Dependency structure

Scenario: You sell products from many brands. One of the brands requires you to add a specific feature with specific values to products from their brand. This feature is not relevant for other brands, and you don’t want your users to see the specific feature for other brands. For this, you need Item Dependency on Brand.

First up, you open the product configuration and find the Brand feature. On this feature, you select Add Item Dependency from the right-click menu:

This opens a selectable overlay, where you pick the brand you need:

You now have the selected brand added under the Brand-feature. This allows you to add features specific for this brand. You do this by dragging features from the feature library onto the brand item in the configuration:

The feature is now shown under the brand item:

Organizing and removing features from Item Dependency

Organizing and removing features from Item Dependency is done the same way as for the main configuration. See Adding, organizing, and removing features from a configuration.

Multiple Item Dependencies in same configuration

In some configurations, it makes sense to have multiple item dependencies. This is allowed in two ways.

Multiple Item Dependencies at same level

If you create dependency on Brand and Category at the same level in the configuration, they will work independently of each other. If a product is a specific brand, the features under Brand will show up. If the product is a specific category, the features under Category will show up. If the same feature is under both a Brand and a Category, the product must either have the correct Brand or the correct Category for the feature to show up.

Nested Item Dependencies

You can build nested item dependencies to handle complex product structure.

Take the example above. What if you want to manage some features for Accessories from Jura, and other features for Coffee Machines from Jura? Then you need nested item dependency with Brand under Category:

Notice the following:

  • Category has item dependency on Accessories and Coffee Machines

  • The Brand-feature is added under both Accessories and Coffee Machines

  • Jura is added as Item Dependency under each separate appearance of the Brand-feature

  • Relevant features are added under each of the Jura appearances

This structure means, that the feature Asset Valid Until is only shown on products, that have Category = Accessories AND Brand = Jura.

Swap Relation Direction

With a standard Perfion feature you can select one (or multiple) values on a product. But what if you want to add “table-like” data to a product with multiple rows and columns in a single feature? Then you need to use Swap Relation Direction.

Example: You want to manage ingredients on food products. Each product can have an unlimited number of ingredients. For each ingredient you want to manage name, amount, and percentage.

To manage this data, you need a Swap Relation Direction structure. The following steps explain how to set it up.

Step 1: Create the Ingredients base feature

Create a String-features called Ingredients. Make sure it has Selectable and Allow Multiple properties checked. This feature will hold the Name of each ingredient.

Step 2: Create value features

Create two Number-features called Amount and Percentage. Set Unit to “%” on the Percentage feature and to “g” on the Amount feature.

Step 3: Create a configuration on the Ingredients feature

Create a configuration on the Ingredients-feature and add the two value features to the configuration:

Step 4: Add Ingredients to the Product configuration

Open the Product configuration and add the Ingredients feature:

Step 5: Swap Relation Direction

If you stopped after Step 4, users would just see a normal selectable Ingredients-feature on products. This is not what we want, so now for the trick. Let’s swap the relation direction.

To do this, right-click on Ingredients in the Product configuration, and select Swap Relation Direction.

When done, the icon next to Ingredients turns into a table. This indicates that users can now manage ingredients on products in a table structure based on the configuration of the Ingredients-feature. In this example, two ingredients were added to a specific product:

Swap Relation Direction data in Feature Data

The Ingredients-feature was created as a selectable feature. This is required for Swap Relation Direction to work. This also means, that data can be seen and managed in Feature Data. However: when you “swap“ a selectable feature, you do not create Feature Data in advance like you would with a list of colors. In stead, each row visible in Feature data is created when an ingredient is added to a product.

The data created above in context of a product looks like this in Feature Data:

Notice that the three first columns are from the configuration of Ingredients. The last column (Product) was added manually to the grid. This column is automatically filled with a reference to the product where the item (row) was created.

Toolbar buttons

The toolbar in the configuration panel offers a number of buttons that each bring up different columns.

Create

Create loads two columns in the configuration grid: Copy and Default Values. These two columns are loaded together as they are mutually exclusive.

Copy

Copy allows you to control, which feature values are copied when a user creates a copy of an item. In the below example, Base Value (Product), Item Name, Weight and Masterdata Approved values are not copied, whereas remaining values are copied:

Default Values

Default Values allows you to define values that must be set on all new items. In the example above, all new products will get the item name “hello world”, a weight of 20 kg and have Masterdata Approved set to False.

Groups

Groups bring up an overview of Top View Groups, View Groups and Security Groups for features in configuration:

This is useful when you want to organize how features are shown in item editor. The above Groups result in this item editor structure:

It works like this:

Priority 1

Base Value

Base value is always shown at the top. All groups are ignored.

Priority 2

Top View Group

Features are arranged by Top View Group.

NOTE: Order of Top View Groups are managed in Information Groups (only manageable in windows client - not yet in web client)

NOTE: If a feature does not have a Top View Group, the Security Group (mandatory) is shown as Top View Group in item editor.

Priority 3

View Group

Features are arranged by View Group.

Features without a View Group are shown first

NOTE: Order of View Groups are managed in Information Groups (only manageable in windows client - not yet in web client)

Priority 4

Order in configuration

Features with the same Top View Group and the same View Group are now sorted by the order in the configuration.

Filters

Filters are not used in the web client. They can be used when retrieving data via the API.

Family, Topic, Workflow and Web

These are all groups of standard views. Each of them brings up one or more columns like this:

Users can apply any standard view in a grid. This will bring up the checked features. Users cannot change standard views.

Compact

With the Compact view you can control the content in Card Layout. You can select one image feature and two alphanumeric features. This example:

…will generate this card layout: