[SPIP Zone] déclencher une action

Bonjour à tous,

Je cherche à déclencher une action (fonction) lors de la mise en ligne d'un article.
Je ne comprends pas trop le principe des pipelines. Venant du monde Drupal (...sorry) je voudrais savoir s'il existe un rapport entre les hooks de Drupal et les pipelines de SPIP.
Au quel cas, existe-t-il un pipeline qui s'ouvre lors de la mise en ligne d'un article (ou brève) par l'admin.
Merci pour vos réponses.
Cordialement
Serge

--
---------------------------------------------------------------
Sites - Applications internet php/mySQL
Multimédia - 3D - video
E-learning : installation de plateformes de formation à distance
Création de modules de formation
Animations Flash pédagogiques, videos, 3D, Réalité virtuelle
Etude de scénario d'apprentissage, Quizz, jeux interactifs

COGICUBE 01 49 82 71 83 http://www.cogicube.fr
---------------------------------------------------------------

oui on peut voir une certaine analogie entre les hooks de drupal et les pipelines de SPIP.
Ces derniers, comme leur nommage l'indique, sont inspirés du pipe unix en ce sens qu'ils font passer un contenu à travers le pipe sur lequel chaque plugin qui se branche peut intervenir.

cf http://programmer.spip.org/Qu-est-ce-qu-un-pipeline

Dans le cas de la modification d'un contenu, les deux pipelines pre_edition et post_edition sont appelés respectivement avant modification en base, et apres modification en base, avec les champs modifiés.
Dans le cas du changement de statut (passage en publie par exemple), un flag action=>'instituer' est présent dans la partie args du tableau associatif passé en argument du pipeline.

cf l'appel dans le cas du changement de statut d'un article :
http://trac.rezo.net/trac/spip/browser/branches/spip-2.1/ecrire/action/editer_article.php#L224

Cédric

Le 25 mai 2010 à 09:36, cogicube SARL a écrit :

Bonjour à tous,

Je cherche à déclencher une action (fonction) lors de la mise en ligne d'un article.
Je ne comprends pas trop le principe des pipelines. Venant du monde Drupal (...sorry) je voudrais savoir s'il existe un rapport entre les hooks de Drupal et les pipelines de SPIP.
Au quel cas, existe-t-il un pipeline qui s'ouvre lors de la mise en ligne d'un article (ou brève) par l'admin.
Merci pour vos réponses.
Cordialement
Serge

--
---------------------------------------------------------------
Sites - Applications internet php/mySQL
Multimédia - 3D - video
E-learning : installation de plateformes de formation à distance
Création de modules de formation
Animations Flash pédagogiques, videos, 3D, Réalité virtuelle
Etude de scénario d'apprentissage, Quizz, jeux interactifs

COGICUBE 01 49 82 71 83 http://www.cogicube.fr
---------------------------------------------------------------

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 25/05/2010 09:36, cogicube SARL a écrit :

Bonjour à tous,

Je cherche à déclencher une action (fonction) lors de la mise en ligne
d'un article.
Je ne comprends pas trop le principe des pipelines. Venant du monde
Drupal (...sorry) je voudrais savoir s'il existe un rapport entre les
hooks de Drupal et les pipelines de SPIP.
Au quel cas, existe-t-il un pipeline qui s'ouvre lors de la mise en
ligne d'un article (ou brève) par l'admin.
Merci pour vos réponses.

Oui c'est un principe similaire. "Pipeline" est utilisé au sens identique à celui des shells unix : la sortie d'une fonction devient l'entrée de la suivante.

Il existe les pipelines "pre_edition" et "post_edition", respectivement avant et après l'enregistrement en base des modifications d'un objet éditorial.

Tu n'as pas de chance, ça fait partie des quelques pipelines pas encore documentés. :slight_smile:

Mais voici comment se compose son argument qui est un tableau associatif :
'data' => le tableau des champs modifiés
'args' => un tableau d'infos :
     'table' => 'spip_articles',
     'id_objet' => l'identifiant,
     'action' => l'action d'où vient l'appel

Toi tu cherches à faire quelques choses lorsque c'est le statut qui est changé (passage en ligne). L'action est donc 'instituer'.

Quand tu t'inscris dans le pipeline, tu vas donc tester :
si $flux['args']['table'] == 'spip_articles'
si $flux['args']['action'] == 'instituer'
et là tu fais tes choses.

(Et maintenant on a presque tout pour ajouter un article sur programmer.spip.org documentant ces deux pipelines.) :slight_smile:

--
RastaPopoulos

RastaPopoulos a écrit :

Le 25/05/2010 09:36, cogicube SARL a écrit :

Bonjour à tous,

