05.03.08

Fantastico no longer so fantastic (and other long-delayed WordPress upgrades)

Posted in Life, Software at 6:44 pm by Smokey

A few years ago, Fantastico was the must-have feature when choosing a web-hosting company. Fantastico offered one-click installation and upgrades of popular web software packages (e.g., blogs, fora, wikis), which made it trivial for the average user to join the “participatory” world of the so-called “Web 2.0” rage. Indeed, when comparing hosting providers (something I had been doing since about 2002 when .Mac became a subscription service), I made sure to settle on a “Fantastico-enabled” host.

Initially things were great; WordPress updates appeared in Fantastico within about a week of release (given that the Fantastico developers needed to QA any changes a WordPress upgrade might need in their software and that hosting providers should QA any Fantastico upgrade on their servers before deploying, six or eight days seemed both relatively fast and reasonable). As time went on, however, new versions of WordPress and their security upgrades started taking longer and longer to appear in Fantastico (the last WordPress upgrade I did with Fantastico, to 2.3.3, took almost 40 days to appear in Fantastico, and both WordPress 2.5 and now 2.5.1 have been released without Fantastico upgrades appearing yet), and exasperated users complained in hosting providers’ forums, and exasperated providers complained in the Fantastico forums. Fantastico was no longer so fantastic.

Seeing the writing on the wall, I had been looking for solutions that were elegant, efficient, and easy. WordPress recommended putting your WordPress install in a Subversion repository (not easy), and later the WordPress Automatic Update Plugin appeared (not efficient), but, frankly, I wanted something tested and supported, in case something happened (and if I was going to have to mess around with things, I’d rather just use patch like phpBB used to support; patch and I are friends). Not too long ago, my host announced support for SimpleScripts, which promised more up-to-date releases and updates. The only drawback was I’d have to do some sort of “migration” to get افكار و احلام into the SimpleScripts system, either migrate the installation itself or migrate the data. Yay, more deferred maintenance.

Finally, this weekend, I set aside some time to perform all of these delayed changes. I had been reading the threads about Fantastico→SimpleScripts WordPress migration in the BlueHost forum (as well as lots of other documentation) for the past few weeks, so I knew I needed to set aside a couple of hours in case anything went wrong. The steps were simple enough; they just required some quiet and time. ;)

I ended up mostly following these instructions (phpMyAdmin database backup instructions I followed are here) to get my existing WordPress 2.3.3 install into SimpleScripts, though I changed steps 5 and 6, which eliminated steps 7-10:

  • Use Coda (Have I mentioned how much I love Coda? No? OK, I will soon, then.) to copy afkar/ to afkar_copy/. This took more time than just renaming the existing directory, but it also meant that I didn’t have to re-upload themes, plug-ins, and other stuff in wp-content when I was done, but I still had a pristine copy to revert to in case of problems.
  • Instead of having SimpleScripts create a new database, I had it update the existing database (I had several backups, from cPanel, WordPress itself, and the SQL backup from phpMyAdmin) using the information from my wp-config.php file. This is more “dangerous” and probably more trouble if something were to go wrong, but fewer steps if things went well (which they did for me).

Of course, I also had to fix the DB_CHARSET in wp-config.php again after the migration. :P

I then made another series of backups (though SimpleScripts will also create and restore backups when/after upgrading), disabled my installed plug-ins, and upgraded from 2.3.3 to 2.5.1. “Shiny,” as they say. I backed up again for good measure and then upgraded all of the WordPress plug-ins I had installed (a couple didn’t show updates in the WordPress UI, but I visited their sites and found there were updates available anyway).

Having now completed almost all deferred maintenance, and without any problems, I decided it was high time to fix that pesky DB_CHARSET issue once and for all. After all, nearly a year had passed since WordPress 2.2, and there were finally WordPress “instructions” on how to fix their poor database encoding choice/upgrade bug—except the instructions were just a general overview, suitable for folks familiar with databases, but not for average users. Fortunately, a user had written a plug-in to do the job for you. I had been reading about it for a while, it had been updated a couple of times, response had generally been positive (I had seen a couple of comments indicating it hadn’t worked at all, but also this recent one indicating success even with 2.5), and I had fresh database backups and some time left! ;)

