I'm writing a new presentation for the Highland Fling conference, this time about Content Management Systems. What I'm keen NOT to do is make it too focused on products I've built or those I have experience of (my company developed both Perch and also a larger framework that we use for big sites), so I want to make sure I represent properly other systems.

I'm currently thinking about custom content. So for example I want to have a list of staff members on a page with all their contact info marked up using microformats. In an ideal world I'd like to present the user a form where they add the data - name, email, phone, biog, photo - and then I have control of the mark-up and CSS. Rather than the editor having to just enter these as a big block of html using a WYSIWYG editor.

In Perch we do this with a content template with the mark-up in and then set to repeat. I believe something like this is also possible with WordPress Post Types.

If you use ExpressionEngine, Joomla, Drupal (or anything else) how would you approach the above adding staff members scenario? I don't need anything too detailed - just an idea of how you would approach it in terms of best practices. I can poke around the docs for all these things but it is definitely more useful if experienced developers on those platforms can explain how they would do it.

As always I'll be publishing my slides and any other interesting info once I've done the presentation so this will all be made available.