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
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
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
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
Oups, mauvais lien. Par là https://contrib.spip.net/spip.php?page=identifiants&focus=nom_inscription&mode=1comite&lang=fr
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 »
par
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 :
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 :
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.2v1.3.3 du plugin dépublie est désormais compatible de SPIP3 jusqu’à SPIP4.1NB 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
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
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
Bonjour,
est-ce que l’usage d’une boucle qui ne reprend que les articles publiés à x date n’est pas plus pertinent ? comme, avec le critère
{age}
voir Pense-bête pour le critère
age
Répondre à ce message
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
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 ?
Rien besoin de coder !
Il suffit de faire appel à la magie de SPIP qui récupère toujours le nom du champ en tant que balise, du coup dans le squelette de l’article on met simplement
et on peut utiliser sur cette balise tous les filtres de date SPIP comme
[(#DATE_DEPUBLIE|affdate)]
voir ici https://www.spip.net/fr_article1971.html
Ok merci :)
J’ai toujours un côté feignant et économe de code qui aurait préféré ne pas rajouter une boucle :) mais ca fontionne !
Je ne suis même pas sûr qu’il y ait besoin d’une boucle à part, puisque la jointure est déclarée.
https://zone.spip.org/trac/spip-zone/browser/_plugins_/depublie/trunk/base/depublie.php?rev=107587
Et bien en effet, en jointant sur la table « depublies », c’est suffisant pour récupérer #DATE_DEPUBLIE dans la boucle principale.
Merci Maïeul :p
Non, mais normalement la jointure devrait être automatique, car déclaré à SPIP.
Répondre à ce message
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 ?
Bonjour,
merci de la remarque, c’est une bonne idée qui pallie un manque car au départ le plugin n’intégrait pas l’heure et les minutes.
Je n’ai pas le temps de modifier le code mais si
tu peux participer en ajoutant ton code sur SVN dans SPIP-ZONE
https://zone.spip.org/trac/spip-zone/
et
https://zone.spip.org/trac/spip-zone/browser/_plugins_/depublie/trunk
ce serait sympathique.
++
touti
Répondre à ce message
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 :
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
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 : |