June 20, 2008 at 3:39 pm
· Filed under Extensions, Mozilla, XPCOM, XULExplorer
Building things with the Mozilla Platform usually involves dealing with some boilerplate. Extensions have install and chrome manifests and overlays. XULRunner applications have application and chrome manifests and default preferences. XPCOM, even the simpler JavaScript XPCOM, has modules, factories and categories. It’s more than enough to slow developers down, especially new-to-Mozilla developers.
That’s why I have always been thankful to Ted Mielczarek for his Extension Wizard and JS XPCOM Wizard. Those tools have been helpful to me and countless other Mozilla developers.
Because of their great utility, I started to think that Mozilla should host, develop and extend the tools. Turns out, this pleases Ted
- Therefore, I’ve put together a plan for FizzyPop, a simple project to develop/extend tools that assist Mozilla developers.
I had done a similar project with XUL Explorer, template-driven wizards to create extensions and xul applications. Turns out the Web has a wider reach than a desktop tool, especially for these types of scaffolding projects. In any case, I am taking the templates I use in XUL Explorer and converting them for use in a PHP web application.
I plan to get an SVN repo, bugzilla support and a Mozilla hosted for the project. We want to turn this into a contributor-base project. I’ll let you know when the prototype is ready to start hacking.
Permalink
November 27, 2007 at 2:18 pm
· Filed under Extensions, Mozilla, XULExplorer
XUL, the XML-based UI language used in Mozilla products, has supported templating for a while now. Unfortunately, the only datasources you could use to drive the templates were RDF-based datasources. This has been a hurdle for some, including me, to really dive into XUL templates.
Back in July, I posted about support for using XML datasources with XUL templates. Recently, Laurent Jouanneau and Neil Deakin landed support for using SQLite-based (mozStorage) datasources. The SQL templates are a little harder to test/demo than the XML ones, but you can get a demo working fairly easily using XUL Explorer (use 0.8 just to be safe).
Laurent added some test cases to the bug. We can take those, add a manifest file and use them from XUL Explorer. Here is a storage-templates.zip archive of the test cases with a simple manifest added. Steps to get the mozStorage template tests working:
- Download and unzip somewhere
- Startup XUL Explorer
- Open the ‘Options’ dialog/sheet
- Use the ‘Manifest’ section to add the path to the unzipped manifest file
- Open one of the mozStorage XUL test files
- Preview the XUL to see it work
Here’s what a simple example looks like:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<description>template + storage</description>
<description>Should display all 11 products</description>
<grid>
<columns>
<column flex="1"/>
<column flex="3"/>
<column flex="2"/>
<column flex="1"/>
</columns>
<rows datasources="chrome://data/content/tests.sqlite" ref="?" querytype="storage">
<template>
<query>select product_id, label, price, cat_id from products</query>
<action>
<row uri="?">
<label value="?product_id"/>
<label value="?label"/>
<label value="?price"/>
<label value="?cat_id"/>
</row>
</action>
</template>
</rows>
</grid>
</window>
Here’s what that looks like when previewed in XUL Explorer:

The “dynamic parameters” demo is sorta neat too. It lets you pass a value in to dynamically effect the template query and rebuilds the XUL. Here’s what it looks like:

Permalink
November 25, 2007 at 5:41 pm
· Filed under Mozilla, XULExplorer
Yeah, its been awhile since I released XUL Explorer 0.7 and at the time there was a bad editor bug in Mozilla trunk, so I released using an older version of XULRunner. However, the bug has been fixed, so I made some small tweaks & fixes and will release XUL Explorer 0.8 using a XULRunner 1.9b2 pre-release.
Besides the editor bug fix, I wanted to use XUL Explorer to demo some of the new features that landed, including the cool new XML and SQL based XUL templates.
Download from here.
Update: See this post for XUL templating examples using SQL (mozStorage).
Permalink
August 24, 2007 at 11:55 am
· Filed under Mozilla, XUL, XULExplorer
I finally pulled enough pieces together to get the next XUL Explorer release ready. Most of the new features in XUL Explorer 0.7 came from contributors which is cool. New in this version:
- Application and Extension project wizards have much better error handling and validation. The code was restructured so both wizards share a common base class. Thanks to Matt Crocker for the patch.
- Users can add external manifest folders to XUL Explorer. This is a great help when previewing a XUL file that references external chrome folders. Previously, an erro message would display (missing DTDs) or the XUL wouldn’t style correctly (missing CSS). Now, users can add the manifest folders to XUL Explorer using the Options dialog and the external manifest files will be included when previewing so everything looks right. Thanks to John Marshall for the patch.
- Autocomplete history lists were added to the Application and Extension project wizards to make it a bit easier to generate code to a previously used folder location. This feature was more about making autocomplete textboxes work and less about usability.
I had to stick with packaging XULRunner 1.8.1.3 (1.8.1 for Mac) because XULRunner 1.9 has a nasty bug that keeps the caret hidden in the editor window.
Download the latest version from here.
Update: I fixed the broken link to the Mac version on the MDC page.
Permalink