The plug-in dutifully warns that it’s only been tested against WordPress 2.2, but after I acknowledged that I was taking my database’s life into my own hands, it offered to proceed anyway. After the converter finished its work, the only thing I had to do was set the DB_CHARSET back to utf8 in wp-config.php; I hope this is the last time I will ever have to change that variable!

The end result of an hour or so of “work” is a fully up-to-date WordPress installation, a sane database, no more deferred maintenance sitting around, and, hopefully, quick upgrades to newer versions of WordPress in the future. SimpleScripts seems simple, efficient, elegant, and it even addresses my other complaint about Fantastico), so I’m hopeful it will remain simple for much longer than Fantastico remained fantastic. Thanks, as always, to the great folks on the internet whose commentary and instructions facilitated my afternoon of upgrades.

04.22.08

Camino 1.6 Spanish is coming

Posted in Camino at 3:47 am by Smokey

Many of you have noticed that we shipped Camino 1.6 without a Spanish localization.

Let me assure everyone that both the Camino development team and the Camino localizers were unhappy about this, too. However, all Camino work—development and localization—is done by volunteers, and schedules of volunteers do not always line up. This was exactly the case with our Spanish localization; it wasn’t going to be ready in time for us to ship Camino 1.6 as planned last week. We knew this in advance, and while we always hate to ship a Camino release without a language included in the previous version, we needed to ship 1.6 and we did have 10 other languages ready.

As of this evening, the Spanish translation is nearly complete, and the first review indicates there is not much more work to be done. I can’t promise you a new Camino 1.6 Multilingual build that includes Spanish by the end of the week, but it is safe to say that you’ll see Spanish in the Multilingual build very soon.

As always, if you’re concerned about the status of the translation of Camino in your language, please stop by the caminol10n project and see how you can help. You don’t need to have many computer/software skills, and some languages just need reviewer/proofreaders—the only skill required for that task is your language and the ability to use Camino!

We thank all of our Spanish-speaking users for their patience, and we do hope to deliver the Spanish localization very soon.

Putting code where your heart is?

Posted in Links, Open Source, Software at 2:37 am by Smokey

Marc “uwog” Maurer, a leading AbiWord developer, on AbiWord’s 2008 Google Summer of Code projects:

Interestingly, we did receive quite a few applications about improving OOXML support, while we got zero OpenDocument related proposals. Apparently the support for the OpenDocument ISO standard isn’t strong enough in the F/OSS community to actually make an effort to improve support for it. Even when paid. Food for thought.

Both sad and disturbing for advocates of truly free and open standards for document formats (of which I am one).

04.17.08

This ✈ has reached its cruising altitude

Posted in Camino at 11:32 pm by Smokey

If you’re reading this, it means we’ve survived yet another major release of Camino. Today we released Camino 1.6 (codenamed ✈) after about 10 months of development. Our fearless leader has already written about most of the major new features in the release, but you can also check out our freshly-updated Features page. It has been a long(er-than-expected) journey, but we’re proud of all the work and are pleased to offer you a new stable release.

The road to Camino 1.6 began in May 2007, when Mark Mentovai cut the CAMINO_1_5_BRANCH for Camino 1.5 security releases and the first fixes for 1.6 landed on the MOZILLA_1_8_BRANCH even as we finished work on Camino 1.5. Over the course of nearly a year thereafter, Camino contributors fixed nearly 400 “bugs” (problems or new features), and 18 different people contributed patches for this release (with Stuart Morgan leading at 153 fixes). Big thanks to the half of that list of patch contributors who aren’t regular Camino developers; every little (or big, like multiple accounts support for the Keychain) fix helps make Camino a better browser.

If you remember back to my Camino 1.5 wrap-up, the number of bugs fixed in Camino 1.6 is lower, but this was designed to be a smaller release. The fact that the number is not that much lower shows that Camino 1.6 ended up being a bigger release than you might otherwise expect from a 0.1 increase in version number (we played the late-stage version number “game” before, but we opted not to do it again). No matter which way you look at it, Camino 1.6 is another major accomplishment for our all-volunteer, all-free-time development team.

