Lier automatiquement les médias

Dans la page Administration > Système > Liaisons automatiques, vous pouvez utiliser le moteur de règles de Quable pour spécifier les conditions de liaison automatique des médias téléchargés à vos documents existants.

4409

❗️

Un liaison automatique ne fonctionne que pour un seul type de document. Vous devez créer des liaisons automatiques individuelles pour chaque type de document auquel vous voulez lier automatiquement vos médias.

Convention de dénomination

Les liaisons automatiques exigent que vos médias utilisent une convention de nommage spécifique. Cette convention de nommage est interprétée par la règle définie pour savoir à quels documents lier les médias. Par conséquent, toutes les ressources qui doivent être liées via une règle automatique spécifique doivent suivre la même convention de dénomination.

👍

Pour rendre le processus aussi facile que possible, nous vous recommandons vivement de garder votre convention de dénomination simple. Votre chef de produit Quable PIM peut vous fournir un modèle pour vous aider à créer votre propre convention de dénomination.

Afin de lier un média à un document, Quable PIM a besoin d'une seule information dans le nom du média :

Informations requisesType de donnéesDescription
Identifiant du documentCaractères alphanumériquesUne chaîne de caractères qui identifie un document (code du document ou valeur de l'attribut).

Exemple 1

Vous devez lier automatiquement les médias à votre type de document produit avec le type de liaison produit_main_pictures. Votre administrateur Quable PIM a créé une règle de liason automatique pour rechercher cette convention de dénomination :

chaîne aléatoire_document code_1.extension de fichier

La règle recherche :

  • des segments avec des types de données spécifiques,
  • séparés par des traits de soulignement ( _ ), et
  • une extension de fichier.

Le tableau suivant fournit une description des segments dans cet exemple.

SegmentType de donnéesDescription
chaîne aléatoirecaractères alphanumériquesIl peut s'agir de n'importe quel texte. La règle vérifie uniquement qu'il s'agit d'un contenu alphanumérique.
document codecaractères alphanumériquesIl s'agit d'identifier le document auquel il faut lier la ressource. Dans ce cas, le document cible doit être du type de document défini dans l'instruction Rule If ("target_document_type).
1nombre(optionnel) Cela indique la sequence du média.
extension de fichiercaractères alphanumériquesIl peut s'agir de n'importe quelle extension de fichier. La règle vérifie seulement qu'il y a une sorte d'extension ici (par exemple, jpg, png, svg).

Pour respecter la règle de cette liaison automatique, vos médias pourraient être nommés :

picture_bluejean_1.jpg
abc123_bluejean_1.png
random_bluejean_1.svg

Pour autant que les noms des médias soient dans le bon format et incluent le code du document et le numéro 1, les médias seront automatiquement liés aux bons documents.

Exemple 2

Vous devez lier automatiquement les médias à votre type de document produit avec le type de liaison produit_pictures. Votre administrateur Quable PIM a créé une règle automatique pour rechercher cette convention de dénomination :

(chaîne aléatoire)document type code-8.extension de fichier

La règle recherche :

  • des segments avec des types de données spécifiques,
  • séparés par des parenthèse ( ( ) ) et un trait d'union (- ), et
  • une extension de fichier.

Le tableau suivant fournit une description des segments dans cet exemple.

SegmentType de donnéesDescription
chaîne aléatoirecaractères alphanumériquesIl peut s'agir de n'importe quel texte. La règle vérifie uniquement qu'il s'agit d'un contenu alphanumérique.
document codecaractères alphanumériquesIl s'agit d'identifier le document auquel le média doit être lié. Dans ce cas, le document cible doit être du type de document défini dans l'instruction Rule If ("target_document_type).
8nombre(optionnel) Cela indique la sequence du média.
extension de fichiercaractères alphanumériquesIl peut s'agir de n'importe quelle extension de fichier. La règle vérifie seulement qu'il y a une sorte d'extension ici (par exemple, jpg, png, svg).

Pour respecter la règle de cette liaison automatique, vos médias pourraient être nommés :

[picture]bluejean-8.jpg
[abc123]bluejean-8.png
[random]bluejean-8.svg

Créer une règle de liaison automatique

🚧

Prerequis

Des compétences en codage peuvent être requises puisque le processus comprend la création d'une expression régulière (regex) et de deux déclarations JSON (JavaScript Object Notation).

Étape 1 : Formulaire de nouvelle règle

Dans la page Administration > Système > Liaisons automatiques, cliquez sur le bouton Nouvelle règle. Un formulaire s'affiche pour définir la règle de liaison automatique.

647

Étape 2 : Nom de la règle

Définissez un nom pour la règle de liaison automatique. Ce nom doit être aussi descriptif que possible.

InformationRequest Body CodeDescription
Slugnom pour la règleSaisissez le nom de la règle.

Étape 3 : Événement de règle

Lorsqu'un média est importé dans Quable PIM, il s'agit d'un événement mediaupload. C'est ce type d'événement qui déclenche l'initialisation de la règle de liaison automatique.

InformationRequest Body CodeDescription
ÉvénementmediauploadIl doit être rensigné exactement comme ceci.

Étape 4 : Conditions de la règle

Définissez une déclaration JSON contenant les conditions qui doivent être remplies pour que la règle s'applique :

InformationRequest Body CodeDescription
Rule ifLes conditions qui doivent être remplies pour que la règle soit appliquée. Elle doit être rédigée dans le format indiqué dans l'exemple (ci-dessous).

Ces conditions identifient :
  • le type de document auquel la règle s'applique,
  • comment identifier le bon type de document,
  • comment interpréter le nom du média, et
  • la partie du nom du média à utiliser.
target_document_typeLe code unique du document qui doit être lié.
target_value_type=”code”

OU

target_value_type=”eav”
  • "code" - indique que la règle utilise un code de document.

  • "eav" - indique que la règle utilise une valeur d'attribut.
  • target_value=””Si
    • target_value_type=”code”, ceci devrait être une chaîne vide ("").
    • target_value_type=”eav”, ceci devrait être le code de l'attribut (e.g., "target_value": "couleur").
    rule=”equal”Cela indique que la partie isolée du nom du média doit correspondre exactement au type de document ou au code d'attribut.
    from_value_regexUne expression régulière (regex) permettant d'isoler les segments de noms des médias (entre parenthèses, également appelés groupes de capture). Les caractères devant être échappés doivent être échappés deux fois avec une barre oblique inverse (par exemple, \\. pour un point au lieu de .).

    Par défaut, le premier groupe de capture est examiné, à moins que from_value_regex_group ne soit utilisé pour spécifier un groupe.

    Si vous êtes novice en matière d'expressions régulières, vous pouvez vous référer à ce site.
    from_value_regex_group(optionnel) Un entier (nombre) indiquant le groupe de capture à utiliser pour la recherche de documents (1 = premier groupe, 2 = deuxième groupe, etc. ).
    from_value_type="originalfilename”Il doit être rensigné exactement comme ceci.
    from_value=””Il doit être rensigné exactement comme ceci.

    Étape 5 : Action de la règle

    Définissez une instruction JSON avec l'action à entreprendre si les conditions définies dans l'instruction Rule if sont remplies :

    InformationRequest Body CodeDescription
    Rule thenLes actions à entreprendre lorsque les conditions de la règle sont remplies. Elle doit être rédigée dans le format indiqué dans l'exemple ci-dessous.
    action=”createXObject”Ceci doit être utilisé exactement comme écrit. Il indique à Quable de créer une liaison entre le média et le document.
    document_typeLe code unique de la liaison doc_type > media à utiliser. Le type de liaison par défaut est article_images_media. Voir Types de liaisons pour en savoir plus sur la création de types de liaison.
    sequence_regex(optionnel) Une expression régulière (regex) définissant l'ordre des médias.

    Note : le numéro de séquence doit être inclus dans le originalfilename du média.
    target_property="originalfilename"(optionnel) Spécifie que sequence_regex est dans le nom du média.
    side_entity=”target”Ceci doit être utilisé exactement comme écrit. Elle fait du média une entité enfant du document auquel il est lié.

    Exemple

    Vous avez un type de document produit avec un attribut dont le code est couleur. L'attribut a deux valeurs possibles (rouge, bleu). Pour lier le média bleu.jpg à tous les documents de type produit dont la valeur de l'attribut couleur est bleu, votre règle serait la suivante :

    825

    Voici un examen plus approfondi d'une instruction Rule if :

    {
        "target_document_type": "produit",
        "target_value_type": "eav",
        "target_value": "couleur",
        "rule": "equal",
        "from_value_regex": "\/^([a-zA-Z0-9]*)\\.[jpg|png]\/",
        "from_value_type": "originalfilename",
        "from_value": ""
    }
    
    Rule if logic:
    "target_document_type": "product"Le média doit être lié à un type de document produit.
    "target_value_type": "eav"La liaison doit être basée sur un attribut.
    "target_value": "couleur"Utilisez ce code d'attribut spécifique.
    "rule": "equal"Le nom du média doit être une correspondance exacte avec une valeur d'attribut.
    "from_value_regex": "\/^([a-zA-Z0-9]*)\\.[jpg|png]\/"Le nom du média doit être comme ceci :
    • ([a-zA-Z0-9]*) précise que le nom du média doit être une chaîne de caractères alphanumériques.
    • [jpg|png] précise que le média doit avoir une extension jpg ou png.

    🚧

    "from_value_type": "originalfilename" et "from_value": "" doit toujours être écrit comme indiqué.

    Voici un examen plus approfondi de la déclaration Rule then :

    {
    "action": "createXObject",
    "document_type": "article_images_media",
    "side_entity": "target"
    }
    
    Rule then logic:
    "action": "createXObject"Créer un objet de connexion.
    "document_type": "article_images_media"Utilisez le type de liaison article_images_media.
    "side_entity": "target"Utilisez la "target" (cible) dans la déclaration Rule if.

    Cas d'utilisation

    1. Lier à plusieurs documents

    ScenarioResponse
    Puis-je lier un média à plusieurs documents ? Oui, si vous faites une liaison sur une valeur d'attribut. Le nom du média doit respecter votre convention de dénomination et inclure un segment qui correspond exactement à la valeur de l'attribut.

    Exemple
    Pour lier une vidéo à tous les documents qui ont l'attribut design avec une valeur "moderne". Le nom de la vidéo pourrait être "moderne_video.mp4" si votre convention de nommage est : value_xxxx.extension

    Dans ce cas, les parties suivantes de la déclaration Rule if seraient modifiées pour indiquer qu'une valeur d'attribut doit être utilisée :

    Rule ifDescription
    target_value_type=”eav”Cela indique que la règle utilise une valeur d'attribut.
    target_value: "design"Le code de l'attribut. La valeur requise doit être dans le nom du média.
    "from_value_regex": "/^([a-zA-Z0-9]*)+_[a-zA-Z0-9_]*\\.[mp4|wav]/"Cela indique que :
    • le nom du média doit comporter deux segments alphanumériques séparés par un trait de soulignement et
    • l'extension du fichier doit être soit un .mp4 soit un .wav.


    {
        "target_document_type": "produit_fini",
        "target_value_type": "eav",
        "target_value": "design",
        "rule": "equal",
        "from_value_regex": "/^([a-zA-Z0-9]*)+_[a-zA-Z0-9_]*\\.[mp4|wav]/",
        "from_value_type": "originalfilename",
        "from_value": ""
    }
    


    La déclaration Rule then indique que le type de liaison "picto_image" doit être utilisé pour lier le média à la "target" (cible).

    {
    "action": "createXObject", 
    "document_type":"picto_image", 
    "side_entity": "target"
    }
    

    2. Lier à un document et son variant

    ScenarioResponse
    Puis-je lier un média à un document et à son variant ?Oui. Dans ce cas, vous pouvez créer deux règles qui seront exécutées de manière séquentielle :

  • une règle pour les documents et
  • une règle pour les variants du document.

  • S'il n'y a pas de document correspondant, la deuxième règle vérifie s'il existe ou non un variant.

    La convention de dénomination des médias pourrait être la suivante :

    document_code__variant_code__xxxx.extension

    2.a Utiliser une liaison spécifique

    ScenarioResponse
    Puis-je lier un média à un document et à sa variant via un lien spécifique (par exemple, "texture") ?Oui, vous pouvez spécifier la liaison dans la déclaration Rule then.

    En reprenant l'exemple précédent, la convention de dénomination du média pourrait être la suivante :

    document_code__variant_code__text1889_xxxx.extension

    Dans ce cas, la logique de la règle serait :

  • SI document_code est trouvé,
  • PUIS utiliser la liaison "texture". ("document_type":"texture").
  • 3. Lier à plusieurs types de documents

    ScenarioResponse
    Puis-je lier un média à plusieurs types de documents via une seule règle de liaison automatique ?Non. Il n'est pas possible de déclarer plusieurs liaisons automatiques via la même règle.

    Si un média doit être lié à plusieurs types de documents, des règles individuelles doivent être créés pour chaque type de document.