Extraction de données à l'aide de filtres natifs

Vous pouvez utiliser des filtres natifs avec toutes les sources de données prises en charge. Les filtres natifs, qui sont interprétés par les adaptateurs Reporting Data Services, vous permettent d'entrer des filtres au format de la source de données. Le filtre natif étant traité par les adaptateurs Reporting Data Services et non par Rational Publishing Engine, l'utilisation de filtres natifs améliore les performances de Rational Publishing Engine.

Avant de commencer

Si vous intégrez Rational Publishing Engine à un produit qui ne prend pas en charge les sources de données REST rapportables, l'intégralité du fichier est extrait et ne peut pas être filtré. Pour vérifier que votre produit prend en charge les sources de données REST rapportables, vous pouvez tester la condition de filtre dans la source de données native avant de l'utiliser dans Rational Publishing Engine.

Pour plus d'informations sur la définition des exigences des services REST v1 rapportables, examinez le document Reportable Rest v1.

Pourquoi et quand exécuter cette tâche

Les filtres natifs sont pris en charge par les sources de données REST rapportables, qui permettent le filtrage, le tri et la prise en charge sélective des propriétés. Le filtre natif demande un ensemble de données à la source de données, puis filtre et affine ces données pour la sortie d'un canevas Rational Publishing Engine. Vous n'êtes pas obligé de créer des filtres dans le produit dont proviennent les données à moins que vous ne souhaitiez tester la précision des filtres, mais vous pouvez créer des filtres à utiliser exclusivement dans les canevas Rational Publishing Engine à partir de Rational Publishing Engine.

Dans les versions précédentes de Rational Publishing Engine, vous ne pouviez définir que des filtres statiques. Vous deviez savoir à quoi correspondaient les filtres lorsque vous conceviez le canevas et ces filtres ne pouvaient pas être modifiés lors de la phase d'exécution.

