Expand my Community achievements bar.

SOLVED

usage of oak:unstructured in AEM 6.x

Avatar

Level 5

As per the jackrabbit oak goal OAK repositories are meant to scale for larger child node (possibly millions - please correct if wrong)

But how this is effective in case of AEM 6.x is not clear 

1) Does it mean all the content node  and user/group nodes base jcr type are child nodes(inheriting) of oak:unstructured ( vs nt:unstructured / order able child nodes)

2) How far AEM 6.x OOTB uses  oak:unstructured and what are list of node types that can be categorized for larger child nodes ?

Please share your thoughts.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi,

The decision, whether or not child nodes are orderable or not, should be a careful one. Only a very small number of nodetypes inherit from oak:unstructured. For example the cq:page nodetype does not. Also the subnodes jcr:content are simple nt:unstructured nodes, because the order matters. For example in a parsys the ordering of the individual components must be stable. Also think of the order in which pages appear in a navigation.

Therefor:

1) No, they don't. While for the group and user nodes it could make sense, for everything below /content ordering is absolutly required.

2) oak:unstructured is only used in a small number of cases. Ordering matters in many usecases.

I think, that the biggest benefit is in usecases, where you massive amount of data and no requirement for ordering. Mabye product lists. But unless you need to store many nodes as siblings this problem shouldn't matter. Having a structure is always good, especially when the kind of the nodes already suggests one.

Jörg

View solution in original post

3 Replies

Avatar

Employee

Joerg has an excellent article on this subject[0]. Whether you use ordered or unordered depends on your requirements. 

Regards,

Opkar

[0]https://cqdump.wordpress.com/2015/07/09/1000-nodes-per-folder-and-oak-orderable-nodes/ 

Avatar

Correct answer by
Employee Advisor

Hi,

The decision, whether or not child nodes are orderable or not, should be a careful one. Only a very small number of nodetypes inherit from oak:unstructured. For example the cq:page nodetype does not. Also the subnodes jcr:content are simple nt:unstructured nodes, because the order matters. For example in a parsys the ordering of the individual components must be stable. Also think of the order in which pages appear in a navigation.

Therefor:

1) No, they don't. While for the group and user nodes it could make sense, for everything below /content ordering is absolutly required.

2) oak:unstructured is only used in a small number of cases. Ordering matters in many usecases.

I think, that the biggest benefit is in usecases, where you massive amount of data and no requirement for ordering. Mabye product lists. But unless you need to store many nodes as siblings this problem shouldn't matter. Having a structure is always good, especially when the kind of the nodes already suggests one.

Jörg

Avatar

Level 5

Thanks Jörg for the details :-)