mxmDynamicPage, Plone content type for dynamic lists
It does nothing that Topics and ZPT cannot do, but that approach is far to difficult for end users. I also find the current products that creates dynamic pages to complex and difficult for end users, so I have tried to find the sweet spot between power and ease of use.
It has been used in production for allmost a year, with good end-user satisfaction.
Structure of a Dynamic Page
The top of the page optionally consists of text content.
The bottom of the page consists of 0-5 dynamic lists.
This screenshot shows a fully populated page, with text, two columns and three columns.
Unfortunately it doesn't really do full justice to the possibilities. When you make your own styles, there is really no limit to the way it can look. The default styles are meant more as examples on how to make your own styles.
Editing the content
Editing the text content is just like editing a normal Plone Document. With all the usual fields. It also supports dynamic editors like Epoz. The main difference is the "edit lists" tab.
There can be up to 5 different lists on a single page. The content and the layout can be different for each list.
(This screenshot is a bit out of date. 2 more options in the latest version. Will be documented later)
A dynamic list is like a simple search in the catalog. It includes the most common forms of searches that can be done. My hope is that it covers about 90% of all use cases.
The tricky point to understand about the searches, is that when no content types and no subjects are selected, then all content types and subjects are found.
This is the same behaviour as the advanced search form.
If you select only one content type, ie. Event, then only events are listed.
If you select "Event" and "Meeting", then only "events" who has the subject "meeting" are listed.
The search functions works like:
(type1 or type2 or type3) and (subject1 or subject2 or subject3)
A common mistake is to select all content types and all subjects, and then believe that all content is listed. But not all content has subjects/keywords selected in the properties/meta data tab. So in this case, contents without subjects will not be listed.
To list all contents it is safe enough to select all content types. But you should deselect all subjects!
A Dynamic Page also acts differently according to the users role.
When the user viewing the page is Anonymous, only published content is listed.
When a user is Authenticated, both Published and Visible content is listed.
You can choose if the content in the dynamic list should come from the current folder, where the DynamicPage is added, and it's sub- folders. Which is the default.
In other words, all content in and below the path where the Dynamic Page is.
So if it is added to a member folder, only content from the member folder and below can be added to the dynamic page.
The content can also be collected from the entire site.
If you add a Dynamic Page to the root of the site, any content on the site can be added. No matter what search method you use.
If you have some dynamic lists on a page, but you think that some of your content is important enough that it should allways be visible. Ie. that it should not dissapear when newer items are added. Then you can use a static list.
You simply select some content from an alphabetically sorted list of content that is available to the page.
The list then consists of dynamic reference to the selected articles. So you don't have to worry about you dynamic page becomming out of sync. If you change the title or the description of some of the linked content, it will automatically be updated on the static list.
Beware: if you rename or move the items in a static list, it will loose the reference.
Layout of lists
There are 2 choices when it comes to the layout. "Style" and "position".
Style defines how the list looks on the page. Only a limited number of options are shipped as default, as it is my experience that almost no one style will be right for a specific site enyway.
If you want to define your own styles, you must customise the zpt
DynamicPage_list_views in the mxmDynamicPage skin.
Position can be a little tricky to understand even though it only has two options.
- Under Previous, makes the list appear under the previous list. In other words it makes the list appear in a new row.
- Beside Previous, makes the list appear in a column beside the previous list.
Using a combination of these options gives practically unlimited layout options on single page.
Other products for dynamic pages
It runs under Plone 2.x and 2.1.x
contact me at firstname.lastname@example.org
You can get it from Downloads
Last modified 2006-03-09 02:32 PM