Posted on: 12 March 2008
A few weeks ago, I decided that the best foundation for the site I'm working on would be Drupal. After some discussions around the scale of the site and the likely complexity of our customisations, this seemed to be the natural choice. One of the key factors in this decision was the perceived strength of Drupal's architecture.
Posted on: 19 March 2008
I'm starting to get the hang of Drupal now, largely thanks to Robert Safuto's video tutorials (especially the one about CCK and Views) - nice one Robert!
Posted on: 20 March 2008
I've now got a bunch of structured data in a relational database, and need to get it into Drupal. I've created my content types using CCK. Fortunately, there's a great overview here which highlights some of the core Drupal tables I need to populate which aren't immediately apparent. Everything is pretty straightforward, apart from populating deltas for repeating fields in CCK.
Posted on: 31 March 2008
Drupal has a very powerful module called Tokens, which makes various pieces of data available in other modules. As an example, the Pathauto module will create friendly URLs for any piece of content based on some feature of that content, using token substitution. By default, a new piece of content will be available at the URL http://www.mysite.com/node/5 (assuming you have enabled clean URLs).
Posted on: 04 April 2008
So, the next thing to build in my site is an RSS parser. I'm uploading video files to a hosting provider, who generates their own unique ID for each video. However, when users browse my site they want to play these videos, which means that I need to know the hosting provider's ID for the video the user wants to watch. My video host provides an RSS feed of my uploaded content, which includes their IDs. So I need a scheduled task which will poll this feed and parse it so the IDs can be written back to my database.
Posted on: 01 May 2008
OK - pretty weird problem today. My local dev Drupal site was acting a bit strange. Most page requests worked fine, but some (e.g. /logout) brought back a completely blank page. "View source" on the page showed that the source was completely blank too. No errors in the apache error log, and nothing in the Drupal watchdog table.
Posted on: 23 June 2008
Posted on: 27 June 2008
All the hard work over the past four months has now gone live at Save A Million Shots. It's still in beta (like all good web applications!), so there'll be some more polishing and data quality work over the next few weeks, but we're getting quite a lot of traffic already. Stop on by and have a look!
Posted on: 28 August 2008
One of the things we're really eager to get going on Save A Million Shots is the idea of video conversation threads. The trouble is, commenting is a fundamentally different activity from posting. If you're posting an article, you're putting in a reasonable amount of time and effort (probably!), which could include making a video file, saving it to your computer somewhere, and uploading it when you write your post
Posted on: 07 November 2008
I've used a nice bit of CSS to style all the buttons throughout our web site, but it all falls down a bit on the file upload button. For reasons best known only to the various browser developers, this button only has limited styling capability, if indeed any at all. There are a few solutions out there, but they are all pretty messy in terms of adding a lot of cruft to your site code. I was looking for something a bit more elegant, and which would fit neatly in with the architecture of my Drupal-based site.
Posted on: 06 May 2009
For the past 16 months, I've been working almost exclusively with Drupal to build websites, and I've got pretty good with it. However, I'm always conscious of the old adage that "When the only tool you have is a hammer, everything looks like a nail", so in the interests of expanding my toolbox, I'm taking a look at Ruby on Rails.
Posted on: 28 May 2009
Posted on: 20 October 2009
Our latest venture, www.analyticsseo.com, is a pretty complex app for a Drupal site. There are two parts to the system: 1. a back-end application, which crawls the web, analyses sites and competitors, and does all kinds of clever stuff 2. a front-end application, which summarises this data, generates tasks, and manages workloads Fortunately, Drupal makes it really easy to work with multiple databases. Simply add two database connection strings in the settings.php:
Posted on: 01 February 2010
I've been doing some interesting work lately using Google Website Optimizer to help with our signup page on Analytics SEO. The full gory details are over on the Analytics SEO Blog.
Posted on: 09 December 2011
I've got a pretty long-running script. In our live environment this runs under command line PHP, but for convenience on my dev machine I just run it through Apache. Initially I got an error: Fatal error: Maximum execution time of 30 seconds exceeded No problem - just up the max_execution_time parameter to zero in my php.ini to give an infinite execution time, restart Apache, and start again. Trouble was, after about ten minutes, I got a slightly different error:
Posted on: 12 July 2014
This is another of those "interesting" tech support cases (where "interesting" means painful and tedious). Our platform collects lots of data for our customers, and generates lots of nice juicy reports for them in an assortment of formats. Being a sensible developer, I'd done this using a typical MVC pattern, so there are models which get data out of the database, and then different views to format it into each report. The support case was that some numbers were being displayed with a ridiculous number of decimal places in Excel reports.