On 4/26/05, Leonard Lin <lhl@usc.edu> wrote:
Hi, I've been working on a plan for campus-wide blogging at USC using Drupal
Cool!
I'm working from the latest Drupal 4.6.0 release (am keeping a separate svn vendor branch, as I think some core modifications will be unavoidable)
When you make changes/additions that might be useful to others, please consider contributing them back to core or as a contrib module... even if the code is somewhat specific to your implementation, other devels might take an interest if the features would benefit them as well.
* emergent taxonomies (freetags) - looking at Julian's Folksonomy as well as the new 4.6 Folksonomy module
A form of folksonomy landed in core recently and will be part of the 4.7 release. You might want to make sure that whatever solution you use will be compatible should you choose to upgrade later. Backporting the changes to core might also be an option, although I am not sure whether there would be any advantage to that. See: http://drupal.org/node/19697
* theming - this is perhaps a biggie. Drupal currently seems to work on a per-user basis for theme selection. We're looking to allow users to choose their own themes for their own blogs, that will apply on a per blog/space basis (and in the future customize w/ coloring, images): http://w3.usc.edu/blogs/site/My%20Blog.html Any suggestions? Are we going to have to write (adapt) our own theme engine?
The theming code in Drupal is quite flexible. Writing your own theme engine is a possibility, but it's not what I would recommend. Drupal reads a global variable, $custom_theme, when it initializes the theme engine. It will then render the page using that theme. Then, you could provide an interface where users could enter additional CSS rules to further modify the color scheme / add images to their blog. The CSS could be placed into the header with the theme_add_style function. (but AFTER init_theme has been called... so the user CSS rules override those in the site theme) Take a look at includes/theme.inc -- especially the init_theme() and theme() functions.
* major changes to input forms - I don't think there's any other options besides hacking away at the node and filter modules?
Probably not if you want to change anything node.module does already. For adding items, there's the 'form pre' and 'form post' operations of the _nodeapi hook.
A lot of functionality is there, I think a fair bit of this is wrapping my head around the best way to implement within Drupal. As mentioned, any feedback, suggestions, pointers would be appreciated.
Well, I answered those questions for which I had immediate answers... hopefully, that was somewhat helpful.
(should I also post to the forums, or is that redundant?)
Perhaps... you might get your question heard by a different audience. Also, this sort of question typically goes on the drupal-support list, but I'm not complaining. :-) Anyway, good luck! Tom