Categories
Burningbird Technology Weblogging

My first attempt at Drupal 7 upgrade fails

I made my first attempt to use the new Drupal 7 beta to upgrade my existing module experiment site. Unfortunately, I quickly ran into a fatal error:

DatabaseSchemaObjectExistsException: Table cache_path already exists. in DatabaseSchema->createTable() (line 621 of /home/myname/public_html/books/includes/database/schema.inc).

I submitted a bug for the error at the time it happened. Checking back later, though, I couldn’t find the bug. I assumed I had mucked it up somehow when submitting, so re-submitted it. However, when I checked a couple of minutes later, I couldn’t find the second bug. I noticed then that when you access My Issues, it only shows open bugs. When I adjusted to show all bugs, I found that my bugs had been quickly closed out by someone saying they were duplicates of another.

I can understand the enthusiasm the developers have with wanting to close out bugs quickly, but unfortunately, my bug was not a duplicate of the bug so noted. What caused the problem, though, is known, but the error message I received was inaccurate.

Drupal 7 is dependent on the PHP Data Objects (PDO) extension that is now in PHP core. Previously, we could add PDO via PECL—the PHP Extension Community Library. However, the PECL PDO is out of date and Drupal 7 now only supports the core PDO.

One problem with this, though, is that cPanel, the site management tool popular with many Shared Hosting companies, disabled PHP core PDO because of compatibility issues. It’s only been recently that the application has stopped disabling PDO, but hosting companies like mine are still in the process of upgrading to the PHP core PDO. Until these companies make this upgrade, we can’t upgrade to Drupal 7.

The problem is further compounded by the fact that the Drupal 7 upgrade doesn’t test for the appropriate version of PDO, and we get bizarre errors such as the one I described earlier. Luckily, there is now a patch, which I ended up testing yesterday and that should give people the appropriate error. The problem with it, though, is that it recommends people check out the requirements page for Drupal, which, among other things, informs people that they can install PDO with PECL.

screenshot of Drupal requirements page with PECL PDO instruction highlighted

Hopefully, the disconnects will soon be corrected, and most folks are in environments where the PDO is from PHP core, rather than PECL. I was impressed at how fast everyone did jump on this after the initial duplicate bug mistake was discovered. Once the patch is in place, and the documentation updated, people will at least now know why they can’t upgrade and can chat with their hosting provider about the necessary upgrade.

Until my own shared environment is upgraded, though, I’ll have to stay in 6.x land. Many thanks to Everett Zufelt for his help in pulling all the Drupal pieces together for me.

Categories
Writing

When last we spoke

When last I posted, I had planned on updating that post with W3C co-chair decisions on my other HTML5 issues. I wasn’t quite expecting to be here, over a month later, still waiting on decisions. Not sure what’s happening with the W3C HTML WG at the moment, other than I think the group is making like an iceberg.

Eventually the decisions will be posted. Since I have a good idea what the decisions will be, no need to continue waiting.

Other than watching pots boil, I’ve been slowly working on my first self-publishing book on HTML5. I say slowly, because I ended up drastically changing the focus of the book, and hence the table of contents.

Though I would love nothing more than to fill 150 pages with details about the various HTML5 exploits, in the end I felt that an exposé on HTML5 isn’t going to be all that useful. Cathartic, maybe, but not useful. On the other hand, I refuse to jump on the “Isn’t HTML5 just peachy keen!” bandwagon, either.

I had to find a delicate balance between HTML5 rant and HTML5 rah-rah. Once found, I then had to dig for actual HTML5 implementation experience, which is a lot more difficult than you would think, given the fooflah about HTML5.

I’m still wrestling with the new TOC, so I don’t have any early peeks, yet. One thing the book won’t have is a discussion about HTML5 the brand. For one, isn’t it time to let the Geolocation folks have a little of the spotlight, all on their own? For another, there’s been enough confusion about HTML5 without conflating a formally defined and delimited specification, with a marketing buzzword.

