Drupal needs a new home

drupal.org is collecting donations for a new server. They needed $3000 for a new server, but in 16 hours they got over $6000 (including my small donation). The new server will be ordered tomorrow. Open Source Lab is providing free rack space & bandwidth for the new server.

Bandwidth & CPU usage problems (maybe) fixed

I think I came up with a solution that will fix MacMegasite’s heavy resource usage. A lot of my hits – maybe 60% – are coming from RSS readers. I’m already using FeedBurner to process my feeds. Until now I was using a hack to cause /node/feed to redirect to the FeedBurner URL and Drupal’s URL alias features to map other common feed URLs such as backend.php & index.rss to /node/feed. Instead of letting Drupal do the work, I’m now using Redirect permanent in my .htaccess to redirect /node/feed and the other URLs to FeedBurner.

Multiple sites, one installation

I now have store.worldbeatplanet.com and www.worldbeatplanet.com sharing a single Drupal installation. I originally used two separate Drupal installations, although they already shared the same database (using different table prefixes). shareyourmusic.com also shares the same Drupal installation & database.

Drupal 4.6.x’s multiple site feature gives a lot of flexibility in allowing different sites to share some content yet keep other parts separate. Worldbeatplanet.com & Shareyourmusic.com both share the same content & user list, but with different appearances and different sidebar blocks. Store.worldbeatplanet.com has different content & different features, but it shares the user list with the other two sites. All of that can be easily accomplished using different table prefixes in the settings.php file for that site.

Read more

Security patches

I’ve upgraded all of my sites to Drupal 4.6.2, which fixes the recently mentioned security holes. For my one non-public site which was still using 4.5, I upgraded it to 4.5.4, which also fixes those holes.

Drupal.org down

I see that Drupal.org has been down for a few days. This also prevents other drupal sites with shared authentication from logging in users with IDs at drupal.org.

update: There’s some information at http://www.webschuur.com/drupal.org:

Drupal.org is down for maintenance.

And a quick command to “fix” the xmlrpc issue is to get rid of the XMLRPC file. But removing it will give you errors, you should thus replace it with an empty file.
You can use the command
rm includes/xmlrpc.inc && touch includes/xmlrpc.inc

Another new WorldBeatPlanet feature

I’ve added a subscription feature to worldbeatplanet using the Drupal paypal subscription module. For $5/month a user gains upload privileges and gets their own weblog at http://www.worldbeatplanet.com/blog.

Until recently I’ve been concentrating on MacMegasite due to the higher news volume and more or less ignoring WorldBeatPlanet since it gets very few news submissions and I haven’t really made much effort to seek out news to post myself.

Now it’s getting to be the other way around. Since I don’t really have much time to seek out news, I depend on user submissions for MacMegasite. Many of the submissions I get aren’t properly formatted so I have to clean them up. With anonymous comments enabled, I was getting lots of flames & bitchy comments. Plus, I got a warning from DreamHost that I’m using too much CPU time, and due to the volume the majority of it was from macmegasite. In all, dealing with it has been getting to be a pain. On the other hand, several people now are interested in buying ads.

Turning off anonymous posting reduced the spam and cut down on the flames, but it also reduced the volume of news submissions.

Meanwhile, I’ve been getting a lot more positive feedback for WorldBeatPlanet & lots of records to review (which I haven’t had time to deal with yet). Several artists are also interested in promoting their music through WorldBeatPlanet and Jimi has offered a lot of praise & encouragement.

The turning point came when Jimi M’baye asked me to help him sell his album in the US through CD Baby and take over for his manager, who was getting too busy for him. Over the last month or so, I’ve put in a lot of effort to promote his album & get it duplicated & packaged professionally. After my experience with that, I’m now planning to import & sell music directly under the WorldBeatPlanet label.

WorldBeatPlanet Podcast

I’ve just added a podcast to WorldBeatPlanet. Drupal already has all of the necessary features for podcasting – it automatically includes the first file attachment in the RSS feed.

To create a separate podcast section, I defined a new taxonomy that I could apply to stories as a tag, so to make an RSS feed only containing podcast tagged items, I can use a path like taxonomy/term/54, although I added a few path aliases to hide some of those ugly URLs.

Building an online store with Drupal

I’m using Drupal‘s E-Commerce module to set up the store at WorldBeatPlanet. Rather than selling all of the items myself, I’m using my affiliate links with CD Baby and Amazon to offer products from their sites. When I work out the details with Jimi, I will also be selling CDs myself.

The E-commerce module normally handles the shopping cart, payment, and shipping directly, but I figured out how to use it with external items sold by another site. To sell an item through CD Baby, I create a new product with an affiliate link for the album, enter the description and paste in CD Baby’s shopping cart code. For the product info, I make the add to shopping cart item hidden and make it a non-shippable item. When someone views that item and purchases it, rather than adding it to WorldBeatPlanet’s shopping cart, it will add it to a shopping cart at CD Baby to be purchased. It’s fairly seamless. It should work the same with Amazon items, although I haven’t tried it yet.

Using taxonomy terms, I specify whether the item is sold by CD Baby, Amazon, or directly (although it really isn’t needed), and I created menu items to view only items from that store. I also did the same with a separate taxonomy to browse by genre in all stores.

Exporting static pages from Drupal

As part of my plan to reduce MacMegasite’s hefty resource usage, I’m reducing the size of the database by archiving all stories from 2004 or earlier as static pages. Using a simple Perl script, I exported each node as a text file, which I then rendered as static pages using Blosxom.

Read more