Plugin Archive

Code work in progress

Cacher les articles obsolètes sans les supprimer.

Introduction

Le plugin « Archive » offre aux administrateurs une option d’archivage pour les articles. Par «archivage» s’entend la volonté de conserver un article, publié ou non, mais de ne plus le rendre public. On peut prendre l’exemple des articles de SPIP-Contrib déplacés dans un répertoire « Archives » pour des raisons historiques.

Le plus de ce plugin se trouve dans la possibilité d’historiser les archives. Ce que ne peut proposer les solutions utilisant des statuts existant ou des mots-clés.

Il a été développé avec la version svn (80xx) de SPIP [1]. Ce qui correspond à une version alpha de la 1.9.2.
Aucune garantie n’est assurée concernant les versions précédentes. Par conséquent ce plugin ne pourra être utilisé sur une version 1.9.1 ou précédente. Il s’avère que certaines fonctionnalités de SPIP ne sont pas disponibles dans ces versions.

Pour les curieux, vous pouvez poursuivre votre lecture. Pour les pressés, par ici

Bibliographie

Il est suggéré de lire ces articles :
-  Archivage, contournement des statuts
-  Installer un plugin
-  Comprendre les fonctions interne

Installation

Incompatibilité

A l’heure actuelle, il semblerait que certains plugins soient incompatibles entre eux.
Dans notre cas, les plugins suivants peuvent poser problèmes :
-  acces_restreint,
-  acces_groupes,
-  archive,
-  ecommerce

Pré-requis

A partir de la version 0.6, le plugin cfg est requis.

Téléchargement

Vous pouvez :
-  soit télécharger la dernière version sur la zone plugin_archive.zip [2]
-  soit utiliser la version svn dans spip-zone [3] [4]

Installation

La procédure d’installation est celle standard pour les plugins , cf. http://www.spip.net/fr_article3396.html . En substance, il s’agit de :
-  créer un répertoire nommé « plugins » à la racine de votre site s’il n’existe pas déjà;
-  y copier le répertoire archive et son contenu récupéré ci-dessus ;
-  accéder à la gestion des plugins depuis la panneau d’administration de l’espace privé ;
-  activer le plugin.

Configuration

Une fois le plugin activé, aller sur la page de configuration et choisir
les options souhaitées :

  • Activation/désactivation de l’archivage automatique
  • Définir le nombre de jours a partir desquels les articles seront archivés.
  • Choisir les rubriques sur lesquelles intervenir.

À partir de cet instant le plugin est entièrement opérationnel.
L’archivage automatique se fera au lancement du cron, une fois par jour.

Administration

Grâce à cfg, il est maintenant possible d’utiliser une page d’administration.
Avec la version de SPIP 192, l’accès se fait via le menu “Configuration” -> “CFG” -> “Configuration Plugin Archive”

Avec la version 193, il existe un moyen plus rapide depuis l’administration des plugins. Il faut cliquer sur l’icône présente à droite.

Administration - Interface

Utilisation - Coté espace privé

L’utilisation se réalise depuis la page d’administration de chaque article (espace privé). Vous y trouverez une boite de dialogue supplémentaire placée avant la définition du statut de l’article.

Articles : choix archivage
Dans la pages “articles”, option d’archivage d d d

Par défaut les articles ne sont pas archivés (ce qui semble logique :). Un bouton de validation est activé lors d’un changement d’état, validez le pour confirmer l’archivage.

Articles : confirmation
Dans la page “articles”, demande de fjfjfjfjfjfj

Utilisation - Coté espace public

Les boucles

Par défaut les boucles articles ne présentent plus les articles archivés.

<BOUCLE_articles(ARTICLES) >
    blabla
</BOUCLE_articles>

Si vous souhaitez voir tous les articles archivés ou non, ajoutez le critère {archive} dans les boucles ARTICLES de vos squelettes , par exemple :

<BOUCLE_articles(ARTICLES) {archive}>
    blabla
</BOUCLE_articles>

Si finalement seulement les articles archivés vous intéressent, ajoutez au critère {archive} son paramètre seulement, ce qui donne

<BOUCLE_articles(ARTICLES) {archive seulement}>
    blabla
</BOUCLE_articles>

Les balises

Il est maintenant possible d’utiliser #ARCHIVE_DATE.

<BOUCLE_articles(ARTICLES) {archive}>
    blabla
