Dépublie

Dépublie des objets, comme des articles à une date prédéfinie, soit automatiquement avec une durée établie au moment du changement de statut en publication, soit manuellement.

En préambule il est nécessaire de se souvenir que personne n’apprécie se retrouver sur une page d’erreur 404. Pensez à vous servir parcimonieusement de cette possibilité de dépublier vos articles car les moteurs de recherche ne pourront évidemment pas indexer correctement votre site. Un site vivant conserve les strates de son existence et c’est plutôt plaisant, encore une fois, mieux vaut avoir un système d’archivage que de suppression. Maintenant que vous êtes prévenu…

Dépublier des objets automatiquement.

Dépublie est un plugin avec un code très simplifié, il se veut pédagogique et facile à comprendre. Il effectue pratiquement les mêmes tâches que le plugin Dépublications pour SPIP2.
Il ne porte pas le même nom car il ne possède qu’une seule table dans la base de données qui peut être éventuellement étendue aux auteurs ou à d’autres objets par la suite.

Depuis la version 1.3.4, la configuration du plugin détecte tout objet qui supporte la dépublication. Pour être pris en compte, la table principale de l’objet doit posséder les champs « date, id_rubrique, statut » comme articles rubriques ou brèves ou bien s’il a été créé indépendamment, par exemple avec le plugin « la Fabrique ».

La table unique très simple avec le couple générique objet/id_objet, le nouveau statut et sa date de changement.

L’écriture de son code profite du système des pipelines des formulaires CVT

il se greffe ainsi au formulaire dater.
http://programmer.spip.net/Passage-d-arguments-aux-fonctions

Simple affichage d’une ligne supplémentaire dans le formulaire dater avec l’inclusion d’un bout de squelette.

Installation

Comme tous les plugins, voir http://www.spip.net/fr_article3396.html

Configuration

Le plugin Dépublie dispose d’une configuration accessible depuis la page des plugins.
On choisira d’afficher la ligne supplémentaire du formulaire, soit le input des dates, sur certains secteurs ou rubriques.

La page de configuration de Dépublie.

Page de configuration du plugin Dépublie remarquer l’ajout d’un objet différent qui possède les champs nécessaires.

Si l’on souhaite que l’article prenne automatiquement une date de dépublication, il faut remplir la durée de publication voulue sinon le faire manuellement ou automatiser le processus par vous même en le codant. Au changement de statut de l’objet comme un article, la date de dépublication sera enregistrée automatiquement en base avec la durée configurée.

A partir de la page de configuration, accèdez à la page qui affiche les objets en attente de changement de statut (nommée Liste des dépublications) ecrire/?exec=configurer_depublie

Rappel sur les statuts SPIP :

  • Statut « à la poubelle » : l’article est conservé 24 heures puis effacé définitivement de la base.
  • Statut « refusé » : l’article est retiré de l’espace public mais il est conservé en base de données.

Étendre à d’autres objets

L’écriture de la tâche automatique de dépublication dans genie/depublier.php permet d’en faire profiter d’autres objets. Ainsi vous pouvez mettre dans la table spip_depublies divers couples de style (objet/id_objet) comme (mot/32) ou (auteur/456) avec les dates de dépublication de votre choix en utilisant les outils appropriés (et donc penser à ajouter les champs nécessaires avec le plugin Cextra par exemple)

Tester la dépublication

Pour vérifier les actions de dépublications, il suffit de se rendre sur la page ecrire/?exec=job_queue et lancer la tâche depublier.

Dépublier ou archiver ?

En activant le plugin ciarchive : statut archivé pour les articles qui ajoute un nouveau statut archive aux articles (sans modifier la date de publication) on peut parfaitement automatiser l’archivage. Dans la configuration du plugin « Dépublie » passez le sélecteur de statut « Choisissez le statut à donner lors de la dépublication » à « archive ».

Discussion

