Sin descripción

Yannick Warnier e150372d52 Security: SQL-escape user IP before inserting into the database hace 6 años
app 317b458a26 Revert "Add is_mandatory extrafield for surveys - refs BT#12915" hace 7 años
bin 3d24dc0ae3 Adding doctrine cli, to generate migrations, create/update schema. hace 9 años
certificates aa6364a738 Minor - format code. hace 9 años
custompages b402c0f3f1 Fix auth/inscription.php url see #8221 hace 8 años
documentation 5bb2a84c15 Add query to optimization guide hace 8 años
main e150372d52 Security: SQL-escape user IP before inserting into the database hace 6 años
plugin de380aa21a Update code to match c-pchart dependency update to 2.0.4 to support PHP 7.1 hace 7 años
src 891fd18cc9 Add mandatory surveys to course hace 7 años
tests 8a184a79d7 Add partial support for attached images in IMS/QTI v1.2 import - refs BT#11438 - refs CT#7518 hace 8 años
.bowerrc 2f290e9e6f Add bower.json, remove assets calls in composer.json hace 8 años
.gitattributes e8cf17bfed Minor - updating .gitattributes .gitignore hace 10 años
.gitignore c73bbbc449 Replace css files from main/css to app/Resources/public/css see #7522 hace 9 años
.htaccess 5d53246353 Deny access to tests and .git folders hace 8 años
.scrutinizer.yml cc14c05aa0 Minor - Exclude app/Migrations/ from Scrutinizer list as suggestion from Scrutinizer's team hace 8 años
.travis.yml 918380505a Minor - Update travis config 6 hace 8 años
404.php d575fa47a3 Move survey, gradebook, wiki, learnpath, tracking, document, exercice, help and admin language files to trad4all - refs #4467 hace 9 años
CONTRIBUTING.md 19f48187a6 Fix jQuery path issues again after finding the real problem behind the two different versions downloaded between two servers. See 338595984c9d07ff778ef0a4c867d543d5b7d53a for the initial (reverse) fix hace 9 años
README.md 6ec11b8b29 Fix link to doc in README.md as reported by @jderriks - refs CT#8380 hace 8 años
apple-touch-icon.png 4116a6b100 merge hace 10 años
cli-config.php 5aee71c6f9 Add migrations.yml in order to call correctly migrations command lines. hace 9 años
composer.json a459c2f2d0 Update c-pchart dependency to 2.0.4 to support PHP 7.1 hace 7 años
favicon.ico 4116a6b100 merge hace 10 años
index.php bcfdf70f75 Renew course chat - refs BT#11284 #tmi (#1225) hace 8 años
license.txt 4116a6b100 merge hace 10 años
news_list.php 608f9a6b60 Format code, remove require_once hace 9 años
robots.txt f36a285e11 Move searchdb inside app/upload/plugins/xapian/searchdb hace 9 años
user.php 608f9a6b60 Format code, remove require_once hace 9 años
user_portal.php db63ffe9da Fix studentview bug for coaches see BT#11694 hace 8 años
webchatdeny.php 652c6ecf19 Move index language file to trad4all - refs #4467 hace 9 años
whoisonline.php 2db1b96039 Change whoisonline user count from 9 to 12 due to UI changes + fix button hace 8 años
whoisonlinesession.php 0fe954e854 Switch all session.date_start and date_end to session.access_start_date and access_end_date - refs #7719 hace 9 años

README.md

Chamilo 1.10.x

Build Status Scrutinizer Code Quality Code Coverage Bountysource

Installation

This installation guide is for development environments only.

Install PHP, a web server and MySQL/MariaDB

To run Chamilo, you will need at least a web server (we recommend Apache2 for commodity reasons), a database server (we recommend MariaDB but will explain MySQL for commodity reasons) and a PHP interpreter (and a series of libraries for it). If you are working on a Debian-based system (Debian, Ubuntu, Mint, etc), just type

sudo apt-get install libapache2-mod-php mysql-server php5-gd php5-intl php5-curl php5-json

Install Git

The development version 1.10.x requires you to have Git installed. If you are working on a Debian-based system (Debian, Ubuntu, Mint, etc), just type

sudo apt-get install git

Install Composer

To run the development version 1.10.x, you need Composer, a libraries dependency management system that will update all the libraries you need for Chamilo to the latest available version.

Make sure you have Composer installed. If you do, you should be able to launch "composer" on the command line and have the inline help of composer show a few subcommands. If you don't, please follow the installation guide at https://getcomposer.org/download/

