GNU social: federation problem

GNU social: federation problem
<tl;dr>

Federation problems with GNU social are mostly due to a configuration problem. On a clean installation, the default site privacy (or site profile) seems to work as a private one. You need to declare in your config.php file which level of privacy you need. Choose one :

$config['site']['profile'] = 'community';
$config['site']['profile'] = 'singleuser';
$config['site']['profile'] = 'public';

This would activate the missing LRDD, WebFinger or OStatus plugins after applying the changes :

php scripts/upgrade.php

N.B. The Memcache plugin seems to be broken for now, avoid using it and the InProcessCache plugin until it's fixed. Then restart your daemons and your web services (PHP, MySQL or alike).

</tl;dr>

Comme j'ai pu le constater en me promenant sur quelques instances GNU social, quelques administrateurs semblent avoir les mêmes problèmes à chaque fois : les messages ne « passent » pas à la fédération, problèmes à être suivis par d'autres, etc.

La première chose que je fais sur ces instances est de vérifier leur page de Version (instance.url/main/version) et regarder s'il ne leur manque rien en la comparant à celle de ma propre instance.

Le manque le plus courant est tout simplement l'absence des plugins LRDD, OStatus ou WebFinger, qui assurent une bonne part des fonctions qui ne marchent pas. Solution simple, rapide et malpropre : les activer à la main dans config.php.

addPlugin('OStatus');
addPlugin('WebFinger');
addPlugin('LRDD');

Comme pour tout changement dans config.php, il est sain de mettre à jour la configuration du site :

php scripts/upgrade.php

Après quelques discussions avec Mickael Nordfeldth, le développeur principal de GNU social après le long travail d'Evan Prodromou sur StatusNet, il semblerait que ces plugins ne soient pas activés tant que le "profil" de l'instance n'est pas configuré. Il s'agit donc de déclarer si vous avez une site communautaire, public, ou personnel. Ils sont désactivés pour les instances privées, je suppose le choix par défaut ce qui n'est pas plus mal. Choisissez celui qui convient :

$config['site']['profile'] = 'community';    
$config['site']['profile'] = 'singleuser';
$config['site']['profile'] = 'public';

Comme pour la solution précédente, puisqu'il y a un changement de configuration il faut appliquer celle-ci.

php scripts/upgrade.php

De plus, le plugin Memcache semble cassé, avec pour effet des notices qui ne s'affichent pas. Je suggère de le désactiver tout comme le plugin InProcessCache en attendant un correctif. Même chose que précédemment, mettre à jour la configuration du site :

php scripts/upgrade.php

Terminez la manipulation en redémarrant les daemons (à ce propos, voir les changements apportés par Jean-Baptiste Favre) et les services web (PHP, MySQL ou équivalents).