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
- http://programmer.spip.net/formulaire_charger
- http://programmer.spip.net/formulaire_verifier,534
- http://programmer.spip.net/formulaire_traiter
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.
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 ».
Discussions par date d’activité
29 discussions
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
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 tablespip_depublies
et de lui mettre une datetime valide (au lieu de0000-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
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
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
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.
Bonjour et un grand merci !
la version 1.2.2 corrige le problème = tout remarche correctement
Répondre à ce message
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)
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.»
++
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 !
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
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
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 :
Répondre à ce message
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
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ésolu] avec http://zone.spip.org/trac/spip-zone/changeset/85977
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 :
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.
Suivre les commentaires : |