[spip-dev] Plugin Archivage de contenus et objets avec enfants

Hello,

J’ai aujourd’hui une version qui tourne bien de ce plugin d’archivage qui n’utilise donc pas le statut de publication mais un champ est_archive pour archiver tout type d’objet qui le souhaite.

Toutefois, le mécanisme est simple et lié uniquement à l’objet choisi.
De fait, si une rubrique est archivée, elle n’est plus affichée comme telle mais ses enfants ne sont pas indiqués comme archivés.

D’ou ma question :
Quelqu’un a-t-il une idée pour traiter ce sujet sachant que si on définit un mécanisme parent vers enfants ça nécessite d’être réversible et donc que l’on ne puisse plus utiliser l’archivage unitaire d’un objet sur les enfants (donc savoir que l’archivage de l’enfant vient de son parent).
Ca me parait assez compliqué voire trop.
Une autre possibilité est de ne pas accepter l’archivage sur les objets avec enfants.

Des idées ?

Eric Lupinacci a écrit le 03/12/2019 à 11:27 :

Hello,

Hello

Une autre possibilité est de ne pas accepter l'archivage sur les objets avec enfants.

Ah non !
On doit pouvoir archiver un article particulier sans que ça archive tous les autres articles de la rubrique.

Rq : c'est ce que fait ce code avec un mot clef Archives, mais ça revient au même avec ton champ
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs/soyezcreateurs_fonctions.php#L766

Re,

Une autre possibilité est de ne pas accepter l’archivage sur les objets
avec enfants.
Ah non !
On doit pouvoir archiver un article particulier sans que ça archive tous
les autres articles de la rubrique.

Faut que tu relises le texte de mon mail : "ne pas accepter d’archiver un objet avec enfants. Donc en l’occurrence ne pas archiver les rubriques mais uniquement leurs enfants comme les… articles.

Rq : c’est ce que fait ce code avec un mot clef Archives, mais ça
revient au même avec ton champ

Oui mais je ne vois pas ce que ça apporte d’en parler puisque c’est la partie qui fonctionne.
Et Archivage de contenus le fait sur tout type d’objet.

Eric Lupinacci a écrit le 03/12/2019 à 15:10 :

Re,

Le mar. 3 déc. 2019 à 14:59, RealET <real3t@gmail.com <mailto:real3t@gmail.com>> a écrit :

     > Une autre possibilité est de ne pas accepter l'archivage sur les
    objets
     > avec enfants.
    Ah non !
    On doit pouvoir archiver un article particulier sans que ça archive
    tous
    les autres articles de la rubrique.

Faut que tu relises le texte de mon mail : "ne pas accepter d'archiver un objet *avec *enfants. Donc en l'occurrence ne pas archiver les rubriques mais uniquement leurs enfants comme les... articles.

Effectivement,
Toi : tu donne le statut est_archive à une rubrique -> c'est la rubrique qui est archivée, mais pas ses articles
Moi : puisque qu'une rubrique au sens de SPIP est avant tout un conteneur pour du contenu (Articles, Sites...), le statut Archive donné à une rubrique n'a aucune influence sur elle, mais est hérité à ses contenu (en l'occurrence avec mon code, seulement aux articles)

On n'a pas la même logique.

Et je dois avouer que je ne comprends pas ce qu'une rubrique archivée signifierait, alors que ses articles ne serait pas archivés (ni ses sous-rubriques...)
Donc, ton idée de ne pas pouvoir mettre le statut Est_Archive à une rubrique (parce qu'elle peut avoir des enfant) est probablement pertinente.

Mais pas pratique si on a besoin d'archiver tous les articles d'une rubrique.

    Rq : c'est ce que fait ce code avec un mot clef Archives, mais ça
    revient au même avec ton champ

Oui mais je ne vois pas ce que ça apporte d'en parler puisque c'est la partie qui fonctionne.
Et Archivage de contenus le fait sur tout type d'objet.

cf réponse plus haut.

Re,

Faut que tu relises le texte de mon mail : "ne pas accepter d’archiver
un objet *avec *enfants. Donc en l’occurrence ne pas archiver les
rubriques mais uniquement leurs enfants comme les… articles.
Effectivement,
Toi : tu donne le statut est_archive à une rubrique → c’est la rubrique
qui est archivée, mais pas ses articles
Moi : puisque qu’une rubrique au sens de SPIP est avant tout un
conteneur pour du contenu (Articles, Sites…), le statut Archive donné
à une rubrique n’a aucune influence sur elle, mais est hérité à ses
contenu (en l’occurrence avec mon code, seulement aux articles)

On n’a pas la même logique.

Mais non, ce n’est pas une question de logique, c’est un état de développement.
Pour l’instant, le plugin fait juste un archivage unitaire.
Pour les rubriques ou autres objets avec enfants je pose justement la question de ce qui serait le plus pertinent et aisé de proposer.
Donc je n’ai pas de solution a priori, je demande des idées.

Et je dois avouer que je ne comprends pas ce qu’une rubrique archivée
signifierait, alors que ses articles ne serait pas archivés (ni ses
sous-rubriques…)
Donc, ton idée de ne pas pouvoir mettre le statut Est_Archive à une
rubrique (parce qu’elle peut avoir des enfant) est probablement pertinente.

Mais pas pratique si on a besoin d’archiver tous les articles d’une
rubrique.

Oui mais on peut voir les choses de façon plus ou moins complexe.
Soit on fournit juste une action qui dit archiver l’objet et ses enfants et l’inverse sans se préoccuper ensuite de ce que l’on peut faire unitairement, soit on conserve l’information de l’archivage du parent et on évite d’agir n’importe comment sur les enfants, ce qui est plus complexe.

C’est de ça que je voudrais discuter dans ce fil.