So in the book, I’ll talk about HTML5…and Web 5.0, and Ajax5, not to mention P2P5, as well as Cloud #5, and throw in a little DHTML5, for good measure.

Categories
Writing

JavaScript Cookbook on way to printers

We just finished the last of the quality control checks on the JavaScript Cookbook, and it is now on its way to the printers. The Table of Contents should be showing soon at the O’Reilly book web site, but I’ll give you a taste of what I covered:

  • The usual suspects, such as String, Date, Math, Function, and so on
  • Creating JavaScript objects, including the new ECMAScript 5 object methods
  • The new HTML5 and WebApps 1.0 material, including drag and drop, worker threads, postMessage, and the local storage options
  • Debugging JavaScript, working with a library framework, such as jQuery, and packaging your libraries for reuse
  • Working with media and graphics options, such as SVG, Canvas, and the new audio and video elements
  • Complex performance functionality, such as currying and memoization
  • JavaScript out of the box, including working with desktop-like applications using client-side file access
  • Working with interesting data formats, such as RDFa, microformats, even ePub
  • Ajax, including working with XML and JSON formatted data
  • Debugging and using JavaScript test tools
  • Working with ARIA (Accessible Rich Internet Applications) and creating accessible dynamic applications

I devoted one chapter to ARIA and integrating accessibility into dynamic solutions. Because we now have access to an open source and freely available screen reader (NVDA), we can easily test our use of ARIA for dynamic applications. In addition, most framework libraries now incorporate ARIA support, so we need to understand how to use this rich and simple-to-use accessibility enabler.

I also covered ARIA because of my interest in semantic web technologies: ARIA is way of recording rendering semantics, which opens the door for interesting possibilities.

The JavaScript Cookbook should be in the stores in less than a month, and is available for pre-order. It’s a largish book—21 chapters and 530+ pages. The format is cookbook style, where I provide “recipes” in a Problem/Solution/Discussion format. All the code bits are included in example files, so you can play along, as you read.

One thing this book does not provide is support for IE6. Now that major sites and companies are no longer providing support for IE6, it’s time to stop wasting book space on an insecure, broken, and badly outdated browser.

Categories
Burningbird

Evidently, the web is like the petroleum industry

here are times I really miss the mark. From a past writing I stumbled across when looking for something else:

if the web were any other industry—petroleum, pharmaceutical, airline, auto, electrical utility, and so on— allowing the companies who produce products in the industry free and unfettered reign to define the standards for their industries, would draw howls of protests, and a demand for accountability.

From If the Web were the Petroleum Industry.

Categories
Just Shelley

Spring Cleaning

This weekend we spent going through the house and creating four piles:

  • books to donate to the library
  • computers and electronics to recycle at the electronics recycling place
  • stuff for Goodwill
  • a recycle/toss pile.

This will be the first time I’ve recycled computers. In the past, I’ve found homes for older machines while they were still useful. However, the first generation PowerBook and the 11 year old PC laptop are too old to be useful, and have developed problems making them useless, even as Linux machines.

They still run, though, and have working hard drives. In order to prepare them for recycling, I spent yesterday writing zeros and random writes over the PowerBook, and used Darik’s Boot and Nuke over both. I’m also paying the ten bucks each to have both hard drives shredded at the recycler.

The other material I’m donating/discarding is like a microcosm of computer technology. We found that floppy drive and zip discs are plastic surrounding a thin film, which is easily cut with scissors. Old CDs make deadly frisbees; I don’t recommend using them as such. Then there’s my first, bulky external CD burner, ethernet PC cards, a wireless router that doesn’t work, a couple of external USB hard drives that hold only a little data, an old inkjet printer, and various other devices that have me scratching my head as I try to remember what the heck they are.

The last of the photographic film stuff is also going, as I’m now completely digital. The same could be said for many of the books, though I always keep my favorites. Since we eliminated all landline phones, I’m also donating phones and a mile or two of phone wire. We get all our video from the internet or over the air, so there goes the coil of cable wire.

I don’t know if life is simpler with today’s technology, but it certainly is less cluttered.