Extension Installer/Writing a new installer adapter

From Joomla! Documentation

< Extension Installer
Revision as of 00:17, 6 October 2008 by Pasamio (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Joomla! uses installer adapters to allow it to install different extension types with ease. This means that pluggable installation systems are possible. You can write an installer adapter and include it into your own project or provide an installer adapter in the central location to enable it to be utilised by the normal installer.

Installer Adapters have four primary tasks:

  • Install - Installs a new extension (returns an extension ID on sucess or false on failure. Zero is a valid extension ID)
  • Update - Performs update tasks for an extension (returns an extension ID on sucess or false on failure. Zero is a valid extension ID)
  • Uninstall - Removes an extension (returns the boolean result of the uninstallation)
  • Discover - Discovers an extension (returns an array of extensions)
  • Discover Install - Handles the installation of a discovered extension (returns an extension ID on sucess or false on failure. Zero is a valid extension ID)

Discover is a special operation that is designed to 'look' for new extensions to install. For example, a user might copy a component to the relevant folders but not have run the installer so the component won't appear in the installed extensions list. The 'Discover' function would find this extension and provide the user the ability to install it from its location. A discover install is used on discovered extensions to add the relevant details to the database and run database scripts.