Archivage d'objets pour les sites de notre galaxie

Dans le cadre des chantiers sur la documentation la question de l’archivage se pose régulièrement. Aujourd’hui on s’en sort de différentes façons qui sont plus ou moins performantes et pérennes.

J’ai donc repris mon plugin Archivage des objets qui gère un archivage en dehors du statut des objets. Cela commence à bien fonctionner. Le plugin gère les objets quel qu’ils soient, et en particulier, les conteneurs d’objets comme les rubriques.

Maintenant, plusieurs questions se posent :

Dans le public, les objets archivés ne sont pas affichés via les boucles spip et c’est bien le but.
Dans le privé, cette logique n’est pas forcément bonne : je pense qu’il est mieux de les afficher et d’identifier le fait qu’ils sont archivés, mais c’est un juste avis.
En outre, les rubriques étant affichées en PHP (sauf pour la liste) le pipeline post_boucle n’a aucun effet et donc on les voit toujours (sauf à surcharger le PHP).

Sur la fiche d’un objet, le plugin affiche un encart pour avertir de l’archivage ce qui parait opportun.
Sur la fiche d’une rubrique (objet conteneur) ou sur les pages « objets », on affiche la liste des articles par statut ou pas, sauf si ils sont archivés. Je pense qu’il faudrait aussi ajouter la liste des articles archivés via un pipeline non ?
Il existe aussi une page du plugin ou tous les objets archivés sont listés.

Si vous avez d’autres idées je suis preneur.

PS: lors de mes devs j’ai rencontré deux difficultés imposées par spip et je me demande si on ne pourrait améliorer ça en 5.0 :

  • la présentation des rubriques qui est en PHP et donc non modifiable aisément et insensible aux pipelines
  • les listes d’objets qui ne sont ni extensibles ni paramétrables.

Suite au succès incontestable de ce fil, je ne peux que continuer :wink:
Tout ça pour dire que je viens de sortir une version 0.5.0 du plugin Archivage de Contenus qui est documentée sur Contrib : Le plugin Archivage de Contenus - SPIP-Contrib.

N’hésitez pas à l’utiliser car c’est indolore et réversible.

En outre, si après usage il convient aux administrateurs de Contrib voire d’autres sites de la Galaxie, l’idée est de l’installer sur ces sites et de l’utiliser pour motoriser l’archivage en laissant de coté les solutions avec des mots clés ou autres.

Bonsoir,

Je commence à tester.
Je viens d’activer le plugin.
De le configurer.
Et j’ai cliqué sur Contenus Archives : ecrire/?exec=archives
Et j’ai cette erreur :
1 {recherche} sur une table sans clef primaire atomique ../plugins/archive_objet/prive/objets/liste/archives.html _liste_archives 35

Je note que, pour l’instant, la doc ne contient rien sur les boucles côté public.
Je note donc ici ce qui serait utile :

  • un critère permettant de savoir si une rubrique contient un contenu archivé
  • un critère pour lister les articles : non archives, archivés, tous (archivés ou non)
  • et donc pouvoir afficher un article archivé

Dans le pipeline, j’ai trouvé des indications :

// - {est_archive = 0} ou {est_archive = 1}
// - {archive} ou {!archive}

Par ailleurs, je trouve surprenant de ne plus pouvoir changer le statut d’un article une fois qu’il est archivé.

Par ailleurs, c’est surprenant dans une rubrique dans l’admin d’avoir un article archivé listé 2 fois :

  • dans " Tous les articles publiés dans cette rubrique"
  • et dans " Archives : 1 article"

Autre idée : ça aurait du sens que la page ecrire/?exec=articles ait un onglet de plus : articles archivés :
image

Il doit aussi y avoir un bug dans la page ecrire/?exec=desarchives car elle me liste tous les articles « archivés » alors que je n’ai que des articles « archivés » et aucun désarchivés (mais je suis passé pour un des 2 articles en état désarchivé pour l’archiver de nouveau immédiatement.)

En tout cas, je trouve ce plugin très prometteur !

Et le motif d’archivage permet d’envisager un autre plugin l’utilisant et gérant une demande assez souvent exprimée : la date d’expiration d’un article 'voir Système d’expiration automatique des articles - SPIP-Contrib et Dépublication - SPIP-Contrib )

Fais plutôt des tickets si y a des bugs stp.
Et surtout donne moi la configuration exacte du plugin car c’est très sensible.

Ca existe mais j’ai fait une doc d’utilisation limité au fait d’exclure les objets archivés des boucles spip. Je n’ai rien dit de spécial car c’est essence même du plugin.
Pour les usages avancés je ferais un autre article mais il existe un critère archive.

Alors c’est un choix mais je ne vois pas pourquoi on changerais le statut d’un objet archivé.

Je ne comprends pas la situation que tu décris.

Oui c’est une idée que j’ai eu mais comme expliqué dans l’article je ne veux pas pour le moment trop surcharger l’espace privé car il faut copier des pages entières. A voir si on peut améliorer d’abord la flexibilité du privé.

Possible mais j’ai besoin de ta configration stp et fais des tickets

1 « J'aime »

Je n’avais pas vidé le cache de SPIP.
Je n’ai plus le bug une fois le cache vidé.

Il me semble que ce plugin fait partie de ceux qui devraient, à leur installation, invalider le cache.
Ça se fait à l’aide de $GLOBALS['marqueur'] - SPIP et aussi $GLOBALS['marqueur_skel'] (SPIP 3.0 - SPIP)

J’ai donc fait 3 tickets : Tickets · spip-contrib-extensions / archive_objet · GitLab

Merci, je vais corriger ça rapidement.
A priori pour la recherche ça doit être bon déjà.

1 « J'aime »