Planet Drupal
A welcome note to anyone who hits this site from Planet Drupal. Blame Boris Mann; he decided I was linkworthy because of the Drupal work we’ve been doing overhauling the Savannah Morning News website.
And no, I don’t blog in Drupal. I also don’t swat flies with an elephant gun. Drupal is a powerful, flexible framework for developing online community apps. So far I’ve written a handful, some of which may get back to Drupal.org.
They aren’t available yet because they solve some pretty specific needs for our site. They are also written and tested for 4.6 and not 4.7. Here’s a quick review.
1) generator.module — enables site admins to flatten specific drupal pages (based on the url_alias table) either on demand or via cron. Generator uses CURL to view a Drupal page and writes it to a .php file that can be served by Apache instead of drupal. Includes a check for dynamic pagination ($_GET requests in the URL) so that users are shown dynamic pages when necessary.
2) reputations.module — a very lightwieght module that allows users to rate each other.
3) bloggers.module — a quick-and-dirty blog.module enhancement that shows all active bloggers on a site and allows username searching by alphanumeric chars (username LIKE x%).
4) object cache — a few core tweaks allows the caching of drupal code objects ($user, $node, $block, $profile) to alleviate load on the database. This is still being tested, but initially cut our page time 20% and cut db queries about 70%. (I will detail this more later.)
5) [I forgot this one originally) — user_favorite.module — a simple module that clones the ‘upload user picture function’ and allows users to load a larger photo to their profile. We did extensive customization on the profile, in fact…
6) mdw_profile — not a module, but a series of functions that take the place of user_profile() as the default profile presentation. Why? Design needs. See http://new.savannahnow.com/user/2
Most of these are part of the Savannah project. They were written either to add features or to speed page load. Generator specifically can increase load speeds up to 1000% (depending on server config and module load). That’s because it bypasses Drupal’s bootstrap process entirely. Used with the object cache, it can also ‘pre-cache’ popular content, improving server performance even more.
4 Comments so far
Leave a comment
I’m ecstatic to see your blog and look forward to the interesting material you’ll be giving us! I was very pleased to see the kind of workd you’ve been doing with Drupal, and how Drupal can be used for high traffic sites is of keen interest to me.
By merlinofchaos on 06.11.06 1:45 am
Thanks, Earl.
And for those who don’t know, we use NodeQueue extensively on the site. The editors (we have 4 non-technical site content editors) use it for all highlighted content, including the large Flash players on the site.
By Ken Rickard on 06.11.06 10:11 am
Oh man - the reputations.module would be really handy for me. I was actually thinking about this and how I would like the ability of users to give each other userpoints as a means of endorsing each other.
By greggles on 06.11.06 2:46 pm
I’ll release it back to Drupal.org after I have some time to make it 4.7 compliant.
I also may need to work in support for the Voting API, which I currently don’t use, but other people might want.
The cool thing, to me, is that writing the module turned out to be very easy.
By Ken Rickard on 06.11.06 6:27 pm
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>