Je cherche à déclencher une action (fonction) lors de la mise en ligne
d'un article.
Je ne comprends pas trop le principe des pipelines. Venant du monde
Drupal (...sorry) je voudrais savoir s'il existe un rapport entre les
hooks de Drupal et les pipelines de SPIP.
Au quel cas, existe-t-il un pipeline qui s'ouvre lors de la mise en
ligne d'un article (ou brève) par l'admin.
Merci pour vos réponses.

Oui c'est un principe similaire. "Pipeline" est utilisé au sens identique à celui des shells unix : la sortie d'une fonction devient l'entrée de la suivante.

Il existe les pipelines "pre_edition" et "post_edition", respectivement avant et après l'enregistrement en base des modifications d'un objet éditorial.

Tu n'as pas de chance, ça fait partie des quelques pipelines pas encore documentés. :slight_smile:

Mais voici comment se compose son argument qui est un tableau associatif :
'data' => le tableau des champs modifiés
'args' => un tableau d'infos :
    'table' => 'spip_articles',
    'id_objet' => l'identifiant,
    'action' => l'action d'où vient l'appel

Toi tu cherches à faire quelques choses lorsque c'est le statut qui est changé (passage en ligne). L'action est donc 'instituer'.

Quand tu t'inscris dans le pipeline, tu vas donc tester :
si $flux['args']['table'] == 'spip_articles'
si $flux['args']['action'] == 'instituer'
et là tu fais tes choses.

(Et maintenant on a presque tout pour ajouter un article sur programmer.spip.org documentant ces deux pipelines.) :slight_smile:

Merci à tous les deux.
En effet, voilà une documentation pour ce pipeline.
J'utilise SPIP depuis la version 1.8 et j'arrivais à faire de que j'avais à faire avec les boucles et un peu de php. Je passe à un autre niveau (dev d'un plugin) et je trouve dommage qu'il n'y ait pas plus de doc. C'est une grosse lacune de spip qui m'a fait l'abandonner souvent au profit de Drupal. A quand un livre "SPIP development" ? Je suis sur qu'il y aurait un foisonnement de plugins qui enrichiraient
si il y avait une bonne doc.
Merci pour vos réponses.
Et à bientot, je pense :wink:
Serge

--
---------------------------------------------------------------
Sites - Applications internet php/mySQL
Multimédia - 3D - video
E-learning : installation de plateformes de formation à distance
Création de modules de formation
Animations Flash pédagogiques, videos, 3D, Réalité virtuelle
Etude de scénario d'apprentissage, Quizz, jeux interactifs

COGICUBE 01 49 82 71 83 http://www.cogicube.fr
---------------------------------------------------------------

Bonjour Serge,

en fait il existe un livre qui vient de sortir :
http://www.lulu.com/product/item/programmer-avec-spip/11019986
Tu peux soit l’acheter soit le télécharger (l’acheter c’est mieux ;-))

Au niveau de la documentation sur les plugins et sur les balises je cherche justement à en faire une :wink:

J’ai réussi à faire une balise dans un plug in existant mais je n’arrive pas à lui passer des paramètres donc je suis bloqué sur une première version de l’extension du plugin.

a++

Alex

Le 25 mai 2010 10:34, cogicube SARL <contact@cogicube.fr> a écrit :

RastaPopoulos a écrit :

Le 25/05/2010 09:36, cogicube SARL a écrit :

Bonjour à tous,

Je cherche à déclencher une action (fonction) lors de la mise en ligne
d’un article.
Je ne comprends pas trop le principe des pipelines. Venant du monde
Drupal (…sorry) je voudrais savoir s’il existe un rapport entre les
hooks de Drupal et les pipelines de SPIP.
Au quel cas, existe-t-il un pipeline qui s’ouvre lors de la mise en
ligne d’un article (ou brève) par l’admin.
Merci pour vos réponses.

Oui c’est un principe similaire. « Pipeline » est utilisé au sens identique à celui des shells unix : la sortie d’une fonction devient l’entrée de la suivante.

Il existe les pipelines « pre_edition » et « post_edition », respectivement avant et après l’enregistrement en base des modifications d’un objet éditorial.

Tu n’as pas de chance, ça fait partie des quelques pipelines pas encore documentés. :slight_smile:

Mais voici comment se compose son argument qui est un tableau associatif :
‹ data › => le tableau des champs modifiés
‹ args › => un tableau d’infos :
‹ table › => ‹ spip_articles ›,
‹ id_objet › => l’identifiant,
‹ action › => l’action d’où vient l’appel

Toi tu cherches à faire quelques choses lorsque c’est le statut qui est changé (passage en ligne). L’action est donc ‹ instituer ›.

Quand tu t’inscris dans le pipeline, tu vas donc tester :
si $flux[‹ args ›][‹ table ›] == ‹ spip_articles ›
si $flux[‹ args ›][‹ action ›] == ‹ instituer ›
et là tu fais tes choses.

