Catmv
- Qu'est-ce qu'un "catmv" ?
- Comment déplace-t-on une catégorie ?
- Comment la queue des catmv fonctionne-t-elle ?
- Un catmv prend-il effet immédiatement ?
- Y a-t-il des restrictions sur les catégories qui peuvent faire l'objet d'un catmv ?
- Y a-t-il une différence entre "renommer" et "déplacer" une catégorie ?
Ce document décrit le processus qui consiste à déplacer une catégorie et non le niveau d'autorisation qui permet de le réaliser.
"Catmv" est l'acronyme de "category move" (déplacement de catégorie). C'est un processus qui permet aux éditeurs disposant des autorisations appropriées de changer l'emplacement d'une catégorie du répertoire.
Comment déplace-t-on une catégorie ?
Un déplacement est constitué de multiples étapes. Celles qui sont indiquées ci-dessous sont toutes présentes, mais pas forcément exactement dans cet ordre.
- Un editeur qui dispose des permissions de catmv charge la page d'édition de la catégorie qu'on veut déplacer.
- Il entre ensuite le nouveau nom de la catégorie.
- La catégorie est déplacée physiquement vers son nouvel emplacement.
- Les liens internes (@liens, relcats et altlangs) pointant vers la catégorie déplacée sont mis à jour de façon à pointer vers son nouvel emplacement.
- Une redirection HTTP 302 pointant de l'ancien emplacement vers le nouveau est créée.
- Toutes les pages publiques concernées sont régénérées.
Les pages publiques sont du HTML statique. Elles ont chacune un chemin d'accès différent (par exemple "Arts : Music :...") et il est nécessaire de le changer pour refléter le nouvel emplacement de la catégorie.
Chaque page publique contient en outre des décomptes de sites qui indiquent à la fois le nombre de sites dans la catégorie et le nombre de sites dans chaque sous-catégorie. Quand une catégorie est déplacée, le nombre de sites dans toutes les catégories situées au-dessus de son nouvel emplacement dans la hiérarchie augmente. Toutes les catégories affectées doivent donc connaître une mise à jour de leurs décomptes de sites. - Toutes les pages de description de catégorie concernées sont régénérées.
Les pages de description de catégorie sont aussi du HTML statique. Chacune d'entre elles contient un chemin de catégorie, ce qui impose de les régénérer aussi. - La base de données de gestion est également mise à jour pour refléter le nouvel emplacement des URL contenues dans les catégories déplacées. Ceci est destiné, lorqu'une URL est ajoutée, à permettre de donner une liste correcte des catégories dans lesquelles elle apparaît déjà.
Comment la queue des catmv fonctionne-t-elle ?
Toutes les demandes de catmv sont envoyées dans la queue des catmv. Celle-ci montre les demandes dans l'ordre où elles ont été faites mais les traite par ordre alphabétique. Le moment où une demande a été ajoutée à la queue n'a aucune importance. Même si une demande est en attente depuis une semaine, une nouvelle requête mieux placée dans l'ordre alphabétique (les noms de catégories commençant par "A" viennent en tête) se verra affecter une priorité plus élevée. La première entrée qui apparaît dans la liste est toujours affectée de l'étiquette "moving" (en cours de déplacement).
Un catmv prend-il effet immédiatement ?
Non. Étant donné le temps qu'il faut pour régénérer toutes les pages nécessaires, même les pages de catégories situées au bas d'une branche de l'arborescence prennent du temps. En fait, le temps mis pour déplacer une catégorie est proportionnel à sa taille.
Le délai s'accroît de façon nette si des demandes de catmv sont faites pendant que le RDF est en cours de génération. Traiter des catmv pendant la production d'un fichier RDF crée des incohérences dans ce dernier. Pour l'éviter, le démon catmv (catmvd) est temporairement stoppé pendant ces périodes.
Si un catmv est demandé pendant la production du RDF, il est placé dans la queue comme d'ordinaire mais n'est traité que quand la production du RDF est terminée.
Y a-t-il des restrictions sur les catégories qui peuvent faire l'objet d'un catmv ?
L'éditeur qui fait la demande doit avoir le privilège de catmv à la fois dans la catégorie source et la catégorie cible.
En outre, le système empêche les éditeurs qui ne sont pas "root" (c'est-à-dire qui n'appartiennent pas au staff) de déplacer quoi que ce soit qui contienne plus de 10 000 sites.
Y a-t-il une différence entre "renommer" et "déplacer" une catégorie ?
Non. La même méthode est employée avec les mêmes résultats, qu'on fasse un catmv de Truc/Bidule vers Truc/Bidul ou vers Truc/Trucbidule/Bidule.