This packages enables you to use Composer and Bower packages for the development and deployment of CMS Made Simple websites and modules.
It also provides a Vagrant box for easy setup of a development environment.
- Create a composer project:
composer create-project torfs-ict/cmsms <path>
. - Run
vagrant up
in the created project. - Browse to http://192.168.33.99/install and follow the CMSMS installation procedure.
- Include the Composer autoloader in the CMSMS
config.php
file:
require_once(__DIR__ . '/vendor/autoload.php');
- The MySQL root password, username, user password and database name are all
cmsms
. - PHPMyAdmin gets installed in the Vagrant box and is accessible at http://192.168.33.99/phpmyadmin.
- Running Composer in the development environment must ALWAYS be done in the Vagrant box.
All modules (in development) should be put in the modules
directory of the development environment and have a valid
composer.json
file as you can see below in the example taken from the Google Maps module.
{
"name": "torfs-ict/cmsms-google-maps",
"description": "Google Maps module for CMS Made Simple",
"version": "1.0.0",
"license": "MIT",
"authors": [
{
"name": "Kristof Torfs",
"email": "kristof@torfs.org"
}
],
"require": {
"torfs-ict/cmsms": "^2.1"
},
"extra": {
"cmsms": {
"module": true,
"name": "GoogleMaps",
"bower": {
"gmaps": "~0.4.22",
"hint.css": "^2.3.2"
}
}
}
}
- The version must be set.
- At least one author must be set.
- The
extra/cmsms
section must be defined.- The
module
field must be set to TRUE, so our dev environment knows it should treat it as a module when installing. - The
name
field must be set to the actual module name. - The
bower
field contains the Bower package requirements (optional). These will automatically be installed when installing/updating the composer package of your module.
- The
- Create the module directory and change to that directory.
- Run
php ../../src/Module.php
- Make sure your module directory is a Git repository.
- Add the VCS to the repositories in the development environment composer.json e.g.
"repositories": [{ "type": "path", "url": "modules/GoogleMaps" }]
- Add the module as a requirement in composer.json e.g.
"requires": { "torfs-ict/cmsms-google-maps": "*" }
- Run
composer update
in the root of the development environment.
Note: if you generated the module with our script, you can skip steps 1 & 2.
- Use the Composer
create-project
command as when setting up the development environment. - Make sure the webroot of your virtual host points to the
cms
directory. - Navigate your browser to the install directory and complete the CMS Made Simple installation.
- Include the Composer autoloader in the CMSMS
config.php
file:require_once(__DIR__ . '/vendor/autoload.php');
- Remove the install directory.
- Run
composer require
for each module you need.