Roadmap #3844

Gérer la parenté dans la déclaration d'un objet éditorial.

Ajouté par marcimat 🌈 il y a environ un an. Mis à jour il y a 16 jours.

Statut:NouveauDébut:23/10/2016
Priorité:NormalEchéance:
Assigné à:-% réalisé:

0%

Catégorie:compilo
Version cible:3.2

Description

Cf. la proposition d'ajouter :

'parent' => array('type' => 'rubrique', 'champ' => 'id_rubrique'),

Cela permettra donc de gérer mieux différents codes dans SPIP (hiérarchies, parents sur formulaires d'édition, urls arborescentes).

Voir : #2842 , #2743


Demandes liées

Lié à SPIP - Evolution #2842: Gestion unifiée du champ id_parent pour les objets dans l... Nouveau 05/09/2012
Lié à SPIP - Anomalie #2743: Un objet ayant un champ id_parent ne peut l'enregistrer v... En cours 01/06/2012

Historique

#1 Mis à jour par marcimat 🌈 il y a environ un an

  • Lié à Evolution #2842: Gestion unifiée du champ id_parent pour les objets dans les rubriques (API objet_get_rubrique) ajouté

#2 Mis à jour par marcimat 🌈 il y a environ un an

  • Lié à Anomalie #2743: Un objet ayant un champ id_parent ne peut l'enregistrer via action/editer_objet.php ajouté

#3 Mis à jour par cam.lafit - il y a environ un an

Salut

En généralisant cette approche est ce que cela bloque le cas où le parent n'est pas une rubrique ?

#4 Mis à jour par marcimat 🌈 il y a environ un an

C'est justement le but. Parce que le cas où le parent est une rubrique, on sait déjà à peu près le gérer (en considérant que si la table a un champ 'id_rubrique' ou 'id_parent' alors son parent est une rubrique). C'est justement si on souhaite dire autre chose qu'on est ennuyé.

#5 Mis à jour par nico d_ il y a 5 mois

Complètement d'accord, et on en aurait bien besoin pour avancer sur le plugin Rang.

Il faudrait pouvoir gérer aussi un objet qui serait son propre parent.

Exemple : une poupée russe dont l'objet parent serait une autre poupée russe :

'parent' => array('type' => 'matriochka', 'champ' => 'id_matriochka_mere'),

#6 Mis à jour par cam.lafit - il y a 5 mois

Salut

Si cela permet aussi de gérer les objets orphelins ça serait bien. Tout les
objets n'ont pas besoin d'avoir de parent. On peut voir le cas avec le
plugin page qui contourne ce comportement.


'parent' => array('type' => 'rubrique', 'champ' => 'id_rubrique',
'requis' => [obligatoire,option,non] ),

#7 Mis à jour par nico d_ il y a 5 mois

Où est ce que tu vois ce code ? je n'en trouve aucune trace sur la zone.

#8 Mis à jour par nico d_ il y a 5 mois

Bon, qu'est ce qui gênerait d'entériner cette spécification, et de l'implémenter dès maintenant ?
On ajouterait juste les clés 'parent' dans les définitions des tables adéquates (articles, rubriques, forums, autres ?)

On ne touche pas au code pour l'instant, ça ne casse rien mais on a au moins une information utilisable.
Ça permettrait déjà de l'utiliser dés maintenant dans des plugins (fabrique, rang...) ou des squelettes.
Ensuite on reprend par étapes le code de HIERARCHIE, et le reste.

Qu'en pensez vous ?

#9 Mis à jour par Peet du il y a 5 mois

À lire les tickets ici et retours sur le forum Dev, je ne vois que des demandes, attentes et retours positifs.

On ajouterait juste les clés 'parent' dans les définitions des tables adéquates (articles, rubriques, forums, autres ?)
On ne touche pas au code pour l'instant, ça ne casse rien mais on a au moins une information utilisable.

ben...go go go :)

#10 Mis à jour par RealET 🔶 il y a 4 mois

À mettre en relation avec #3976 pour le bouton de création rapide d'un mot clé

#11 Mis à jour par Peet du il y a environ un mois

Pour info : j'ai implémenté cette idée dans le plugin RANG.
À l'usage c'est effectivement génial.

voir

déclaration : https://zone.spip.org/trac/spip-zone/browser/_plugins_/rang/trunk/rang_pipelines.php#L36
utilisation : https://zone.spip.org/trac/spip-zone/browser/_plugins_/rang/trunk/inc/rang_api.php#L201
utilisation #2 : https://zone.spip.org/trac/spip-zone/browser/_plugins_/rang/trunk/action/trier_items.php#L39

Keskon attends pour être heureux ?

#12 Mis à jour par nico d_ il y a environ un mois

Ça parait bizarre ce que tu fais là :
https://zone.spip.org/trac/spip-zone/browser/_plugins_/rang/trunk/inc/rang_api.php#L208
$id_objet.' = '.$id_objet

#14 Mis à jour par nico d_ il y a environ un mois

Un plugin minimaliste pour déclarer les parents, à compléter au fur et à mesure.
https://zone.spip.org/trac/spip-zone/changeset/107036

#15 Mis à jour par nico d_ il y a 16 jours

Discussion sur IRC, sur la gestion de plusieurs types de parents pour un objet :

03/11 _ 17:25:54 jluc les objets ne peuvent avoir qu'une seule sorte de parents ?
03/11 _ 17:26:22 jluc les articles peuvent être dans des rubriques mais dans des grappes aussi
03/11 _ 17:26:27 nicod_ c'est à discuter
03/11 _ 17:27:22 RastaPopoulos faut forcément un parent principal
03/11 _ 17:27:31 RastaPopoulos puisque c'est le but de l'utiliser pour les hiérarchies, etc
03/11 _ 17:36:33 nicod_ mais peut être d'autres parents possibles (secondaires) ? à discuter, je n'y ai pas réfléchi plus que ça
03/11 _ 17:47:12 jluc un seul type de parent ça permet surement de simplifier les traitements centraux
03/11 _ 17:47:29 jluc ceux les plus au coeur de spip
03/11 _ 17:51:11 peetdu hmmm...pas l'habitude des forums. Ce serait quoi le parent ?
03/11 _ 17:51:23 peetdu l'article ?
03/11 _ 17:52:25 peetdu ah ben ça peut être n'importe quel objet en fait
03/11 _ 17:54:32 nicod_ un type de parent principal oui, pour des types secondaires je ne sais pas, il peut y avoir un usage (ou pas)
03/11 _ 17:56:29 RastaPopoulos c'est un peu l'idée dans polyhier
03/11 _ 17:56:48 RastaPopoulos ya une rubrique principal et ensuite des classements secondaires
03/11 _ 17:57:11 RastaPopoulos mais pour l'API de déclaration de parents, je ne saisis pas trop ce que signifierait les secondaires, et dans quels cas d'utilisation réels ça serait utilisé

Formats disponibles : Atom PDF

Ajouter une image à partir du presse-papier (Taille maximale: 1,25 Mo)