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é
Une discussion
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
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 : |