Features and Configurations

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:

image-20240318-191730.png

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.

image-20240318-192137.png

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

image-20240418-105512.png

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:

image-20240418-110506.png

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.

image-20240418-110851.png

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.

image-20240418-111013.png

NOTE: Available settings depend on selected data type. Some settings are mandatory for certain data types. These will be checked by default and locked.

 

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.

TECH NOTE: You should only uncheck Inheritable when you need to manage individual values for parents and child items in the same feature. A typical example is Item Type, where you want to set different values for parents and 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.

TECH NOTE: When Read Only is set on a selectable features (e.g. Color), users can not change Color values on Products. Users can however still update the base value of color items (in Feature Data) provided they have edit rights via the normal Perfion security model. This is by design.

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.

TECH NOTE: Selectable values (“pick lists”) are managed in Feature Data

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.

image-20240418-111556.png

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.

image-20240418-111838.png

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.

TECH NOTE: Feature Item Security can only be set for selectable features.

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:

NOTE: Custom views created by users are saved as items on the Search-feature. These can be managed in Feature Data.

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:

NOTE: Filters created by users are saved as items on the Search-feature. These can be managed in Feature Data.

TECH NOTE: Create individual Search-features for each dedicated use case. In the examples above, two Search-features called ProductView and ProductFilter has been used.

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.

TECH NOTE: The selected feature will be included in Excel exports from grid regardless of whether the feature is included in the active the 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:

TECH NOTE: All selectable features can have a configuration. This enables you build data models and manage data for Brands, Customers, Images, Files, Wine Castles, and whatever else make sense in your business.

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.

image-20240418-112445.png

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

image-20240418-112533.png

To delete a configuration, right-click on its top node and select the Remove configuration option. This option becomes available only when the configuration is completely empty.

image-20240418-112749.png

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:

TECH NOTE: If you drop the feature on top of the root feature, the dropped feature will be added as the last feature 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.

image-20240418-113032.png

Removing a feature

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

image-20240418-113139.png

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.

TECH NOTE: Removing a feature from a configuration does not delete any data. It simply “hides” the feature for users. All values remain in the database.

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:

image-20240418-113503.png

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

image-20240418-113559.png

TECH NOTE: If the selectable feature has items in hierarchy, you cannot select virtual items. Only lowest level items are allowed in Item Dependency structures.

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:

TECH NOTE: A feature cannot be in the root configuration and in item dependency at the same time. However, the same feature can be added to multiple item dependencies.

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