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

  • 7

    Bonjour,
    Je souhaitais utiliser votre plugin pour l’archivage de mes articles. Mais apparemmant, dès que j’active le plugin, il m’est impossible d’aller sur la partie publique (page blanche)!! Lorsque je désactive votre plugin, tout refonctionne. J’utilise la version 1.9.2a [8878] et les plugins suivants :
    Acces Restreint 2.0 ; Agenda pour SPIP 1.9.2 ; Autorité ; cfg : moteur de configuration ; DW2 ; Formulaires&Tables (SPIP 1.9.1+) ; Imprimer document ; Plugin SPIP-Météo ; Widget Calendrier.
    J’ai aucun message d’erreur, hormis cette page blanche qui bloque l’accès à la totalité du site. Pas de message d’erreur non plus dans la partie privé, où la navigation n’est pas perturbée.

    Merci pour vos renseignements.
    Cdt. Arno

    • Bonjour

      Que ce passe t il si vous desactivez “acces restreint” et/ou autorité ?

    • Merci pour la rapidité de votre réponse!!! ;-)
      Lorsque je désactive les 2 plugins (restreint et autorité), j’obtiens cette erreur SQL lorsque je souhaite accéder à l’espace public :
      Fatal error: Call to undefined function: accesrestreint_articles_accessibles_where() in c:\program files\easyphp1-8\www\spip 1.9.2\ecrire\public\composer.php(48) : eval()'d code on line 14

    • Bonjour

      Et bien, je vois que acces restreint fait des siennes aussi :) Il faudrait remonter ce bogue de undefined function aux dev d’acces restreint.

      Autrement, il se trouve que certains plugins se bouffent entre eux, dans notre cas archive et acces restreint. Je viens juste de rajouter un paragraphe sur les plugins qui sont potentiellement incompatibles.

      Pour le moment, je ne connais pas de solution pour les faire travailler ensemble si ce n’est au petit bonheur la chance. :(

    • Rohhh !!!
      Bon ben, merci quand même pour votre plugin!! Vous n’auriez pas une autre solution pour créer un mini système d’archivage pour une rubrique fonctionant avec le plugin accès restreint?? :-)

    • Si si

      Modifier une partie du noyau de spip. Ce que j’essaye de faire.
      Avec un peu de chance la nouvelle mouture de spip le fera.

      Patience :)

    • Heinhein...celà devient interessant...!!! Et en terme de temps, faut compter combien de tps à peu près pour modifier cette “partie du noyau de spip”??! :-)

    • Patience.

      Aucune idée du temps.
      Prochainement surement/peut être/eventuellement/assurement (barrer la mention inutile)

      :)

    Reply to this message

  • 2

    Bonjour,

    J’utilise le plugin depuis un certaintemps et tout semble fonctionner à merveille sauf pour un des articles avec une redirection. Il m’affiche cet erreur :
    Warning: Cannot modify header information - headers already sent by (output started at /.../plugins/archive/archive_fonctions.php:55) in /.../ecrire/public.php(173) : eval()’d code on line 1

    Quelle pourrait être la cause du pb?

    Merci.

    • cam.lafit

      Bonsoir

      L’erreur est elle sur la partie publique ou sur la partie privée ?
      Les articles avec redirection, est ce un article qui “clone” un autre, ou une réécriture d’url à l’aide d’un plugin ?

      Je regarde lundi pour proposer un paliatif. Au vu de l’erreur, 2 fonctions retournent une entete html. Celle du plugin semble etre de trop.

      km

    • joflizn

      Salut,

      Merci pour la réponse rapide. L’erreur est sur la partie publique du site et apparait lorsqu’on clique sur le lien de l’article en question. C’est un article virtuel qui est redirigé sur un document en ligne sur un autre site avec le param “redirection” bien sûr ;-)!

      A+

    Reply to this message

  • Bonjour

    Personne ne l’avait demandé mais maintenant il est possible d’utiliser #ARCHIVE_DATE et les filtres de dates.
    Elle n’est pas belle la vie.

    D’autres suggestions ?

    Reply to this message

  • 4
    Shadow AOK

    J’utilise votre plugin en version 0.2 avec Spip 1.9.2.
    Est-il possible de ne visualiser que les archives ?

    Merci.

    • Bonjour

      Et ben non, pour le moment cela n’est pas possible. En fait je n’ai pas du tout pensé à cette option.
      Si vous pouvez être patient encore une petite (grosse :) semaine. Je peux essayer de mettre en place cette très bonne idée.
      Une idée sur la façon de le faire :
      -  un autre critére ?
      -  archive = seul
      -  ....

      Si vous pensez à d’autre suggestions, n’hésitez pas.

      km

    • Shadow AOK

      Bonjour,

      Merci de réaliser cette suggestion :)
      Pour ce qui est de la réalisation, je pense qu’il faut conserver la même balise, sous la forme archive=xxx) comme vous l’avez suggéré plutôt que de multiplier inutilement leur nombre.
      Enfin, faites de la façon qui sera la plus pratique pour vous.

    • Bonjour

      Voici une mise à jour du plugin. L’article a été mis à jour en conséquence. (ajout de {archive seulement})Je vous invite à la tester et à remonter toute remarque concernant cet ajout.

      Etait ce bien ce que vous vouliez ?

      Cordialement

    • Shadow AOK

      C’est parfait, je vous remercie.

    Reply to this message

  • 2

    Pour info une version 0.2 est sortie, elle corrige (enfin devrait) le problème 404 et consorts.
    N’est toujours pas compatible avec 1.9.1

    Alors ça marche mieux ?

    • Bonjour,
      Je souhaiterai savoir si une version compatible avec spip 1.9 est prévue ?
      Merci d’avance.

    • Bonjour

      Désolé pour le temps de réponse (congé oblige :)

      Non à l’heure actuelle, il ne m’est pas possible de proposer une compatibilité pour les spip antérieurs à la 1.9.2. Ceci est dû à des raisons techniques (fonctions pipelines inexistantes, ... )

      Je reste ouvert à toutes propositions permettant de contourner ces problèmes.

    Reply to this message

  • Mêmes soucis que ci dessous avec la même version de spip.

    De plus dès que j’active le plugin, je perds le lien avec la feuille de style par défaut : la (les) page(s) d’administration (http://www.monsite.org/ecrire/?exec=admin_plugin, http://www.monsite.org/ecrire/?exec=archive_configuration, http://www.monsite.org/ecrire/?exec=configuration, etc.) n’ont plus de styles.

    (Maxthon 1.5.9)

    Reply to this message

  • 6

    Quand j’essaie d’installer le plug-in archive (dans l’espace privé, il est bien dans ma liste des plug-ins), j’ai le message suivant:

    Fatal error: Call to undefined function: fin_gauche() in /mnt/147/sda/0/3/revue.hauteurs/spip/plugins/archive/exec/archive_configuration.php on line 48

    Dois-je débugger la ligne 48 du fichier archive_configuration.php ou déclarer la fonction manquante (fin_gauche()) dans mes_fonctions?

    Merci pour la réponse.
    Marc Lemoine

    • Bonjour

      La fonction fin_gauche() est un fonction du core, elle n’est pas donc à declarer dans le fichier mes_fonctions.

      Quelle version de spip utilisez vous ?

    • bonjour,

      Même souci pour moi, en locale avec SPIP 1.9.1 [7502].

      une solution ?

    • J’utilise la version 1.9.1

    • bon j’ai commenté la fonction “fin_gauche()”, j’obtiens la possibilité d’installer le plug. Une fois le bouton actioné, un petit “1” apparaît en haut de page faisant office de confirmation d’installation je suppose.
      une fois un article edité, j’ai tenté de cocher la zone archive sur oui et valider, mais message d’erreur, il ne trouve pas la page ....
      C’est le fait d’être en locale qui implique toutes ces erreurs ?

      Désolé pour le désagrément, mais ce plug semble être une très bonne solution d’archivage comparé aux mots clefs, alors je souhaite vraiment qu’il fonctionne ! ;)

    • Bonjour

      Il est normal que dans votre cas (quincallier et marclemoine) que cela ne marche pas. Cette version du plugin ne fonctionne que pour la 1.9.2 ou svn [80xx]

      Comme ma version en prod est la 1.9.1, je pense faire quelque chose dans le we pour palier à ce desagrément.

    • Ok super, alors je vais attendre les correctifs.

      Les deux soucis constatés :
      -  l’install
      -  une fois la case cochée, la validation ne redirige pas correctement.

      Merci à toi.

    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