Git Product home page Git Product logo

claroline's Introduction

README

This repository provides the basic application structure of the Claroline platform. It doesn't contain the sources nor the third-party libraries required to make the application fully functional. Those sources have to be installed following the procedure described below.

If you want to contribute or directly browse the sources of the project, here is a (non-exhaustive) list of their dedicated repositories:

Project setup

Requirements

  • PHP >= 5.4.1
  • PHP extensions:
    • fileinfo (for mime type detection)
    • curl (for facebook authentication)
    • mcrypt
    • Optionaly:
      • gd (for simple icon creation)
      • ffmpeg (for video thumbnail creation)
    • If you use PHP 5.5, you need to install the following extensions manually:
      • php5-json
      • php5-intl
  • A RDBMS like MySQL (>=5.0, recommended) or PostgreSQL (>= 8.0)
  • A web server like Apache or Nginx
  • A global installation of composer (for dependency management)
Configuration of php.ini
  • The memory_limit must be >= 256Mb (also in cli).
  • Be sure that you have a correct configuration of time zone (supported timezones).

Development installation

  • Clone this repository
  • Create an app/config/parameters.yml file based on app/config/parameters.yml.dist and fill at least the main db parameters (database doesn't have to exist, but if it exists, it must be empty)
  • Make the following directories (and their children) writable from the command line and the web server (for further explanation on common permissions issues and solutions with Symfony2, read this):
    • app/cache
    • app/logs
    • app/config
    • files
    • templates
    • web/uploads
  • Run the following commands:
    • $ composer require composer/composer dev-master
    • $ composer require claroline/bundle-recorder "~3.0"
    • $ cp composer.json.dist composer.json
    • $ composer update --prefer-source (1)
    • $ php app/console claroline:update

(1) At this point, you can ignore the following error: Class Claroline\CoreBundle\Library\Maintenance\MaintenanceHandler is not autoloadable, can not call pre-update-cmd script

You can then create a first admin user with:

$ php app/console claroline:user:create -a

The application is accessible in your browser via:

  • [site]/web/app_dev.php (development environment)
  • [site]/web/app.php (production environment)

Update

To update your installation to the last stable state, use:

$ composer update --prefer-source
$ php app/console claroline:update

Plugin installation

You can install or uninstall a plugin by adding or removing the package in the require section of your composer.json and running:

$ composer update vendor/plugin-name --prefer-source

If the plugin package is already present in your project and if you simply want to install or uninstall it locally, you can use one the following commands:

$ php app/console claroline:plugin:install FooBarBundle
$ php app/console claroline:plugin:uninstall FooBarBundle

Development tools

Testing

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

Build and Static analysis

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.

Documentation

For development documentation, see Claroline/CoreBundle/Resources/doc/index.md.

claroline's People

Contributors

ngodfraind avatar stefk avatar solispauwels avatar maxailloud avatar easy-es avatar vaince avatar gervye avatar systho avatar egervy avatar purplefish32 avatar ptsavdar avatar josaine avatar

Watchers

Norival Vicente Jr. avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.