source: spip-zone/_plugins_/indexer/trunk/paquet.xml @ 82681

Last change on this file since 82681 was 82681, checked in by rastapopoulos@…, 5 years ago

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 size: 416 bytes
Line 
1<paquet
2        prefix="indexer"
3        categorie="navigation"
4        version="1.0.0"
5        etat="dev"
6        compatibilite="[2.1.0;3.1.*]"
7        logo="prive/themes/spip/images/indexer-64.png"
8        documentation=""
9>
10        <nom>Indexer</nom>
11
12        <auteur>Matthieu Marcillaud</auteur>
13        <auteur>Rastapopoulos</auteur>
14        <auteur>Fil</auteur>
15
16        <licence>GNU/GPL</licence>
17       
18        <pipeline nom="post_edition" inclure="indexer_pipelines.php" />
19</paquet>
Note: See TracBrowser for help on using the repository browser.