REpresentational State Transfer
En fait, tout est REST^1)^ REST 1 et se fait surtout en ligne de commande a? l'aide de curl.
D'apre?s un ancien tutoriel^2)^tutoriel 2 , voici quelques commandes (non teste?es ! mais il faudra ajouter le
referer si Server Protection Service est active?) :
...
| Bloc de code |
|---|
curl http://localhost:8080/sites/fun_with_sakai.members.json |
Plus re?cent (et teste?), script de cre?ation de compte pour l'utilisateur Paul, Create-Paul.
...
sh 3:
| Bloc de code |
|---|
\#\!/bin/sh
(curl \-d
"pwd=local_password&pwdConfirm=local_password&firstName=Paul&lastName=Erdos&:
name=paul&:sakai:profile-import={\"basic\": {\"elements\":
{\"firstName\":{\"value\": \"Paul\"}, \"lastName\": {\"value\": \"Erdos\"},
\"email\": {\"value\":\"erdos@example.edu\"}, \"college\": {\"value\":
\"Institute for Advanced Study\"}}}}" \
\--referer http://localhost:8080/dev/test.html \
http://admin:admin@localhost:8080/system/userManager/user.create.html \
>/dev/null 2>/dev/null \
&& echo Created paul ) \
\|\| echo ERROR creating paul
|
...
Cependant, il existe quelques scripts qui permettent de faire certaines ope?rations a? partir d'une console. Ils sont pluto?t conc?us pour des ope?rations de masse.
Ces scripts e?taient initialement e?crits en Perl^4)^ Perl 4 mais ont e?te? remplace?s par des scripts Ruby
Ils constituent une bibliothe?que cliente REST et sont stocke?s dans testscripts/SlingRuby/ de
votre re?pertoire Nakumura.
Pour pouvoir les utiliser, il faudra bien entendu un environnement d'exe?cution Ruby fonctionnel ainsi que les de?pendances ne?cessaires pour ces scripts.
Notes d'installation sur Debian Squeeze :
L'interpreL’interpre?teur Ruby et de son « gestionnaire de paquet » sont indispensables :
...
| Bloc de code |
|---|
cd testscripts/SlingRuby |
Pour ma part, j'ai j’ai du rajouter certaines bibliothe?ques qui n'en’e?taient pas installe?es sur ma machine
| Bloc de code |
|---|
apt-get install libxml2-dev libxslt-dev libmagick-dev libmagickwand-dev |
Sous Debian Squeeze, j'ai j’ai eu besoin d'ajouter d’ajouter le chemin des binaires (a? adapter) au PATH pour qu'il qu’il puisse trouver bundle
| Bloc de code |
|---|
export PATH=$PATH:/var/lib/gems/1.8/bin |
...
Si les scripts Ruby ne fonctionnent pas (erreur 400 notamment), assurez-vous d'avoir d’avoir localhost sur le bon port de?fini comme Trusted Host dans Configuration puis Sakai Nakamura :: Server Protection Service.
Wishlist (non exhaustive)
Ceci dit, la console est puissante mais n'est pas toujours tre?s convivial et encore moins pour les personnes ne la mai?trisant pas. C'est pourquoi parmi les fonctions qu'on aimerait voir, a? partir d'un compte administrateur, il serait bien d'avoir en priorite? :
Groupes/Cours/Projet de recherche
? Vue d'ensemble dans une interface administrateur
? Edition/Suppression des commentaires (du Widget Comment stream) OK, de?ja? fait
? Edition/Suppression groupes
? Gestion participants (Ajout/Suppression)
Membres
? Vue d'ensemble dans une interface administrateur
? Edition informations profil
? Modification mot de passe
Ressources (documents)
? Vue d'ensemble dans une interface administrateur ? Edition ? (au moins pour le nom ce serait bien)
? Suppression
? Edition/Suppression des commentaires
Autres
? Gestion des permissions (ACL) pour les ressources/groupes ?
? Une fonction de notification vers l'administrateur/mode?rateurs pour des documents (voire
commentaires) inapproprie?s ?
1) REST Explication dans la partie "HTTP “HTTP Spoken Here" Here” -https://confluence.sakaiproject.org/display/KERNDOC/Your+First+Day+With+Sakai+Nakamura#Yo
urFirstDayWithSakaiNakamura-HTTPSpokenHere
2)https://confluence.sakaiproject.org/display/KERNDOC/Your+First+Day+With+Sakai+Nakamura#YourFirstDayWithSakaiNakamura-CreatingSakaiUsersGroupsandSites
3) "Sakai “Sakai OAE Deployment and Management"Management”, chapitre 5, page 76
4)https://confluence.sakaiproject.org/display/KERNDOC/275+-+Administration