Ticket #41 (closed Enhancement: fixed)

Opened 9 years ago

Last modified 9 years ago

Configurable topic label rules

Reported by: JuergeN Owned by: jri
Priority: Major Milestone: Release 4.1
Component: DeepaMehta Standard Distribution Version: 4.0.3
Keywords: Cc:
Complexity: 8 Area: Usability
Module: deepamehta-core

Description (last modified by JuergeN) (diff)

We want to label topics. Especially with composites the question is, what topics are part of the label, e.g. with the TopicType? Person we want to display the first name and the last name. Ideally this procedure is generic and can be configured by the user.

One suggested sollution could be a TopicType? "Label".

                () Label
                /\
              1/  \2
              /    \ 
             ()    () 
       first name  last name      
               

A numbered association could define the order.

Change History

comment:1 Changed 9 years ago by JuergeN

  • Description modified (diff)

comment:2 Changed 9 years ago by JuergeN

The idea is now to add an AssociationType? "Label". The Order of the Topics that compose the label shall be defined by an Associatin of the Type "Sequence" that will connect directly to the edges of the Label-Associations.

comment:3 Changed 9 years ago by jri

  • Complexity changed from 3 to 8

This ticket supersedes #34.
#34 could be closed.

comment:4 Changed 9 years ago by Malte

I had some new questions in mind while thinking about all the big url-labels on my canvas and our freshly envisioned configurable labeling of topics/ associations:

.. So far i remember and assume, a label_configuration is described in it's length and in it's parts by a sequence of n-topic_types (which have to be part of/compose the topic type with the label_config) and the displayed label-sequence will not be limited in its length.

.. What i am curious to ask now about the talked about approach for label configuration, will the length (and the parts) of a topics' label configuration always depend on the types' label configuration (via the topics label-sequence) or will it also be possible to override and persist a label configuration on instance level?

The latter would be quite cool, allowing users to solve a rendering issue persistently per item and allowing us to get rid of some other questions i also just had in mind.

And when i start to think about users (and 4.2) it may be good to think now about how we could please "gudrun" who needs a "department-id" as part of the label_config while "huan" always wants to see the mobile-phonenumber of a contact-entry while both share the same topictype definition.

comment:5 Changed 9 years ago by jri

  • Owner set to jri
  • Status changed from new to accepted
  • Version set to 4.0.3
  • Module set to deepamehta-core
  • Milestone set to Release 4.1

comment:6 Changed 9 years ago by jri

  • Summary changed from Label for topics and composites to Configurable topic label rules

comment:7 Changed 9 years ago by Jörg Richter

Core: begin of feature "Label Configuration" #41.

Data model: extend association types "Composition Definition" and "Aggregation Definition" by a boolean "Include in Label" child type.

See ticket 41.

comment:8 Changed 9 years ago by Jörg Richter

Core: more on feature "Label Configuration" #41.

Not yet functional.

See ticket 41.

comment:9 Changed 9 years ago by Jörg Richter

Core: declarative label configurations work (#41).

Try the Contact's module Person topic type.

Still missing: interactive label configuration.

See ticket 41.

comment:10 Changed 9 years ago by Jörg Richter

Core: begin of feature "Label Configuration" #41.

Data model: extend association types "Composition Definition" and "Aggregation Definition" by a boolean "Include in Label" child type.

See ticket 41.

comment:11 Changed 9 years ago by Jörg Richter

Core: more on feature "Label Configuration" #41.

Not yet functional.

See ticket 41.

comment:12 Changed 9 years ago by Jörg Richter

Core: declarative label configurations work (#41).

Try the Contact's module Person topic type.

Still missing: interactive label configuration.

See ticket 41.

comment:13 Changed 9 years ago by Jörg Richter

Webclient/Core?: label configurations work #41

Topic label rules can be configured interactively.

A label rule is bound to a topic type.
Subject to label rules are *complex types*.
(Simple types need no rule: the topic's value IS its label.)

To edit the label rule:
1) Reveal a complex topic type.
2) Press "Edit". You see the topic type's immediate child types displayed as boxes.
3) To choose which child types to include in the label select the respective "Include in Label" checkboxes.
4) Bring the child types in the desired order by vertically moving the boxes.
5) Press "Save".

Hints:

  • Once a label rule is changed the existing topic instances are *not* adjusted. To apply the new rule select the topic, press "Edit" and then "Save". Applying a changed rule to *all* existing topic instances might be a future feature.
  • There is only *one* child type sequence: the order by which the child types are rendered in the content panel is the same order that is used to construct the label. Maintaining 2 individual sequences (content panel rendering vs. label construction) might be a future feature.
  • Label rules are cascading. The "Person" type e.g. is configured to use the "Person Name" type as the label. The Person Name type in turn is configured to use "First Name" AND "Last Name" as the label. So, consider all hierarchy levels when defining a label rule.
  • If there is no label rule defined (that is all "Include in Label" checkboxes are deselected) the former default rule applies: use the first simple type found by a depth-first traversal.

See ticket 41.

comment:14 Changed 9 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.