Trash: test6666

category:DOKEOS

Retour

<font color ="red"> nouvelle version du patch au 12 juin 2006</font> voir la rubrique:Patcher_Dokeos

Dokeos 1.5X== Les premières modifications apportées à Dokeos pour l'authentification par le SSO : CAS ont été faites sur la version 1.5XX. Nous avons utilisé comme base le patch d'une université italienne:
[www.cce.unipr.it/dokeos_cas.patch dokeos_cas.patch]
On n'a pas voulu l'appliquer directement car le Porte Document utilise par la suite uniquement l'authentification CAS.
Nous désirions garder la possibilté d'authentification avec la base de données de dokeos et/ou CAS ( à travers l'annuaire LDAP).

Pour cela on affecte la variable '''claroline''' ou '''cas''' au champ ''authSource'' dans la table '''user''' dans la base de données de dokeos.
Notre patch pour la 1.5X ne peut etre mis en ligne tel quel car il est trop "personnalisé" pour l'UPVD.

Par contre le patch pour la nouvelle version de dokoes a été pensé dans ce but.
Faites donc une MAJ de 1.5X vers 1.6X et utilisez le nouveau patch .
''PS: Il y a toujours une possibilté de reécrire le patch pour ceux qui ne peuvent migrer vers la 1.5X.''
Expliquez vos besoins dans ce cas ici SVP.

Dokeos 1.6X

