Télécharger en masse des images via Integration Framework

06/07/2018


Dans le post précédent , j'ai fourni un exemple sur la façon dont nous pouvons personnaliser la structure d'objet pour permettre l'importation / exportation de données binaires via MIF. Dans Maximo 7.6, le framework de scripts d'automatisation a été considérablement étendu pour prendre en charge l'intégration. Avec cette mise à jour, nous pouvons activer l'importation / exportation de données binaires en ajoutant un script simple sans devoir écrire et déployer du code java personnalisé. Voici un exemple de configuration de Maximo 7.6 pour le chargement groupé d'images dans l'application Item Master:

Étape 1: Ajouter un script d'intégration de structure d'objet

  • Ouvrir la configuration du système> Configuration de la plateforme> Application de script d'automatisation
  • Dans le menu Sélectionner une action , choisissez Créer> Script pour l'intégration
  • Dans la fenêtre contextuelle Créer un script pour l'intégration, entrez les informations suivantes:
    • Sélectionnez " Structure d'objet "
    • Choisissez " MXITEM " pour la structure d'objet
    • Sélectionnez " Traitement entrant "
    • Langue: Python
    • Collez le morceau de code suivant dans la zone de texte Code source:

from org.apache.axiom.om.util import Base64

def afterMboData(ctx): 
if ctx.getMboName()=='IMGLIB': 
ctx.getMbo().setValue("IMAGE",Base64.decode(ctx.getData().getCurrentData("IMAGE")))


  • Cliquez sur Créer. Ensuite, enregistrez le script

Étape 2: Modifier la structure de l'objet MXItem pour inclure la table IMGLIB

  • Ouvrir l'intégration> Application Structures d'objet
  • Ouvrir la structure de l'objet MXITEM
  • Sous "Objet source pour MXITEM", cliquez sur Nouvelle ligne , puis entrez les informations suivantes:
    • Objet: IMGLIB
    • Objet parent: ITEM
    • Relation: IMGLIB
  • Enregistrer le script

Étape 3: Télécharger des images à l'article principal
J'ai écrit un exemple d'outil Excel VBA pour charger des images en masse dans Item Master que vous pouvez télécharger en utilisant ce repo GitHub .
Vous pouvez utiliser la fonction Import / Export de l'application ou l'outil MxLoader pour faire la même chose. Cependant, si vous utilisez ces outils, vous aurez besoin d'un outil distinct pour encoder les fichiers d'image en chaîne de texte codée Base64. Il existe de nombreux outils disponibles en ligne ou téléchargeables hors ligne. Ou vous pouvez simplement utiliser une partie du code que j'ai fourni dans l'exemple pour faire l'encodage, puis combiner avec MxLoader pour réaliser ce que vous voulez.
Remarque : méfiez-vous des photos prises à partir de caméras plus récentes, les fichiers ont généralement une haute résolution et peuvent donc être assez gros. J'ai vu une équipe enthousiaste d'ingénieurs télécharger des images pour tous les actifs et les articles d'inventaire dans une centrale électrique, et du jour au lendemain, la base de données est passée de 1 Go à 20 Go. Assurez-vous donc de redimensionner les images avant de les télécharger. Une méthode rapide et simple dans Windows consiste à sélectionner plusieurs fichiers, puis cliquez avec le bouton droit de la souris, choisissezEnvoyer vers>Destinataire du message. Windows vous donnera un pop-up pour redimensionner les fichiers, choisissez la plus petite taille (640x480). Windows va redimensionner les fichiers, puis les attacher à Outlook, dans Outlook, sélectionner tous les fichiers et les copier / coller dans un dossier différent. Ces fichiers seront beaucoup plus petits que les fichiers originaux en pleine résolution.

 

© 2018 Enova Maximo Consulting
Optimisé par Webnode
Créez votre site web gratuitement ! Ce site internet a été réalisé avec Webnode. Créez le votre gratuitement aujourd'hui ! Commencer