Draft for ?

Discussion points on AggregationState. Needs review.

Progress has been made on this for 4.0: the Resource class is entirely deprecated - its been moved to the taglibs module and is only used there. (currently kept to avoid breaking corner cases). Preview mode moved to aggregation state.

Rationale

  • AggregationState is a very rough 1:1 copy of Resource and Aggregator, and improving this area would take templating improvements of 3.7 even further.
  • AggregationState as a class name isn't very satisfying.
  • Resource is still in use, and despite being deprecated, I have the feeling AggregationState hasn't been adopted yet.
  • Resource has a couple of features that haven't been moved to AggregationState: the preview mode being the useful one (I suspect all other methods could or should be removed)

Points to discuss

  • RenderingState ? Would hold "currentNode" and friends.
  • Are properties like file, form, etc really relevant ?
  • Properties related to the admininterface, like "preview" should move to a different object. It should be clearer that RenderingState (or other name) holds information related to the actual content being rendered, not the edit bar or other artifacts. Preview is also partially handled by the InterceptFilter at the moment. This also handles some locking, so it should be renamed and/or split.

Additionally, if the "preview" flag wasn't stored in the session but simply passed in the url, it might help when rendering resources from the repository like css (see MAGNOLIA-2393@jira)

Resource class doesn't exist as of Magnolia 4.5. Is this still relevant?

2 Comments

  1. Even if not satisfying I would stick to the aggregation state. all other improvements are very welcome

  2. Progress has been made on this for 4.0: the Resource class is entirely deprecated - its been moved to the taglibs module and is only used there. (currently kept to avoid breaking corner cases). Preview mode moved to aggregation state.