Accidently hosed a post last night

I accidentally hosed a post last night. I was trying to delete an attachment to a post but instead deleted the entire post. Luckily I have nightly backups, so restore was quick and easy. It was the first time in a LONG time that I've had to restore the database, but I am extremely relieved that my backup system is working perfectly. I also rsync the backups to my home computer they are stored in two different places.,

Drupal Audio Handling is a Mess

The state of Drupal audio files support in Drupal is a mess right now. The audio module, which is great by the way, has not been fully updated to 6.x. This effort has probably been hampered somewhat by the fact that "audio nodes" is not the way that most drupalers want to treat audio going forward. The new drupal way is CCK module and Views and the new way to do audio in drupal is by creating a CCK type with a File field. The FileField module is mostly ready for 6.x (but still "alpha"), but one other nice addition, XSPF playlist module, which I need, is not even close. I recently tried to update a site I maintain, willmusic.ca, over to Drupal 6.x. Trying to get an album type and then generating an XSPF feed from the associated file fields was next to impossible without actually porting the XSPF module to Drupal 6.x myself. When I tried to use the audio module in 6.x to get an XSPF feed for an album type with attached audio files (using audio_attach), this also failed, because the audio_feeds module has not been ported to 6.x yet. So in the end, I reverted back to the original 5.x site, and got XSPF feeds working for each album and then hooked up a flash media player that accepts an XSPF playlist. All is good except I wish I was using 6.x. The moral of the story is that even though 6.0 was released over a year ago, 6.x is no where near production ready, unless you have time to develop your own modules, or you don't plan on using any modules at all.

Update (2010-02-03): the SWF Tools module looks promising, especially Flow Player which it integrates with. I starting to port the site over to Drupal 6 and I think CCK is the way to go, so I will go with CCK FileField with SWF Tools.


Drupal Module Updater

This script will automatically update a drupal module if your drupal source code is stored in a Subversion respository. It first removes all files except for the .svn directories, then extracts the tarball for the new version of the module. Then it runs an svn status command to see which files are new, which files have been removed in the new version, and which files have changed.


Spam Finally Gone Thanks to Captchas

Looks like I have finally banished spam from this site forever thanks to the Drupal CAPTCHA module. Apparently this captcha is not readable by software yet, or maybe no one has tried. There are so many sites out there without any captcha or spam filters that the spammers probably don't even need to resort to captcha-deciphering. I almost don't even need the Akismet module anymore.


Finally got rid of Spam Thanks to Captcha

Finally got rid of spam from my site. It had caused me problems to no end. I have been using Akismet, but it is not perfect and has the odd false positive so I can't have it delete messages it thinks are spam. I have to have it put them in a spam moderation queue. But unfortunately I have to scan through them quickly before deleting which takes some time. When I was on holidays in May the spam actually caused my disk space on the server to run out.

Finally the Drupal Captcha module actually works and can do image captchas, not just text captchas. Now I have gone 2 days spam free so far.


Geocoding for Canadian Addresses Now in Drupal

What a pleasant surprise to find that my patch for geocoding of Canadian addresses for the location module was committed to CVS only a couple days after being submitted. So now geocoding for Canadian addresses works with the new location and gmap modules in Drupal 5.x. bdragon, the maintainer of the gmap module also threw in geocoding of Canadian addresses using Google as well.


Upgraded to Drupal 5

I just upgraded to Drupal 5. Seemed to go fairly smoothly except for a few glitches involving the location module. What a PITA is was though. I took my old site's mysql database dump, copied into a local Drupal 4 installation, disabled all modules, dumped the database, copied it to a local Drupal 5 installation with all my modules installed, then started enabling modules 1-4-ish at a time, and running update.php after each, making sure that the schema upgrades worked properly. Then finally, grabbed the mysql dump, uploaded it to my web host, checked out my Drupal 5 installation from my subversion repository, and imported the sql dump to a new database. Then tested.

So this is my first post with Drupal 5. Uh-oh, looks like the collapsible regions of this form are not working... I hope that's easy to fix.

Update: looks like it was an easy fix. Just had to refresh pages in the browser.


Recently Updated Drupal Modules Feed Part 2

A while back I created a recently updated drupal modules feed. I used RSSxL. This sucked wind because it would only scan the first 20kB of the page it was scrapping so it would miss tons of drupal module updates. I recently tried Dapper and was really impressed. It could take any webpage and allow me to click on divs and construct an RRS feed. It wasn't flexible enough though and was difficult to use. Part of the difficulty was probably because Dapper is a web app.

I recently discovered OpenKapow and they took a different approach, making a desktop Java application instead. It is hugely flexible and easy to use. I got a feed up and running much quicker than I did with Dapper. Here it is: Drupal Recently Updated Modules Feed. Since OpenKapow is so powerful I think it will be possible to add the entire description of the module (for modules with more than one paragraph) along with the links to the updated versions and what not.

