Configuration de l'environnement de développement

Configurez l'environnement de développement dans Eclipse IDE pour l’écriture de vos plug-ins. Utilisez n’importe quel IDE Java EE de votre choix et effectuez les configurations requises mentionnées dans cette rubrique. Vous avez besoin de certains artefacts <ASSET_PICKER_HOME> pour terminer la configuration de l’environnement. Cette rubrique fournira des informations sur la génération et le packaging de projet à l’aide d’Apache Maven, ce qui permet de s’assurer qu'Apache Maven est installé.

Pourquoi et quand exécuter cette tâche

Pour configurer l'environnement de développement, suivez la procédure ci-dessous :

Procédure

  1. Depuis l'emplacement <ASSET_PICKER_HOME>/dev-kits/, copiez le projet asset-integration-starter et insérez-le dans votre espace de travail de développement.
  2. Ouvrez l’IDE Eclipse.
  3. Sélectionnez Fichier > Importer.
    La boîte de dialogue Sélectionner apparaît.
  4. Sélectionnez Fichier WAR, puis cliquez sur Suivant.
    La boîte de dialogue Importation WAR s'affiche.
  5. Cliquez sur Parcourir, accédez à <ASSET_PICKER_HOME> et au fichier select asset-viewer.war.
  6. Cliquez sur Terminer.
    La boîte de dialogue Importation WAR : bibliothèques Web s’affiche.
  7. Cliquez sur Terminer.
  8. Sélectionnez Fenêtre > Afficher la vue > Autre.
    La boîte de dialogue Afficher la vue apparaît.
  9. Sélectionnez Serveurs, puis cliquez sur Ouvrir.
    A titre d’exemple, nous allons illustrer l’utilisation d’Apache Tomcat 9.0 pour l’exécution de Content Integration. Vous pouvez utiliser n’importe quel serveur d’applications pris en charge et effectuer les configurations requises.
    1. Ouvrez le fichier conf/server.xml à partir du répertoire d’installation d’Apache Tomcat 9.0 et ajoutez l’entrée suivante, avec les détails de base de données appropriés dans l'élément <GlobalNamingResources>. Veuillez remplacer <DRIVER_CLASS_NAME>, <URL_TO_YOUR_PLATFORM_DATABASE>, <DATABASE_USERNAME>, et <DATABASE_PASSWORD> avec les détails de la base de données Platform :
      <Resource auth="Container" driverClassName="{DRIVER_CLASS_NAME}" 
                                 maxActive="20" 
                                 maxIdle="0" 
                                 maxWait="10000" 
                                 name="UnicaPlatformDS" 
                                 password="{DATABASE_PASSWORD}" 
                                 username="{DATABASE_USERNAME}"
                                 type="javax.sql.DataSource" 
                                 url="{URL_TO_YOUR_PLATFORM_DATABASE}"/>
    2. Ouvrez le fichier conf/context.xml à partir du répertoire d’installation d’Apache Tomcat 9.0 et ajoutez l’entrée suivante dans l'élément <Context> :
      <ResourceLink auth="Container" global="UnicaPlatformDS" name="UnicaPlatformDS" 
      type="javax.sql.DataSource"/>
  10. Pour ajouter Apache Tomcat 9.0 en tant que nouveau serveur dans Eclipse, procédez comme suit :
    1. Dans l’onglet Serveurs, cliquez sur le lien pour créer un nouveau serveur.
      La boîte de dialogue Définition d'un nouveau serveur s'ouvre.
    2. Sélectionnez Serveur Tomcat 9.0 et fournissez des valeurs pour le Nom d’hôte du serveur et le Nom du serveur.
    3. Cliquez sur Suivant.
      Le serveur a été ajouté.
    4. Dans l’onglet Serveurs , cliquez deux fois sur l’entrée de serveur que vous venez d’ajouter.
      La boîte de dialogue Présentation apparaît.
    5. Cliquez sur le lien Ouvrir la configuration de lancement.
      La boîte de dialogue Edition des propriétés de configuration de lancement.
    6. Modifiez les configurations de lancement pour ajouter les arguments JVM suivants :
      
      -DASSET_PICKER_HOME=<Point this to <ASSET_PICKER_HOME> directory>
      -Dspring.profiles.active=platform-disintegrated
      
    7. Cliquez sur OK.
  11. Pour exécuter le fichier asset-viewer.war importé sur Apache Tomcat 9.0, cliquez avec le bouton droit de la souris sur le fichier asset-viewer.war et sélectionnez Exécuter en tant que > Exécuter sur le serveur.
    La boîte de dialogue Exécuter sur le serveur s'ouvre.
  12. Cliquez sur Terminer.
    Le fichier asset-viewer.war commencera à s’exécuter sur Apache Tomcat. Une fois la configuration vérifiée, arrêtez le serveur et importez le projet de démarrage du développement de plug-in.
  13. Pour installer le SDK Content Integration, procédez comme suit :
    1. Dans les répertoires suivants, supprimez les SDK qui sont déjà installés :
      • <LOCAL_M2_REPOSITORY>\com\hcl\unica\integration-api\0.0.1-SNAPSHOT
      • <LOCAL_M2_REPOSITORY>\com\hcl\unica\standard-integrations \0.0.1-SNAPSHOT
      • <LOCAL_M2_REPOSITORY>\com\hcl\unica\asset-integration-api\0.0.1-SNAPSHOT
      • <LOCAL_M2_REPOSITORY>\com\hcl\unica\entity-mapper-api\0.0.1-SNAPSHOT

      Sous UNIX ou Mac OS X, <LOCAL_M2_REPOSITORY> fait référence au répertoire ~/.m2/repository.

      Sous Microsoft Windows, <LOCAL_M2_REPOSITORY> fait référence au répertoire C:\Users\{your-username}\.m2\repository.

    2. Servez-vous des commandes suivantes pour installer le SDK Content Integration dans votre référentiel Maven local. Recherchez asset-integration-api.jar, integration-api.jar, standard-integrations.jar et entity-mapper-api.jar dans le répertoire <ASSET_PICKER_HOME>/dev-kits/sdk.
      mvn install:install-file -Dfile=<ASSET_PICKER_HOME>/dev-kits/sdk/asset-integration-api.jar -DgroupId=com.hcl.unica -DartifactId=asset-integration-api -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
      
      mvn install:install-file -Dfile=<ASSET_PICKER_HOME>/dev-kits/sdk/integration-api.jar -DgroupId=com.hcl.unica -DartifactId=integration-api -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
      
      mvn install:install-file -Dfile=<ASSET_PICKER_HOME>/dev-kits/sdk/standard-integrations.jar -DgroupId=com.hcl.unica -DartifactId=standard-integrations -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
      
      mvn install:install-file -Dfile=<ASSET_PICKER_HOME>/dev-kits/sdk/entity-mapper-api.jar -DgroupId=com.hcl.unica -DartifactId=entity-mapper-api -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
  14. Pour importer le projet de démarrage du développement de plug-in, sélectionnez Fichier > Importer.
    La boîte de dialogue Sélectionner apparaît.
  15. Sélectionnez Projets Maven existants et cliquez sur Suivant.
    La boîte de dialogue Projets Maven s’affiche.
  16. Cliquez sur Parcourir pour sélectionner le projet et cliquez sur Terminer.
  17. Pour mettre à jour les dépendances Maven du projet asset-integration-starter, cliquez avec le bouton droit de la souris sur le projet asset-integration-starter et sélectionnez Maven > Mettre à jour le projet.
  18. Assurez-vous que le nouveau projet importé utilise Java 8 pour compiler des sources. Ouvrez les propriétés du projet et procédez comme suit pour configurer le compilateur :
    1. Sélectionnez Compilateur Java.
    2. Si le Niveau de conformité du compilateur est non éditable, sélectionnez Activer les paramètres spécifiques projet.
    3. Définissez le Niveau de conformité du compilateur sur 1.8.
    4. Cliquez sur Appliquer et fermer.
  19. Pour vous assurer que la bibliothèque Java appropriée est configurée dans le chemin de génération, procédez comme suit :
    1. Sélectionnez Chemin de génération Java > Bibliothèques.
    2. Sélectionnez Bibliothèque système JRE (J2SE-1.5).
    3. Cliquez sur Retirer.
    4. Cliquez sur Ajouter une bibliothèque.
      La boîte de dialogue Ajouter une bibliothèque s'ouvre.
    5. Sélectionnez Bibliothèque système JRE > Suivant.
      La Bibliothèque système JRE s’affiche.
    6. Sélectionnez une bibliothèque appropriée et cliquez sur Terminer.
  20. Pour activer le traitement des annotations, procédez comme suit :
    1. Sélectionnez Compilateur Java > Traitement des annotations .
    2. Sélectionnez Activer les paramètres propres au projet.
    3. Sélectionner Appliquer et fermer.
  21. Pour installer Lombok, procédez comme suit :
    1. Cliquez deux fois sur le fichier LOCAL_M2_REPOSITORY\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar.
      La boîte de dialogue du programme d'installation s'ouvre.
    2. Pour spécifier l’emplacement d’installation de votre IDE, cliquez sur Spécifier l'emplacement.
    3. Cliquez sur Installer/Mettre à jour pour effectuer l’installation.
    4. Après l’installation de Lombok, redémarrez l’IDE.
  22. Pour modifier le nom du projet, procédez comme suit :
    1. Ouvrez le fichier pom.xml et modifiez ses propriétés de projet Maven.
    2. Cliquez avec le bouton droit sur le projet asset-integration-starter et sélectionnez Refactoriser > Renommer.
  23. Dans le fichier <ASSET_PICKER_HOME>/conf/custom-plugin-services.yml, déclarez les services de plug-in. Vous pourrez accéder à ce fichier ultérieurement pour ajouter des déclarations lorsque vous introduirez des services pour vos plug-ins.
  24. Pour ajouter un projet de plug-in à l’assemblage de déploiement du projet asset-viewer.war, procédez comme suit :
    1. Cliquez avec le bouton droit sur le projet asset-viewer.war et sélectionnez Propriétés.
      La boîte de dialogue Propriétés pour asset-viewer s'affiche.
    2. Sélectionnez Deployment Assembly.
    3. Sélectionnez Ajouter.
      La boîte de dialogue de Sélectionner le type de directive s'affiche.
    4. Sélectionnez Projet et cliquez sur Suivant.
    5. Sélectionnez le projet de plug-in asset-integration-starter que vous avez importé lors des étapes précédentes, puis cliquez sur Terminer.
  25. Si nécessaire, nettoyez les projets.
  26. Effectuez la configuration adaptée à votre système dans <ASSET_PICKER_HOME>/conf/systems.properties (reportez-vous au fichier sample-systems.properties disponible dans le projet <ASSET_PICKER_HOME>/dev-kits/asset-integration-starter). Toutes les configurations d'intégration du système mentionnées dans le Guide d'administration d'Unica Content Integration sont prises en charge dans systems.properties à l'aide des propriétés pertinentes.
  27. Lorsque vous développez votre plug-in, vérifiez-le en exécutant le projet asset-viewer.war sur un serveur d’applications précédemment configuré. Etant donné que le projet est déjà ajouté à l’assemblage de déploiement de asset-viewer.war, les modifications apportées à votre projet de plug-in seront déployées à chaque fois que vous exécuterez le projet asset-viewer.war.
  28. Lorsque vous développez votre plug-in, en y ajoutant des services, utilisez un outil de votre choix pour atteindre les points d'extrémité REST suivants (modifiez la racine de contexte pour qu'elle corresponde à votre configuration) afin de vérifier la précision de votre implémentation :
    1. S’assurer de l’intégration du système
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/instances
      Méthode de requête GET
    2. Vérifier le service simple-search
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/assets?query=mountain&page=0&size=10&types=Phto
      où,
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • query contient le mot clé de recherche du contenu à rechercher.
      • page & size contient les détails de pagination, où page est le numéro de série des pages à extraire et size est le nombre total d'éléments de recherche sur une seule page.
      • types est l'une des catégories de contenu prises en charge (types) permettant de filtrer les éléments de recherche.
      Méthode de requête GET

      Lorsque vous atteignez l'URL, assurez-vous que le JSON de réponse contient le résultat attendu. Seuls les détails de présentation sont inclus pour chaque objet de recherche. D'autres propriétés de contenu sont exclues pour des raisons de concision et de performances.

    3. Vérifier le service resource-loader
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/download?resource=

      http://repository_base_url/contents/sample_image.jpg%26resourceId=12345"

      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • resource contient l'URL absolue du contenu à télécharger.
      • resourceId contient l'identificateur du contenu à télécharger.

      (Le plug-in peut choisir d'utiliser resource et/ou resourceId pour charger le contenu.)

      Méthode de requête GET
    4. Vérifier le service list-folders
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/folders?parentFolderId=1234
      où :
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • parentFolderId contient l'identificateur du dossier parent dont les sous-dossiers immédiats sont attendus en réponse. Ce paramètre de requête est facultatif et n'est pas fourni lors du listage des dossiers de niveau supérieur/racine.
      Méthode de requête GET
    5. Vérifier le service list-contents
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/folders/1234/contents
      où :
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • 1234 représente l'identificateur du dossier dont le contenu immédiat est attendu en réponse.
      Méthode de requête GET

      Seuls les détails de présentation sont inclus pour chaque contenu répertorié par le service list-contents. D'autres propriétés de contenu sont exclues pour des raisons de concision et de performances.

    6. Vérifier le service get-content-details
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/assets/Images/1234
      où :
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • Images représente l'ID de catégorie du contenu dont les détails sont attendus en réponse.
      • 1234 représente l'identificateur du contenu dont les détails sont attendus en réponse.
      Méthode de requête GET

      La réponse JSON produite par le service get-content-details inclut toutes les propriétés de contenu, en plus des détails de présentation.

    7. Vérifier le service get-object-schema
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/object-mapping/application/mysystem/object/Images/1234/schema
      où :
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      • Les images représentent la catégorie du contenu de référence utilisé pour la génération de schéma.
      • 1234 représente l'identificateur du contenu de référence utilisé pour la génération de schéma.

      A partir de la version 12.1.0.4, l'identificateur et la catégorie de contenu ne sont plus très pertinents, car le schéma est censé inclure des attributs pour toutes les catégories de contenu prises en charge.

      Méthode de requête GET

      La réponse JSON doit contenir la liste aplatie de tous les attributs mappables et de leurs métadonnées.

    8. Vérifier le service list-content-categories
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/mysystem/categories
      où :
      • mysystem représente l'identificateur système choisi par l'implémentation du plug-in.
      Méthode de requête GET
    9. Vérifier le service get-cognitive-analysis
      URL de noeud final http://localhost:8888/asset-viewer/api/AssetPicker/actions/cognize?url=absolute_image_url
      où :
      • url contient l'URL absolue de l'image pour laquelle extraire l'analyse cognitive
      Méthode de requête GET