Drag-n-drop page design for end users

January 16, 2005 at 12:26 pm

Yesterday, with help from Godefroid Chapelle, I managed to get CompositePack working with p4aPortfolio (the new name for ArtistPortfolio).

While the previous frontpage was composed of static blocks (recordings, events, bands, etc.), with CompositePack integration it’s now possible to drag-n-drop viewlets on the portfolio frontpage to re-arrange their placement.

You can also add new viewlets or delete existing ones, without having to jump through hoops to get the job done.

This means that for the end user (non-technical artists), they can very easily decide what should be displayed most prominently on their portfolio page.

For example, maybe they are not gigging very much but producing a lot of new songs, so they could move the ‘Events’ viewlet to the bottom of the page, and move the ‘Recent audio files’ viewlet higher up on the page.


I had also looked at CMFContentPanels and the recently released ListingPages product to provide this functionality but nothing came close to the intuitiveness of drag-n-dropping that CompositePack provides.


If you want to add a general viewlet that is not attached to a particular piece of content, for example a viewlet that displays all MP3s that have been added anywhere in a Member’s folder (and not just a particular folder), you have to associate that viewlet with the type ‘Plone Site’, and then it can be added as ‘Portal’ instead of ‘Content’.

The problem with this is that currently, when you select ‘Portal’ it adds the element to the page right away and chooses the default viewlet which may or may not be the one you want. So you have to go back and select the viewlet after you’ve already added it. Not the most intuitive interface and definitely should be improved.

A workaround for the time being is to use the general categories that appear in the navigation portlet as ‘placeholders’ so that if the user selects an object of type ‘Recordings’, they can select among several viewlets: ‘recordings in this folder’, ‘recordings in this members folder’, ‘recordings for the whole site’.

It really doesn’t matter which particular object they select, but just that they select one that has these ‘global’ viewlets associated with it.

New feature ideas

Add another option in the dropdown menu called ‘Add new item to this folder’. If the viewlet is showing a folderish object, one should be able to not only edit that object but add new items into that folder.

As it is right now, if I’m viewing the frontpage and want to add a new recording, I have to first click on the ‘Recordings’ folder (in the left navigation) and then choose ‘Add CD’. I should be able to do this directly from the recordings viewlet on the frontpage.