</BOUCLE_articles>

Et le plus c’est qu’on peut utiliser les filtres pour les dates

Todo List

Voici les points prévus dans les évolutions futures :
-  Écrire correctement en français
-  Vérifier l’emploi de la bonne terminologie spipienne

-  Ajouter l’archivage au niveau des rubriques
-  Archivage via un explorateur de site (plan)
-  Gérer l’historisation des archives (critère du type age) (fait version 0.4)

-  Mettre en place la gestion multilingue
-  Traduire au moins en anglais

Remerciements

Je tiens à remercier principalement kent1, _fil_, Cédric et tous les spipiens présents sur spip@irc.freenode.net

Historique

Juste pour servir de mémoire sur les évolutions du plugin:

0.8 11 février 2008 préparation de l’internationalisation
archivage automatique tous les x jours
réalisé par Jeannot
0.7 28 septembre 2007 prépare le terrain pour archivé autre chose que les articles
0.65 22 septembre 2007 page configuration : liste les archives tous statuts confondus
0.64x septembre 2007 compatibilité descendante 193/192, requete sql
0.6 27 juillet 2007 une page de configuration
liste les articles archivés
0.5 27 juillet 2007 phase d’installation automatisée
0.4 21 juin 2007 ajout de la balise #ARCHIVE_DATE
0.3 19 juin 2007 ajout du paramètre seulement
0.2 01 février 2007 correction du bug 404
0.1 24 janvier 2007 mise en place de la contrib

Footnotes