29 discussions

  • Si une rubrique contient 2 articles et qu’une date de fin est fixée pour chacun des articles, ils vont bien être dépubliés avec le statut défini.
    En revanche, la rubrique conserve son statut « publie » alors qu’elle devrait aussi être dépubliée lorsque le dernier article n’est plus en ligne.

    Est-ce que cela serait possible ?

    Répondre à ce message

  • Bonjour,

    J’essaye de faire fonctionner le plugin avec ci-archive sur les rubriques.
    Mais je ne vois aucun formulaire de saisie permettant de choisir la date de dépublication d’une rubrique.
    De plus, il me semble que dans le cas d’une rubrique, c’est l’intégralité de son contenu (direct ou branche ?) qui devrait être dépublié, pas la rubrique elle-même.

    Est-ce que je me pose les bonnes questions ?

    Répondre à ce message

  • Hello

    Plugin testé en spip 4.2 et pas de souci de mon côté.

    Répondre à ce message

  • 17
    Jim WANDERSCHEID

    Ce plugin semble fonctionner correctement en SPIP 4.0.0.
    Activé après avoir rajouté
    define(’_DEV_VERSION_SPIP_COMPAT’,« 3.2.99 ») ;
    dans /squelettes/mes_fonctions.php

    • Jim WANDERSCHEID

      Rectification : Il fonctionne (dépublie) mais la configuration génère une erreur :
      Erreur d’exécution ../plugins/auto/depublie/formulaires/configurer_depublie.html | File […]/plugins/auto/depublie/depublie_fonctions.php Line 23 : count() : Argument #1 ($var) must be of type Countable|array, string given

    • Bonjour,
      Je suis en train de migrer mes sites en SPIP 4.0, voire 4.1 et j’utilise ce plugin génial, un grand merci au passage !
      J’aimerais savoir s’il est prévu de le rendre compatible, et ce qu’il en est de cette erreur signalée ici par Jim…
      Est-ce qu’il y a d’autres retours utilisateurs en SPIP 4 ?
      Je n’ai malheureusement pas trouvé de plugin équivalant pour dépublier (ou archiver) à une date prédéfinie…
      D’avance merci,
      Cordialement

    • À nouveau moi, pour préciser qu’en le testant sur un 4.0.5 (J’ai juste changé la compatibilité dans paquet.xml), je n’ai pas l’erreur retournée par Jim. C’est « juste » que ça ne dépublie pas, le statut ne change pas à la date demandée, même en forçant le CRON…
      La date de dépublication est bien enregistré dans le back, mais il reste en ligne !
      Cordialement,

    • Bonjour,
      Ce plugin est très utile et c’est dommage d’être obligé de s’en priver dans spip 4.
      Quelqu’un aurait une idée de ce qui peut poser problème pour la compatibilité ?

    • Apparement nicod_ aurait fait les ajustements. Il faudrait tester en récuperant le zip sur le depot git, voir si effectivement cela marche. Et si c’est le cas on pourrait officiellement releasé, je pense.

    • Bonjour,

      Je n’ai pas eu à m’en servir en SPIP4, voila pourquoi je n’ai pas encore fait de mise à jour du plugin car je ne l’ai pas testé. Il y a aussi eu une branche DEV à fusionner qui permet le retrait et non l’ajout d’une date (je ne sais plus l’usage que j’en ai eu mais ça ne mange pas de pain)

      Donc le mieux est bien de tester en forçant la compatibilité et de me faire des retours sur le GIT ou ICI !

      Merci pour vos remerciements et votre contribution :)

      ++
      Anne-lise (touti)

    • Au fait sur contrib, il me semble que je n’ai reçu que les 2 derniers messages de ce fil de discussion… bizarre :/

    • Bonjour,
      Alors je l’ai fait ajuster par un collègue développeur, apparemment l’avertissement dû à la version de PHP empêche que la tâche s’exécute comme si c’était une vraie erreur. Quelque chose dans le genre, j’ai oublié.
      En tout cas il l’a adapté pour moi, et ça fonctionne. Je peux le mettre à la disposition de la communauté, mais je ne sais pas comment faire :-)
      Dites-moi, c’est tout prêt tout chaud pour celles et ceux qui en ont besoin.
      Bonne journée !

    • Le collègue dev pourrait faire une « Pull Request » sur le depot git. Pour demander l’accés au dépot, c’est par là https://plugins.spip.net/depublie

    • Pour le fonctionnement en Spip 4.1, hormis le changement de borne dans le fichier paquet.xml, il faut modifier la ligne 23 du fichier « depublie_fonctions.php »

      or !count($desc['date'])

      par

      or !count((array)$desc['date'])
    • Bonjour,
      super, maintenant yapluka demander un accès GIT cf https://www.spip.net/fr_article825.html et faire une proposition (PR) directement sur la page du projet.
      https://git.spip.net/spip-contrib-extensions/depublie.git

      karen, c’est pareil pour le code que tu m’as aimablement envoyé, il n’y a de modifié que les fichiers paquet.xml pour la borne 4.1 et depublie_fonctions.php modifié dans le même sens que @christophe :

      L23 -- or !count($desc['date'])
      L23 ++ !count((is_countable($desc['date'])?$desc['date']:[]))
    • Hello !
      Super ! Donc maintenant on va tous pouvoir continuer à utiliser ce super plugin !
      Bon week-end

    • Merci pour vos échanges : j’ai pu mettre à niveau mon site de tests de 3.2 à 4.1 et ça fonctionne.

      Il y a juste une petite erreur dans le code proposé par touti : il faut bien entendu garder le « or » en début de ligne 23 :

      L23 -- or !count($desc['date'])
      L23 ++ or !count((is_countable($desc['date'])?$desc['date']:[]))

      Que la noisette soit avec vous.

       1138.

    • Bonsoir
      je viens de faire les changements sur https://git.spip.net/spip-contrib-extensions/depublie
      Du coup la dernière version v1.3.2 v1.3.3 du plugin dépublie est désormais compatible de SPIP3 jusqu’à SPIP4.1
      NB Countable ne fonctionnant pas comme attendu, j’ai mis isset, voir le code.
      Bonne soirée,
      merci pour les noisettes ;)

    • Oups,

      Il faut prendre la dernière version, plusieurs tags inutiles, du au fait de vouloir faire vite et tester différentes versions SPIP et PHP avec les codes proposés qui ne marchaient pas pour configurer le plugin sur les objets, la bonne version de dépublie qui fonctionne de SPIP3 à SPIP4.1 est désormais la version=« 1.3.4 »

    • 🙏 Merci.
      Ça semble fonctionner.

    Répondre à ce message

  • 14

    Bonjour,
    Je viens de mettre à jour le plugins en 1.2.10 et je m’aperçois que les brèves n’ont plus de date de dépublication contrairement à la version 1.2.8.

    C’est une catastrophe pour moi.
    Il y a moyen de le réactiver ?

    Merci

    • Bonjour,
      je suis étonnée car je ne vois pas de problème dans ce qui a été modifié.
      Quelle version de SPIP as-tu ?
      Est-ce que la brève est publiée ? j’ai l’impression qu’on ne peut pas changer la date si l’objet n’est pas publié.
      En dernier ressort, un accès pour que je regarde ce qui ne va pas ? viens me voir sur SPIP IRC, je m’y mets de suite !
      touti

    • J’ai trouvé la différence entre mon site de tests et de prod.
      C’est la présence d’identifiant de rubriques d’un côté et pas de l’autre
      Donc le problème ne se pose pas en ces termes :

      Quand on met un identifiant rubrique ici , « 44,17 », ou simplement 44, la dépublication est possible pour les articles mais plus pour les brèves, c’est curieux.

    • Bon, l’idée est effectivement que le système de dépublication puisse fonctionner sur tous les objets, mais … il est bien noté que seuls les articles sont pris en compte hein ;)

      Je vais regarder à modifier cela et je reviens vers toi, en attendant, est-ce que les brèves sont modifiées si tu retires les parents secteur et rubrique ?

    • Voila, ça devrait être bon,
      essaye avec la version V1.2.12 et dis moi
      https://git.spip.net/spip-contrib-extensions/depublie/releases
      ++

    • re,
      Merci

      Bug sur id-secteur (SPIP 3.2.7 [24473]) ; faut -il upgrader SPIP ?

    • Oui j’ai vu ça, prends la dernière version depublie V1.2.13, tu auras en plus le droit de restreindre la dépublication des brèves à certaines rubriques :-)
      Et de toute façon, oui, la dernière version stable de SPIP c’est toujours mieux.

    • Je suis désolée, il n’y a plus le bug, mais maintenant le plugin ne tiens plus compte de la restriction aux rubriques.

    • Est-ce que tu as remis les restrictions dans la config ? héhé, je ne reproduis pas.
      plus d’explications serait bienvenue.

    • la configuration et les cas
      Rubriques 44 et 46
      une brève et un article sur chaque.

    • la configuration et les cas
      Rubriques 44 et 46
      une brève et un article sur chaque.

    • les cas
      Rubriques 44 et 46
      une brève et un article sur chaque.

    • Hum, je ne vois pas bien tes images, ne multiplie pas les posts stp, explique moi avec des phrases ce sera mieux ! Je suis encore dessus 1/4 d’heure et après je dois bouger !

    • Deux rubrique de tests rubrique 44 et 46.

      La config : une seule rubrique identifiée la 44.

      malgré la config de la 44 les brèves et article de la 46 sont toujours disponibles pour la depublication.
      Idem pour la rubrique 3 et les autres.

      Bref la restriction de dépublication à des rubriques ne fonctionne plus.

    • Ok, ça devrait être bon avec la dernière version …
      https://git.spip.net/spip-contrib-extensions/depublie/src/tag/v1.2.14
      j’attends une bière bien fraiche :p

    Répondre à ce message

  • 1

    Bonjour,
    Je cherche un système de dépublication, mais ayant noté la remarque sur l’erreur 404 en début d’article, serait-il facile de modifier ce plugin afin de, non pas modifier le statut, mais retirer un mot-clé à l’objet, toujours à une date donnée.
    Cela permettrait de retirer l’article d’un affichage « Actualité » par mots-clés, mais de le laisser en ligne.
    Merci

    Répondre à ce message

  • 1

    Bonjour,

    en SPIP 3.2.0 [23778] et Dépublie 1.2.6, lorsque je me rend sur la page ecrire/ ?exec=job_queue
    et je ne trouve pas la tâche depublier.

    J’ai, depuis longtemps activé les date de rédaction antérieur, est-ce que cela pourrait avoir un rapport avec çà ?

    Merci d’avance,

    Cordialement,

    Hervé

    • Je me réponds car en fait tout fonctionne bien !

      Désolé, mais j’ai fait une erreur de débutant :
      pour faire mes tests de ce plugin, j’ai logiquement travaillé sur une copie locale du site, mise à jour depuis phpMyAdmin, mais j’ai oublié de changer l’URL d’origine par l’URL locale dans « Identité du site ».

      Résultat :
      Je suis aller en espace publique et j’ai ajouté /ecrire/ ?exec=job_queue et j’ai logiquement atterri sur https://URL_du_site_en_ligne/ecrire/?exec=job_queue, alors que le plugin n’est pour l’instant installé qu’en local.

    Répondre à ce message

  • 5

    Bonjour,

    Est-il judicieux, possible, envisageable d’avoir une balise #DATE_DEPUBLICATION qui irait chercher bêtement la date de dépublication de l’objet dans lequel elle est appelée ?

    Répondre à ce message

  • 1
    Jim Wanderscheid

    Merci pour ce plugin qui fonctionne bien sur 3.1.6.
    Toutefois, en permettant de choisir l’heure de dépublication et en ne lançant le job cron que toutes les 12 heures, c’est un peu contradictoire.

    Personellement, j’ai accéléré en remplaçant la ligne 216 de /depublie/depublie_pipelines.php :

    $taches[’depublier’] = 60*60*12 ; // 2 fois par jour

    par :

    $taches[’depublier’] = 600 ; // toutes les 10 minutes

    Pourquoi ne pas permettre de modifier le délai dans les options ?

    Répondre à ce message

  • 5

    Bonjour !

    J’administre temporairement un site municipal sous SPIP 3.0.17.
    L’intégration d’une dépublication serait un vrai plus, j’installe le plugin (v1.1.8) sans soucis, mais à l’activation j’obtiens au moment de l’enregistrement d’un nouvel article :

    "1 Erreur SQL 1146
    Table ’base.spip_depublies’ doesn’t exist
    SELECT date_depublie,statut FROM spip_depublies WHERE id_objet=2518 AND objet=’article’

    J’ai déjà tenté la désinstallation/réinstallation... Je n’ai pas trouvé dans les comm précédents Comment résoudre ça ?
    Merci d’avance !

    • Je ne reproduis pas avec une installation du plugin sur un SPIP 3.0.15 [21231] propre sans aucun autre plugin et tout semble fonctionner correctement.

      Comme piste de debug, essayez comme il est dit ici sur le #forum486867 ou bien, pour tester d’où vient le problème il faut désactiver temporairement tout vos plugins, en tout cas ceux faits maison qui peut-être ont oublié de renvoyer le flux d’un pipeline comme declarer_tables_interfaces ou declarer_tables_auxiliaires ?

    • Alors !
      Je suis passé en 3.0.22. J’ai désactivé tous mes plugins. Réinstallé Depublie, et cette fois plus de message d’erreur :)
      Reste à comprendre maintenant pourquoi il ne m’affiche pas de ligne « dépublication » sous la ligne « date de création », que je renseigne l’identifiant de secteur/rubrique ou pas... Mais c’est sans doute de l’ordre du réglage plutôt que du problème structurel

    • Oups, j’ai vu aussi qu’il n’y a rien par defaut (c’est mal) il faut aller dans la page des plugins, à côté du nom « Dépublication » il y a une icone de config sur laquelle cliquer !
      Have good time !

    • C’est bien là qu’est l’os ; j’ai beau indiquer mon numéro de rubrique servant aux articles d’agenda en « Identifiant de secteur(s) », en « Identifiants de rubrique(s) », ou dans les deux à la fois : ça donne aussi peu de résultat qu’il est possible !

      (ps : pour mon précédent soucis d’installation, je soupçonne un conflit avec le cache plutôt qu’avec les autres plugins, pour info)

    • Toujours avec les plugins désactivés, installez le plugin dépublication, véroifiez la configuration du plugin, videz le cache et rendez-vous sur la page d’un article déjà publié. Dites moi si cette fois ça marche !

    Répondre à ce message

  • 2

    SPIP 3.1.1 [22913], Dépublie 1.2.3, Sarka-SPIP 3.4.6
    test de compatibilité du Dépublie 1.2.3 pour spip 3.1 ... Compatible

    Installation plusieurs fois
    1/ à partir du dépot par téléchargement et
    2/ par dépot par ftp du fichier

    MAIS
    Configuration du plugins
    Erreur SQL 1146
    Table ’amitiefrwemada2.spip3021a_depublies’ doesn’t exist

    /home/amitiefrwe/www/site/ecrire/public/composer.php

    calculer_select() sql_select() ;

    Ligne 1005

    Vérification avec phpMyAdmin... la table n’existe effectivement PAS

    Merci de votre attention

    Avez vous une solution à me proposer ?

    MERCI

    • Si un plugin ne semble pas s’installer ou l’installation a échoué, dans ce cas il faut faire croire qu’il est désinstallé pour pouvoir relancer l’installation.
      Essayez en cliquant sur le bouton « désinstaller » qui permet de vider la table spip_meta ou demander à faire une réparation de la base bouton maintenance du site.

    • Merci de votre rapide réponse

      J’avais essayé cette désintallation et re installation .. sans succès.. trois fois de suite sur un seul site

      Du coup j’ai essayé sur deux sites spip différents avec la même version de spip et la même version de depublie... mais avec deux bases de données différentes, spip chez OVH en php 5.6.17 (vérifié)
      et
      Dommage pour moi
      TOUJOURS la table ne se construit pas

      Y a t il un fichier à lancer en php... directement..... j’ai bien trouvé un base/depublication_install.php... j’essaye de le lancer... mais toujours page blanche

      Une Idée ??

      MERCI de votre patience et de votre aide

      MB

    Répondre à ce message

  • 4

    Hello.

    Merci pour ce plugin, qui fonctionne bien. Il me pose cependant un problème annexe : si je veux changer la date de publication d’un article, ça me met « format date incorrecte » pour la date de dépublication. Voir image ci-jointe.

    Méthode de contournement : je décoche puis recoche la case « Ne pas utiliser la date de dépublication ». Mais ce n’est pas très intuitif pour les autres auteurs du site.

    J’ai tenté de modifier la valeur par défaut pour date_depublie dans la table spip_depublies et de lui mettre une datetime valide (au lieu de 0000-00-00 00:00:00) mais ça ne change rien.

    Avez-vous une piste ou une solution ?
    Versions : SPIP 3.0.21, Dépublie 1.1.7.

    Merci d’avance.

    1138.

    • grr, j’ai perdu mon message à la connexion …

      Bonjour,
      j’essaierai de voir ça mais la solution c’est de
      faire vos mises à jour, ce plugin a été porté en SPIP3.1 !
      Un spip_loader.php à la racine de votre site suffit si vous n’avez pas de plugins spécifiquement créé pour votre site, ensuite mettez à jour vos plugins !

    • Je mettrai le site de production à niveau vers Spip 3.1 quand j’aurai bien testé si tout fonctionne. Mon employeur ne serait pas content si je casse tout. ;-)

    • Ok, ce sera une bière dans ce cas :)
      http://zone.spip.org/trac/spip-zone/changeset/95767
      Réparé normalement avec 1.1.8

    • Merci beaucoup ! 👌

    Répondre à ce message

  • 2

    Hello,

    j’ai la version 1.2.2 de ce plugin avec SPIP 3.1 et j’ai du le désactiver car il empêche de changer la date d’un article.
    Message d’erreur : Il y a 3 erreurs dans votre saisie, veuillez vérifier les informations.
    Date de publication en ligne

    je voulais juste change le mois.

    dd

    • Je viens de vérifier avec différents articles, avec ou sans dépublication, tout fonctionne comme attendu chez moi.
      Le plugin affiche le message « Message d’erreur : Il y a 3 erreurs dans votre saisie, veuillez vérifier les informations. » mais aussi les détails de l’avertissement …

      « La date de dépublication doit être supérieure à la date de publication ».

      Merci de regarder si c’est bien de cela qu’il s’agit !

    • Bonsoir,
      Alors je l’ai ré-installé et fait des tests.

      Je pense que le problème venait du fait que j’avais indiqué dans l’admin des Identifiants de rubrique(s) ET des Identifiants de rubrique(s) qui se chevauchaient ou n’existaient plus.
      (j’ai bougé des rubriques il y a quelques temps)

      En tout cas merci cela refonctionne et je ne reproduis plus l’erreur.
      http://snag.gy/OIBIs.jpg

      dd

    Répondre à ce message

  • 8
    obiwanriko

    Merci pour la mise à jour. Elle s’est déroulé sans problème depuis l’interface de spip.
    le choix par secteur marche correctement.
    Un petit retour d’utilisateur après quelques jours d’utilisation :
    -  La différence avec la ligne supérieur « date de publication » n’est pas évidente, beaucoup d’utilisateurs se trompent et clique sur cette dernière et change la date de publication au lieu de créer une date de dépublication. Peut-être qu’un changement de couleur en rouge foncé suffirait à différencier ces lignes ?
    -  Lorsqu’un jour est choisit l’heure se met à 00:00, la question qui revient est : la dépublication se fait à minuit du jour en cours ou se fait-elle au jour suivant ??? j’avoue avoir été incapable à répondre, ...

    • Tant mieux si tout fonctionne comme prévu.

      #todo J’essaierai de différencier les deux dates, les débutants sont de bons testeurs !

      Pour l’imprécision de l’heure, le système automatique des tâches à accomplir se lance 2 fois par jour (si il y a une visite) à un instant T.
      Il vérifie les objets à dépublier et si la date_depublie est inférieure ou égale à T, il dépublie. Si un objet est à dépublier à 12h, il se peut donc que le cron ne passe qu’à 18h lui en donner l’ordre !

      Je ne sais pas quel serait l’usage d’un timing précis, si vous me donnez un bon exemple, on pourrait demander au marchand de sable de passer plus souvent, ce n’est pas très dur d’augmenter la fréquence du cron.

      Vous avez sinon ecrire/?exec=job_queue pour tester et lancer manuellement le cron qui depublie.

    • Bonjour Touti,

      Merci pour cet outil qui est parfait dans la gestion des films d’un cinéma :
      -  www.crcatb.fr
      -  j’utilise le plugin Séances qui permet de gérer les séances pour chaque film (article)
      -  le plugin Dépublie me permet de gérer la mise à la poublelle des films qui n’ont plus de séances

      Mais il y a un bug : la dépublication se fait par rapport à la date sans tenir compte de l’heure choisie :
      -  un article possède une date de dépublication aujourd’hui à 20h
      -  je force la tâche cron Tâche CRON depublier à 10h
      -  l’article est mis à la corbeille :-((( alors qu’il ne devrait pas être dépublié avant 20h

      Merci pour ton aide,
      françois

    • Bonjour graphie,

      Effectivement, comme tu le vois sur la ligne suivante
      http://zone.spip.org/trac/spip-zone/browser/_plugins_/depublie/genie/depublier.php#L16

      les dates entrées sont de forme Y-m-d, alors que pour ce que tu souhaites (mais aussi par rapport à l’interface proposée) il faudrait que les dates à tester pour la dépublication soient de la forme « Y-m-d H:i:s »

      Essaie si tu peux, je n’ai pas le temps de suite.

    • Merci beaucoup pour le tuyau Touti ;-)
      J’y jette un coup d’œil et te tiens au courant.

      François

    • Il faudra également que tu augmentes et testes le décelnchement du CRON !
      Car celui-ci ne se fait que 2 fois dans la journée.
      http://zone.spip.org/trac/spip-zone/browser/_plugins_/depublie/depublie_pipelines.php#L213
      remplacer
      $taches['depublier'] = 60*60*12; // 2 fois par jour
      par
      $taches['depublier'] = 3600; // toutes les heures

    • OK : tout semble fonctionner ;)

      Voici les modifs sur le fichier http://zone.spip.org/trac/spip-zone... :

      Ligne 13 remplacer :
      date('Y-m-d');
      par
      date('Y-m-d H:i:s');

      Ligne 16 remplacer :
      "%Y-%m-%d"
      par
      "%Y-%m-%d %H:%i:%s"

      Pour la tâche CRON, j’ai utilisé un délai court de 30 minutes : peut-être que ce délai pourrait faire partie des éléments configurables et de 12h par défaut ?

    • Je prends le file en cours de route.
      Les heures de dépublcation ne sont pas pris en compte pour l’instant donc ?
      Ça sera prévu dans une prochaine version ?

    • Bonjour,

      Il semble que Touti ait fait la modif il y a quelques semaines :
      http://zone.spip.org/trac/spip-zone/browser/_plugins_/depublie/branches/v1/genie/depublier.php?order=date&desc=1

      Donc soit tu récupères la source sur le Trac (le lien ci-dessus), soit tu appliques les modifs des 2 lignes que je détaille juste au dessus (pas compliqué ;)

    Répondre à ce message

  • 3
    obiwanriko

    Merci d’avoir republié ce plugin pour spip 3.1
    J’ai donc récupéré la dernière version 1.2.0
    Ne marche toujours pas sous spip 3.1 en ce qui me concerne :
    J’ai essayé plusieurs manipulations :
    -  activer ou désactiver le plugin
    -  Désinstaller et réinstaller le plugin
    -  vider le cache
    ....

    Mais rien à faire la ligne et le formulaire « date de dépublication » n’apparaissent toujours pas...
    Alors que le plugin n’est plus listé comme incompatible...

    Merci d’avance pour toute aides

    • Bonjour,
      J’ai exactement le même problème. J’ai deux sites à jour utilisant :
      Sarka-SPIP 3.4.6 [93498]
      SPIP 3.1.0 [22707]
      PHP 5.2.17
      Ce problème est plus prégnant sur un des deux sites, où il y a des infos d’actualité qu’on fait disparaître sous un mois.
      Merci de ce que vous pourrez faire pour corriger ce problème (pour moi, ce plugin est un « indispensable »).

    • Bonjour,

      Merci pour cette version 1.2.2 qui corrige le problème rencontré.

      Cordialement.

    • obiwanriko

      Bonjour et un grand merci !
      la version 1.2.2 corrige le problème = tout remarche correctement

    Répondre à ce message

  • 7
    obiwanriko

    HELP !
    Problème sous spip 3.1 (non détecté en test local) la date de dépublication n’apparait plus dans les page d’édition des articles (sous la date de publication) alors que le plugin est normalement activé et n’est pas listé comme incompatible par SPIP 3.1
    Merci d’avance pour toute aide

    • Avez vous bien paramétré le plugin ?
      (sinon je testerai demain)

    • obiwanriko

      Je n’ai pas changé la configuration qui était enregistré avant le passage en spip 3.1

    • La dernière version zippée ne devrait pas tarder …

      « Les </ul> sont maintenant devenus des </div> dans les formulaires, ce qui fait que le formulaire de dépublication n’apparaissait plus.
      modif de la regex du preg_replace <!--extra--> et on passe en <div> le formulaire de dépublication.
       »

      ++

    • obiwanriko

      Super merci !
      Je guette la version ZIP ou alos la mise à jour sera-t-elle disponible depuis la page de configuration des plugins ?

    • Je viens d’installer la 1.2.0 pour 3.1 mais cela ne marche toujours pas, le champs de dépublication m’apparaît toujours pas.

    • Cela marche de nouveau avec la version 1.2.1 pour SPIP 3.1
      Merci Touti pour le correctif rapide !

    • obiwanriko

      Bonsoir
      Comment avez-vous pu récupérer la 1.2.1 ?
      Je n’ai pas de mises à jour d’afficher sur la page de Gestion des plugins...

    Répondre à ce message

  • 2

    Bonjour

    Installé ce plugin sur SPIP 3.0.17 [21515]
    l’installation est ok, mais quand je désire indiquer une date ne serait-ce que pour changer date de parution, voici ce qu’il m’affiche (voir ci-dessous)
    En espérant que cela n’est pas trop grave docteur :-)

    • Bonjour,
      peux tu vérifier dans ta base de données si la table spip_depublies existe ?
      Si oui, c’est que le plugin a été désactivé et que la table n’est plus prise en compte.
      Si non, il faut reprendre l’installation du plugin qui s’est curieusement mal passée.

    • Bonjour

      Réinstallé le plugin et cela fonctionne :-)
      J’aurais du effectuer ce type d’opérations avant de venir poster mon précédent post
      En tout cas, merci de ta réactivité

      Denis

    Répondre à ce message

  • Bonjour,

    j’ai installé le plugin dépublie 1.1.2 que j’utilise sous spip 3.0. Les articles sont correctement dépubliés mais les événements associés à ces articles restent quant à eux sous le statut « publié ». De fait, les infos de ces événements restent affichées. J’aimerai que les événements se dépublient en même temps que les articles (dc que les événements prennent le même statut que les articles quand ceux-ci se dépublient) mais je ne sais pas comment l’écrire ni sur quel fichier. Quelqu’un peut il éclairer ma lanterne, svp ?

    Merci d’avance

    Répondre à ce message

  • 4

    Hello

    J’ai changé quelques trucs aujourd’hui pour :

    -  que le plugin n’ai pas réellement besoin de configuration pour fonctionner ;
    -  qu’il puisse s’appliquer sur tout le site par défaut ;

    Je poste donc ce message principalement pour recevoir les commentaires, histoire de déboguer si problème il y a

    • Hello,

      Un premier retour :
      lorsque ce plugin (dernière version) est activé j’ai une erreur sur la page de modification d’événement :
      1 Erreur SQL 1054
      Unknown column ’id_rubrique’ in ’field list’
      SELECT id_rubrique,id_secteur FROM spip_evenements WHERE id_evenement = 621

      merci
      dd

    • c’est une incompatibilité avec le plugin agenda, je viens de la corriger avec la version depublie 1.1.1

    • Très bien merci, cela semble OK maintenant

      dd

    • l’extension a tous les objets spip est une bonne chose mais il faudrait :

      • que l’on puisse sélectionner les objets sur lequel on veut activer. sinon dès qu’un objet possède un champs date, on a le champs qui apparait.
      • il faut affiner les autorisations. Sur certains objets, on n’a pas toujours une rubrique sous la main et cela provoque des erreurs SQL lors du calcul des droits

    Répondre à ce message

  • 2

    Hello,

    Après activation du plugin, mes tentatives de modifier la date de publication en laissant coché « Ne pas utiliser la date de dépublication » entraînent une erreur

    Warning: mktime() expects parameter 4 to be long, string given in .../public/prive/formulaires/dater.php on line 227
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/brubel/public/prive/formulaires/dater.php:227) in .../public/ecrire/inc/actions.php on line 89

    Et la modification n’est pas enregistrée en base.

    J’ai commencé à tripatouiller en ajoutant des if (!_request('sans_depublie')){ dans les pipelines, en vérifier et traiter. Cela corrige mon problème mais cela empêche ensuite de supprimer la date de dépublication en cochant la case « Pas de date de dépublication », donc la « correction » n’est pas au point.
    Mon idée est que l’on passe outre le vérifier si la case est cochée et que l’on supprime la dépublication en traiter si une date existe déjà mais que la case est cochée.

    J’espère avoir le temps d’aboutir mais bon, comme j’ai un doute, je signale déjà...

    • Salut Suske,
      Comme je suis à l’initiative de ce plugin et que je suis auteure de cet article je reçois les messages du forum de cette page, par contre, difficile de t’aider car je ne sais pas où en est le plugin.
      Il y a eu des modifs et contributions d’autres développeuses ou développeurs sur le code depuis.

      Amha, mieux vaut passer par le liste SPIP zone (spip-zone chez rezo.net) si tu souhaites des éclaircissements ou une réponse.

      la bise
      touti

    Répondre à ce message

  • 2

    bonjour,

    Merci d’avance pour votre effort et votre temps disponible.

    j’ai essayé d’activer votre plugin sur un SPIP 3.0.7. il est déclaré incompatible.

    avez-vous une idée ?

    merci d’avance.

    • Je ne sais pas pourquoi il y a ce message.
      Dans tous les cas, il est préférable de réaliser les mises à jour de SPIP régulièrement la version actuelle est en SPIP 3.0.16

    • Hello,

      La cause est « simple » : le plugin est indiqué compatible SPIP 3.0.13 et supérieur (http://zone.spip.org/trac/spip-zone...), soit probablement la version SPIP courante au moment de la publication du plugin et c’est très bien ainsi.

      En effet : chaque nouvelle version amène son lot de corrections de bugs identifiés et il se pourrait très bien qu’une version précédente soit dès lors effectivement incompatible, pas par principe (la branche 3.0 de SPIP est supposée avoir des interfaces de programmation stables) mais dans les faits.

      Mais surtout : certaines nouvelles versions bouchent des trous de sécurité dont certains sont importants. Et autant le dire, la version 3.0.7 est concernée par au moins un de ces trous. On ne peut que te conseiller de mettre ton SPIP à jour (version 3.0.17 à la date de ce message) et à continuer dans le futur. Les mises à jour dans la même branche sont d’une grande simplicité pour les sites codés proprement.

    Répondre à ce message

  • 4

    Bonjour,
    est-ce qu’il est possible de trier dans une boucle les articles par date de dépublication ? Merci par avance, ce plugin est super bien !

    • Bonne idée, c’est à rajouter dans le plugin la prochaine fois

      <B_depublier>
      <ul>
      <BOUCLE_depublier(spip_depublies){par date_depublie}>
      <li>[<a href="#URL_ARTICLE{#ID_OBJET}">(#INFO_TITRE{article,#ID_OBJET})</a>] sera dépublié le [(#DATE_DEPUBLIE|affdate)]</li>
      </BOUCLE_depublier>
      </ul>
      </B_depublier>
    • Franchement merci ! Il est vraiment bien ton plugin, parce que des fois utiliser l’agenda c’est trop une usine à gaz et trop complexe à expliquer à une équipe. Là c’est super simple et clair, Merci encore.

    • Bonjour,
      tant mieux si cela te sert ! Je suis curieuse de connaitre la façon dont tu l’utilises, peux-tu l’expliquer ici ? Merci

    • Je l’utilise comme un agenda simplifié. Lors de la création de l’article l’auteur indique la date de dépublication qui correspond à la date de fin de l’événement du site. Une fois cette date passée l’article est dépublié et disparait du site. Cela évite d’avoir un article plus un évènement agenda, ce qui me semble complexe pour une utilisation simple comme expliqué ci-dessus.

    Répondre à ce message

  • 4

    Bonjour touti et merci pour ce portage.

    J’ai besoin de ce module pour dépublier un auteur à une date donnée. Un admin doit renseigner la date dans le backoffice de spip (sa fiche auteur dans l’idéal).
    Mettre l’auteur à un statut visiteur sera parfait.

    Vous dites que ce module « peut être éventuellement étendue aux auteurs ou à d’autres objets par la suite »
    Apparemment il faut modifier genie/depublier.php pour l’étendre aux auteurs ? Que doit-on modifier dans ce fichier ?

    • Bonsoir, pour un autre objet comme par exemple les auteurs, il suffit de remplir les champs de la table spip_depublies avec le couple auteur/id_auteur la date_depublication et le statut que l’auteur prendra :
      Par exemple manuellement si vous utilisez mysql

       INSERT INTO <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9kZXB1YmxpZXM8L2NvZGU+"></span> (
      <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+b2JqZXQ8L2NvZGU+"></span> ,
      <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfb2JqZXQ8L2NvZGU+"></span> ,
      <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3RhdHV0PC9jb2RlPg=="></span> ,
      <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGF0ZV9kZXB1YmxpZTwvY29kZT4="></span> ,
      <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bWFqPC9jb2RlPg=="></span>
      )
      VALUES (
      'auteur', '2', 'poubelle', '2014-02-11 20:00:00',
      CURRENT_TIMESTAMP
      )

      Je viens d’essayer, ça marche très bien.
      Il faut donc fabriquer le code php pour entrer/modifier ces champs avec une interface de formulaire sur la page des auteurs, ce qui n’existe pas à l’heure actuelle.

    • Merci touti pour cette réponse.
      Hélas les admins du site n’ont pas la connaissance suffisante pour modifier manuellement la base sql lorsqu’ils auront besoin de modifier un auteur. Le risque est trop important.
      De mon côté je ne sais pas coder en php...
      Avez-vous la possibilité de le coder ?

    • Bonsoir V1nce,
      je n’ai actuellement pas l’usage ni trop le temps de faire ces ajouts de code dans le SAD ;)

    • Lorsque j’ai cherché longuement un module capable de faire une dépublication d’auteur (avec statut visiteur), j’ai vu que pas mal de spipnautes en avaient également l’usage sur différents forums. Pourtant depuis le plugin dépublication de Julien, aucun portage en spip 3 n’avait été fait. Cela comblerai pourtant une demande importante et un élément majeur de spip (la gestion plus fine des auteurs).

      Ton module semble le plus adapté à cette évolution car il manque peu de choses comme tu l’indiques pour l’ajout de cette fonction.
      Si un dev php ou toi-même arrivez à trouver le temps pour réaliser cette mise à jour, ce serait vraiment une sacré bonne évolution.
      Merci en tout cas pour tes réponses rapides.

    Répondre à ce message

  • 2
    obiwanriko

    @touti
    Donc si je comprend bien votre post de 11:19, seule le webmestre a accès à cette fonction, donc au bouton changer ?
    Pas moyen que ce soit accessible aux admin restreint donc ...

    • Regardez bien l’image dans l’article, il y a un seul bouton « Changer » et je viens de tester en admin restreint il fonctionne très bien.

    • obiwanriko

      Effectivement ! Je viens de vois avec mes utilisateurs... et j’ai compris !
      Ils créent l’article, l’éditent, lui attachent un logo et un évènement et ils veulent ensuite lui affecté sa date de dépublication. Or à ce stade il y a une seule ligne qui dit « date de création » !!!
      Et effectivement à ce stade pas de bouton changer !!!!
      La mise en ligne fait bien aparaître les dates de dépublication et le bouton Changer...

      Donc pas de bug, juste un petit soucis de façon de mettre en ligne.

    Répondre à ce message

  • 1
    obiwanriko

    Un nouveau retour...
    La fonction dépublie n’est accessible qu’au Webmestre principal ?
    Car j’ai montré cette fonction sur mon poste et une fois devant leur poste et authentifié avec leurs info, les administrateurs restreints ne peuvent voir le bouton changer à droite de la ligne création/publication de l’article... normal ?

    • Vous parlez du bouton « Changer » qui en administrateur restreint ou en webmaster principal est le même et l’unique bouton puisque c’est un formulaire qui gère publication et dépublication !

    Répondre à ce message

  • 4
    obiwanriko

    Bonjour et surtout MERCIIIIIII pour avoir porté ce plugin que j’attendais depuis longtemps. Il fonctionne bien chez moi pour l’instant, j’attends de vois si le « CRON » marche correctement. Par contre une remarque : il s’agit de la ligne « Choisir la (ou les) rubrique(s) pour y afficher le formulaire : Identifiant(s) séparé(s) par des virgules » dans la configuration.
    Il faut saisir toutes les rubriques si on veut que ce plugin s’affiche dans tous le site ?
    C’est fastidieux car dans un gros site comme celui que je gère c’est pas évident exemple ma première tentative donne déjà un champ rempli ainsi : « 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,340,476,495 » et ce n’est que le début.
    Ais je mal compris quelque chose ?

    • Je vais voir ce que je peux faire !

    • obiwanriko

      Merci d’avance et encore merci !!!! :-)

    • On peut dorénavant choisir le secteur dans lequel le formulaire de dépublication s’affiche, du coup, tous les articles du ou des secteurs choisis afficheront le formulaire,
      le plus dur a été de simplifier la sémantique du formulaire !

      Si urgence, le plugin est en SVN http://zone.spip.org/trac/spip-zone/changeset/80271,
      le zip ne devrait pas tarder !

    • obiwanriko

      Mille mercis ! Je vais attendre le zip car quand j’essaie de mettre à jour les plugins en SVN... gloupsss... ça foire souvent...

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour le portage ! :)
    Petite question, j’ai spécifié une rubrique (256), un statut « poubelle » dans la config de depublie, créé un article dans 256, en mettant un jour et une heure précise ... Mais l’article ne bouge pas de statut ...
    J’ai oublié quelque chose ?

    SPIP 3.0.13 [20962] + écran de sécurité 1.1.8

    • En effet, merci de la remarque, le plugin est initialement prévu pour des dépublications journalières (le cron passe deux fois par jour), je vais y ajouter l’heure dès que j’ai un peu de temps !
      #todo

    • Bonjour,
      Merci pour la réponse, et désolé pour la mienne un peu tardive ;)

      Donc je n’ai plus besoin de chercher ... Autre question, comment je fais pour le plugin soit actif sur tout le site ?

      Je viens de tester, et ça marche quand la rubrique est identifiée dans les paramètres du plugin, mais ça s’arrête à la rubrique. C’est à dire que les sous rubriques ne sont pas automatiquement ajoutées dans la configuration du coup ... Donc pour faire court, si je veux utiliser le plugin, je dois mettre tous les id de toutes les rubriques dans la config ???

    Répondre à ce message

  • 6

    Bonjour,
    J’ai activé avec intérêt ce plugin ;-)
    Malheureusement dès que je change le statut de l’article à « Publier », j’obtiens le message suivant
    Une idée ?

    • Bonsoir,
      il semble qu’il n’y ait pas de id_rubrique dans la requête SQL mais
      je ne vois pas d’où peut venir ce problème. Pouvez vous me donner plus de détails : version SPIP, page exacte…

    • Bsr,
      Merci de la réponse rapide
      Mon site est sous SPIP 3.0.13 [20962]
      Cela concerne toutes les créations d’article, donc pas de page spécifique

    • C’est la bonne version stable de SPIP3, ça devrait marcher.
      Mais ce n’est pas très précis !
      Je ne comprends pas ce que veut dire « toutes les créations d’articles » et « pas de page spécifique » ?
      Êtes-vous sur l’URL ecrire/?exec=article pour changez manuellement le statut de l’article à ’publié en ligne’ ?
      Sinon il y a peut-être un plugin qui joue sur le flux en ne renvoyant pas l’id_rubrique, essayez de les désactiver.

    • Dsl,
      ça signifiait que j’’ai essayé en créant plusieurs nouveaux articles dans des rubriques différentes avec l’URL ecrire/?exec=article
      Je vais tester avec les plugins ...
      Merci

    • Ah, et votre image est tronquée car normalement le message doit indiquer de quel squelette il s’agit.

    • Impossible d’en visualiser plus !
      Le squelette est Japibas, mais même désactivé, l’erreur se produit ...
      Je vais tester avec le reste
      Merci

    Répondre à ce message

  • 1

    Bonjour touti et merci.
    le zip n’est pas présent, est-ce un oubli où c’est volontaire.

    Cordialement

    tofum

    Répondre à ce message

Ajouter un commentaire

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
  • 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 apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom