Ticket #270 (closed Enhancement: fixed)

Opened 8 years ago

Last modified 8 years ago

Checkbox visualization for multiple-value aggregation types

Reported by: jri Owned by: jri
Priority: Major Milestone: Release 4.1
Component: DeepaMehta Standard Distribution Version: 4.0.11
Keywords: Cc: dgf
Complexity: 8 Area: Application Framework / API
Module: deepamehta-webclient

Description

Should be configurable by introducing another View Configuration setting.

Change History

comment:1 Changed 8 years ago by jri

  • Status changed from new to accepted

comment:2 Changed 8 years ago by jri

  • Complexity changed from 5 to 8
  • Area changed from GUI / Usability to Application Framework / API

Originally a quick thought suggests the envisioned checkbox renderer would be just another FieldRenderer? implementation. But actually the checkbox renderer is not covered by the TopicRenderer? framework as it is: while a field renderer processes a *single* simple topic the checkbox renderer would render *multiple* topics.

A solution would be to extend the TopicRenderer? framework by the concept of a MultiRenderer?. A MultiRenderer? would be responsible for rendering "cardinality many" fields. The default MultiRenderer? would render multi fields as they are rendered now: as a sequence with additional "add another" and "remove" buttons. The new checkbox renderer would be an optional MultiRenderer? implementation.

So, the focus of this ticket is now:

BTW: it is evident for a while that even another type of renderer would be required to complete the picture: a CompositeRenderer?. This would renderer composite values like a Person or an Address. This will be addressed in a separate ticket.

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: checkbox multi-renderer (#270).

Page rendering and form rendering works.
Form processing is pending.

See ticket 270.

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

Webclient: refactor page model (#270).

The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.

The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:

  • SIMPLE
  • COMPOSITE
  • MULTI

Checkbox multi-renderer form processing is still pending.

See ticket 270.

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

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

Webclient: the Checkbox Renderer works (#270).

The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.

To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.

Note: for the Checkbox Renderer to work 2 requirements must be met:

1) the item type is associated to its parent type via "Aggregation Definition"

It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.

2) parent type -> item type must be a "Many" relationship.

Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.

Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.

Layout and other minor issues remain.

See ticket 270.

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

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: checkbox multi-renderer (#270).

Page rendering and form rendering works.
Form processing is pending.

See ticket 270.

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

Webclient: refactor page model (#270).

The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.

The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:

  • SIMPLE
  • COMPOSITE
  • MULTI

Checkbox multi-renderer form processing is still pending.

See ticket 270.

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

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

Webclient: the Checkbox Renderer works (#270).

The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.

To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.

Note: for the Checkbox Renderer to work 2 requirements must be met:

1) the item type is associated to its parent type via "Aggregation Definition"

It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.

2) parent type -> item type must be a "Many" relationship.

Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.

Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.

Layout and other minor issues remain.

See ticket 270.

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

comment:17 Changed 8 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to fixed

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: introduce MultiRenderer? concept (#270).

There is a new view configuration setting: "Multi Renderer URI".

See ticket 270.

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

Webclient: checkbox multi-renderer (#270).

Page rendering and form rendering works.
Form processing is pending.

See ticket 270.

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

Webclient: refactor page model (#270).

The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.

The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:

  • SIMPLE
  • COMPOSITE
  • MULTI

Checkbox multi-renderer form processing is still pending.

See ticket 270.

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

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

Webclient: the Checkbox Renderer works (#270).

The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.

To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.

Note: for the Checkbox Renderer to work 2 requirements must be met:

1) the item type is associated to its parent type via "Aggregation Definition"

It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.

2) parent type -> item type must be a "Many" relationship.

Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.

Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.

Layout and other minor issues remain.

See ticket 270.

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

Note: See TracTickets for help on using tickets.