What's been on my mind

Open docx and xlsx files in older versions of word and excel

Submitted by charles on
I've received a couple of files in the new microsoft office 2007 file formats, and as I have as yet not upgraded, was not able to open them. There is now a compatability pack that's been released that will allow you to open new files in older versions of office: download it here. Read the overview and system requirements first!

Drupal node insert error related to the sequences table

Submitted by charles on

I recently added a lot of data to a drupal site by running some scripts that I'd created in php. This was to save me the time of manually capturing the content. After successfully adding the content, when I tried to add a new content item, I got the following error: Warning: Duplicate entry '503-503' for key 1 query: INSERT INTO node (nid, vid, title, type, uid, status, created, changed, comment, promote, moderate, sticky) VALUES (503, 503, 'World Bank ', 'content_organisation', 1, 1, 1171017191, 1171017191, 2, 1, 0, 0) in It turns out that Drupal uses the sequences table to keep track of what the highest id in certain tables is. I had forgotten to update this table with the id of the most recent node that I'd added.

MySQL case sensitivity of table names between windows and linux systems

Submitted by charles on
While I normally stick to all lowercase table names for my MySQL database tables, I often have to come in on a project where the database has already been set up using a mixture of lower and uppercase table names. Because windows is case-insensitive, when you create a MySQL table or export tables for use on a linux system, all table names will be lowercase by default. This will cause problems when the dump imported into MySQL on linux, as any calls to the original mixed case tables will result in errors, as these tables don't actually exist.

Checking for PHP module dependencies

Submitted by charles on
I'm putting together an OpenLDAP authorisation system for a client's business web application, and wanted to test things out on my local windows machine. Well, I managed to get OpenLDAP working fine, but the authorisation using Apache has not been easy (in fact I'm still struggling with it ...). In the process, I've uninstalled and reinstalled php and apache a number of times to try and see where the problem is. This has in itself caused it's own issues, one of which was a php module not being loaded by apache.

Open source AJAX libraries reviewed

Submitted by charles on
Infoworld reviews 6 of the 'top' open source AJAX libraries. What I picked up from this article is that although we are still in the early stages of AJAX, there is enormous potential, and some great toolkits that will help you get started using AJAX on your webpages. For my first foray into AJAX, I didn't use any of the abovementioned libraries. I used scriptaculous to create a drag and drop sortable list that is automatically updated in the database.

Form labels you can click

Submitted by charles on
I have been using phpMyAdmin for a long time now to manage MySQL databases via the web, and have really loved the functionality they provide when displaying forms. If there is a radio button or check box that needs to be checked, you don't have to aim for the box or button itself, you can just click on the text next to the button/box. And voilà, the button is checked. This makes it so much more useable, especially when filling in long forms. To do this all you need to do is put a label tag around the text next to the checkbox/radio button, and put in a 'for' attribute that tells the form what button or checkbox to check when you click on the label.