[spip-dev] Cron supprimant des articles publiés

Quelqu'un peut-il m'expliquer comment ça marche ?
C'est censé enlever régulièrement les articles mis à la poubelle, c'est ça ? Mais sur quelle base ?

Parce qu'en fait j'ai créé avec un plugin deux articles dont la seule différence avec les autres était qu'ils avaient comme id_rubrique "-1". C'est-à-dire pas de rubrique.
Ces articles étaient PUBLIES. Ça s'affichait bien dans l'interface et j'ai vérifié le statut dans la base de donnée.

Et bien de manière aléatoire, ce genre d'article est supprimé au bout d'un moment !! Ça peut reste plusieurs jours comme ça, puis HOP.

Voici le seul log qui a pu être donné :

"""""""""""""""""""""""""""""""""""""""
Oct 02 12:51:22 127.0.0.1 (pid 6139) debut d'optimisation de la table spip_auteurs_messages
Oct 02 12:51:22 127.0.0.1 (pid 6139) fin d'optimisation de la table spip_auteurs_messages
Oct 02 12:51:22 127.0.0.1 (pid 6139) Numeros des entrees id_article supprimees dans la table spip_articles: 8,9
Oct 02 12:51:22 127.0.0.1 (pid 6139) Numeros des entrees id_article supprimees dans la table spip_auteurs_articles: 8,9
Oct 02 12:51:22 127.0.0.1 (pid 6139) cron: optimiser (0.088s) -1222909169
"""""""""""""""""""""""""""""""""""""""

What the ... ?
Quels tests pourrais-je faire ?

Quelqu'un peut-il m'expliquer comment ça marche ?
C'est censé enlever régulièrement les articles mis à la poubelle, c'est ça ?
Mais sur quelle base ?

oui ça élimine les articles liés à une rubrique inexistante, c'est
dans genie/optimiser

Parce qu'en fait j'ai créé avec un plugin deux articles dont la seule
différence avec les autres était qu'ils avaient comme id_rubrique "-1".
C'est-à-dire pas de rubrique.
Ces articles étaient PUBLIES. Ça s'affichait bien dans l'interface et j'ai
vérifié le statut dans la base de donnée.

hum... peut-être que ça optimise trop fort

-- Fil

Fil a écrit :

hum... peut-être que ça optimise trop fort

Ben mon besoin, pour le plugin "pages uniques" c'était de pouvoir créer des articles qui ne sont rattachés à aucune rubrique. Donc en gros pour "id_rubrique" c'était soit 0 soit -1. Avec 0 ça marchait pas trop en s'insérant en pipeline dans l'existant, car lorsque l'on met "id_rubrique=0", automatiquement SPIP remplace par la dernière rubrique utilisée. En revanche avec -1, ça marche plutôt bien (à part que la barre de chemin merde, j'avais fait un mail là-dessous d'ailleurs).

Est-il possible de modifier un peu l'optimisation ? Pour bien optimiser malgré tout, il suffirait de continuer de supprimer les articles étant dans des rubriques inexistantes SAUF si la rubrique est inférieure ou égale à zéro.

Merciiii.

Est-il possible de modifier un peu l'optimisation ? Pour bien optimiser
malgré tout, il suffirait de continuer de supprimer les articles étant dans
des rubriques inexistantes SAUF si la rubrique est inférieure ou égale à
zéro.

ou plutôt sauf si le statut des articles est proposé/publié

fais un ticket+patch stp

Bonjour,

Il sera pas mal de modifier l'aide alors pour les articles ayant le
statut "à la poubelle" si celui ci est supprimé de la BD

actuellement :

Un article « à la poubelle » n'est plus visible dans l'espace privé,
même par les administrateurs. Attention donc, cette option est «
violente » : l'article disparaît complètement.
En réalité, l'article est toujours stocké dans la base de données,
mais devient très difficilement accessible avec les outils de SPIP.

Remplacer par :
Un article « à la poubelle » n'est plus visible dans l'espace privé,
même par les administrateurs. Attention donc, cette option est «
violente » : l'article disparaît complètement.
L'article est supprimé de la base de donnée, il n'est plus accessible.

Je me trompe peut etre ?

* André Payan tapuscrivait, le 02/10/2008 13:48:

Bonjour,

Il sera pas mal de modifier l'aide alors pour les articles ayant le
statut "à la poubelle" si celui ci est supprimé de la BD

actuellement :

Un article « à la poubelle » n'est plus visible dans l'espace privé,
même par les administrateurs. Attention donc, cette option est «
violente » : l'article disparaît complètement.
En réalité, l'article est toujours stocké dans la base de données,
mais devient très difficilement accessible avec les outils de SPIP.

Remplacer par :
Un article « à la poubelle » n'est plus visible dans l'espace privé,
même par les administrateurs. Attention donc, cette option est «
violente » : l'article disparaît complètement.
L'article est supprimé de la base de donnée, il n'est plus accessible.

Si, il est visible via le menu "tout le site".
Il faut alors cocher "articles à la poubelle" dans les statuts sur la gauche. Et valider.