(Et maintenant on a presque tout pour ajouter un article sur programmer.spip.org documentant ces deux pipelines.) :slight_smile:

Merci à tous les deux.
En effet, voilà une documentation pour ce pipeline.
J’utilise SPIP depuis la version 1.8 et j’arrivais à faire de que j’avais à faire avec les boucles et un peu de php. Je passe à un autre niveau (dev d’un plugin) et je trouve dommage qu’il n’y ait pas plus de doc. C’est une grosse lacune de spip qui m’a fait l’abandonner souvent au profit de Drupal. A quand un livre « SPIP development » ? Je suis sur qu’il y aurait un foisonnement de plugins qui enrichiraient
si il y avait une bonne doc.
Merci pour vos réponses.
Et à bientot, je pense :wink:

Serge

Sites - Applications internet php/mySQL
Multimédia - 3D - video
E-learning : installation de plateformes de formation à distance
Création de modules de formation
Animations Flash pédagogiques, videos, 3D, Réalité virtuelle
Etude de scénario d’apprentissage, Quizz, jeux interactifs

COGICUBE 01 49 82 71 83 http://www.cogicube.fr


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 25/05/2010 10:34, cogicube SARL a écrit :

Merci à tous les deux.
En effet, voilà une documentation pour ce pipeline.
J'utilise SPIP depuis la version 1.8 et j'arrivais à faire de que
j'avais à faire avec les boucles et un peu de php. Je passe à un autre
niveau (dev d'un plugin) et je trouve dommage qu'il n'y ait pas plus de
doc. C'est une grosse lacune de spip qui m'a fait l'abandonner souvent
au profit de Drupal. A quand un livre "SPIP development" ? Je suis sur
qu'il y aurait un foisonnement de plugins qui enrichiraient
si il y avait une bonne doc.

Tu rigoles ou quoi ? :slight_smile:
Tu as suivi le lien de Cédric ?

Il a mis le lien du livre numérique complet à destination des développeurs : "Programmer avec SPIP"
http://programmer.spip.org/

Ce livre collaboratif et *libre* vient d'être édité en version papier. Tu peux donc soit l'acheter soit le lire en ligne et chercher dedans avec un moteur de recherche.
http://programmer.spip.org/Le-livre

D'accord il manque encore des morceaux, mais franchement : plus tant que ça !
Regardes déjà la liste des pipelines déjà documentés :
http://programmer.spip.org/-Liste-des-pipelines-
Ainsi que le reste : la nouvelle API de construction de formulaires (CVT), la structure d'un plugin, etc, etc.

Et sinon pour infos : il y a déjà un foisonnement de plugins qui enrichissent SPIP. Tu ne les vois parfois pas car tous les auteurs n'ont pas forcément déjà documenté leurs plugins sur SPIP-Contrib. Ça peut être par manque de temps, ou par choix (pas envie ou pas le temps de faire le "service après don"). Mais il y a déjà énormément de choses sur l'espace de travail commun : SPIP-Zone.

Bonne recherche !
Et n'hésite pas à poser toutes sortes de questions. :slight_smile:

--
RastaPopoulos

On 25/05/2010 10:34, cogicube SARL wrote:

je trouve dommage qu'il n'y ait pas plus de
doc. C'est une grosse lacune de spip qui m'a fait l'abandonner souvent
au profit de Drupal. A quand un livre "SPIP development" ? Je suis sur
qu'il y aurait un foisonnement de plugins qui enrichiraient
si il y avait une bonne doc.

Comment dire...

C'est justement tout le rôle du site http://programmer.spip.org/ . Il y a une somme de connaissances pour développeurs qui s'y ajoutent progressivement. C'est peut-être encore incomplet, mais il y a eu déjà pas mal de contenu produit. Un livre a même été édité sous licence libre il y a très peu de temps avec le contenu du site : http://programmer.spip.org/Le\-livre avec le PDF mis à disposition qui plus est.

--
MM.

Cool les gars :wink:

C’est vrai que la doc a mis du temps a arriver mais maintenant qu’elle est là on va l’utiliser et peut être aussi l’enrichir, pour aider Matthieu :
"

Les traitements

Pour 2 raisons je n’en parlerai pas :

  • je n’ai toujours pas compris comment ça fonctionne,
  • ce n’est plus très utile depuis que SPIP intègre un mécanisme plus simple appelé « formulaires CVT » (Charger, Vérifier, Traiter) qui s’appuie aussi sur cette fonction, mais de façon transparente.
    "

Par exemple j’essaye de passer des paramètres calculés (#TITRE, #URL_DOCUMENT…) à une balise « générique » mais je sèche aussi je voulais écrire un addon à la doc quand j’aurais trouvé :wink:

A++

Le 25 mai 2010 10:51, Matthieu Marcillaud <marcimat@rezo.net> a écrit :

On 25/05/2010 10:34, cogicube SARL wrote:

je trouve dommage qu’il n’y ait pas plus de
doc. C’est une grosse lacune de spip qui m’a fait l’abandonner souvent
au profit de Drupal. A quand un livre « SPIP development » ? Je suis sur
qu’il y aurait un foisonnement de plugins qui enrichiraient
si il y avait une bonne doc.

Comment dire…

C’est justement tout le rôle du site http://programmer.spip.org/ . Il y a une somme de connaissances pour développeurs qui s’y ajoutent progressivement. C’est peut-être encore incomplet, mais il y a eu déjà pas mal de contenu produit. Un livre a même été édité sous licence libre il y a très peu de temps avec le contenu du site : http://programmer.spip.org/Le-livre avec le PDF mis à disposition qui plus est.


MM.


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

RastaPopoulos a écrit :

Tu rigoles ou quoi ? :slight_smile:
Tu as suivi le lien de Cédric ?

Si, si mais je n'arrivais pas comprendre le fonctionnement. Le pipe unix m'a fait comprendre...

Il a mis le lien du livre numérique complet à destination des développeurs : "Programmer avec SPIP"
http://programmer.spip.org/

Ah, ça c'est bien. Je vais lire le pdf, si ça me plait... j'achète.
A+
Serge

--
---------------------------------------------------------------
Sites - Applications internet php/mySQL
Multimédia - 3D - video
E-learning : installation de plateformes de formation à distance
Création de modules de formation
Animations Flash pédagogiques, videos, 3D, Réalité virtuelle
Etude de scénario d'apprentissage, Quizz, jeux interactifs

COGICUBE 01 49 82 71 83 http://www.cogicube.fr
---------------------------------------------------------------

Bonjour,

j’ai beau connaître (site sans lequel j’aurais eu quelques difficultés à utiliser à fond les chaînes de traduction et pas pu réaliser un petit plugin tout simple, bref un site de référence), je n’avais encore jamais entendu parler du livre. Si vous souhaitez en parler dans une autre communauté de créateurs de sites web, :slight_smile: est ouvert à qui veut bien rédiger une critique du livre : ce sera publié en Actu et archivé dans De préférence par quelqu’un d’autre que l’auteur :wink: Y a-t-il un volontaire ? Cdt, Ph. Vayssière

Bonjour,

j'ai beau connaître http://programmer.spip.org (site sans lequel
j'aurais eu quelques difficultés à utiliser à fond les chaînes de
traduction et pas pu réaliser un petit plugin tout simple, bref un site
de référence), je n'avais encore jamais entendu parler du livre.

Oui, les informations ont plutôt été diffusées sur http://www.spip-blog.net/ et un petit bilan du projet écrit ici : Livre libre « Programmer avec SPIP » - La graine de Marcimat .

Nous attendons surtout les dernières relectures/corrections de la partie traduite en anglais, qui sera mis en vente également de la même façon (un pdf récent est en ligne aussi). Écrire un article à propos de ces deux livres pourra certainement intéresser quelques lecteurs effectivement.

--
MM.

Le 25/05/2010 10:43, Alexis Poncet a écrit :

Au niveau de la documentation sur les plugins et sur les balises je cherche
justement à en faire une :wink:

J'ai réussi à faire une balise dans un plug in existant mais je n'arrive pas
à lui passer des paramètres donc je suis bloqué sur une première version de
l'extension du plugin.

pour ce qui est de la documentation avancée sur les balises, il existe 3 articles très complets de Thomas Sutton (traduits par denisb) sur doc.spip.org: (dans l'ordre de lecture conseillé)
http://doc.spip.org/@Creer-des-balises-personnalisees
http://doc.spip.org/@Creer-des-balises-personnalisees,5926
http://doc.spip.org/@Balises-dynamiques-trucage-d

Le 27 mai 2010 à 09:38, cy_altern a écrit :

Le 25/05/2010 10:43, Alexis Poncet a écrit :

Au niveau de la documentation sur les plugins et sur les balises je cherche
justement à en faire une :wink:

J'ai réussi à faire une balise dans un plug in existant mais je n'arrive pas
à lui passer des paramètres donc je suis bloqué sur une première version de
l'extension du plugin.

pour ce qui est de la documentation avancée sur les balises, il existe 3 articles très complets de Thomas Sutton (traduits par denisb) sur doc.spip.org: (dans l'ordre de lecture conseillé)
http://doc.spip.org/@Creer-des-balises-personnalisees
http://doc.spip.org/@Creer-des-balises-personnalisees,5926
http://doc.spip.org/@Balises-dynamiques-trucage-d

Ces contenus ne pourraient-ils pas être repris sur programmer.spip.org ?

-Nicolas

--
Nicolas HOIZEY

Imgur