The .xpi plugin framework allows easier extension installation (a ConsumerWiki feature). Plugins come packaged in .xpi files (name blatantly borought from http://mozilla.org/, but unrelated) and are simply enabled by uploading them through a <form>.

These plugins can do almost the same, standard plugins can do. They currently are plain PHP plugins. Future versions of plugins/feature/xpi may allow everybody (currently password protected) to install features and plugins, if they run managed within the sandboxed JavaScriptInterpreter (or sandboxed PHP code with a LimitedWikiApi).

/downloads/.../xpi/ holds a few example .xpi plugins:

.xpi file structure

.xpi files are converted from source files (this is in fact unneccessary, but looks more professional ;) into arrays and then get php-serialized() and compressed. The internal fields are as follows:

XPI 0.1 a version id
id PluginName -
type "..." there is only two types: "page" plugins and anything else
author ... a comment/desc entry
license ... a comment/desc entry
description ... a comment/desc entry
state 1 enabled or disabled (this is stored in the xpi registry)
code <?php ... ?> this gets simply evaled()


With the recent version of plugins/feature/xpi.php installation ("*PlugInstall") of .xpi plugins is much easier, as it allows to insert remotely located files and presents a dialog for click-and-run setup.


see also WikiFeatures:AutomaticFeatureInstall

bottom corner