New Theme

I got pissed off at that crappy old sands_css theme I was using. I realized it wasn't working in Konqueror properly (and therefore probably screwed up in Safari as well). Anyways I always thought it looked kind of ugly so I just switched quickly to some random theme I found in 5 minutes on Drupal's theme page. It's a lot nicer and it has 3 columns so all those widgets in the sidebar are now all closer to the top of the page.


Almost Ready to Upgrade Site to Drupal 5.0

A while ago I mentioned that I was waiting for a few modules to be ported to Drupal 5.x before I upgrade this site to Drupal 5.0. Well the final two modules, gmap and location were ported recently and I started creating a Drupal 5.0 installation in my subversion repository and starting testing. Everything has gone smoothly so far, including many schema upgrades by the various modules. My map of authentic Mexican restaurants in Vancouver also loads much faster now under Drupal 5.0 and the new gmap module. I also like the new default theme, Garland, that comes with Drupal 5.0. I like using default themes because it always themes all the elements correctly, provides for easy upgrades when the next version of Drupal comes out, and I just don't have time to invest in my making my own Drupal template that actually looks any better than the default. This site should be running Drupal 5 within a couple of weeks.


Upgraded to Drupal 4.7.5

I just upgraded to Drupal 4.7.5 today and upgrading is now more of a snap than ever for me. I fully track the drupal sources in my own svn server and then I merge changes between the releases into my own Drupal 4.7 branch (that contains core drupal + patches + contrib modules + contrib themes + 4 sites/ directories). It is so easy. Here is an article I wrote that explains how to maintain vendor sources using Drupal specifically.


Drupal Modules I am Waiting to be Ported to Drupal 5.0

I am really looking forward to upgrading this site to Drupal 5.0. I really like the new default theme and I am thinking of using it along with a customized colour scheme. I am a big fan of using default themes by the way because it means I never have to monkey around with my theme if anything in the underlying API changes from version-to-version. For a simple site like mine, using a default theme makes the most sense. Especially for someone who is by no means an expert in HTML and CSS. I have made a few sites using only CSS (no tables) that were fully XHTML 1.0 compliant and worked on all browsers but only after much work and late nights.

I am going to keep a little list here of modules that I am waiting to be upgraded to Drupal 5.x before I upgrade to Drupal 5.0. I will scratch them off by crossing them out once each of them is ported. Any remaining ones I will port myself if possible.


Custom Drupal Recently Updated Modules Feed

I just created a feed of recently updated drupal modules using RSSxl Beta could do it. I entered:

  • Page URL: <a href="http://drupal.org/project/Modules/date">http://drupal.org/project/Modules/date[/geshifilter-code]
  • Start String: leave blank
  • Start Item String: <h2>
  • End Item String: </div>
  • Start Description String: <p>
  • End Description String: </p>
  • Link Number: 1

Unfortunately, according to this forum post, "RSSxl only uses the first 20KB of the target page - we have to do that to keep bandwidth usage down to reasonable proportions." And because drupal seems to alphabetize the modules that got updated in any given day, if the number of module updates that fit into 20kB is more than the number that were updated on a certain day, then some module updates might not get into this feed.

Actually it might not be exactly alphabetical...it looks like it is aphabetical in batches. Must be due to a cron job running infrequently and the batch it generates on each run is alphabetical either intentionally or unintentionally due to the fact that directories and the like are sorted alphabetically by default.


My Site Got Hacked

So I go away for the Thanksgiving weekend and come home to find out my site has been hacked. The attack consisted of setting up some elaborate phishing attacks for multiple Canadian and US banks. The main damage was done at a site that I maintain for some friends of mine, namely, Will Stroet's site. It is in a subdirectory of this site, set up with a domain pointer. I had ftp access enabled to the willmusic.ca directory ONLY and so I had assumed that the attackers had come in that way, through FTP. Then I noticed 3 files in my drupal modules/month directory. That got be really worried that there is some sort of security hole in Drupal or that my SSH credentials had been compromised in some way, because there is no FTP access to that directory (or at least there shouldn't be).

So far I have changed email passwords for the 2 email addresses set up through my hosting company site5 and changed the FTP password. Next, I am going to change my Drupal passwords and ssh password.

The good news is that I haven't lost any data as far as I know. One file was overwritten but it was easily recovered from an old backup (it was a template file that hadn't changed since the last backup anyways).

Akismet Spam Filter Module for Drupal

Ok, after adding the captcha module I still got one comment spam in a very short amount of time, so I found that there is an Akismet module for Drupal, although it isn't listed on the Drupal module list. It is truly amazing and works wonders.


Subscribe to RSS - drupal