Installation System

The installation system is a method to register installations. This way you can view what extensions run well or what extension is being abused.

Setup the menuitem

To start with the installation system, you must create a new menuitem of the type MS Release - API Installation. This is the entrypoint of your installation system so you should also hide the menuitem. You can do this by either using a new menu or by hiding it from the menu.

Pushing installation updates

If you have created the menuitem, the system now accepts HTTP POST requests to register installations. To register an installation, HTTP POST to the new url using one parameter; alias. The alias value will have the alias of one of your extensions. The response is in JSON and when it succesfully registered, it'll return;

    {"error":0,"msg":"Success"}

Now that your system is setup, you'll need to automate it. Luckily, Joomla! has a method that only runs at installations. You need to create, if you don't have, the install.php file. In this file you can add the following to automate the system;

    
/**
 * Runs after the installation
 * @param   String  $type
 * @access  Public
 * @return  Void
 */
public function postflight($type) {
    // Installation
    if ($type === 'install') {
        $http = new JHttp;
        $response = $http->post('', array('alias' => ''), null, 5);
        // The 5 is the timeout. Don't set this number to high as it is the maximum amount of seconds it can block the server.
    }
}