Procédure

  1. Dans Document Studio, sélectionnez l'élément de canevas qui contient la requête à filtrer.
  2. Dans la vue Propriétés, développez Données.
  3. Dans la zone Filtre, cliquez sur les points de suspension.
  4. Dans l'onglet Filtre natif, développez Variables.
    Remarque : Les variables utilisées dans les filtres peuvent être modifiées avant que la première requête sur cette source de données ne soit utilisée.
  5. Sélectionnez une variable devant servir de filtre.
  6. Entrez la syntaxe ${} pour définir votre requête à filtrer. Par exemple, vous pouvez filtrer par nom de produit. Plusieurs équipes de produit peuvent utiliser ce canevas et spécifier un nom de produit dans la spécification de document lors de la phase d'exécution.
    cq:Product{cq:Product"${productName}"
    Remarque :
    • Les attributs personnalisés ne peuvent pas être utilisés dans les filtres natifs.
    • Si vous renommez une variable, le nom n'est pas mis à jour dans une expression de script ou un filtre natif et une erreur de référence est créée. Lorsque vous renommez une variable, vérifiez que vous pouvez également modifier le nom dans les expressions de script et les filtres natifs.
    • Pour extraire des données Rational DOORS, utilisez le script DXL comme condition de filtre native. Pour extraire des données REST, utilisez la condition de filtre XPath.
  7. Cliquez sur OK.

Source de données prenant en charge la syntaxe Rest v1 rapportable

Dans les filtres natifs Rest v1 rapportables, vous devez simplement entrer le texte entre crochets []. Le reste du filtre est généré par Rational Publishing Engine.

IBM® Rational ClearCase

L'adaptateur Rational ClearCase prend en charge les filtres natifs des sources de données Rest v1 rapportables. Pour plus d'informations, voir Reportable Rest v1.

IBM Rational ClearQuest

L'adaptateur Rational ClearQuest prend en charge les filtres natifs des sources de données Rest v1 rapportables. Pour plus d'informations, voir Reportable Rest v1.

IBM Rational RequisitePro

L'exemple de filtre natif Rest v1 rapportable ci-après extrait le schéma Rational RequisitePro PRRequirements à l'aide de Stability='High'.

Exemple

Ajoutez une expression de filtre au noeud sous Appliances, de sorte que seuls les dispositifs fabriqués par un fabricant spécifique soient sélectionnés.
fields=Project/Requirements/PRRequirement[Stability = 'High']/(Stability|FullTag|Priority|Status)

IBM Rational Rhapsody

Rational Rhapsody prend en charge l'utilisation des sources de données Rest v1 rapportables dans les filtres natifs. Pour plus d'informations, voir Reportable Rest v1.

IBM Rational Software Architect Extension for Design Management

Rational Software Architect Extension for Design Management prend en charge les filtres natifs des sources de données Rest v1 rapportables. Pour plus d'informations, voir Reportable Rest v1.

IBM Rational Team Concert

Rational Team Concert prend en charge l'utilisation des sources de données Rest v1 rapportables dans les filtres natifs. Pour plus d'informations, voir Reportable REST API on Jazz.net.

Exemple

projectArea/name="Rational Publishing Engine"  and target/name="1.2.0.1"
Demande résolue :
fields=workitem/workItem[projectArea/name="Rational Publishing Engine" and target.name="1.2.0.1"]/(@href|summary)

Source de données prenant en charge la syntaxe Rest v2 rapportable

Pourquoi et quand exécuter cette tâche

Remarque :
  • Les demandes ne sont envoyées à une source de données que si nécessaire. Par exemple, vous pouvez utiliser des conditions pour qu'un élément ne s'affiche dans la sortie que s'il contient des données. La condition sur un élément de conteneur peut être variable == "true". Si cette condition n'est pas satisfaite et qu'aucune donnée ne remplit la condition variable, aucune demande n'est envoyée à la source de données.
  • Vous pouvez déterminer les filtres natifs avant de créer la demande. Avec RPE 1.1.2.2 et les versions antérieures, les filtres natifs REST v2 étaient déterminés au début de la génération de documents, à l'aide des valeurs de variable, telles que définies en ce point. Dans Rational Publishing Engine 1.2 ou version ultérieure, le filtre natif est calculé à partir de l'endroit où la requête est rencontrée et il utilise les valeurs de variable à cet endroit. Ce changement signifie que vous pouvez effectuer des calculs dans le canevas, ce qui a un impact sur les filtres natifs.

IBM Rational ClearQuest

Rational ClearQuest version 8 prend en charge les filtres natifs des sources de données Rest v2 rapportables.

Exemple

Exemple de filtre variable :
cq:Product{cq:Product="${productName}") 
Exemple de filtre résolu où productName correspond à Rational Publishing Engine :
cq:Product{cq:Product="Rational Publishing Engine")

Sources de données prenant en charge la syntaxe de l'API propriétaire

IBM Rational DOORS

Rational DOORS prend en charge une API propriétaire et le filtre est exprimé à l'aide de la syntaxe de la vue Rational DOORS.

Exemple

L'exemple de filtre natif Rational DOORS ci-après filtre les objets qui contiennent le mot "Documentation" dans l'attribut Texte de l'objet.
Attribute 'Object Text' contains 'Documentation' (case sensitive)
Pour générer le texte du filtre natif d'une source de données Rational DOORS :
  1. Ouvrez un module Rational DOORS, puis cliquez sur Outils > Filtre > Définir l'entrée de menu.
  2. Créez la syntaxe du filtre :
    1. Sélectionnez l'onglet Attributs.
    2. Pour Attribut, sélectionnez Texte de l'objet.
    3. Pour Condition, sélectionnez Contains.
    4. Pour Valeur, entrez une valeur de filtre spécifique. Par exemple, pour ne filtrer que les objets qui contiennent le mot Documentation dans l'attribut Texte de l'objet, entrez : Documentation
    5. Cliquez sur Ajouter. Dans la section Options avancées, la syntaxe de la règle est créée.
  3. Cliquez sur Description et copiez la description complète. Vous disposez maintenant du filtre Rational DOORS, qui est un script DXL.
Pour ajouter le filtre Rational DOORS à l'élément de canevas Rational Publishing Engine, procédez comme suit :
  1. Sélectionnez l'élément de canevas qui contient la requête à filtrer.
  2. Dans la vue Propriétés, développez Données.
  3. Dans la zone Filtre, cliquez sur les points de suspension. La fenêtre Editeur de filtre s'ouvre.
  4. Dans l'onglet Filtre natif, collez le filtre Rational DOORS (script DXL) et cliquez sur OK.

IBM Rational Tau

Rational Tau prend en charge une API propriétaire et le filtre est exprimé sous la forme d'une requête OCL.

Exemple

L'exemple de filtre natif Rational Tau suivant filtre les packages qui contiennent des noms prédéfinis :
  • model.predefinedPackage représente l'élément de schéma actuel.
  • GetEntities(“predefinedPackage”).select(IsKindOf(“Package”) représente la requête Rational Tau sous-jacente.
  • select(HasPropertyWithValue("Name", "Predefined")) représente la condition de filtre natif.
La requête exécutée par l'évaluateur de requête Rational Tau est la suivante :
GetEntities(“predefinedPackage”). select(IsKindOf(“Package”))
select(HasPropertyWithValue("Name", "Predefined"))

Commentaires