Wednesday, 23 February 2005

Dynamic UIs with blojsom plugins

« Distributed Blacklists for the Blogosphere | Main | More on Dynamic UIs with blojsom plugins »
One of the newest features I've implemented in blojsom is shown in the following image.

dynamic rss enclosure

Whooopity frickin' doo! A select list allowing you to attach an enclosure to a blog entry! Whooopity frickin' doo!

The only thing is ... the plugin which handles editing of blog entries doesn't know anything about the RSS enclosure plugin. Its template doesn't even have a field for adding an RSS enclosure. However, the RSS enclosures plugin knows that when you're adding or editing a blog entry, if you want to attach an RSS enclosure, it needs to modify the template to throw up its own form item(s). The basic conversation is something similar to the following.

Entries administration plugin: Listen up everybody, I'm allowing this nutter to rant some more to the Intarw3b, anyone have anything they'd like to add?
RSS enclosure plugin: Hey Ed, how's the wife and kids? Billy make the soccer team this year? Oh yeah, the nutter, I need to know if he wants to add an RSS enclosure to this entry. Here's what I need to know.

And so, the RSS enclosure plugin adds the information it needs and the UI for adding or editing an entry now has an option to attach a file as an RSS enclosure. The basic idea is that people will no longer have to know specifics like adding meta-rss-enclosure to an entry. The template should present a request for that information in a more meaningful and customizable way. Simple ... straightforward ... powerful!

Other uses for this capability might be, but not limited to ...
  • A plugin that allows you to attach language-specific metadata to an entry so you could do something like render a entry right-to-left if say you're writing in Arabic or Hebrew.
  • A plugin that allows you to add a number of custom fields to a blog entry. A more general version of the plugin above, if you will.
  • A plugin that adds a file-upload form item(s) so you don't have to go to the file upload screen.
  • And so on ...
Templates for the plugins that want to add to the interface don't need to be static. You can build the template dynamically if you want. They can take advantage of all of the template macros. Or maybe the plugin can make available new macros dynamically.

And if you really don't like the way this is implemented in general in the interface, you always have the ability to override and customize the templates and handling on a per blog basis. This could be done to override the style or attributes of templates and plugin template snippets. So, if you've got 3 or 300 blogs on a single installation, each blog could have its own custom interface. Each blog could do this for the administration interface as a whole or just specific pages or snippets. You've had the ability to do this from some of the very early versions of blojsom, but now I think I'll probably see more customization.

This functionality compliments the existing functionality in blojsom for plugins to add themselves to the administration interface. This is done by writing a plugin which subclasses the WebAdminPlugin. Subclasses of this plugin get added to a specific page in the plugin administration section so that you can throw up administration pages for various plugins. This is how you edit settings for plugins like the moblog plugin or the macro expansion plugin.

And you can probably do some interesting stuff with the fine-grained permissions so that if a user in a blog was not priviledged, UI elements would not be added. I'm just thinking off the top of my head here.

blojsom. You know you want to /images/emoticons/mozilla_wink.gif
Posted by david at 3:28 PM in blojsom ... all blojsom

 

[Trackback URL for this entry]

Your comment:

(not displayed)
 
 
 

Live Comment Preview:

 
« First  « Prev   1 2 3 4 5   Next »  Last »
« February »
SunMonTueWedThuFriSat
  12345
6789101112
13141516171819
20212223242526
2728