- PHP >= 5.3.3
- PHP extensions:
- A global installation of composer (for dependency management)
Clone the project and its associated plugins with:
$ git clone --recursive https://github.com/claroline/Claroline.gitCheckout the master branch of each plugin with:
$ git submodule foreach git checkout masterUse the automatic install script:
$ php app/dev/raw_installMake the following directories (and their children) writable from the command line and the webserver
- app/cache
- app/logs
- app/config/local
- files
- templates
- test
- src/core/Claroline/CoreBundle/Resources/public/css/themes
- src/core/Claroline/CoreBundle/Resources/views/less-generated
- web/uploads
For further explanation on common permissions issues and solutions with Symfony2, read this.
Open your browser and go to [site]/web/app.php for production environment or [site]/web/app_dev.php for development environment.
To update your installation to the last development state, use:
$ git pull
$ git submodule updateOr in the event of new plugins:
$ git pull
$ git submodule update --init --recursive
$ git submodule foreach git checkout masterThen launch the installation script mentioned above:
$ php app/dev/raw_installWarning: this is a quick dev tool, it will drop existing databases (both prod and test) and create new ones.
You can install or uninstall a plugin with:
$ php app/console claroline:plugin:install [vendor] [bundle short name]
$ php app/console claroline:plugin:uninstall [vendor] [bundle short name]A new plugin can be added to the module list with:
$ git submodule add http://github.com/vendor/bundle.git src/plugin/Vendor/bundleIn order to run the test suite you must have phpunit installed on your system.
Run the complete test suite with:
$ phpunit -c appRun the tests for a single directory with:
$ phpunit -c app src/core/Claroline/CoreBundleThe app/build/tools directory gathers configuration files for various analysis and build tools (PHPMD, PHPCS, JSHint, Ant, etc.).
You can install and use them locally (see their respective documentation for usage) or visit our continuous integration server here.
To have the core Less and TwigJs assets automatically processed and dumped when they have changed, you can run the provided watchr script:
$ watchr src/core/Claroline/CoreBundle/Resources/watchr/refresh_assets.rbFor development documentation, see Claroline/CoreBundle/Resources/doc/index.md.