mikoweb / joomla-rapid-composer
A Composer plugin to install Joomla extensions into your installation.
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:composer-plugin
Requires
- composer-plugin-api: 1.0.0
README
This Composer plugin will install extensions into your Joomla setup.
Usage
Quick start with Joomla Startup
Checkout repository:
svn co http://repo.mikoweb.pl/svn/joomla-startup/trunk ./
Attach a domain to web
directory or create symbolic link to public_html
:
ln -s web public_html
Run command:
php joomla.php joomla:install 3.3.*
Defining a package
The easiest way to get started is by defining a custom package in your composer.json
file. All you need is the package file for the extension you wish to install. (ie. the installer file you downloaded from the vendor's website)
Create the composer.json
file in the root directory of your Joomla installation and have it look something like this:
{ "repositories": [ { "type": "package", "package": { "name": "vendor/extension", "type": "joomlatools-installer", "version": "1.0.0", "dist": { "url": "file:////Users/johndoe/Downloads/com_extension.1.0.0.tar.gz", "type": "tar" }, "require": { "joomlatools/installer": "*" } } } ], "require": { "vendor/extension": "1.0.0" } }
Using this JSON file, we have now defined our own custom package. Pay attention to the following settings:
- The
type
has to be set tojoomlatools-installer
- Make sure the
url
directive points to the location of the install package.
Executing composer install
will now fetch the mikoweb/joomla-rapid-composer
plugin and use it to install the package into your Joomla installation.
For more information on creating these custom packages for projects which do not support Composer, see the Composer docs.
Creating a custom package
To make use of all Composer's features, eg. upgrading to a newer version, you are better off creating a package using your extension's source code.
The package definition should contain the following basic information to make it installable into Joomla:
{ "name": "vendor/my-extension", "require": { "mikoweb/joomla-rapid-composer": "*" } }
If you want to make your extension available directly from Github or any other VCS, you want to make sure that the file layout in your repo resembles your install package.
You can now publish your extension on Packagist or serve it yourself using your own Satis repository.
For more information on rolling your own package, please refer to the Composer documentation.
Change the user
The installer injects a user called root
into the Joomla application at runtime to make sure that the installer scripts have the necessary permissions to execute.
If for some reason, you need to change the details of this mock user, you can override them by adding a joomla
block into the config
section of your composer.json
. Example:
{ "config": { "joomla": { "basedir": "joomla", "username": "johndoe", "name": "John Doe", "email": "john@doe.com" } } }
Debugging
Having trouble? You can increase Composer's verbosity setting (-v|vv|vvv
) to gather more information. Increasing Composer's verbosity will also enable Joomla's log messages.
Requirements
- Composer
- Joomla version 2.5 and up.
Contributing
We appreciate any contribution, whether it is related to bugs, grammar, or simply a suggestion or improvement. We ask that any contribution follows a few simple guidelines in order to be properly received.
We follow the GitFlow branching model, from development to release. If you are not familiar with it, there are several guides and tutorials online to learn about it.
There are a few things you must know before submitting a pull request:
- All changes need to be made against the
develop
branch. However, it is very well appreciated and highly suggested to start a new feature branch fromdevelop
and make your changes in this new branch. This way we can just checkout your feature branch for testing before merging it intodevelop
. - We will not consider pull requests made directly to the
master
branch.
Authors
See the list of contributors.
License
The joomlatools/installer
plugin is free and open-source software licensed under the GPLv3 license.