I have a requirement to store the content in the content repository. I have two levels of data to be stored i.e. continents & countries; both continents & countries have their individual properties; continent contains countries node. I need to build a mechanism to store the content at a particular location in the JCR. The content authors should be able to add, edit or delete the continents & countries.
What's the best way to build this admin form? Should the custom node types be created? Should a custom action type to be built? To support dynamism on UI i.e. add, edit & delete in a single form - how can it be done efficiently?
If someone can provide me pointers, I will start with my build. Let me know if you need more information.
This is the way I would approach this in CQ:
* Create a Continent Page Template and Component.
* In this page, include a parsys called countries.
* Create a country component which can be dropped into the countries parsys.
* Continent metadata can be entered through a custom Page Properties dialog or a different component on the page.
The approach you listed sounds easy to implement.
However I want to understand why out of all we choose cq:Page and why not nt:unstructured or sling:orderedFolder? Can sorting be enabled in this case?
Also I have various scenarios where I need to store different form of data. Another example is storing product information in a alphebetical manner. There are lot of products to be stored and needs to be displayed in a tab format. The tab looks something like this A-E, F-L, M-S, T-Z, which should be configurable. Do you recommend creating one page per alphebet e:g A, B, C... and add all products (component) starting with A under page A, and so on? Or is there a better way to implement?
Can something like calendar event be used here where in year, month and day node gets created first and then the event node is added. If so, in the above scenario how can the nodes A, B, C... be autocreated when products are added? Also the products need to be always sorted.
Unless there is a specific reason (which there doesn't appear to be in this case), my preference is always to use the CQ authoring UI rather than constructing a custom admin UI. This way there is a single metaphor (dragging components into a parsys from the sidekick) for authors to understand and they don't have to do a lot of context switching.
And yes, in the model I described, continents could be sorted (through the SiteAdmin) and countries within a contintent could be sorted (through the parsys).
I should also note that a different, but similar model, would be to have the countries as standalone pages. Without knowing your situation better I couldn't make a recommendation one way or the other).
In my experience, products are usually categorized by product type (see the Geometrixx Outdoors example site) and the navigated through in some faceted way.
Thanks a lot for the approach Justin.
Can the sorting happen automatically for both continents (Page) and countries (parsys) or it has to be done manually by the content authors?
I will have a look at the Geometrixx site and get back with my questions (if any) on the product related query.