Changeset 82681 in spip-zone for _plugins_/indexer/trunk/paquet.xml


Ignore:
Timestamp:
May 22, 2014, 4:58:28 PM (7 years ago)
Author:
rastapopoulos@…
Message:

Tout comme pour indexer_sources(), on déporte la récupération d'un indexeur valide dans une fonction indexer_indexer() utilisable plusieurs fois.

On s'insère dans le pipeline "post_edition", et dès qu'il y a une modif sur un objet, on cherche si on a une ou plusieurs de nos sources enregistrées qui correspondent à l'objet en cours d'édition.

Si c'est le cas, on appelle l'indexeur et on lui donne à remplacer (ou ajouter) le document issu de la source en question (ou des sources).

Sans rien toucher, le mécanisme teste avec l'alias donné à la source ("articles", "fiches", etc) MAIS si on veut un truc plus bizarre, ou surtout si on a plusieurs sources différentes travaillant sur le même type d'objet, alors la classe de source peut implémenter une méthode getObjet() qui doit retourner "patate" (par exemple).

Testé aussi sur un objet non-spip, pour l'instant ça marche.

Là on réindexe le doc directement dans le pipeline, et ça ne me parait pas lent. Si on trouve que ça gêne, on pourra déporter l'indexation dans un job. Mais pour l'instant ça m'a l'air d'aller.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/paquet.xml

    r82370 r82681  
    88        documentation=""
    99>
    10 
    1110        <nom>Indexer</nom>
    1211
     
    1615
    1716        <licence>GNU/GPL</licence>
    18 
     17       
     18        <pipeline nom="post_edition" inclure="indexer_pipelines.php" />
    1919</paquet>
Note: See TracChangeset for help on using the changeset viewer.