Good riddance (or, Mork history is dead)

Posted in Camino, Software at 1:40 am by

One of the worst technologies of the old Mozilla was the Mork “database” format. Famously derided by jwz as “the single most braindamaged file format that I have ever seen in my nineteen year career,” Mork was mostly hated by Camino users for fun build and component registration bugs that caused history loss.

Finally, though, our long Mork nightmare is over. Saturday evening I landed Christopher Henderson’s patch to convert Camino’s history implementation to use the Places backend, thereby sunsetting the last of the three Mork-based history implementations in the Mozilla world.1 In addition, this means that the old XPFE autocomplete code (which we never wanted to use, anyway, and which Daniel Weber mostly replaced last summer) was completely unused, and we could stop linking and shipping it. Now all that’s left in Camino of the Bad Old Days Mozilla Technologies is the RDF chrome registry,2 and that will be gone soon enough, too.

We’re very excited to see this day come; it has been a long month-and-a-half from initial patch to checkin (and nearly a month before that for Christopher to write the patch). Now that the patch is in, however, the way forward on other projects is is no longer blocked. Hopefully by the end of the weekend, time permitting, we’ll have a new experimental build available, and we’ll be able to start landing things in a new repository and stop juggling large patches. For now, though, please join in celebrating the end of Mork history and in thanking all of the Camino developers past and present who have played a role in the history format’s ultimate demise.

N.B. For those of you using Camino nightly builds, please note that the first startup with Mork-less nightlies might be slower as your Mork history.dat is converted into a new places.sqlite; this will be especially noticeable for those of you who keep months or years of history.


1 XPFE (Mozilla Suite/SeaMonkey 1.x) and Toolkit (Firefox) both had their own global history implementations using RDF as a layer on top of Mork, and Camino had nsSimpleGlobalHistory.cpp that interfaced our Cocoa UI code directly with Mork, avoiding the RDF middle-man.
2 My favorite bit of RDF chrome registry documentation is “Unfortunately, the RDF schema for contents.rdf is not really documented. The best way to learn it is to copy an existing example.”


  1. User Grav­atarJustin Wood (Callek) said,

    03.14.10 at 2:00 am

    WOW. Congratulations on this major milestone! Its good to hear that Camino is moving forward with the “nice” technologies too. (now when will you implement Places bookmarks?)

  2. User Grav­atarSmokey said,

    03.14.10 at 8:26 am

    Thanks, Callek.

    As for bookmarks, our own bookmarks implementation works just fine. There’s no advantage for us in throwing out something that works well and is all Cocoa and replacing it with something that would require an additional wrapper layer around another piece of Gecko, so we have no plans to switch bookmarks to Places.

  3. User Grav­atarRobert Kaiser said,

    03.14.10 at 8:57 am

    Congratulations to the Camino team! Good to see you taking that step, I hope that paves your way to using the same toolkit as the other applications and bring you to being a user of modern Mozilla Gecko/platform technology!

  4. User Grav­atarkrmathis said,

    03.14.10 at 12:54 pm

    Well done guys!
    A major milestone indeed. :-D

  5. User Grav­atarHome of KaiRo: What Places Have You Bookmarked? said,

    03.14.10 at 6:12 pm

    […] history support we shipped in SeaMonkey 2.0 (as a side note, congrats to the Camino folks for making the jump as well). Now I've done work on the next step, converting bookmarks to places: I have the first part of […]

  6. User Grav­atarافكار و احلام » Camino 2010 March Roundup said,

    04.05.10 at 1:33 am

    […] Henderson was a veritable patch-producing machine this month. His big patch switched our history back-end from Mork to Places, 10 of his other patches landed in one or more of our repositories last month, […]

  7. User Grav­atarافكار و احلام » 𝌙 – Introducing Camino 2.1a1pre nightlies with Gecko 1.9.2 said,

    05.28.10 at 2:13 am

    […] again, special thanks go to Christopher Henderson, whose intrepid hacking was responsible for most of the key breakthroughs that have gotten us to this point. Because of his […]

  8. User Grav­atarافكار و احلام » Camino 2010 in Review said,

    01.09.11 at 8:53 pm

    […] also wrote a very significant patch that moved Camino from the old, creaky Mork history to the newer SQLite-based history backend; combined with 2009’s autocomplete rewrite and the move to Gecko 1.9.2, Camino finally became […]

  9. User Grav­atarافكار و احلام » 𝌙 said,

    11.29.11 at 4:37 pm

    […] trunk” when 2.0 was released), things really got going in early 2010, when Christopher Henderson banished Mork history and nearly single-handedly got Camino building and running on both Gecko 1.9.1 and Gecko 1.9.2. […]

Atom feed for comments on this post · TrackBack URL

Leave a Comment