Thanks to the efforts of our fabulous localization teams, Camino 1.6 is available in 10 different localizations in addition to US English, with Spanish expected to join that list soon. Sadly, we had a few languages that shipped in Camino 1.5 disappear on us, so if your language is missing, please stop by the caminol10n mailing list and see how you can help bring these localizations back. (The work doesn’t require much specialized computer/software knowledge, and some of the existing localizers have volunteered to mentor new or revived localizations. Last year new contributors successfully revived the Norwegian localization, which was in Camino 0.8 but disappeared from Camino 1.0; you and a friend can bring Camino to thousands of users in your language!)

Again this year I went to bed last night while our fearless webmaster Samuel Sidler stayed up to put the finishing touches on the home page, the Features page, and dozens of other bits around the website. Aside from some afternoon connection issues, the website update felt like it went more smoothly than 1.0 or 1.5 did (I guess it helps when you’re not completely re-designing a site or adding tons of new support content :-) ). Special thanks to Stuart for his last-minute debugging and testing during today’s release.

What’s next? Those of us who have been working on the website and other release details are going to take a rest for a while. Most of the development team, which had only a few things left for 1.6 after last month’s Beta 4, have been slowly ramping up to work on Camino 2.0. There’s not much visibly new over Camino 1.6 in the nightly builds yet (lots of Gecko changes, and Tabsposé is there but hidden), but there are some great new features already in progress that you should be seeing in the coming weeks.

In the meantime, enjoy Camino 1.6 and let us know what you think!

04.15.08

Counting commands

Posted in Camino, Life at 2:06 pm by Smokey

Just because I need a break right now and sometimes it’s fun to play along with Planet Mozilla: what does a Camino QA lead/website peer/tester/sometimes-hacker’s command-line history look like?

[Qalaat-Samaan:dev/trunk/mozilla] smokey% uname -a
Darwin Qalaat-Samaan.local 9.2.2 Darwin Kernel Version 9.2.2: Tue Mar 4 21:17:34 PST 2008; root:xnu-1228.4.31~1/RELEASE_I386 i386
[Qalaat-Samaan:dev/trunk/mozilla] smokey% history | awk ‘{a[$3]++ } END{for(i in a){print a[i] ” ” i}}’ | sort -rn | head
24 make
11 cvs
10 cd
8 open
6 history
5 edit
4 patch
3 diffscrape
2 touch
1 svn
1 ls
1 cp

Notes:

  1. This is the sum for my six current active Terminal tabs from the tail end of One License to Rule Them All (Phase 2) on (I had to quit Terminal once I had the fix mostly complete because of some sort of corrupted environment setting). For the morbidly curious, there are another 11 open tabs for other branches and trees I haven’t built since restarting Terminal.
  2. If there were some way to track Coda saves and MediaWiki edits…that would tell the tale!
  3. Pretty much every launch of Camino to test something goes through Troubleshoot Camino these days, so all of those would-have-been open path/to/one/or/another/Camino.app commands are also missing.
  4. Thanks to bz for tcsh variant; otherwise I wouldn’t have been able to play along and take this needed break. :)

04.11.08

One License to Rule Them All (Phase 2)

Posted in Camino, Life at 1:40 am by Smokey

Over a year ago, I filed bug 368091 to make it possible for Toolkit’s copy of license.html (about:license) to serve as a licence file appropriate for all mozilla.org projects, not just the then-Corporation Fire/Thunder pair. (That bug was itself the result of a September 2006 bug to fix the XPFE copy of license.html to stop telling Camino and SeaMonkey users their official binaries were released under the Corporation EULA, which in turn was the result of a June 2006 bug to clarify the licensing references for Camino.)