Pre-requis=== Activer l'authentification par Ldap de votre dokeos: voir le fichier install.
Aide voir : [www.dokeos.com/dokeos161installation_guide_french.php Voir le manuel d'installation]
Utilisez dokeos avec l'authentification ldap et verifier l'ajout d'un nouvel utilisateur.

Modification de la base de données=== But: Afficher des boutons radio sur la page d'administration de PDE pour le choix du type d'authentification:

  • auth_ldap = true : utilisation de la base locale ou ldap, les champs ''login'' et ''mot de passe'' apparaissent sur la page d'accueil
  • auth_ldap = true : un bouton '''"Entrée"''' invite l'utilisateur qui sera rediriger vers le formulaire CAS/.

    Administration: choixAccueil: résultat
    Dokeos_authsource.jpg Dokeos_accueil.jpg
    Executer sur la base principale de dokeos (claroline ou dokeos_main) les requètes suivantes, les tables qui seront modifiées sont : '''settings_current''' et '''settings_options'''.

    INSERT INTO `settings_current` VALUES (56, 'auth_ldap', NULL, 'radio', 'Platform', 'true', 'AuthLdapTitle', 'AuthLdapComment', NULL, NULL); INSERT INTO `settings_current` VALUES (57, 'auth_cas', NULL, 'radio', 'Platform', 'true', 'AuthCasTitle', 'AuthCasComment', NULL, NULL); INSERT INTO `settings_options` VALUES (60, 'auth_ldap', 'true', 'Yes'); INSERT INTO `settings_options` VALUES (61, 'auth_ldap', 'false', 'No'); INSERT INTO `settings_options` VALUES (62, 'auth_cas', 'true', 'Yes'); INSERT INTO `settings_options` VALUES (63, 'auth_cas', 'false', 'No');

    NB: Désactiver la possibilté de récupération de mot de passe en cas de perte car l'authentification par LDAP et/ou CAS n'enregistre pas le mot passe de l'utilisateur dans le champ mot de passe mais PLACEHOLDER pour tous les utilisateurs.

    Patcher Dokeos

    <table width="100%" cellspacing="3" cellpadding="4" > <td width="50%" valign="top" bgcolor="#FF6F75" style="border:1^^px^^ solid #c6c9ff;padding:1^^em^^;padding-top:0.5^^em^^; color: black;"> Faites une copie de votre répertoire Dokeos (par sécurité)
    Télécharger le fichier compréssé suivant : [wikicriup.univ-perp.fr/images/b/be/Patch16x_12_jun_2006.zip Patch_1.6.x ] version du 12 juin 2006
    Copier le patch dans votre "DocumentRoot" (on considere que Dokeos est installé dans : /var/www/html/dokeos)
    Se placer dans /var/www/html

    Application du patch==== Lancer la commande suivante : patch -p0 < fichier.patch ou <br> patch -p0 -i fichier.patch ou <br> cat fichier.patch | patch -p0 <br>

    Mais quelle est l'utilité de l'option -p0 ? L'option -p suivit d'un entier n permet de supprimer n niveaux de répertoire pour la recherche du fichier cible. Dans l'entête de notre fichier, nous avons source/fic1.txt. Si nous utilisons -p0, la commande patch cherchera le répertoire source puis le fichier fic1.txt a patcher. Si nous utilisons -p1, la commande patch cherchera directement le fichier fic1.txt a patcher. Pour utiliser -p1, il faut donc s'être déplacé dans le répertoire source : cd source/ cat ../fichier.patch | patch -p1

    L'utilité de cette option est la suivante : Les noms des répertoires peuvent varier suivant les personnes. Par exemple, je peux avoir renommé mon répertoire source en source-txt pour m'y retrouver plus facilement. Si j'utilise l'option -p0, patch va chercher le répertoire source puis le fichier fic1.txt et il renverra une erreur puisque je n'ai pas de répertoire source mais un répertoire source-txt. Toutefois je peux utiliser ce patch en me déplaçant dans mon répertoire source-txt et en utlisant l'option -p1.
    '''Conseil''' :
    patch -fbp0 < fichier.patch L'option -b fait une copie de fichier avant la modification et -f force les modifications
    ''Je n'ai pas essayé cette commande et attend donc des retours de votre part.... ''Merci''''

    Comment patcher sous windows ?===== Lisez cet [drupal.org/node/324 article]

    '''Quels sont les fichiers modifiés par le patch dokeos 1.6.X?'''


    dokeos/index.php Prise en compte des variables isUportal et esup
    dokeos/logincas.php
    Nouveau fichier : appellé par esup pour l'authentification avec cas.
    dokeos/claroline/auth/inscription.php (l:42) dokeos/claroline/auth/lostPassword.php (l:46)
    Les modifications apportés aux fichiers imposent de désactiver les fonctions : Inscristion sur la plateforme et Perte de mot de passe. <code> +if ((get_setting('allow_lostpassword') == "false") or is_array($extAuthSource["cas"]) or is_array($extAuthSource["ldap"]))</code>

    dokeos/claroline/auth/ldap/authldap.php dokeos/claroline/auth/ldap/ldap_var.inc.php Les variables de configuration de serveur ldap et surtout les critères utilisés pour les filtres pour intérroger Ldap:

    • $critereRechercheEtu = "employeeType"; +$critereRechercheEtu = "edupersonaffiliation"; Et ''employeenumber'' devient ''edupersonaffiliation''


    dokeos/claroline/inc/claro_init_local.inc.php
    Les variables de session isUportal et esup sont initialisé :
    Si l'on passe par le portail, le lien appellé dans le inlane frame est : dokeos.domain.fr/logincas.php. Sinon le lien est dokeos.domain.fr/index.php ( page d'accueil stantard de dokeos). Les utilisateurs internes (etudiants et personnels de notre université) peuvent utilisé dans laur ENT mais ils peuvent aussi se connecter directement à Dokeos

    dokeos/claroline/inc/conf/profile.conf.inc.php Profile non éditable si la source d'authenfication est cas +$extAuthSource["cas"])) $profileIsEditable = false;
    dokeos/claroline/lang/french/admin.inc.php dokeos/claroline/lang/french/index.inc.php
    Traduction en francais des termes rajoutés
    Attention faites de même pour les autres langues ( au moins l'anglais)

    ---- Modification dans la librabrie PHPCAS (répertoire CAS)
    Pour des raisons internes nous utilisons 3 modes authentifications :

    • claroline :la base de données locale
    • ldap : l'annuaire ldap
    • cas qui intérroge aussi l'annuaire ldap (on peut dans le cas de '''cas''' utiliser un annuaire qui different de l'annaure utilisé par le ldap .
      Utiliser ldap et cas comme source d'authentification impose de renommer les fonctions : putUserInfoInClaroline par putUserInfoInClaroline_by_cas et findUserInfoInLdap par findUserInfoInLdap_by_cas. Ces modifications sont faites dans le patch.