FAQ
From Dokeos
How do I get started using Dokeos?
If you're new to Dokeos, you can experiment without any hassle by going to the Dokeos campus and creating a course there (choose Create course areas in the registration page). This way you can look around and get used to Dokeos without even having to install it yourself.
If you do want to install it: the latest stable version can always be found at the Dokeos download page. We also have online installation guides in several languages, they are available through the Dokeos documentation site.
Hardware Requirements for Dokeos
The hardware requirements for Dokeos are really limited and depend on how much users you will have on your platform. We can provide you with some figures on existing installations
Zephyr.ugent.be
This is the open server of the Ghent University which is used for testing, courses non-official UGent courses, projects, ... Registration is free (but monitored). This is a normal desktop PC and currently has about 9500 users and 600 courses (a lot of test users and test courses but also some very big and intensively used courses)
- OS: Mandrake Linux release 10.0
- CPU: 1 Intel(R) Pentium(R) 4 CPU 3.00GHz
- RAM: 1 GB
- Harddisk: 250 GB (only 15% is used atm)
Minerva.ugent.be
This is the closed server of the Ghent Univesity which is used for official UGent courses and can only be accessed when you have an official UGent account (=you are a student or staff at Ghent University). The first two years we ran everything (apache + mysql) on one server.
- OS: Red Hat Linux E
- System: Dell Poweredge 2650
- CPU: 2 Xeon 2.4Ghz processors
- RAM: 2 GB ECC DDR memory
- Harddisk: 4 SCSI hotswapable harddisk in a raid 5 configuration
For academic year 2005-2006 we decided to split the mysql from the apache and currently we use a 3 server approach with redundancy: one server is the mysql server, one server is the apache server and one server is the fileserver. All three servers can temporarily take over another functionality in case (for instance the mysql server goes down, then the apache server can become the apache+mysql server). Specifications of the 3 servers:
- OS: Debian, Linux 2.4 kernel
- System: Dell Poweredge 2850
- CPU: 2 Xeon 3.0Ghz processors
- RAM: 4 GB ECC DDR memory for the web server and file server, 6 Gb for the mysql server
- Harddisk: 4 SCSI hotswapable harddisks in a raid 5 configuration
Some Minerva Statistics
| 2004 - 2005 | 2005 - 2006 | |
| active users | 25.500 | 28.558 |
| active courses | 3250 | 3785 |
| data | 90 Gb | 141.2 Gb |
- bandwith: on average around 60 Gb/day with peaks of 85 Gb/day (monthly bandwith of 1.500 to 2.000 Gb).
- new download peak on 22 may 2006: 113Gb in one day
- we had 8157 simultaneous users (1 march 2006, the results of the exams were released to a large group of students) .
Software Requirements for Dokeos
A web server
The Apache web server is recommended, and Dokeos is configured to use some Apache security enhancements if possible. However, other web servers will work too. For best security results, you need to have the Apache module mod_rewrite activated. The mod_rewrite rules for Dokeos are read from a .htaccess file in the courses folder, so Apache needs to allow this (AllowOverride FileInfo in httpd.conf).
PHP
You need PHP version 4.3.2 or later, configured with the following modules : mysql, zlib, preg, xml. You need the ldap module too if you want to use ldap with Dokeos. Most of the compiled distributions are provided with these modules. Anyway, their presence is checked by the Dokeos install script.
Some users could meet problems if their PHP setting doesn't fit these ones:
- short_open_tag = On
- safe_mode = Off
- magic_quotes_gpc = On
- magic_quotes_runtime = Off
Past Dokeos versions required register_globals to be set to On. This is no longer necessary, this can be set to Off and Dokeos will work fine.
BSD users: these php libraries have to be included during php installation:
- php-mysql The mysql shared extension for php
- php-pcre The pcre shared extension for php
- php-session The session shared extension for php
- php-zlib The zlib shared extension for php
- php-xml
- (optional) php-ldap if you want to be able to use LDAP authentication
The MySQL database server
You will need a login and password allowing to administrate and create at least one database. By default, Dokeos will create a new database for each course created. It means your host should allow you to create and administrate several databases. You can also install DOkeos using only one database, in that case you have to select this option during the installation.
Note: It seems the backticks characters (`) inserted inside most of the Dokeos SQL queries since version 1.3 don't work with MySQL versions before 3.23.6.
How can I help with improving Dokeos?
There are many ways to help us improving Dokeos, you don't have to be a programmer for this.
- you can install and test the latests release and report bugs on the forum
- you can help improve the Dokeos translation in one of the languages you know
- you can help write user guides for teachers, students, platform administrators
- you can help write code and code documentation
- ...
The best way to start if you don't know how is to ask a question on the forum.
Installation
How do I install Dokeos on rented hosting?
- Make sure the Apache, PHP and MySQL software your hosting provider uses fulfills the conditions outlined above (in the section Software requirements for Dokeos).
- You must know the database server username and password for your account. You should also try to find out if your hosting provider only allows a single MySQL database or multiple databases. If you have permissions for multiple MYSQL databases, the multiple database install should be the first and preferred choice. Please note however that in a multiple databases install, each course that you create will create one MYSQL database which essentially means that the maximum number of courses that you can create will be limited to the maximum numbers of MYSQL databases that you are allowed to create on your rented hosting.
File and folder permissions
Dokeos has some default settings about file and folder permissions, which often fail on rented hosting, so maybe you'll have to adjust some settings. Some hosting providers do not allow the 0777 file permission setting (file is writable for everyone) and restrict you to 0755 (writable for the owner, only readable for the rest of the world). See also [1]
To solve this in the code, so every newly created course works when created out of Dokeos, you've got to alter the add_course.lib.inc.php file in the claroline/in/clib folder:
mkdir($coursesRepositorySys.$courseRepository, 0755); mkdir($coursesRepositorySys.$courseRepository."/document", 0755); mkdir($coursesRepositorySys.$courseRepository."/dropbox", 0755); mkdir($coursesRepositorySys.$courseRepository."/group", 0755); mkdir($coursesRepositorySys.$courseRepository."/page", 0755); mkdir($coursesRepositorySys.$courseRepository."/scorm", 0755); mkdir($coursesRepositorySys.$courseRepository."/temp", 0755); mkdir($coursesRepositorySys.$courseRepository."/work", 0755); // build index.php of course $fd = fopen($coursesRepositorySys.$courseRepository."/index.php", "w"); chmod($coursesRepositorySys.$courseRepository."/index.php", 0755);
Warning
Several Dokeos versions delete all tables in that database before starting the installation, so you will lose data if you don't make a backup. Since Dokeos community release 2.0, in single database mode your database is not deleted anymore when installing Dokeos. However, the code is not perfect yet, if any tables in the database have the same name as the ones Dokeos tries to create, you may still lose data.
- You can also rent hosting by the Dokeos company.
- Schools in Belgium can also apply for hosting by the Hogeschool Gent.
- Discussions about hosting in Dutch, in English, in Italian
Fatal Error
Fatal error: main(): Failed opening required 'database.lib.php' (include_path=) in ......
Check the value of include_path in your php.ini file? It should contain at least . (=current directory). If you don't have access to that file, try to add following code in /claroline/inc/claro_init_global.inc.php
ini_set('include_path',ini_get('include_path') . PATH_SEPARATOR . '.');
Which permissions do I need for the Dokeos files?
The course folders and their subfolders have to be writable for the Apache user, that is to say the owner of the Apache process. The phpcode is invoked as an Apache module (assuming you use Apache).
- open shell
- go to dokeos dir, e.g.
cd /var/www/html/dokeos
- make yourself root, use
su <return> <enter root password>
- use the chown command to change the ownership of a certain file, e.g.
chown -R apache *
(this means: change owner of all files and folders recursively to the owner apache) or
chown -R apache:apache *
(this is quite commonly used and means: change owner and group of all files and folders recursively to the owner and group apache)
From now on apache is the owner and only apache needs write permissions, so you can do a
chmod -R 755 *
which means change permissions of all files, recursively, to read-write-execute for apache user, read-execute for all others.
Then you can type exit at the command shell to stop working as root user. You should only use the root user when necessary, as a security precaution.
More about security A few files should not have 755 permission. The install folder can be moved away, renamed, or have permissions set to 700. The inc/conf/claro_main.conf.php also should not be writable by everyone, you can set the permission to chmod 444 to allow everyone to read it. Perhaps you can go even further by doing a chmod 400 but we should test that.
MySQL 4.1 new password encryption scheme
Problem
- [1252] - Client does not support authentication protocol requested by server; consider upgrading MySQL client.
Reported with system: Windows2000 or Windows2003, Apache 1.3.33 or 2.0.x or IIS5, MySQL 4.1 or 5.0, PHP 4.
Solution
The problem is that the MySQL server uses a new version of encryption and the php 4 version doesn't understand this.
The solution is adding a line to the my.ini from the MySQL server.
Add:
#Use old password encryption method old_passwords
After that, you must put a new password in the MySQL.
View these sites for more specs: http://forums.mysql.com/read.php?11,6400,10611 http://dev.mysql.com/doc/mysql/en/old-client.html
How do I use Dokeos with MySQL on a non-default port?
When installing, enter into the Database Host field the correct hostname and port. The default is localhost, you could enter hostname:port (e.g. "localhost:3307"). You can also directly refer to the MySQL socket, which is supposedly faster: enter "hostname:/path/to/socket". Warning: the Database Host field in the installation script is limited in length, we'll improve this in the future.
After installation, you can still change this: in the main config file, change the variable $dbHost, e.g. $dbHost="localhost:3307";
Also see http://www.dokeos.com/forum/viewtopic.php?t=2737
How do I move a Dokeos installation to a different server?
- copy all files from your Dokeos installation folder to the destination computer
- create a MySQL dump on the original computer and import this on the destination computer
- change settings in (dokeos_folder)/claroline/inc/conf/claro_main.conf.php
// Directories $rootWeb="http://localhost/cvsinstall/"; $rootSys="/var/www/html/cvsinstall/"; $urlAppend="/cvsinstall";
- you will also need to change the .htaccess file in the directory (dokeos_folder)/courses
How do I move a Dokeos installation to a different directory?
- move the whole Dokeos installation folder to the new location
- change settings in (dokeos_folder)/claroline/inc/conf/claro_main.conf.php
// Directories $rootWeb="http://localhost/cvsinstall/"; $rootSys="/var/www/html/cvsinstall/"; $urlAppend="/cvsinstall";
Change the last one too, just to be sure, but since Dokeos 1.6 it should not be used anymore.
- you will also need to change the .htaccess file in the directory (dokeos_folder)/courses
Can I install multiple versions of Dokeos on the same computer?
Yes you can.
First, create copies of the Dokeos software (e.g. 1.6.2) each in separate directories. E.g.
/var/www/html/dokeos_first/ /var/www/html/dokeos_second/ ...
Then, install each of them separately, surfing to http://servername/dokeos_first/claroline/install/
to install the first, then the second at http://servername/dokeos_second/claroline/install/ and so on.
Take care that you enter different databases for every install. Single or multiple databases should all work. E.g. install the first with database dokeos_first_main, etc.
A word of advice if you use the "multiple databases" install option for each installation. Use a different database prefix for each version! That way, you can easily isolate all databases belonging to the same installation. The logical choice for a prefix is the same you've used for the core databases (in the above example that would be dokeos_first_, etc.).
Some users have reported session problems with multiple installations on the same host (e.g. this forum post). To make sure separate sessions are used for both installations, you'll have to change the session name of at least one of the versions.
- For Dokeos versions up to 2.0.x, this has to be done in the function
api_session_start(...)in the fileclaroline/inc/lib/main_api.lib.php. Replace the line
session_name('dk_sid');
with
session_name('name_of_your_choice');
- For Dokeos 2.1 and up, you can change the value of
$session_nameinclaroline/inc/conf/claro_main.conf.php.
To solve for this FAQ: when using one single database for all three Dokeos installs, what exactly is needed?
Security
We have a separate wiki page about security. It's useful to read this to protect your installation.
How do I configure Dokeos mail
Most of Dokeos uses the mail settings from the php.ini file. However, the announcements tool uses phpMailer (another free software project) and the settings for this tool can be adjusted in (dokeos folder)/claroline/inc/conf/mail.conf.php.
Note: some hosting providers block email coming from Dokeos because they think it's spam. For example, when sending an announcement by email to all students in a course, there could be many dozes of students and spam filters are very suspicious of mails like that. There could also be other things that trigger the spam filters, but we have no further information about that yet. Some Dokeos admins have simply asked their hosting provider to unblock their Dokeos server.
strikethrough remark: announcements mails are sent one by one => sending an announcement by mail to the 100 members of your course = 100 individual mails
Logging in/out & registration
I can't log in
- Is the caps lock key on? Turn it off and try again.
- Check the keyboard layout: Querty / Azerty
- If you are sure that you are you can use the lost password functionality. Your username and password will be sent through e-mail.
- Do you have cookies enabed in your browser?
- Is there a firewall that could cause problems?
- Have you tried using a different browser?
I can't log out
One user reported this: Everything is fine EXCEPT when I logout, it takes me back to the "My Courses" listing page, not to the homepage outside the system. And it isn't logging out: I am still logged in. ...
In the end, it turned out to be the php-sessions folder under w2003server, which didn't have sufficient rights to change the session file on logout.
I (don't) want users to be able to register themselves
Allowing/disallowing self-registration as a user or a course creator is configured during step 4 of the installation procedure. If you want to enable/disable self-registration afterwards, you can do so by manually editing a configuration file for Dokeos 1.5.5 or through the Platform Administration for Dokeos 1.6.
Dokeos 1.5.5
Open dokeos/claroline/inc/conf/claro_main.conf.php in a text editor and go to lines 114-115. Depending on what you chose during installation, you will see something like:
$allowSelfReg=true; $allowSelfRegProf=false;
Set $allowSelfReg=true; to enable or =false; to disable self-registration entirely. Do the same with $allowSelfRegProf for self-registration as a course creator.
Dokeos 1.6
You can change the settings the same way as for 1.5.5 (line numbers are now 116-117), or change the configuration graphically through the platform administration:
- Log in as platform administrator.
- Click "Platform Administration" (at the bottom of the blue box at the right).
- Click "Dokeos Config Settings" (at the lower right, first item under Platform).
- Click "Platform".
- Under "Registration" and "Registration as teacher", you can configure if users are allowed to register themselves.
- Click "OK" to confirm.
Error message: You are not allowed here or your session has timed out. Please login again.
- check if your firewall doesn't block cookies (disable your firewall for a moment and try to reproduce it)
How can I add a new tool to Dokeos
There are some additional tools available on the extensions section of the Dokeos site: http://www.dokeos.com/extensions. You should read the readme.txt that normally explains what you should do to make the tool working. As a general introduction you should take the following steps
- copy the files in a folder inside the claroline folder (we assume for this example the folder newtool)
- insert an entry to the new tool in the tool table of all the existing courses using the following sql statement (edit where needed)
INSERT INTO `tool` VALUES ('New Tool', 'newtool/index.php', 'newtool.gif', 1, '0', 'pastillegris.gif', , '_self');
(there will be a script in the extensions page that allows you to do this for all the courses at once)
- modify the inc/add_course.lib.inc.php file so that all the newly created courses have this tool by default. You can copy a line in the 'course homepage tools' section (around line 1300), paste it and edit the line to match your new tool. In the example above the line would read
api_sql_query("INSERT INTO `".$TABLECOURSEHOMEPAGE."` VALUES (,'New Tool','newtool/index.php','newtool.gif','0','0','pastillegris.gif','NO','_self')");
- insert an entry to the new tool in the course_module table of the main dokeos table (only needed when you use the 3 column layout) (the first integer is the row where it should appear and the third one is the column)
INSERT INTO `course_module` VALUES ('learnpath', 'newtool/index.php', 'newtool.gif', 6, 1, 'basic');
The Announcements are not sent through e-mail
Currently Dokeos uses mostly the default mail protocol of php (configured in php.ini). For the announcements however we use the phpmailer class (which will in the future be used for all mail action in Dokeos). So beside configuring php.ini with your mailserver settings you will also need to modify inc/conf/mail.conf.php.
How do I upload large documents?
Server settings
There are many settings to adjust this, some in Dokeos itself and some in your server configuration files. php.ini, php.conf, httpd.conf...
PHP settings
- (php.ini) upload_max_filesize = 50M (or whatever you want, M = Megabyte)
- (php.ini) max_execution_time (script time limit including file upload time, value is in seconds)
- (php.ini) max_input_time (script time limit for file upload time, value is in seconds)
- (php.ini ?) post_max_size
- (php.conf) LimitRequestBody with default value 524288 (in bytes, so this is only 512 Kilobyte!)
Apache settings
See into /etc/apache2/apache2.conf or /etc/apache2/sites-available/* if "php_admin_value upload_max_filesize" exists and change the value.
Dokeos settings
- The maximum amount people can store in their courses documents folder is in Dokeos 1.5.5 set in claroline\document\document.php: $maxFilledSpace = 500000000, in Dokeos 1.6.x it is set through the web interface of the admin (edit the course settings there).
- In Dokeos 1.6.x, the maximum size for a dropbox file can be set through Platform Administration → Dokeos Config Settings → Tools.
Client settings
Mozilla Firefox
Mozilla Firefox 1.5 might repeatedly prompt you about an unresposive script while uploading large files through a web form (e.g. a photograph in the user profile).
Image:Unresponsive script.png
If you have to click those more than you'd like to, you can increase the period of time a script is allowed to run before Firefox will show you a warning.
- Type
about:configin Firefox’s address bar. - Filter down to the value for
dom.max_script_run_time. - Change the value to something higher like 20 or 30 (the default is 5). This value is in seconds.
- Restart your browser.
You could set value to 0, allowing scripts to run forever, but be aware that this setting applies to all scripts on all webpages. An erroneous script might lock your browser forever. It is recommended to use a large value instead.
How do I copy/paste in the HtmlArea with Firefox?
solution 1: edit prefs.js
Firefox proposes an fix, but apparently that is not really working. We managed to fix it though by doing the following
step 1: find prefs.js in the folder "c:\documents and settings\your_profile_name\Application Data\Mozilla\Firefox\Profiles\..." (assuming you are using windows) (use the right mouse button on the start button and click browse)
step 2: open this file and add the following lines
user_pref("capability.policy.policynames", "allowclipboard");
user_pref("capability.policy.allowclipboard.sites", "http://www.yourserver1.com http://www.yourserver2.com");
user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess");
user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");
(replace http://www.yourserver1.com http://www.yourserver2.com with the servers where you want to enable the copy/paste)(if you use more than one server you have to separate them with a space)
solution 2: use the menus
paste by using the menus edit -> paste
solution 3: shift insert
use the following keys: <shift><insert> instead of <ctrl><v>
How do I backup Dokeos?
- Dokeos courses are stored in two places: files are stored inside the course folder, and all other information is stored in the mysql databases.
- There are also databases for the main Dokeos information.
- There is an important configuration file located in (dokeos folder)/claroline/inc/lib/claro_main.conf.php or in (dokeos folder) /claroline/inc/conf/claro_main.conf.php
Backing up the files
From Dokeos 1.6 upwards, all course folders are stored together inside a folder called courses. This makes it easy to backup all course folders: just copy the entire courses folder to another hard disk, tape, or computer, using standard copy commands, or perhaps a secure FTP /SCP application.
Backing up the database(s)
The mysql dump instruction is very handy for this:
mysqldump --opt --all-databases > backup-file.sql
The created backup file is a plain text file that contains all SQL statements necessary to recreate the databases. It can be added to a tape archive, or copied to another computer, just like any other file. After extracting it, the database can be restored with:
mysql < backup-file.sql
See the man page on mysqldump or MySQL Dev center - MySql dump for more options. This Reference Manual also explains other ways of backing up tables.
Backing up one specific course
For Dokeos 1.6: Right at the bottom of the "Course Settings" page, below the horizontal rule, you'll find a Course Backup link (...claroline/coursecopy/backup.php). With this tool you can easily create backups of one course.
Live Backups using replication
(Advanced technique, don't try unless you know what you're doing!)
Typically, replication is a system configuration whereby the MySQL server, known in this context as a master server, houses the data and handles client requests, while another MySQL server (a slave server) contains a complete copy of the data and duplicates all SQL statements in which data is changed on the master server right after it happens. There are several uses for replication (e.g., load balancing), but the concern of this article has to do with using replication for data backups. -- article by Russell Dyer, O'Reilly
How can I reduce the size of Dokeos?
Removing unnecessary languages
You can remove as many language folders as you like to slim down the size of Dokeos. But if you do so, it's advisable to disable the removed languages in the database to avoid unpleasant surprises.
You can disable languages through the platform admin interface (platform administration > Languages > click on the eye icon of the languages you do not want use. After doing this you can physically remove the folders of those languages (inside the lang folder) from your server.
Two things are worth noting here:
- If you disable the platform's default language, Dokeos will fallback to the first available language in the alphabetic list, which is Bulgarian for a default installation.
- It's recommended not to delete the language folder for English, since Dokeos will fallback to the English language strings in places where a translation in another language is missing.
How do I check out the latest Dokeos community code from the CVS? (guests)
Unless otherwise noted, the following instructions get you the latest CVS code as an anonymous user. Developers will need some changes to be able to commit new code.
Windows - using Tortoise CVS
Configure tortoise as follows:
CVSROOT: ':pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos' protocol (password server, ext:, ssh, etc): ':pserver:' Server: 'cvs.sourceforge.net' port: (empty) Repository Folder: '/cvsroot/dokeos' Username: 'anonymous' Module: dokeos
Windows - using PHPEclipse
- Create a new php-project (File > New Project > PHP Project) and choose a name for it (example: dokeos_main)
- In the Project Navigator right click your new project and choose Team > Share Project ...
- Choose create a new repository location and fill in following values
- Host: cvs.sourceforge.net
- Repository Path: /cvsroot/dokeos
- Connection: pserver
- User: anonymous
- Password: (none)
- Next you have to provide the module name. Choose Use an existing module and select dokeos/dokeos
- Next select the tag to synchronize with, this is HEAD
- After your project is shared you have to synchronize it with the repository (Right Click > Team > Synchronize With Repository...)
Windows - using WinCVS
Windows - using shell commands
Download cvs-client for windows and execute the following command in an empty folder
cvs -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos login cvs -z3 -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -P dokeos
Linux/Unix/MacOSX/BSD - using shell commands
Execute the following command in an empty folder (this works on Linux, Unix, MacOS X and perhaps *BSD)
cvs -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos login cvs -z3 -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -P dokeos
To check out the stable 1.6.x branch:
cvs -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos login cvs -z3 -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -r DOKEOS_1_6_STABLE_BRANCH -P dokeos
Mac OS X
If you want to get the latest version of the code, you can just type:
cvs -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos login cvs -z3 -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -P dokeos
One user has reported that CVSup-client, installed through Fink, was necessary before the CVS command would work.
For contributing to the CVS (developers with write access), you need extra software that is not included into Mac OS X by default. Fink provides the missing libraries you need. Fink also holds improved versions of cvs and ssh. There's also a very userfriendly ssh-agent at http://www.phil.uu.nl/~xges/ssh/ .
How do I check out the latest Dokeos community code from the CVS? (developers)
Linux, using the standard cvs command
To checkout the main branch (trunk):
export CVS_RSH=ssh cvs -z3 -d:ext:developername@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -P dokeos
To checkout the stable 1.6.x branch:
export CVS_RSH=ssh cvs -z3 -d:ext:developername@dokeos.cvs.sourceforge.net:/cvsroot/dokeos co -r DOKEOS_1_6_STABLE_BRANCH -P dokeos
Linux, using Cervisia
Cervisia is a graphical cvs application. It can work standalone, but is also usable as a plugin inside development applications like Quanta.
- Before you do any cvs operations, including checking out code for the first time, you have to add the repository options to Cervisia. Choose Repositories... from the Repository menu. In the new window that opens, click Add.... Fill in the form fields: repository should be
:ext:developername@dokeos.cvs.sourceforge.net:/cvsroot/dokeos
and use remote shell should be
ssh
- Now that Cervisia knows the repository info, you can do a checkout. For the checkout, the modulename to check out is always dokeos, the branch tag can be empty (main branch) or DOKEOS_1_6_STABLE_BRANCH . The repository field is
developername@dokeos.cvs.sourceforge.net:/cvsroot/dokeos
Cervisia already knows to use ssh and external authentication, since you entered that in the previous step.
Note - take a look in the settings menu to adjust Cervisia to your liking. For example, there is a handy "update" button that updates a repository but by default it only updates the current folder. There is an update recursively setting in the settings menu.
Linux, using PHPEclipse
The CVS_RSH environment variable must be set first. This can be done with
export CVS_RSH=ssh
but you can add this line to ~/.bash_profile to do this automatically for you each time you log in:
CVS_RSH=ssh;export CVS_RSH
To make this change take immediate effect without logging out and in again, enter the command:
source ~/.bash_profile
This causes the .bash_profile file to be read, adding the new value to your working environment.
The remainder of the procedure is almost the same as described in "Windows, using PHPEclipse". The only difference is that the connection should be ext instead of extssh.
- Although everything appears fine (I can authorize and commence a checkout) this works way too slow. It takes all night to do a checkout, if Eclipse doesn't cause an internal error first. I checked for authorization/connection problems with
cvsfrom the command line and that works fine. I will try and fiddle with some of the options (apparently, CVS_RSH variable can be set inside Eclipse as well). --turboke 09:49, 20 Oct 2005 (CEST)
Windows, using TortoiseCVS
(first install tortoisecvs and restart, then you will have extra options in the contextual menu, when you right click.)
To checkout the main branch (trunk):
- right click somewhere in a folder and choose "CVS Checkout..."
- enter as cvsroot the line
-d:ext:developername@cvs.sourceforge.net:/cvsroot/dokeos
- enter as module to check out:
dokeos
- press OK
(if you don't use a key server like Pageant, you'll have to enter your password now) Checking out takes a while, but you don't have to do it often. Afterwards you can use update to only fetch the updated files.
- Finished
To checkout the stable 1.6.x branch:
- Use the exact same procedure, only in the "Revision" tab of TortoiseCVS enter
DOKEOS_1_6_STABLE_BRANCH
as branch/tag name
- Finished
Note: for some reason when checking out the stable branch for the first time, some empty folders aren't created (like the archive or logs folders). If you update the cvs repository, these folders will appear.
Windows, using PHPEclipse
To checkout the main branch (trunk):
- Create a new php-project (File > New Project > PHP Project) and choose a name for it (example: dokeos_main)
- In the Project Navigator right click your new project and choose Team > Share Project ...
- Choose create a new repository location and fill in following values
- Host: dokeos.cvs.sourceforge.net
- Repository Path: /cvsroot/dokeos
- Connection: extssh
- Your sourceforge username and password
- Next you have to provide the module name. Choose Use an existing module and select dokeos/dokeos
- Next select the tag to synchronize with, this is HEAD
- After your project is shared you have to synchronize it with the repository (Right Click > Team > Synchronize With Repository...)
To checkout the stable 1.6.x branch: Right click your project and choose Right Click > Replace With > Another branch or version...
See Branching with Eclipse and CVS for more information. It's also possible to create 2 projects in Eclipse of which one is synchronized with the main branch and the other with the 1.6.x branch. When you've made a bugfix in the 1.6.x branch, you can easily merge it in the main branch using the same method described in the given link.
How do I check out the latest Dokeos 1.8 code from the CVS?
Note: The Dokeos development code has been moved to SVN, so this section is out of date. To checkout from SVN, please read http://www.dokeos.com/wiki/index.php/SVN
The procedure is identical that for dokeos community version, but for users :
cvs -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos-comp login cvs -z3 -d:pserver:anonymous@dokeos.cvs.sourceforge.net:/cvsroot/dokeos-comp co -P dokeos-comp
And for developers :
export CVS_RSH=ssh cvs -z3 -d:ext:developername@dokeos-comp.cvs.sourceforge.net:/cvsroot/dokeos-comp co -P dokeos-comp
How do I find out which changes are made between 2 Dokeos releases?
- We try to keep track of changes and bugfixes in the release notes of every release, see Dokeos_releases for an overview.
- You can use CVS commands to find differences. Some examples:
- Which files are changed between Dokeos Community Release 2.0 and the most recent version in the Dokeos Community 2.0 branch:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/dokeos rdiff -s
-r DOKEOS_COMMUNITY_2_0_0_STABLE -r DOKEOS_COMMUNITY_2_0_BRANCH dokeos > changed_files.txt
- Create a patch file for the changes between Dokeos Community Release 2.0 and the most recent version in the Dokeos Community 2.0 branch:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/dokeos rdiff -c
-r DOKEOS_COMMUNITY_2_0_0_STABLE -r DOKEOS_COMMUNITY_2_0_BRANCH dokeos > patch.txt
How do I manage the ever-growing statistics tables?
- http://www.dokeos.com/forum/viewtopic.php?t=5131
- There are even hidden treasures in the tables: http://www.dokeos.com/forum/viewtopic.php?t=5334
- For more performance tips, see also Performance Issues
(Currently there is no Dokeos admin option to deal with this - perhaps we should built this in? -- Roan)
How can I restrict access to my campus / courses
Any Dokeos platform is by default completely open so anyone can access (view and download) anything that is on your campus and in your courses.
The first step you can take to prevent this is to close the registration so that nobody can create a new account on your platform. This however brings a serious user management task with it as the platform admin then will have to add the users that have access to the platform manually (CVS import of users is available)
The second step is to close the courses so that people who are on the campus cannot subscribe to the courses. It will be once again up to the platform admin to assign the users to the courses.
To what extent you want to close your campus is a decission you have to make.
How can I track HotPotatoes results?
You can track the results of tests made with HotPotatoes by importing the HotPotatoes quiz in the test module of a Dokeos course, instead of the document module.
How do I change the session duration to avoid timeouts ?
In the php config file called php.ini, there is a setting
session.gc_maxlifetime = 1440
where 1440 seconds = 24 minutes. Increasing this number increases the time after which a session timeout occurs.
How do I activate the metadata search function?
Dokeos has metadata support in the documents tool. There is also a hidden ability to search using this metadata.
- You must be using Dokeos 1.6.x, Dokeos community release 2.0.x, or higher versions.
- add this type of link to a course homepage: http://yourserver/yourdokeosdir/claroline/metadata/search.php?type=Mix
With this link you have access to the metadata search function, which is only course-wide at the moment.
See also http://www.dokeos.com/forum/viewtopic.php?t=7288
How do I change the language settings in Dokeos 1.8?
There are a three places in the Dokeos system where you have a select box for the language.
- 1) on the 1st page of the installation process (only used for installation)
- 2) on the 5th page of the installation process (used to setup the default language of the portal)
- 3) on the campus homepage when installed
For each of these, there is a specific place where the available languages can be found, but you generally only need the third option:
- 1) in dokeos/install/install_functions.inc.php, around line 296, you can find a list of proposed languages. You only need to add the name of your language's directory to enable it
- 2) this list is made up of all the directories found in dokeos/main/lang/, so it should give you all the languages automatically
- 3) this list is generated from a table called "language" in the main database. You will need to add your language manually in there if it doesn't exist yet. If you are used to phpMyAdmin, it should be easy to do by copying one of the current language rows and altering the copy to your own language. If not, please ask for help from a person who knows how to access a database.
Adding it should be a matter of inserting a new row and inserting the following information: original language name (in the language used, for example nihongo for Japanese), english name (Japanese), iso code (if you know it, otherwise you should leave empty for now), dokeos folder (should probably be "japanese" for this example).
The available languages can then be found in the Dokeos administration, "Platform" section, "Languages" link. You can activate or deactivate a language by clicking on the eye icon (it makes it available to users), or you can set a language as default language for the platform by clicking the pencil icon and checking the box.
In the homepage edition page (admin section), I cannot view the default Dokeos logo, is it normal?
Yes, it is normal. The URL to the image is relative to the index page. As such, you can view it from the homepage but not from the administration page. Once your Dokeos portal has been installed, you can change the link to this image manually and see it from everywhere. To do that, go to your homepage and right-click on the logo, then choose "Copy image location". Open the dokeos/home/home_top.html file on the server and change the url in the "src" attribute by inserting the new url (right-click - paste).
The problem with the logo is that the link to the logo comes from the home_top.html file in dokeos/home/. It is shipped this way with the Dokeos package. At the time of installation, we do not know soon enough what will be the absolute URL to get to the picture (something like http://www.mytestcampus.com/home/dokeos-logo.png), so we leave it as a relative path from the index page. The relative path being relative to the index page, if we are in the administration page, the link tries to find the image in the admin directory, and can't find it. This will not be solved as most of the time, users change the homepage picture to replace it with their own.
The "Notice" section in the homepage edition screen is not viewable from the campus homepage, how can I make it appear?
The "Notice" section has been removed from the normal campus homepage display because it was used only in a very limited number of cases and was generally getting in the way. To reactivate, edit your dokeos/index.php file and look for the keyword "home_notice". You will find a section that has been commented out. Un-comment it by removing the lines with multiple **** at the beginning and the end of this section. Save the file and re-load your campus homepage. You should see the "Notice" section appear.
In Dokeos 1.8.0, users get disconnected more than usual in the middle of their session. How can I avoid this?
The problem comes from a new feature introduced in Dokeos 1.8.0 which limits the period of validity of a session. Without entering into the details, this can be far improved by changing the value of "3600" seconds in dokeos/main/inc/lib/main_api.lib.php to "360000". The value to be changed should be located around line 569, in function api_session_start().