[1NDLR : la version«SVN» de SPIP est la version en cours de développement sur un serveur SVN (système permettant le développement collaboratif), d’où le raccourci

[2remarque les zip sont générés toute les heures, attention à télécharger une version fraiche :)

[3la version svn sera la plus récente, mais nécessite de disposer d’un client svn pour être récupérée

[4Téléchargement du Plugin, liens complémentaires : Récupérer le zip sur l’espace de téléchargement, ou le(s) miroir(s), de spip-zone, cf. rubrique Produits finis

Discussion

27 discussions

  • J’ai installé le plugin aujourd’hui, après activation : impossible d’afficher les onglets des rubriques dans l’espace privé et, même après avoir vidé le cache, j’ai une page blanche dans l’espace public.

    Reply to this message

  • 1

    Je suis assez intéressé par ce plugin... Y a-t-il une version stable prévue pour spip 2.0.3.
    Merci.

    • Bonjour

      Oui il est prévu une version compatible spip2 et qui au passage fonctionnera sur tous les objets redactionnels SPIP. C’est juste une question de temps :p

    Reply to this message

  • 3

    Bonjour

    Juste pour dire que le plugin évolue et que les questions posées ne sont pas oubliées.
    Des réponses seront apportées, si si je vous assure :)
    *

    • Ben justement, avec les dernières versions d’archive (0.6) et de cfg (tout frais téléchargés du svn), dans la page de configuration de cfg, l’onglet archive me dit (à droite) : pas de champs dans fonds/cfg_archive.html

    • A la réflexion, c’est peut-être normal vu que je n’ai pas encore d’articles archivés ;)

    • Bonjour

      Non pas d’inquiétude ceci est encore un bogue “effet de bord”. Cela ne modifie en rien le bon fonctionnement du plugin.

      Juste pour info quelle version de spip utilisez vous ? Ayant bosé sur un pre 1.9.3 j’ai peur de casser un peu le fonctionnement sur 1.9.2

    Reply to this message

  • 5
    12_darte_12

    Bonjour,

    Merci pour ce plugin.

    J’ai juste un petit problème, je voudrai archiver un article avec le plugin archive, l’article s’archive bien mais les dates de l’agenda (plugin agenda) apparaisse toujours.

    • Bonjour

      Il faudrait regarder commen fonctionne le plugin agenda. Si c’est un squelette normal, il ne faut pas avoir le critere {archive}

      Autrement je n’ai pas trop d’idée, je n’utilise pas ce plugin. Il faudrait regarder plus en profondeur.

    • 12_darte_12

      Ma boucle est comme ça :

      “BOUCLE_lesevenements(EVENEMENTS) (par date)(id_rubrique)(agendafull date_debut,date_fin, #ENV(annee))”

      j’ai remplacé les accolades par des parenthèses et comme on peut le voir il n’y a pas le critère archive.

      Merci quand même cam.lafit

    • Bonjour

      Bon ok, je crois voir où est le pb, le plugin n’intervient que sur les boucles articles et pas sur celles d’evenement.

      Donc comme ça il est logique que ça marche pas :) N’utilisant pas cette boucle je n’ai pas pensé à cet effet.

      Je regarde des que possible.

    • 12_darte_12

      A ok, je comprend mieux alors.

      En tout cas merci pour tout.

    • 12_darte_12

      Petit modification de mon coté, une fois la boucles événement intégré dans ma boucle article celle ci s’archive bien.

      Merci encore pour ces réponses rapides

    Reply to this message

  • 4

    Zolie travail ; cela évite de mettre les articles proposées a l’évaluation avec un post scriptum archiver

    donc je me l’install sur un SPIP 1.9.3 dev [11312] ; Hélas mille fois hélas .....

    Le site est 100% opérationnel sauf via configuration/Gestion des plugins on n’a :

    Site en travaux
    Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.

    Pour info seul CFG et Archive est installé; lors de la desactivation du plug ça rendre dans l’ordre, on n’a de nouveau accés a la gestion des plugs.

    si ça peu faire avancé ;)

    @micalement stéphane

    • Bonjour

      Merci pour le retour, il est vrai que le plugin a la base n’a été developpé que pour SPIP 192.
      Mais comme la 193 ne saurait tarder et que surtout mes sites de prod passent en 193, il va être necessaire de faire le support :)

      En attendant que je fasse les modifications necessaires, je vous invite à tester en complément le plugin compat193 ou veilles def.

      Merci d’avoit tester :)

    • je l’avais oublié celui la : le plugin compat193;
      par contre je n’ai jammais entendu parler de lui : veilles def. a tu un lien quelquepart ??

      merci

    • Aprés avoir Activer le plugin

      Plugin de compatibilité avec SPIP 1.9.3 SVN 9919 et plus

      J’ai toujours le même probléme pour info

      @micalement

    • Bonjour

      Bizarre bizarre, le plugin marche bien sur un de mes sites en 193 (mais pas derniere version), je suis passé par une mise à jour d’un 192a.

      Il va falloir investiguer, de tout façon la compatibilité en 192 va prochainement sauter.

    Reply to this message

  • 5
    igedmedia

    Bonjour
    je souhaite utiliser cette contrib sur SPIP 1.9.2b [9381] - lorsque je souhaite archiver un article avec la boite de dialogue depuis la page d’administration de chaque article (espace privé). j’ai l’erreur suivante
    Fatal error: Call to undefined function spip_unlink() in /home/carpat/www/plugins/archive/exec/archive_update.php on line 62

    Quelqu’un a une piste ???
    Merci pour votre aide

    • Bonjour

      j’ai l’erreur suivante Fatal error : Call to undefined function spip_unlink() in

      Bizarre, la derniere version tourne correctement sur une 192a. Je vérifie courant semaine prochaine, car là c’est le we :)

    • Bonjour

      En relisant les commit, je viens de voir que j’avais deja rencontré ce probléme. ^^

      Je viens de faire une modification sur le code qui devrait améliorer la situation. Le zip devrait etre prochainement disponible.

      Est ce que c’est mieux ?

    • igedmedia

      oui ça va beaucoup mieux voir la page
      http://www.carrefour-des-patrimoines.net/spip.php?page=archives

      Mais qd je clique sur l’article - j’obtiens la page 404

    • Bonjour

      Je viens de tester votre lien et je ne vois pas de page 404

      Je constate 2 articles archivés :
      -  Des actions > Rallye pédestre pour découvrir le patrimoine local
      -  Présentations > Les partenaires

    • igedmedia

      Autant pour moi
      c’est ok
      il fallait simplement rajouter archive dans la page article
      merci à vous

    Reply to this message

  • 2

    Attention le plugin archive n’est pas “propre”.
    c’est à dire que avec: SPIP 1.9.2a [8878] si on le desinstalle il agit encore sur tout les articles, on ne peut plus afficher normalement nos articles:

    <BOUCLE_article_principal>(articles)
    Erreur MySQL
    articles.id_article, articles.id_rubrique, articles.lang, articles.titre, articles.texte, articles.chapo, articles.descriptif, articles.surtitre, articles.soustitre, articles.date, articles.url_site, articles.nom_site, articles.ps FROM spip_articles AS `articles` WHERE (articles.id_article = '1') AND (articles.archive IS NULL) AND (articles.statut = "publie")
    Unknown column 'articles.archive' in 'where clause'
    </BOUCLE_article_principal> 

    même si on ne leur passe pas le statut d’archive.
    Il est urgent de corriger mais en attendant il ne faut vraiment pas l’installer.

    Achille

    • achille

      Une bien grande frayeur finalement
      Une fois le cache vidé cela rentre dans l’ordre.

      Peut être que si on forçait le vidage du cache à la desinstalation cela pourrait éviter des comas :).

      Merci de toute façon pour cette contrib que je vais continuer à utiliser.

    • Bonjour

      Avec beaucoup de retard, ce bug est sensé être corrigé depuis peu.
      A chaque passage en archive d’un article, le cache est vidé.

      Cela force donc la regeneration des articles s’il ont été visités

    Reply to this message

  • 4

    j’ai installé le plugin puis configuré , mais quand je valide l’archive dans un article , celui-ci est toujours visible dans la rubrique sous la partie public.

    Spip version 1.9.2 ,sarka 2.0.1

    • Bonjour

      Bizarre la derniere version est sensée etre compatible en 192 et 193.
      Le dev se fait sur du 193 et mon site de prod est en 192.

      Coté public, l’article articles est bien retiré des boucles.
      Pour les retrouver il faut rajouter le critere {archive} ou {archive seulement}

      Est ce qu’il y a d’autres plugins d’activé comme acces restreint ?

      Une url par hasard ?

    • non je n’ai pas de plugins “nefastes” de validés mais je viens de faire un test sur le site en local et cela fonctionne.Je vais faire les mises à jour du site on line pour le mettre au meme niveau que le local et je vais refaire le test.

      A+

    • Néfastes, on ne va pas pousser le bouchon aussi loin :) disons juste incompatible.

      Bizarre que cela marche en local et pas en prod. Les configurations sont elles les memes ? Est ce que vous avez vidé le cache ?

      Quelle version d’archive est indiqué dans configuration -> cfg -> “Configurer plugin archive”

      Je viens de poser des mises à jour sur la zone, un nouveau paquet arrive donc prochainement (train de 17 ou 18). Est ce que ça marche mieux ?

    • oui nefaste est un peu fort!!!
      Je devais faire les tests hiers soir mais j’ai un souci avec XP !!!! le tamps de reparer tout cela et je fais le test mais à priori il n’y a aucune raison que cela ne fonctionne pas.
      J’utilise le site en local (vive easyphp) pour tester les mises à jour de spip ou de Sarka puis je fais la mise à jour sur site on line.

      A+

    Reply to this message

  • 1

    Bonjour,

    l’installation du plugin s’est bien déroulé. Les articles en archives ne sont plus présents dans les boucles.

    En revanche, dans un article avec un lien du type artXX j’obtiens une erreur 404.

    Est-il possible d’y remedier ? est-ce un comportement normal du plugin ou cela vient-il de mon URL rewriting (avec propres2) ?

    merci de votre aide, car c’est dans ce cas que le plugin m’interresse : sortir des articles de la structure d’un site mais utiliser des articles pour donner du contenu connexe à d’autres.

    • Bonjour

      Le comportement que j’ai eu apres test me semble normal.
      Ce que j’ai fait :
      -  2 articles (X et Y) publiés
      -  Y a un lien artXXX sur X
      -  X est archivé

      Je n’ai pas utilisé propre2.

      Dans le cas initial, en accédant X depuis Y, j’obtiens une page vide (mais pas d’erreur 404)
      Pour pouvoir visualiser cet article il faut dans le squellette article.html rajouter le critere {archive} dans la boucle Article.
      Ceci autorise le squelette à consulter les articles archivés.

      Il faut penser aussi à vider le cache et à reactualiser les index.

      Si ce n’est pas ça, pourriez vous me donner un exemple/lien/... pour mieux voir le probléme ?

      Km

    Reply to this message

  • On pourrait envisager certaines choses du genre :

    -  un cron qui place le statut en fonction de critères de dates par exemple...
    -  qui pourrait même déplacer les articles dans un endroit spécifique (genre une rubrique archive fille de la rubrique dont l’article est issu)...

    Voili

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom