Note
ces plugins sont imposés
Un plugin d’authentification cas à la mode Eole (plugin_eolecas), et un plugin d’autocreate (plugin_AC) ont la charge de l’authentification du portail. Les plugins :
- plugin_AC crée les comptes et met à jour les informations sur l’utilisateur au sein de la base de données.
- plugin_eolecas crée un avatar utilisateur qui peut être utilisé notamment dans le cadre des statistiques.
Ces deux plugins sont (aux dernières nouvelles) compatibles avec la future version de posh (3.0).
Note
Ce plugin est imposé
Le plugin plugin_desktop propose un ‘bureau’ aux utilisateurs qui permet un accès rapide et un survol des applications disponibles. Il s’appuye sur le serveur de profil posh-profil.
Il est composé:
- d’une page php /var/www/html/posh/includes/plugins/plugin_desktop/desktop.php.
- d’un fichier javascript /var/www/html/posh/includes/plugins/plugin_desktop/desktop.js s’appyuant sur les librairies fournit par portaneo (cf les imports).
Todo
Ajout du plugin piwik : Plugin desktop
Il doit être possible d’accéder aux variables javascript de posh tel que l’avatar par le biais de window.parent, cela permettrait notamment d’unifier la manière de faire remonter les informations à piwik pour les statistiques.
Todo
Nouvelle gestion des profils : Plugin desktop
Faire des appels direct au gestionnaire de profil pour récupérer les items de bureau disponibles (plus de client python) voir la librairie jsonrpc v2 (rpc_client.php dans envolePHP).
Note
Ce plugin est imposé
Le plugin plugin_thumbs gère :
- L’appel de l’insertion d’onglet dans le portail
- L’exportation des onglets depuis l’interface de l’utilisateur ‘admin’
Insertion
A la connexion de l’utilisateur, le plugin appelle l’insertion d’onglets dans son profil en passant ses variables de connexion lors de l’appel.
Les variables sont encodées en json lors de l’envoi.
Extait du fichier /var/www/html/posh/includes/plugins/plugin_thumbs/plugin_thumbs.php:
$cmd = “/usr/share/xmlrpc-posh/client/client.py ‘thumbs’ ‘”.$output.”’”; $handler = popen($cmd, ‘r’); # version xmlrpc
Exportation
NB : C’est pas beau mais ça marche.
A la connexion de l’utilisateur admin, le plugin insère un code javascript qui insère l’item ‘Exporter des onglets’ dans le menu latéral. Celui-ci permet d’exporter un onglet de l’utilisateur admin vers la gestion des profils.
Le processus d’envoi de l’onglet exporté :
- Le code javascript appelle la page exporter.php
- Un PT est récupéré pour authentifier le service lors de l’insertion dans la base
- Le client /usr/share/xmlrpc-posh/client/client.py est appellé avec les données passées en paramètre, encodées en Json
Authentification
La demande de PT se fait en passant un service en paramètre, ce service est configuré par le biais de la variable creole posh_service_name (placé dans le fichier configCAS/poshprofile.inc.php). Ce PT est par la suite vérifié par le serveur de profil.
NB : il est important que le serveur de profil et le portail utilise le même nom de service.
Données passées en paramètre lors de l’appel du client
$handle = popen("/usr/share/xmlrpc-posh/client/client.py 'exporter' $username $user_id $PT $current_id $thumb_name $thumb_indice", 'r');
$username : l’uid de l’utilisateur $user_id : Id de l’utilisateur dans la base posh $PT : le ticket pour l’authentification du service $current_id : id de l’onglet dans le profile de l’utilisateur $thumb_name : nom à donner à l’onglet dans le gestionnaire de profil $thumb_indice : l’indice (placement) de l’onglet dans le portail des utillisateur à qui on l’attribue
Voir la documentation de posh-profile pour plus d’informations sur le traitement fait pour ces informations.
Cas 1: Un onglet pointant sur une url
Dans ce cas, en résumé, l’url est exportée vers le gestionnaire de profil.
Cas 2: Un onglet avec widget
Dans ce cas, l’id de l’onglet dans le profil de l’administrateur est envoyé au gestionnaire de profil ainsi qu’un tag indiquant qu’il s’agit d’un onglet avec widget.
Todo
Nouvelle gestion des profils : Plugin Thumbs
Pour le passage à la nouvelle version de la gestion des profils, il faudrait supprimer le client python qui est trop lourd à maintenir et déporter les actions sur la base de données posh au niveau des plugins (en même temps ça paraît normal que ce soit l’appli posh qui écrive dans sa base). Le client php doit utiliser la librairie jsonrpc v2 (cf rpc_client.php dans envolePHP), voir la documentation du paquet python-posh pour le fonctionnement et les todos :-).
Todo
Nouvelle gestion des profils : Plugin Thumbs (exportation d’onglet)
Permettre à d’autres utilisateurs d’exporter des onglets permettrait d’avoir des utilisateurs de la forme meta_... qui représenterait un profil existant.
Note
Ce plugin est optionnel (activable par l’utilisateur admin)
Il permet la création/modification de widget de type ‘ressource’. Il a été développé par portaneo (nous y avons apporté quelques modifications).
Note
Ce plugin est optionnel (activable par l’utilisateur admin)
Outil de modification de mot de passe, nécessite la présence de la librairie envolePHP.ldap.
Il doit être possible de modifier certaines préférences comme la boîte mail ou le nickname par ce biais.
Note
Ce plugin est optionnel (activable par l’utilisateur admin)
Permet d’afficher une charte d’utilisation à la connexion au portail. Permet également de visualiser qui l’a validé.
Note
Ce plugin est directement intégré au portail
Le passage en version 2.2.4 nous a été fourni sous forme de plugin, afin d’aviter de rajouter 2000 lignes de javascript au portail, il a été préféré d’intégrer directement dans les sources de l’application l’ensemble des modifications que le plugin apporte. Ce plugin n’est donc plus un plugin, mais une mise à jour de l’application. Les sources de cette mise à jour sont néanmoins disponibles dans le répertoire sources.
NB : Pour l’occasion, le fichier ajax.js (fichier js principal du portail) a été recompilé avec yui-compressor (voir le paquet du même nom).
En attente de livraison définitive par portaneo.
Note
Le plugin piwik vient, lui aussi, avec un plugin ‘updateto224’ (qui devrait plutôt être nommé updateto2241), il est quasiment identique à celui qui a été intégré directement dans les sources lors du passage en 2.2.4.
Todo
Plugin piwik : Piwik
- Vérifier les différences entre le plugin ‘updateto224’ fournit avec le plugin piwik et la version intégrée dans les sources
- Le plugin piwik est un squelette, il faut encore personnaliser les appels qui seront effectués
- Configurer piwik pour prendre en compte les appels effectués par le plugin piwik