- 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.git
Checkout the master branch of each plugin with:
$ git submodule foreach git checkout master
Use the automatic install script:
$ php app/dev/raw_install
Make 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 update
Or in the event of new plugins:
$ git pull
$ git submodule update --init --recursive
$ git submodule foreach git checkout master
Then launch the installation script mentioned above:
$ php app/dev/raw_install
Warning: 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/bundle
In order to run the test suite you must have phpunit installed on your system.
Run the complete test suite with:
$ phpunit -c app
Run the tests for a single directory with:
$ phpunit -c app src/core/Claroline/CoreBundle
The 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.rb
For development documentation, see Claroline/CoreBundle/Resources/doc/index.md.