Core: begin of "Many Cardinality" (#76).

Client not yet adapted.

See ticket 76
Core: "Many Cardinality" Pt.2 (#76).

Webclient: page and form renderer works. Form processing doesn't work yet.

See ticket 76
Core: "Many Cardinality" Pt.3 (#76).

Fix composite value cloning.
Form processing not yet functional.

See ticket 76
Core: code polishing and commenting.
Core: merge master.
Core: "Many Cardinality" Pt.4 (#76).

Form processing: parse multiple-value requests.
Adaption of the Webclient is pending.

See ticket 76
Core: "Many Cardinality" Pt.5 (#76).

Process multiple-value update requests.
The response object is not proper yet.

Webclient: add debug method js.stringify(obj)

See ticket 76
Core: "Many Cardinality" Pt.6 (#76).

Processing card-many update requests: response object is properly formed.

See ticket 76
Core/Webclient: fix creating many-card topics.

Phase 1 of "Many Cardinality" (#76) refactoring is supposed to be complete now.
Internally the core/webclient/protocol represents multi-values as arrays.
For the user the functionality should be exactly as before.

See ticket 76
Fix webclient search and file browser.

Was broken in "manycard" branch since Mar 26 in conjunction with TopicProvider simplification.
ed7f645d5132e9675033c790e8f755b4b3e5877e
Webclient: "Many Cardinality" Pt.7 (#76).

Revise TopicRenderer.create_fields() and class TopicRenderer.Field. Change APIs.
In preparation of "extended composite request format".

See ticket 76
Webclient: introduce class PageModel (#237).

That is TopicRenderer.PageModel
In preparation of "Full composite structure in update requests".

See ticket 237
Webclient: new update request format (#237).

Update requests contain the full composite structure.

Change field renderer contract: read_form_value() returns an entire topic model, not just a simple value.

Server-side processing is pending.

See ticket 237
Core: process new update request format (#237).

There are 2 topic serialization formats supported now:
1) canonic format -- contains entire topic models.
2) compact format -- contains the topic value only (simple or composite).
   This format remains there to keep the simple cases simple.

Webbrowser plugin needs to be adadpted.

Furthermore in Webservice module: improve exception handling.

See ticket 237
Core: process compact format topic refs (#237).

The Webbrowser plugin works now.

Close ticket 237
Fix Icon Picker.
Webclient: fix editing simple topics.

Partly revert commit 0dc588 (April 10):
Change field renderer contract again: read_form_value() returns a simple value or a topic reference (REF_PREFIX notation), not an entire topic model.

Partly revert commit e13a55 (April 13):
Adapt to field renderer contract.

Furthermore: fix rendering of non-viewable/non-editable pages.

See ticket 237
Begin of "Nested content panel rendering" (#104).

Change Field Renderer framework:
A field renderer constructor got only one parameter: "field_model" (a FieldModel object).
The former "topic" parameter is accessible as field_model.toplevel_topic
The former "rel_topics" parameter is dropped.

Add "interface" FieldRenderer.
It will provide default method implementations and serves for documentation purposes.

Add to webclient.css: box styles for each nesting levels.

No visible results yet.

See ticket 104
Webclient: nested content panel rendering (#104).

The content panel visualizes the composite structure as nested boxes, filled with a distinct color for each nesting-level.

Change Field Renderer contract:

- The render_field() method gets a "parent_element" and is responsible for rendering into that. At calling time the parent_element is already part of the DOM.
Nothing is to be returned.

- The same applies to the render_form_element() method.

- The post_render_form_element() method is dropped.

See ticket 104
Webclient: show "Add another ..." buttons (#76).

Not yet funcional.

See ticket 76