Doc produitsMenu

À propos des scripts de conversion.NET

Précédemment, les scripts de préconversion et de post-conversion ne devraient être écrits qu'avec les langues VBS ou JScript. Ces langues n'offrent aucune aide au débogage et des fonctionnalités limitées.

Avec CES 7 (Coveo Enterprise Search), vous pouvez maintenant créer des scripts de préconversion ou de post-conversion C#. Vous pouvez sélectionner DLL (Dynamic Link Library) ou le fichier .cs. Dans ce cas, CES compile automatiquement le fichier sur demande. De plus, lorsque vous mettez à jour le fichier de source, CES utilise automatiquement le fichier à jour afin que vous n'ayez pas à recharger précisément le fichier de script.NET à partir de l'Outil d'administration (voir Ajout d'un script de pré-conversion et Ajout d'un script de post-conversion).

Note : Lorsque vous utilisez le code de source.NET plutôt que le DLL compilé, vous devez déclarer précisément les paramètres facultatifs.

Vous pouvez déboguer vos scripts.NET avec Visual Studio. Vous n'avez qu'à les joindre au processus CESConverter7.exe et placer des points d'arrêt dans votre code.

Les signatures des méthodes que vous pouvez utiliser pour la préconversion, la post-conversion ou pour des scripts de conversion personnalisés sont :

public override void RunPreConverter(COMCoveoConverters.PreConversion p_PreConversion, COMCoveoConverters.DocumentInfo p_DocumentInfo)
{
}

public override void RunPostConverter(COMCoveoConverters.PostConversion p_PostConversion, COMCoveoConverters.DocumentInfo p_DocumentInfo)
{
}

public override void RunCustomConverter(COMCoveoConverters.CustomConversion p_CustomConversion, COMCoveoConverters.DocumentInfo p_DocumentInfo)
{
}

La classe de base du convertisseur est Coveo.CES.DotNetConverterLoader.dll. Vous devez également mentionner l'assemblage Coveo.CES.Interops.dll pour obtenir les définitions d'objet COMCoveoConverters.XXX. Les deux fichiers sont disponibles dans le dossier [CES_Path]\Bin\.

Important : Dans Visual Studio, ne vous inquiétez pas du fait qu'IntelliSense ne puisse pas détecter des classes provenant des déclarations using. Lorsque vous allez configurer votre fichier script (.css ou .DLL) en tant que script de préconversion ou de post-conversion CES, ça va marcher.

Échantillonnage du convertisseur personnalisé C#

Le code suivant est un échantillon d'un convertisseur personnalisé C#.

using Coveo.CES.DotNetConverterLoader;
using Coveo.CES.Interops.COMCoveoConvertersWrappers;

namespace TestDotNetConverter
{
  public class MyCustomConverter : CustomConverter
  {
    public override void RunPreConverter(PreConversion p_PreConversion, DocumentInfo p_DocumentInfo)
    {
      p_PreConversion.Trace("Hello, world!", SeverityEnumeration.SeverityNormal);
    }

    public override void RunPostConverter(PostConversion p_PostConversion, DocumentInfo p_DocumentInfo)
    {
      p_PostConversion.Trace("Hello, world!", SeverityEnumeration.SeverityNormal);
    }

    public override void RunCustomConverter(CustomConversion p_CustomConversion, DocumentInfo p_DocumentInfo)
    {
      p_CustomConversion.Trace("Hello, world!", SeverityEnumeration.SeverityNormal);
    }
  }
}

Les convertisseurs personnalisés.NET doivent hériter de la classe CustomConverter, et exécuter une méthode nommée RunPostConverter qui prend comme arguments les objets qui sont normalement disponibles comme variables globales dans les scripts VBS.