Export XML

Les résultats de recherche d'une requête enregistrée dans le répertoire de requête peuvent être exportés au format XML.

Exemple d'utilisation : export des actualités futures par ordre chronologique inverse

1) Exécuter la recherche sur les actualités futures

Dans l'outil back-office, ouvrir l'outil de recherche Solr et rechercher vos actualités futures.

Voici un exemple de recherche à effectuer, pour rechercher les contenus FR de type "Actualités", portant au moins une étiquette de la catégorie "Actualités" et dont la date de début est supérieur ou égale à aujourd'hui

Types de contenus : Actualités
Requête :  site:www AND contentLanguage:fr AND allTags:ACTUALITES AND start-date_dt:[NOW TO *]

Dans le champ Colonne, ajoutez les champs que vous souhaitez exporter (utilisez la complétion automatique avec la touche Ctrl+Espace pour voir les champs accessibles)

Colonnes : title, start-date, end-date, illustration.image, illustration.alt-text, content, tags

Pour enregistrer le tri des résultats, il faut lancer la recherche une première fois, puis trier selon l'ordre souhaité, en cliquant sur les entêtes de colonne. Ici, par date de début inverse puis par date de fin inverse.

2) Enregistrer la recherche

Enregistrez ensuite la requête dans le répertoire de requêtes :

La recherche enregistrée apparait dans votre répertoire de requêtes et peut être rejouée à tout moment.

Par défaut, la recherche est privée et donc accessible uniquement pour l'utilisateur qui a créé cette recherche.

3) URL d'export des résultats

L'URL d'export est de la forme :
http://[URL_SITE]/remote/_query/ws/export.xml?queryId=[IDENTIFIANT_QUERY]

Copiez l'identifiant de la requête depuis le ruban contextuel

En interrogeant l'url depuis l'application site, vous êtes assurés d'exporter les résultats dans leur version validée.

Si vous n'avez pas d'application site, il est possible de passer par le serveur CMS directement.
L'url est alors de la forme :
http://[CMS_SITE]/remote/_query/ws/export.xml?queryId=[IDENTIFIANT_QUERY]&versionLabel=Live
Attention, dans ce cas il faut ajouter &versionLabel=Live pour récupérer la version validée des contenus. Sinon vous obtiendrez la version brouillon.

Cas 1:  L'export et les résultats de la recherche sont publics

Sélectionnez votre requête et choisissez de la rendre publique publique (Menu Visibilité -> Publique)

Assurez-vous que les résultats de cette recherche soient également accessibles en lecture pour un usager anonyme.

Cas 2: L'export et les résultats de la recherche sont protégés en lecture

Si votre requête est privée ou partagée, vous devez être authentifié pour accéder à la requête et à ses résultats.

L'url d'export peut être authentifiée au moyen d'une clé d'authentification (token).

Générez une clé d'authentification depuis le menu utilisateur du back-office et copiez-là.

Pour interroger l'url d'export avec votre clé d'authentification, vous devez transmettre votre clé dans un paramètre de requête POST nommé "token".
L'export contiendra alors les résultats accessibles en lecture par l'utilisateur possédant ce token.

Attention, la transmission de la clé d'authentification en méthode GET n'est pas autorisée, vous devez donc interroger l'url d'export avec la méthode POST.

4) Transformation des résultats

Sans autre transformation, les résultats de la recherche sont exportés dans leur forme "brute". Notamment les textes riches seront exportés au format de stockage Docbook, sans résolution des liens et ni des images.

Il est possible d'ajouter une XSL de transformation au flux XML exporté, pour permettre par l'export des textes riches au format HTML et de résoudre les liens.

Pour cela, il faut placer le fichier XSL dans le répertoire WEB-INF/stylesheeets/export de l'application back-office et appeler l'URL d'export en rajoutant le nom du fichier XSL à utiliser dans le paramètre de requête "xslt".
http://[URL_SITE]/remote/_query/ws/export.xml?queryId=[IDENTIFIANT_QUERY]&xslt=[FILENAME]


La XSL de transformation default.xsl donnée en exemple ici, permet d'exporter les textes riches des contenus au format HTML et résout les liens avec des URL absolues qui pointe sur le site.