For a long time bug 368091 sat unloved, with the neglect punctuated by brief flurries of activity which generally ended with exasperation and stalemate over seemingly mutually incompatible requirements. In the meantime the two copies of license.html grew to three, and every change to about:license had to be made either three or six times across mildly-forked copies of the file. This was no fun for anyone involved, including branch drivers approving changes for licensing compliance. Finally, after Stefan Hermes filed a bug last month about bad redirects on mozilla.org (and indirectly about bad URLs in SeaMonkey following its switch to Toolkit), I decided to post an interim patch for 368091 just to get the discussion moving again. Several weekends (and two additional patches for 368091 and one for Thunderbird), we’re down to only two copies of license.html on the trunk, and the Toolkit copy is now suitable for all mozilla.org applications. Phase 2 is complete!

For the curious, toolkit/content/license.html is now pre-processed before being packed into toolkit.jar, which ensures the copy of the license in toolkit.jar is devoid of application- or organization-specific EULA blocks. Firefox now takes toolkit/content/license.html, pre-processes it to include the Mozilla Corporation EULA block, stuffs that file in browser.jar, and sets up a chrome override so that about:license’s chrome URL (chrome://global/content/license.html) is overridden with the chrome URL for the Firefox-specific version. Thunderbird currently strips out the “about:license” fragments of all of the anchors in toolkit/content/license.html and ships a stand-alone file instead of shipping a stand-alone forked copy of license.html; after bug 428144, Thunderbird will also post-process in its EULA block. If you’re building a browser-type application, you can use the Firefox model to build your own license file; if you’re building a non-browser application, the Thunderbird model (most of Phil Ringnalda’s original “ship a stand-alone file” work in bug 339117 plus my patches from bug 427316 and bug 428144) should work well for you.

When I started filing these bugs back in June of 2006, I never intended that “one license to rule them all” would turn into what appears to be an obsession (at that point, I certainly didn’t expect I would fix any of the bugs along the way, let alone most of them). For over a year bug 368091 has been my #2 tab—perhaps that should have clued me in to the borderline obsession—and I’m delighted that I can finally close that tab. We’re not quite done with the quest to drive the number of license files on the trunk to one—XPFE (and thus Camino) still has a copy, but its days are numbered once I’m done with Camino 1.6 release work—and there are a couple of other follow-ups to finish, but we’ve completed the hard part of the trek.

This has been an interesting journey for me, and I extend thanks to everyone who helped out along the way—Gerv Markham and Frank Hecker at the Foundation, Robert Kaiser, Chris Thomas, and Stefan Hermes from SeaMonkey, Phil Ringnalda from Thunderbird (who, among other things, kept reminding us that any solution had to work for non-browser apps), Reed Loden on the www.mozilla.org side of things, Benjamin Smedberg for finally driving me to the correct solution, code review, and the SunOS tinderboxen bustage fix, and Samuel Sidler for getting things rolling (perhaps I should be cursing him instead? ;) ).

Stay tuned for Phase 3, coming in a few weeks, and then our long international nightmare will be over. :)

04.06.08

Camino 2008 Week 13/14

Posted in Camino at 11:41 pm by Smokey

Just a brief reminder that the student application deadline for the 2008 Summer of Code is Monday, April 7.

  • Since the last update two weeks ago, we’ve released two new betas. As usual, Stuart Morgan was chasing down the last bug fixes, Mark Mentovai did the build-wrangling, and I handled pushing all the changes to the website and to software update.
  • In addition to chasing down the last few beta blockers, Stuart has also been alternating between working on the few remaining code bugs for 1.6, starting to clean up regressions on the trunk caused by Core changes, triaging the 2.0 bug list, and doing other fun code cleanup. He also snuck in a patch to support a couple of multi-touch gestures produced by Apple’s new MacBook Air and MacBook Pro trackpads.
  • Chris Lawson, working with Philippe Wittenbergh’s river of error reports, got Camino trunk building again with the 10.5 SDK (we last verified 10.5 SDK compatibility before we made compiler warnings fatal, so the problems were only warnings about deprecated functions).
  • Our fearless leader, Mike Pinkerton, wrote a brief note in honor of Mozilla.org’s 10th anniversary. For more of his remembrances of the decade, you can read (or listen to) his interview with the Mozilla Digital Memory Bank or watch his Google TechTalk.
  • Sean Murphy finished his work to prevent Camino from completely overwriting corrupt WebSearchEngines.plist files and continued his investigation of a new feature we’re tentatively planning for Camino 2.0.
  • In addition to my work on the two betas, I worked on finishing up the set of files that our localization teams will need to translate for the ✈ release (Mark had the final word on the text, as always). In between working on updating the website so that it will be ready for the release of 1.6, I’ve written a few small patches to Gecko’s Mac font defaults. I also spent some time this weekend working on the “one license to rule them all” problem and made Thunderbird generate its license.html file from the shared Toolkit file, reducing the number of copies of the license file from three to two. Once we make the shared Toolkit file sufficiently generic, we can reduce that number down to one.

