mercredi 10 mars 2010
Mise à jour Statusnet
Par Pierre Lachance, mercredi 10 mars 2010 :: Webisteries
Statusnet est l'application derrière le microblogue pédagogique EnDirect. L'application vient de passer en version 0.9, et ajoute pas mal d'améliorations, donc...
Voici ma procédure de mise à jour de Statusnet (de la version 0.8.3 à 0.9).
D'abord la documentation sur la mise à jour se trouve, selon le site de documentation de Statusnet, dans le fichier Readme. OK, on trouve des indications. Mais pour moi ce n'était pas suffisant 
L'accès à l'application
Tout arrêter le site afin que la base de données et le répertoire de l'application ne soient modifiés (j'ai renommé le répertoire) durant la mise à jour. Si vous utilisez les services xmpp, IM, etc, arrêter le tout (voir le fichier readme).
Le répertoire
Renommer le répertoire de l'application (disons /statusnet par /statusnet_083), ce qui devient notre dossier de sauvegarde.
Créer un nouveau répertoire /statusnet.
Transférer les nouveaux fichiers (version 0.9) dans ce nouveau répertoire /statusnet, comme pour une nouvelle installation (ne pas écraser les anciens fichiers par les nouveaux, ça cause des problèmes).
Copier dans le nouveau /statusnet les répertoires /avatar, /background et /file de notre sauvegarde (/statusnet_083) ainsi que le fichier config.php.
La base de données
Faire une sauvegarde de la base de données avec cette ligne de commande (action ++++importante):
/usr/bin/mysqldump --user=utilisateur --password=motpasse --opt statusnet > /home/qqpart/back.sql
Ceci crée un fichier back.sql (dans le répertoire /home/qqpart) qui contient votre base de données «statusnet» complète. Note: une copie du répertoire /var/lib/mysql/statusnet n'est pas suffisante, car utilisation de innodb. Pour récupérer cette sauvegarde on utilise la commande (ceci peut prendre plusieurs minutes):
mysql -u root -p statusnet < back.sql
Réaliser maintenant les modifications à la base de données pour la mise à jour. Ces modifications de trouvent dans le fichier db/08to09.sql. On utilise cette commande (où statusnet est le nom de la base de données de votre installation et utilisateur est le nom de l'utilisateur de la base de données) à partir de la racine de l'application version 0.9:
mysql -u utilisateur -p statusnet < db/08to09.sql
Ceci peut prendre plusieurs minutes.
Lien avec Twitter
Afin de pouvoir utiliser le «pont Twitter», j'ai dû ajouter cette ligne dans le fichier config.php:
addPlugin('TwitterBridge');
Interface pour les mobiles
On doit ajouter cette ligne dans le fichier config.php (la ligne $config'site''mobile' = true; ne suffit ou ne marche pas):
addPlugin('MobileProfile');
Interface admin
Afin d'avoir accès à l'interface d'administration Web, j'ai dû populer la table «profile_role» en y insérant 3 entrées avec la commande SQL suivante (où le 1 est mon profile ID):
INSERT INTO `profile_role` (`profile_id`, `role`, `created`) VALUES
(1, 'administrator', '2010-03-10 20:24:43'),
(1, 'moderator', '2010-03-10 20:24:43'),
(1, 'owner', '2010-03-10 20:24:43');
Conclusion
Bien que tout semble bien fonctionner après cette mise à jour assez longue (à cause de la taille de la BDD) et complexe (la documentation n'était pas claire pour moi), il reste encore, tout comme pour une installation fraîche, des détails à ajuster comme des éléments non traduits et des CSS (si on n'utilise pas le thème default) à peaufiner. On doit donc se mettre un peu les mains dans le code.
La documentation du wiki est très sommaire (et périmé dans bien des cas) pour un bizounneux comme moi. L'application est un peu trop complexe pour que je puisse aider à documenter
Par exemple, la gestion des plugins est un mystère pour moi.
Le forum est un endroit pas mal pour trouver si d'autres ont eu les même problèmes.


