Pages enfant
  • Administration

REpresentational State Transfer

En fait, tout est REST 1 et se fait surtout en ligne de commande a? l'aide de curl.
D'apre?s un ancien tutoriel 2 , voici quelques commandes (non teste?es ! mais il faudra ajouter le
referer si Server Protection Service est active?) :

# create a user
curl -F:name=zach -Fpwd=secret -FpwdConfirm=secret \
http://admin:admin@localhost:8080/system/userManager/user.create.html
# create a group (a group's name must start with 'g-')
curl \-F:name=g-developers \
http://admin:admin@localhost:8080/system/userManager/group.create.html
# put the user in a group
curl \-F:member=/system/userManager/user/zach \
http://admin:admin@localhost:8080/system/userManager/group/g-developers.updat
e.html
# create site
curl -F"sakai:title=Fun With Sakai" -F"sling:resourceType=sakai/site" \
\-F"sakai:authorizables=g-developers" \
http://admin:admin@localhost:8080/sites/fun_with_sakai
# request the members of the site
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:
\#\!/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

Oubli de mot de passe

Vous avez oublie? votre mot de passe administrateur, il n'existe pas de moyen de le récuperer.
Un utilisateur a oublie? son mot de passe ? Voyons ce qu'on peut faire...

curl \-uadmin:motdepasseadmin \-FoldPwd=unused \-FnewPwd=nouveaupass
\-FnewPwdConfirm=nouveaupass \
\--referer [https://sakaioae.univ-valenciennes.fr/] \[https://sakaioae.univ-valenciennes.fr/system/userManager/user/utilisateur.cha]
ngePassword.html

Gra?ce a? Curl, vous pouvez changer le mot de passe d'un utilisateur et si vous le faites a? partir d'un compte administrateur, vous n'avez pas a? fournir l'ancien mot de passe (qu'il a de toute fac?on malencontreusement oublie? !). Dans la ligne de commande, remplacez motdepasseadmin, nouveaupass et utilisateur. Il est ne?cessaire de fournir un parame?tre oldPwd me?me s'il n'est pas utilise?.

Sling

Sakai OAE fonctionne sur Apache Sling. Pour la gestion des utilisateurs et des groupes, basiquement la manipulation reste la me?me : http://sling.apache.org/site/managing-users-and-groups-jackrabbitusermanager.html

Scripts actuellement disponibles

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 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’interpre?teur Ruby et de son « gestionnaire de paquet » sont indispensables :

apt-get install ruby rubygems

Pour Ruby, installez bundle avec

gem install bundle

Acce?dez au re?pertoire contenant les scripts Ruby, situe? dans Nakamura

cd testscripts/SlingRuby

Pour ma part, j’ai du rajouter certaines bibliothe?ques qui n’e?taient pas installe?es sur ma machine

apt-get install libxml2-dev libxslt-dev libmagick-dev libmagickwand-dev

Sous Debian Squeeze, j’ai eu besoin d’ajouter le chemin des binaires (a? adapter) au PATH pour qu’il puisse trouver bundle

export PATH=$PATH:/var/lib/gems/1.8/bin

Installez les de?pendances des scripts avec

bundle install

Si les scripts Ruby ne fonctionnent pas (erreur 400 notamment), assurez-vous d’avoir localhost sur le bon port de?fini comme Trusted Host dans Configuration puis Sakai Nakamura :: Server Protection Service.

1) REST Explication dans la partie “HTTP Spoken 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 OAE Deployment and Management”, chapitre 5, page 76
4)https://confluence.sakaiproject.org/display/KERNDOC/275+-+Administration

  • Aucune étiquette