As the pilots say, we’re going through our pre-flight checklist right now, and we expect ✈ to be cleared for takeoff in about a week, depending on the schedule for the next Gecko release. In the meantime, please let us know if you find any problems in Camino 1.6 Beta 4.

03.27.08

Here we go again (or, odd-numbered betas hate us)

Posted in Camino at 11:39 pm by Smokey

You might have noticed that Camino 1.6 Beta 4 has just made an appearance, only two days after 1.6 Beta 3. In what seems to be a unpleasant case of history repeating itself, there was a fairly commonly-hit crash in 1.6 Beta 3, so we decided this morning to release a Beta 4 to make the beta experience as pleasant as possible.

I don’t remember much about the Camino 1.0 betas (it seems like ages ago!), so they were probably mostly “major crash”-free. Many of you will recall, though, that Camino 1.5’s sole beta was particularly plagued by a random crash, and while we did urge everyone to move to a new build, we didn’t release a new beta (which, in hindsight, we should have done). More recently, Camino 1.6 Beta 1 had not even officially been released when we replaced it with Beta 2 due to a just-fixed Core crash. Thanks to software update, it’s much easier to release a new version and ensure everyone gets notified and upgraded in a timely fashion, though we don’t want to do so too often and induce “update fatigue” among our users.

Yesterday a user reported a crash when clicking on a <select> during pageload, and although I couldn’t reproduce the crash and hadn’t seen it in my testing and use of Beta 3, his crash log was plausible. However, Stuart Morgan was finally able to reproduce the crash on one of his Macs, and he worked up a fix right away. When early reports indicated that a large number of users could be hitting this crash, we decided earlier today that we should release a Beta 4 to fix that crash (and another, much less common, crash that Stuart had also fixed on Wednesday). As far as we can tell, the Beta 4 release has gone a bit better (no crashes in Talkback yet!)—knock on wood—and it seems that I managed not to flub any of the website changes this time around, too. :)

Thanks go again to Stuart Morgan for the bug-fixing, Mark Mentovai for the build-wrangling, and Mozilla Corp’s Nick Thomas for getting us in Bouncer right away.

Special thanks to everyone who reported this crash, either in Bugzilla, the forum, or in via Talkback (for those using PPC Macs), and we apologize to everyone for the inconvenience. (And I hope this is the last release I write about before Camino 1.6 ✈ itself!)

03.25.08

Camino 1.6 Beta 3 now available

Posted in Camino, Life at 9:21 pm by Smokey

This afternoon, we released Camino 1.6 Beta 3. If you’re using Camino 1.6 Alpha 1 or newer, please let software update notify you of the new release or or choose Check for Updates… from the Camino menu. If you’re not using Camino (why not? ;) ), you can visit our preview site for more information. The automatic updates are now using Stuart’s new script, which allows us greater flexibility and which will facilitate a completely localized update experience for users of Camino 1.6 Multilingual.

There’s not a “by the numbers” this time around, but it feels like the release went pretty smoothly. So far (knock on wood). ;) Sam was pretty busy all day with today’s Firefox 2.0.0.13 release, so most of the final “releasing” work was in my lap again. This is the third release I’ve pushed live (I think), so the work is starting to feel like a routine (Sam’s Release Checklist and the incremental improvements we’ve made to our website code and the process really help). It only took me about twenty minutes to make all the changes and another to five fix the various typos. ;-) Other than the bizarre issue where the Camino Blog post isn’t showing up on either Camino Planet or Planet Mozilla, it looks like the final releasing work went off without a hitch.

