Pimp my Product Definition Perspective – Workshop at the UserGroup 2019

During the Faktor Zehn UserGroup 2019 I held a workshop about possibilities for individual adaptations of the Faktor-IPS product definition perspective. The contents of the presentation I held to kick off the workshop is the basis for this blog entry.

The product definition perspective is a special Eclipse perspective for product developers. It shows only product projects and hides the Faktor-IPS modelling tools from the toolbar. How product components are displayed can be adjusted through settings in the model.

Categories

With categories, attributes, value sets, formulas, table references, and rules belonging to the same business context can be grouped in sections with a headline. For every product component type, the categories can be edited in the “Categories” tab of the product component type editor.

Categories – Definition in the model

Categories – Definition in the model

Categories – Displayed in the product editor

Categories – Displayed in the product editor

Hiding Attributes

Attributes from a base model not relevant in a line-of-business model can be set to a default value in subclasses and hidden from the product editor.

Hiding attributes

Hiding attributes

Icons

For every product component type a custom icon can be defined. The icon is displayed in all Faktor-IPS views that display the product components based on that type.

Icons – Definition in the model

Icons – Definition in the model

Icons – Displayed in the product definition perspective

Icons – Displayed in the product definition perspective

Labels

For most model elements (e.g. attributes, associations, model types, …) labels can be defined in the product component type. They are displayed instead of the technical model names in views and editors of the product definition perspective. They can fulfill two purposes:

  • Human-readable names instead of technical names, for example “sum insured” instead of “sumIns”
    Caution: choosing labels that differ largely from the technical names may complicate communications between java/model developers and product developers
  • Internationalization: Labels can be entered in multiple languages. Which language is used to display the labels is determined by the Eclipse user locale
Labels – Supported languages in .ipsproject

Labels – Supported languages in .ipsproject

Labels & Descriptions in the model

Labels & Descriptions in the model

Labels & Descriptions in the product component editor & model description view

Labels & Descriptions in the product component editor & model description view

Description as Tooltip

Description as Tooltip

Sorting

Product components can be sorted in a business order instead of alphabetically. This sort order is retained when dragging and dropping multiple components, for example when adding additional coverages to an association in a given order. With a right-click on a product folder, the sort-order can be edited.

Business order

Business order

Shortcuts

Eclipse offers many shortcuts to ease navigation, e.g.

  • Ctrl+Shift+T to open a java class
  • Camel-case autocompletion with Ctrl+Space in many dialogs
  • Alt+←/Alt+→ for navigation to the last used editor tab and back

Faktor-IPS uses those and adds for example

  • Ctrl+Shift+I to open Faktor-IPS objects
  • F4 (in the model explorer) to display the model hierarchy

You can define your own shortcuts at Window → Preferences → General → Keys.

Useful Helpers in Eclipse

  • The Bookmarks View can help to remember thematically connected product components in deep folder structures. New bookmarks can be created via Edit → Add Bookmark.

    Bookmarks View

    Bookmarks View

  • In the Local History changes to files can be traced independent from a version control system.

    Local History

    Local History

After that presentation of existing possibilities a lively discussion started, resulting in some new ideas for further improvement. If you have even more ideas, I’d be happy to hear them – or meet you at the next UserGroup.

 

Daniel Schwering

Leave a Comment

Your email address will not be published. Required fields are marked *

Solve : *
24 − 12 =