Details
-
Improvement
-
Status: Closed
-
Top
-
Resolution: Fixed
-
2.01.00m01
-
None
Description
The wicket model classes need to expand, we need models for:
1> list/table views over the mixin types of a node
2> list/table views over child nodes of a node
4> tree views that think differently about what constitutes a 'node'.
5> tree views that know more about the performance characteristics of the underlying model
An example of Item <5> is the recent optimization in JcrNodeModel where some knowledge about the internals of HIPPO_FACETRESULT and HIPPO_FACETSEARCH
is used to speed up the tree.
JcrNodeModel currently implements three interfaces:
1> IWrapModel for 'wrapping' a JcrItemModel
2> TreeNode for providing data to tree views on individual jcr nodes
3> IDataProvider for providing data to list/table views on the properties of a node
Since a class cannot implement the same interface more than once this needs some refactoring:
1> Split up JcrNodeModel, make separate model classes for the TreeNode and IDataProvider implementations.
2> Make plugins 'typed' (ie. let them specify what type of view they need).
3> Add more implementations of IDataProvider and TreeNode on an as-needed basis.
4> Plugins should be able to provide their own model classes in case they need a specific model, in other words models should also be 'pluggable'