Hello people, How is it going? Hope all well. As you may have already noticed, I have fixed and updated most of deviantEXPERIENCE extensions and made them compatible with the soon-to-be-released Firefox 3.
One of the things that delayed the update is that I wrote a small piece of software to automate packaging and and distributing them. It's called ChickenFillet. Here's where deviantEXPERIENCE's
ChickenFillet "repository" is available. This software is primarily of interest to user script and user style authors.
I develop deviantEXPERIENCE as
Greasemonkey user scripts. It provides a convenient environment to develop browser-based "mods" to Web applications. For end users to utilize those mods, they have to install Greasemonkey and have yet another type of customizations to manage in Firefox (in addition to
traditional extensions and themes). Another inconvenience is that Greasemonkey doesn't provide a mechanism for delivering updates of user scripts (although some authors made some hacks around that) The situation is not much better in
Stylish, the Greasemonkey-like environment but for user styles.
"Compiling" user scripts (and user styles) into traditional standalone XPI packages seemed to be a great solution to many of Greasemonkey's disadvantages. You develop your user scripts conveniently in Greasemonkey and your end users get to use them without having to install Greasemonkey or learn how to use it. They get to manage your mods (install, disable or uninstall) like any other extension. And best of all, you can
provide updates the same way extensions are updated! I modified
this compiler to be able to use it in a (Unix) shell and I used to upload deviantEXPERIENCE extensions to their respective deviation pages (and to keep update information "update.rdf" on a separate server) but it became tedious as the number of extensions grew. So I decided to automate the process as much as possible with the goal of minimizing the time from updating a user script to distributing it as an extension to zero (or very little time.)
And ChickenFillet was born. It's intended to be a "repository" of user scripts and styles with the simple goal of delivering them as extensions and keeping them updated.
It basically performs two tasks:
1) It packages ("compiles") a user script or a user style into a Firefox (Flock, too) extension and caches it. Extra meta-data are added to scripts that are relevant to the resulting extension (GUID, Creator, etc)
2) It understands versioning and generates an "update.rdf" file that Firefox queries for extension updates. It satisfies the new security requirements for update manifests by
digitally signing update.rdf when generating it so you don't to have install an SSL/TLS certificate on the server where you deploy ChickenFillet.
It simply works by dropping the user script or user style into a specific directory and telling it to update it's cache.
ChickenFillet is now in a usable state (hey, it now serves deviantEXPERIENCE!) and I tried to make it as flexible as possible. I will release it's code under the GPL as soon as a) I finish updating all extensions b) clean it up a bit and c) get to write a guide on how to install and configure it (which is very simple and it has a set of diagnostic routines check it's configuration for things it doesn't expect, anyway)
That's all for now and hopefully I'll write an update very soon about it.
Clarification If you actually prefer to install as a user script (aka =
rotane and company) rather than an extension.
Go to CF, click on it's name and click
Install Userscript. Enjoy