Oui ça je suis ok, mais si par la suite l'article est supprimé de la
base par la balise cron, celui ci n'est plus accessible aussi par
"tout le site"...

et pourquoi ne fais tu pas une rubrique -1 ?

cedric.morin@yterium.com a écrit :

et pourquoi ne fais tu pas une rubrique -1 ?

Si le plugin crée une rubrique "-1", apparaitraît-elle dans les divers endroits des parties privé et publique ?
Le but est que non, bien sûr.

RastaPopoulos a écrit :

cedric.morin@yterium.com a écrit :

et pourquoi ne fais tu pas une rubrique -1 ?

Si le plugin crée une rubrique "-1", apparaitraît-elle dans les divers endroits des parties privé et publique ?
Le but est que non, bien sûr.

--
RastaPopoulos

Sauf si tu affecte à cette rubrique "-1", un id_parent -1. En tout logique il ne devra pas être visible. A moins que le personne précise dans une boucle {id_parent=-1}. Et dans ce cas, à la limite il n'est plus réellement nécessaire que la rubrique soit à "-1", à moins que tu veux vraiment qu'il vraiment pas visible (même si il reste visible si quelqu'un connais son id ou son id_parent). N'empêche si tu l'affecte volontairement l' id_rubrique à "-1", ça poserait pas problème pour d'autres plugins qui potentiellement auraient besoin d'une rubrique d'id "-1" ?

Cordialement,
GUIOUBLY William

cedric.morin@yterium.com a écrit :

et pourquoi ne fais tu pas une rubrique -1 ?

Après test, une rubrique d'id "-1" est affichée comme toutes les autres rubriques classiques. Or le but est de laisser la possibilité de créer des articles placés dans aucune rubrique.

Vu qu'une rubrique d'id "-1" n'a pas de sens dans SPIP, ça me paraît donc plus logique de modifier très légèrement le fichier d'optimisation pour ne prendre en compte que les rubriques ayant un ID > 0.

Et HOP, le patch tout prêt :
http://trac.rezo.net/trac/spip/ticket/1549

André Payan a écrit :

Si, il est visible via le menu "tout le site".
Il faut alors cocher "articles à la poubelle" dans les statuts sur la
gauche. Et valider.

Oui ça je suis ok, mais si par la suite l'article est supprimé de la
base par la balise cron, celui ci n'est plus accessible aussi par
"tout le site"...

Ben oui logiquement, ah moins d'avoir fait un dump de la base avant suppression de l'article et la restaurer par la suite. De toute façon le principe qu'un article soit supprimé ... c'est qu’il ne soit pas supprimé ... pas qu'ils polluent la base d'articles supprimé pour une raison donnée. A moins que tu juges la durée de 24 heures avant suppression d'un article à la poubelle trop court ?!? (Durée que je juge suffisant et correcte).

Cordialement,
GUIOUBLY William

Si je comprends bien alors si l'on met un article à la poubelle après
24h, celui ci n'apparait plus depuis l'interface de spip mais il reste
accessible depuis la base de donnée, c'est bien ça ?

André Payan a écrit :

Si je comprends bien alors si l'on met un article à la poubelle après
24h, celui ci n'apparait plus depuis l'interface de spip mais il reste
accessible depuis la base de donnée, c'est bien ça ?

Non, c'est l'exact contraire.
Quand on met un article à la poubelle, il devient immédiatement invisible dans l'espace privé, mais reste dans la base.
Puis au bout d'un certain temps, le CRON l'efface de la base.

Ok, merci c'est ce que je voulais savoir.

Martin Arnaud a écrit :

Ça me semble assez casse-gueule de se mettre à intégrer dans le core des bidouilles pareilles (articles sans rubriques, identifiants négatifs...).

Pour les identifiants négatifs, je suis du même avis que toi. Si je pouvais mettre 0 ce serait parfait, et ça suivrait la "sémantique" des ids.

En revanche, pour les articles sans rubriques, le but n'est pas que ce soit dans le core. C'est toujours le même principe : le but est de *laisser la possibilité* de...

En l'occurrence, je tente de faire un plugin qui permettrait de créer des articles n'étant dans aucune rubrique. Ce serait donc des articles d'un type particulier : des pages uniques.

Booz me disait que ce n'était pas des articles, et donc peut-être de faire un autre objet. Mais non. Car le sens de cet objet est bien d'être un article, avec les mêmes champs, les mêmes options, les mêmes statuts, le même "workflow", le même formulaire... à la seule différence que ces articles n'auraient pas de rubrique.

Franchement, à ce niveau poussé de similitude, il serait quand même un peu bête de devoir recréer toute une infrastructure pour un nouvel objet, pour gérer la même chose de la même manière.

Donc je réitère : j'essaye de trouver une modification non pas pour mettre quoi que ce soit dans le core, mais pour *laisser la possibilité de...*

RastaPopoulos a écrit :

Martin Arnaud a écrit :
En l'occurrence, je tente de faire un plugin qui permettrait de créer des articles n'étant dans aucune rubrique. Ce serait donc des articles d'un type particulier : des pages uniques.

Et pourquoi ne pas gérer un secteur "sans rubrique" dans les squelettes ?

JL