In a previous CMS I worked with, it was possible to create a page, then drop in per-page "widgets" into zones in the page. You could drag and drop the widgets within each zone to control the ordering, and you could edit content in the widgets
For instance, I might have a page and drop into the Content zone in order:
- HTML widget
- Form widget
See the attached screenshot for an example - I have a 'page content' widget followed by a 'contact form'. The page content is editable in-place. Both are re-orderable in the zone by drag-and-drop.
The content in the HTML widget is be strongly associated with the page. This approach gave the end user a lot of flexibility in constructing pages.
Now... jumping into Orchard land, I want to achieve something similar. The
needs to be able to create a page and put content in certain zones and re-order that content, just like I did above.
I foresee the user clicking on 'create new page' in the CMS, and then where the 'body' editor would normally be, they can add and control the ordering of 'widgets' - but I will use the term 'gizmo' instead now to denote a kind of widget that is associated with
a zone AND
an instance of a content item
, not just a zone+layer.
It would be a requirement that they can edit the content of each of these gizmos
during page creation/editing - it would be too difficult for our users to try to understand parent/child relationships between pages and gizmos, and create a page then have to go off and create children and edit them individually.
I have a rough idea that this kind of thing could be achieved using Container/Containable. However, the thing I'm concerned about is whether it would be possible to create/edit the parent page and the child gizmos simultaneously on the same create/edit page.
I'd really appreciate any suggestions. Achieving this is crucial to the success of our project.