Claroline

Claroline是一个根据GPL开源许可证发布的协作式电子学习和电子工作平台(学习管理系统)。(Claroline is a collaborative eLearning and eWorking platform (learning management system) released under the GPL open-source license.)

Github stars Tracking Chart

Claroline是一个根据GPL开源许可证发布的协作式电子学习和电子工作平台(学习管理系统)。 它允许全球数百个组织,从大学到学校,从公司到协会,通过网络创建和管理课程和协作空间。 该平台在100多个国家使用,有35种语言版本。

Claroline构建于Symfony框架之上(版本2.x)。 它还依赖于通常与Symfony相关的库和框架,例如Doctrine和Twig。 本文档不涉及这些依赖项的用法。 如果您遇到任何问题,请参阅他们的官方文档:

该存储库提供了Claroline平台的基本应用程序结构。 它不包含使应用程序完全正常运行所需的源和第三方库。

如果您想贡献或直接浏览项目的源代码,请检查 claroline/Distribution 存储库,它收集了平台的标准模块和插件。

Overview

Name With Ownerclaroline/Claroline
Primary LanguagePHP
Program languagePHP (Language Count: 7)
PlatformLinux, Mac, Windows
License:Other
Release Count150
Last Release Name14.1.4 (Posted on )
First Release Name6.0.0 (Posted on )
Created At2011-07-06 08:43:45
Pushed At2024-04-23 07:30:23
Last Commit At
Stargazers Count295
Watchers Count61
Fork Count184
Commits Count24k
Has Issues Enabled
Issues Count640
Issue Open Count34
Pull Requests Count1717
Pull Requests Open Count4
Pull Requests Close Count416
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

README

Join the chat at https://gitter.im/claroline/Claroline

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 one of the procedures described below.

If you want to contribute or directly browse the sources of the project,
check the claroline/Distribution repository, which gathers
the standard modules and plugins of the platform.

Requirements

For a development installation, you'll need at least:

  • PHP >= 7.1 with the following extensions:
    • curl
    • fileinfo
    • gd
    • intl
    • mbstring
    • mcrypt
    • xml
    • json
    • zip
  • MySQL/MariaDB >=5.0
  • composer (recent version)
  • node.js >= 8.9
  • npm >= 6.4

It's also highly recommended to develop on an UNIX-like OS.

For mysql >= 5.7, there is an additonal step:

    mysql -u**** -p
    set global sql_mode='';
    exit;

Installation

1. From source

The raw installation procedure is comprised of several steps that need to be
executed in order (fetching php sources, installing dev dependencies, building,
creating the database, etc.). Except for the configuration step, the whole process
is managed through composer scripts listed in the composer.json
file. For an installation from scratch, the commands would be:

git clone http://github.com/claroline/Claroline
cd Claroline
php scripts/configure.php
composer update --prefer-dist --no-dev
 
npm install
composer build

php app/console claroline:install

Upgrade 12.x

To update your 12.x just follow this steps :

1. Update source

composer update --no-dev   
npm install
composer build

2. Launch update script

php app/console claroline:update 12.x.xx 12.y.yy

Upgrade From 10.x or 11.x

To update an existing development installation, just pull the latest changes
(or a specific version) of this repository and follow this steps:

1. go to 12.x branch

 git fetch origin
 git checkout origin/12.x

2. Update source

composer update --no-dev
npm install
composer build

3. Launch update script

php app/console claroline:update 1x.x.xx 12.1.0

4. Migrate some ressource

php app/console claroline:scorm:convert
php app/console claroline:dropzone:convert

Development

Some assets of the platform are managed by webpack. In a
development environment, they require the webpack dev server to be
running. You can start it with:

npm run webpack:dev

Obviously, you'll also need a PHP-enabled web server to serve the application.
Two alternatives are available.

1. Using PHP's built-in web server

This is the simplest way of serving the application during
development. To start the server, use the command provided by the symfony
framework (more details here):

php app/console server:start

The application will be available at http://localhost:8000.

If you want to use Apache or Nginx during development, make them serve the
web directory, and access the application at
http://localhost/example-site/app_dev.php.

Note that you'll certainly face permissions issues on the following directories:

  • app/cache
  • app/config
  • app/logs
  • app/sessions
  • files
  • web/uploads

All of them must be recursively writable from both the web server and the CLI.
For more information on that subject, see the configuration section
of the official Symfony documentation.

Usage

You can create a first admin user with:

php app/console claroline:user:create -a

Plugins

Plugins are managed by composer like any other package in the platform.
You can install or uninstall the sources of a plugin by adding or removing
the package from the require section of your composer.json and running
composer update, or using shortcuts like composer require ....

Once the plugin package is in your vendor directory, you can proceed to the
(un-)installation using one the following commands:

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

Important: Note that the installation and upgrade procedures of the
platform described above apply only to the "standard" distribution, which
comes with a fixed set of plugins. If you deviate from that set, you'll have
to maintain your own composer files and perform composer update and
php app/console claroline:update accordingly.

Browser support

We recommend to use Claroline Connect with the latest version of Mozila Firefox or Chromium.

We support :

  • Mozilla Firefox (latest version)
  • Chromium (latest version) and Google Chrome (latest version)
  • Microsoft Edge (latest version)
  • Microsoft Internet Explorer 11
  • Safari (latest version)

For complete list : http://caniuse.com/#feat=mutationobserver

Documentation

For user documentation, see : http://doc.claroline.com.

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

To the top