Download Chamilo from GitHub

Clone the repository

sudo mkdir chamilo-1.10
sudo chown -R `whoami` chamilo-1.10
git clone -b 1.10.x --single-branch https://github.com/chamilo/chamilo-lms.git chamilo-1.10

Checkout branch 1.10.x

cd chamilo-1.10
git checkout --track origin/1.10.x
git config --global push.default current

Update dependencies using Composer

From the Chamilo folder (in which you should be now if you followed the previous steps), launch:

composer update

If you face issues related to missing JS libraries, you might need to ensure that your web/assets folder is completely re-generated. Use this set of commands to do that:

rm composer.lock
rm -rf web/ vendor/
composer clear-cache
composer update

This will take several minutes in the best case scenario, but should definitely generate the missing files.

Change permissions

On a Debian-based system, launch:

sudo chown -R www-data:www-data app main/default_course_document/images main/lang  

Start the installer

In your browser, load the Chamilo URL. You should be automatically redirected to the installer. If not, add the "main/install/index.php" suffix manually in your browser address bar. The rest should be a matter of simple OK > Next > OK > Next...

Upgrade from 1.9.x

1.10.0 is a major version. It contains a series of new features, that also mean a series of new database changes in regards with versions 1.9.x. As such, it is necessary to go through an upgrade procedure when upgrading from 1.9.x to 1.10.x.

When we published 1.10.0, we didn't catch a series of important upgrade errors. We released a warning a few days later asking people not to upgrade from 1.9.x to 1.10.0 for the time being. Version 1.10.2 fixed that, and you can now safely upgrade from any 1.9.x version to any 1.10.x version higher than 1.10.0.

The upgrade procedure is relatively straightforward. If you have a 1.9.x initially installed with Git, here are the steps you should follow (considering you are already inside the Chamilo folder):

git fetch --all
git checkout origin 1.10.x

Then load the Chamilo URL in your browser, adding "main/install/index.php" and follow the upgrade instructions. Select the "Upgrade from 1.9.x" button to proceed.

If you have previously updated database rows manually, you might face issue with FOREIGN KEYS during the upgrade process. Please make sure your database is consistent before upgrading. This usually means making sure that you have to delete rows from tables referring to rows which have been deleted from the user or access_url tables. Typically:

DELETE FROM access_url_rel_course WHERE access_url_id NOT IN (SELECT id FROM access_url);

Upgrading from non-Git Chamilo 1.10

In the very unlikely case of upgrading a "normal" Chamilo 1.10 installation (done with the downloadable zip package) to a Git-based installation, make sure you delete the contents of a few folders first. These folders are re-generated later by the composer update command. This is likely to increase the downtime of your Chamilo portal of a few additional minutes (plan for 10 minutes on a reasonnable internet connection).

rm composer.lock
rm -rf web/*
rm -rf vendor/*

For developers and testers only

This section is for developers only (or for people who have a good reason to use a development version of Chamilo), in the sense that other people will not need to update their Chamilo portal as described here.

Updating code

To update your code with the latest developments in the 1.10.x branch, go to your Chamilo folder and type:

git pull origin 1.10.x

If you have made customizations to your code before the update, you will have two options:

  • abandon your changes (use "git stash" to do that)
  • commit your changes locally and merge (use "git commit" and then "git pull")

You are supposed to have a reasonable understanding of Git in order to use Chamilo as a developer, so if you feel lost, please check the Git manual first: http://git-scm.com/documentation

Updating your database from new code

Since the 2015-05-27, Chamilo offers the possibility to make partial database upgrades through Doctrine migrations.

To update your database to the latest version, go to your Chamilo root folder and type

php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml

If you want to proceed with a single migration "step" (the steps reside in src/Chamilo/CoreBundle/Migrations/Schema/V110/), then check the datetime of the version and type the following (assuming you want to execute Version20150527120703)

php bin/doctrine.php migrations:execute 20150527120703 --up --configuration=app/config/migrations.yml

You can also print the differences between your database and what it should be by issuing the following command from the Chamilo base folder:

php bin/doctrine.php orm:schema-tool:update --dump-sql

Contributing

If you want to submit new features or patches to Chamilo, please follow the Github contribution guide https://guides.github.com/activities/contributing-to-open-source/ and our CONTRIBUTING.md file. In short, we ask you to send us Pull Requests based on a branch that you create with this purpose into your repository forked from the original Chamilo repository.

Documentation

For more information on Chamilo, visit https://1.10.chamilo.org/documentation/index.html