Since the period between Camino 1.6 Beta 2 and Beta 3 was a little extended, I had forgotten some of the great features that are new to anyone using Camino 1.6 Beta 2. Here are some of the highlights:

  • Right after Beta 2, we landed Bryan Atwood’s patch that allows Camino to store and access login information for multiple accounts at the same site. That means Camino’s Keychain implementation, which predated the modern Keychain APIs, finally is all grown up. Thanks again to Bryan for all of his hard work on this feature.
  • We now support passing feeds to certain web-based feed readers. Though I wrote about this feature in February, it wasn’t until Stuart’s patch that landed Monday that the feed handlers were automatically activated for everyone to use.
  • There were dozens of user interface improvements and a couple of big web compatibility fixes, but the change you’ll notice most—or perhaps not notice at all, which is a bit by design—are the new icons for a number of our main toolbar items. They feature subtle polish to make them fit in much better on Mac OS X 10.5 while not looking completely out-of-place on 10.3 or 10.4 and maintaining the distinctive Camino look we all love. It wasn’t an easy task, but I think the new icons succeeded. As an added bonus, many of the icons that did not previously have specially tuned 24×24 pixel versions now do, so they look even sharper at small sizes.

As always, thanks to Mark Mentovai and Stuart Morgan for doing most of the dirty work related to today’s release, and I hope everyone enjoys Camino 1.6 Beta 3!

Edit: It turns out that the Planet problem, like every other problem I noticed this afternoon, was due to my inability to change all the required numbers correctly after copying and pasting. :-P

03.24.08

Camino 2008 Week 12

Posted in Camino at 1:36 am by Smokey

With two holidays this week, everyone was a little busy, but we continued working on the final pieces for Camino 1.6 Beta 3 and a couple of other non-✈ projects.

  • Despite the best efforts of the week’s nasty Mozilla infrastructure failure to foil us, Stuart Morgan posted our existing 2008 Summer of Code project ideas. If you have any other ideas, be sure to let us know post-haste. The student application period begins Monday and lasts throughout the week, and we hope to receive another good crop of applicants again this year.
  • Stuart and I continued working on getting the last minor annoyances worked out of the new software update appcast script, and it handles everything we’ve thrown at it so far. 1.6b3 will be the first real-world exercise of the script, and I don’t expect any problems.
  • Stuart, Sean Murphy, Markus Magnuson, and I have all been working on patches or reviews for bugs.
    • Stuart in particular has been attacking what’s left of the 1.6 bug-list, bringing old patches up to speed and writing new ones. He fixed the long-standing bug where a <select> would get focus after being clicked on (instead of when being clicked on), finished Nick Kreeger’s patch to get window.blur working properly, fixed the odd-looking “loading” site icon, and, much to my relief, wrote the patch that makes our new web-based feed handler support active on first launch of Camino.
    • Sean continued his work on preventing dataloss with corrupt WebSearchEngines.plist files, on sorting out the localized vs. canonical font name “mess” on the trunk, and on investigating a new feature we’re tentatively planning for Camino 2.0.
    • This week I landed both Markus’s patch to eliminate the last strings that were duplicated between the preference panes and the main application and also my patch to fix the display of ftp directory listings on the trunk. I also worked on patches for a few Core bugs, including more work on default font preferences and on the problem of the Mozilla Corp-centric nature of the shared toolkit/content/license.html file (aka about:license) and the lack of “one license to rule them all.” (I also filed two Firefox bugs about brokenness that had annoyed me over the past week every time I had to test something in Firefox. That served as a good reminder that if you see something broken, don’t assume that someone else has filed the bug already; if you can reproduce a bug cleanly and reliably, you should always file it yourself—after searching, of course.)

I think that’s all for this week. Hopefully next week’s update will include “Camino 1.6 Beta 3 released.” ;-)

« Previous entries