Le sélecteur de ressources micro front-end fournit une interface utilisateur qui s’intègre facilement au référentiel Experience Manager Assets as a Cloud Service afin que vous puissiez parcourir ou rechercher des ressources numériques disponibles dans le référentiel et les utiliser dans votre expérience de création d’applications.
L’interface utilisateur micro front-end est mise à disposition dans votre expérience de l’application à l’aide du package Sélecteur de ressources. Toutes les mises à jour du package sont automatiquement importées et le dernier sélecteur de ressources déployé est automatiquement téléchargé dans votre application.
Le sélecteur de ressources offre de nombreux avantages, notamment :
Facile à intégrer avec n’importe quelle application Adobe ou autre qu’Adobe utilisant la bibliothèque JavaScript Vanilla.
Facile à gérer, car les mises à jour du package Sélecteur de ressources sont automatiquement déployées vers le sélecteur de ressources disponible pour votre application. Aucune mise à jour n’est requise dans votre application pour télécharger les dernières modifications.
Facile à personnaliser, car il existe des propriétés qui contrôlent l’affichage du sélecteur de ressources dans votre application.
Recherche de texte intégral, filtres prêts à l’emploi et filtres personnalisés pour accéder rapidement aux ressources à utiliser dans l’expérience de création.
Possibilité de changer de référentiels au sein d’une organisation IMS pour la sélection de ressources.
Possibilité de trier les ressources par nom, dimension et taille, et de les afficher en mode Liste, Grille, Galerie ou Cascade.
Le but de cet article est de montrer comment utiliser le sélecteur de ressources avec une application Adobe sous Unified Shell ou lorsque vous avez déjà généré un imsToken pour l’authentification. Dans cet article, ces workflows sont appelés flux non-SUSI.
Effectuez les tâches suivantes pour intégrer et utiliser le sélecteur de ressources avec votre référentiel Experience Manager Assets as a Cloud Service :
Vous pouvez intégrer n’importe quelle application Adobe ou autre qu’Adobe avec Experience Manager Assets as a Cloud Service et sélectionner des ressources dans l’application.
L’intégration est effectuée en important le package Sélecteur de ressources et en se connectant à Assets as a Cloud Service à l’aide de la bibliothèque JavaScript Vanilla. Vous devez modifier un index.html
ou tout fichier approprié dans votre application vers -
Vous pouvez effectuer une authentification sans définir certaines des propriétés IMS, si :
Définissez les conditions préalables dans le fichier index.html
ou un fichier similaire dans l’implémentation de votre application pour définir les détails d’authentification permettant d’accéder au référentiel Experience Manager Assets as a Cloud Service. Les prérequis sont les suivants :
Les sélecteurs de ressources sont disponibles via le réseau CDN ESM (par exemple, esm.sh/skypack) et la version UMD.
Dans les navigateurs utilisant la version UMD (recommandé) :
<script src="https://experience.adobe.com/solutions/CQ-assets-selectors/static-assets/resources/assets-selectors.js"></script>
<script>
const { renderAssetSelector } = PureJSSelectors;
</script>
Dans les navigateurs avec la prise en charge import maps
à l’aide de la version du réseau CDN ESM :
<script type="module">
import { AssetSelector } from 'https://experience.adobe.com/solutions/CQ-assets-selectors/static-assets/resources/@assets/selectors/index.js'
</script>
Dans la fédération de modules Deno/Webpack à l’aide de la version du réseau CDN ESM :
import { AssetSelector } from 'https://experience.adobe.com/solutions/CQ-assets-selectors/static-assets/resources/@assets/selectors/index.js'
Le type de ressource sélectionné est un tableau d’objets qui contient des informations sur les ressources lors de l’utilisation des fonctions handleSelection
, handleAssetSelection
, et onDrop
.
Syntaxe du schéma
interface SelectedAsset {
'repo:id': string;
'repo:name': string;
'repo:path': string;
'repo:size': number;
'repo:createdBy': string;
'repo:createDate': string;
'repo:modifiedBy': string;
'repo:modifyDate': string;
'dc:format': string;
'tiff:imageWidth': number;
'tiff:imageLength': number;
'repo:state': string;
computedMetadata: Record<string, any>;
_links: {
'http://ns.adobe.com/adobecloud/rel/rendition': Array<{
href: string;
type: string;
'repo:size': number;
width: number;
height: number;
[others: string]: any;
}>;
};
}
Le tableau suivant décrit des propriétés importantes de l’objet Ressource sélectionnée.
Propriété | Type | Explication |
---|---|---|
repo:repositoryId | chaîne | Identifiant unique du référentiel dans lequel la ressource est stockée. |
repo:id | chaîne | Identifiant unique de la ressource. |
repo:assetClass | chaîne | Classification de la ressource (par exemple, image ou vidéo, document). |
repo:name | chaîne | Nom de la ressource, y compris l’extension de fichier. |
repo:size | nombre | Taille de la ressource en octets. |
repo:path | chaîne | Emplacement de la ressource dans le référentiel. |
repo:ancestors | Array<string> |
Tableau d’éléments ancêtres de la ressource dans le référentiel. |
repo:state | chaîne | État actuel de la ressource dans le référentiel (par exemple, active, supprimée, etc.). |
repo:createdBy | chaîne | L’utilisateur, l’utilisatrice ou le système qui a créé la ressource. |
repo:createDate | chaîne | Date et heure de création de la ressource. |
repo:modifiedBy | chaîne | L’utilisateur, l’utilisatrice ou le système qui a modifié la ressource pour la dernière fois. |
repo:modifyDate | chaîne | Date et heure de la dernière modification de la ressource. |
dc:format | chaîne | Format de la ressource, tel que le type de fichier (par exemple, JPEG, PNG, etc.). |
tiff:imageWidth | nombre | Largeur d’une ressource. |
tiff:imageLength | nombre | Hauteur d’une ressource. |
computedMetadata | Record<string, any> |
Objet qui représente un compartiment pour tous les types de métadonnées de la ressource (référentiel, application ou métadonnées incorporées). |
_links | Record<string, any> |
Liens hypermédias pour la ressource associée. Inclut des liens pour des ressources telles que des métadonnées et des rendus. |
_links.http://ns.adobe.com/adobecloud/rel/rendition | Array<Object> |
Tableau d’objets contenant des informations sur les rendus de la ressource. |
_links.http://ns.adobe.com/adobecloud/rel/rendition[].href | chaîne | URI du rendu. |
_links.http://ns.adobe.com/adobecloud/rel/rendition[].type | chaîne | Type MIME du rendu. |
_links.http://ns.adobe.com/adobecloud/rel/rendition[].'repo:size' | nombre | Taille du rendu en octets. |
_links.http://ns.adobe.com/adobecloud/rel/rendition[].width | nombre | Largeur du rendu. |
_links.http://ns.adobe.com/adobecloud/rel/rendition[].height | nombre | Hauteur du rendu. |
Pour obtenir la liste complète des propriétés ainsi qu’un exemple détaillé, consultez la page Exemple de code de sélecteur de ressources.
Cet exemple montre comment utiliser le sélecteur de ressources avec un flux non-SUSI lors de l’exécution d’une application Adobe sous Unified Shell ou lorsque vous avez déjà généré des imsToken
pour l’authentification.
Insérez le package Sélecteur de ressources dans votre code à l’aide de la variable script
, comme illustré dans lignes 6 à 15 de l’exemple ci-dessous. Une fois le script chargé, vous pouvez utiliser la variable globale PureJSSelectors
. Définition du sélecteur de ressources properties comme illustré dans lignes 16 à 23. Les propriétés imsOrg
et imsToken
sont toutes deux requises pour l’authentification dans un flux non-SUSI. La propriété handleSelection
sert à gérer les ressources sélectionnées. Pour effectuer le rendu du sélecteur de ressources, appelez la fonction renderAssetSelector
comme indiqué dans la ligne 17. Le sélecteur de ressources s’affiche dans l’élément de conteneur <div>
, comme indiqué dans les lignes 21 et 22.
En suivant ces étapes, vous pouvez utiliser le sélecteur de ressources avec un flux non-SUSI dans votre application Adobe.
<!DOCTYPE html>
<html>
<head>
<title>Asset Selector</title>
<script src="https://experience.adobe.com/solutions/CQ-assets-selectors/assets/resources/assets-selectors.js"></script>
<script>
// get the container element in which we want to render the AssetSelector component
const container = document.getElementById('asset-selector-container');
// imsOrg and imsToken are required for authentication in non-SUSI flow
const assetSelectorProps = {
imsOrg: 'example-ims@AdobeOrg',
imsToken: "example-imsToken",
apiKey: "example-apiKey-associated-with-imsOrg",
handleSelection: (assets: SelectedAssetType[]) => {},
};
// Call the `renderAssetSelector` available in PureJSSelectors globals to render AssetSelector
PureJSSelectors.renderAssetSelector(container, assetSelectorProps);
</script>
</head>
<body>
<div id="asset-selector-container" style="height: calc(100vh - 80px); width: calc(100vw - 60px); margin: -20px;">
</div>
</body>
</html>
Pour obtenir un exemple détaillé, consultez Exemple de code de sélecteur de ressources.
Vous pouvez utiliser les propriétés du sélecteur de ressources pour personnaliser le rendu du sélecteur de ressources. Le tableau suivant répertorie les propriétés que vous pouvez utiliser pour personnaliser et utiliser le sélecteur de ressources.
Propriété | Type | Requis | Valeur par défaut | Description |
---|---|---|---|---|
rail | booléen | Non | false | Si marqué true , le sélecteur de ressources s’affiche dans un rail de gauche. S’il est marqué false , le sélecteur de ressources est rendu dans la vue modale. |
imsOrg | chaîne | Oui | Identifiant Adobe Identity Management System (IMS) attribué lors de l’approvisionnement de Adobe Experience Manager en tant que Cloud Service pour votre organisation. La variable imsOrg clé est requise pour vous authentifier si l’organisation à laquelle vous accédez se trouve sous Adobe IMS ou non. |
|
imsToken | chaîne | Non | Jeton de support IMS utilisé pour l’authentification. imsToken est obligatoire si vous utilisez le flux non-SUSI. |
|
apiKey | chaîne | Non | Clé d’API utilisée pour accéder au service AEM Discovery. apiKey est obligatoire si vous utilisez le flux non-SUSI. |
|
rootPath | chaîne | Non | /content/dam/ | Chemin du dossier à partir duquel le sélecteur de ressources affiche vos ressources. rootPath peut également être utilisé sous la forme d’encapsulation. Par exemple, étant donné le chemin suivant, /content/dam/marketing/subfolder/ , le sélecteur de ressources ne vous permet pas de parcourir les dossiers parents, mais affiche uniquement les dossiers enfants. |
path | chaîne | Non | Chemin d’accès utilisé pour accéder à un répertoire spécifique de ressources lors du rendu du sélecteur de ressources. | |
filterSchema | tableau | Non | Modèle utilisé pour configurer les propriétés de filtre. Cela s’avère utile lorsque vous souhaitez limiter certaines options de filtre dans le sélecteur de ressources. | |
filterFormProps | Objet | Non | Spécifiez les propriétés de filtre à utiliser pour affiner votre recherche. Par exemple, JPG de type MIME, PNG, GIF. | |
selectedAssets | Tableau <Object> |
Non | Spécifiez les ressources sélectionnées lors du rendu du sélecteur de ressources. Un tableau d’objets contenant une propriété d’ID des ressources est requis. Par exemple : [{id: 'urn:234}, {id: 'urn:555'}] . Une ressource doit être disponible dans le répertoire actuel. Si vous devez utiliser un autre répertoire, saisissez également une valeur pour la propriété path . |
|
acvConfig | Objet | Non | Propriété d’affichage de collection de ressources qui contient comportant une configuration personnalisée pour remplacer les valeurs par défaut. | |
i18nSymbols | Object<{ id?: string, defaultMessage?: string, description?: string}> |
Non | Si les traductions prêtes à l’emploi ne sont pas suffisantes pour répondre aux besoins de votre application, vous pouvez exposer une interface par laquelle vous pouvez transmettre vos propres valeurs localisées et personnalisées via la propriété i18nSymbols . Le transfert d’une valeur par le biais de cette interface remplace les traductions fournies par défaut par les vôtres. Pour effectuer le remplacement, vous devez transmettre un objet Descripteur de message valide à la clé de i18nSymbols que vous voulez remplacer. |
|
intl | Objet | Non | Le sélecteur de ressources fournit des traductions prêtes à l’emploi par défaut. Vous pouvez sélectionner la langue de traduction en fournissant une chaîne de paramètres régionaux valide via la propriété intl.locale . Par exemple : intl={{ locale: "es-es" }} . Les chaînes de paramètres régionaux prises en charge suivent la norme ISO 639 - Codes pour la représentation des noms des normes linguistiques. Liste des paramètres régionaux pris en charge : anglais (en-us, par défaut), espagnol (es-es), allemand (de-de), français (fr-FR), italien (it-it), japonais (ja-jp), coréen (ko-kr), portugais (pt-br), chinois (traditionnel, zh-cn), chinois (Taïwan, zh-tw). |
|
repositoryId | chaîne | Non | '' | Référentiel à partir duquel le sélecteur de ressources charge le contenu. |
additionalAemSolutions | Array<string> |
Non | [ ] | Il vous permet d’ajouter une liste de référentiels d’AEM supplémentaires. Si aucune information n’est fournie dans cette propriété, seule la bibliothèque de médias ou les référentiels AEM Assets sont pris en compte. |
hideTreeNav | booléen | Non | Indique s’il faut afficher ou masquer la barre latérale de navigation de l’arborescence de ressources. Elle est utilisée uniquement en mode modal et, par conséquent, cette propriété n’a aucun impact en mode rail. | |
onDrop | Fonction | Non | La propriété active la fonctionnalité de dépôt d’une ressource. | |
dropOptions | {allowList?: Object} |
Non | Configure les options de dépôt à l’aide de la « liste autorisée ». | |
colorScheme | chaîne | Non | Configure le thème (light ou dark ) du sélecteur de ressources. |
|
handleSelection | Fonction | Non | Appelée avec un tableau d’éléments de ressource lorsque des ressources sont sélectionnées et que vous cliquez sur le bouton Select en mode modal. Cette fonction est uniquement appelée en mode modal. En mode rail, utilisez les fonctions handleAssetSelection ou onDrop . Exemple : handleSelection=(assets: Asset[])=> {…}Voir Type de ressource sélectionné pour plus d’informations. |
|
handleAssetSelection | Fonction | Non | Appelée avec un tableau d’éléments lorsque les ressources sont sélectionnées ou désélectionnées. Cela s’avère utile si vous souhaitez écouter les ressources lorsque l’utilisateur ou l’utilisatrice les sélectionne. Exemple : handleSelection=(assets: Asset[])=> {…}Voir Type de ressource sélectionné pour plus d’informations. |
|
onClose | Fonction | Non | Appelée lorsque vous cliquez sur le bouton Close en mode modal. Cette fonction est uniquement appelée en mode modal et n’est pas prise en compte en mode rail . |
|
onFilterSubmit | Fonction | Non | Appelée avec des éléments de filtre lorsque l’utilisateur ou l’utilisatrice modifie des critères de filtre. | |
selectionType | chaîne | Non | unique | Configuration pour la sélection single ou multiple de ressources à la fois. |
Vous pouvez définir les propriétés du sélecteur de ressources dans le fichier index.html
pour personnaliser l’affichage du sélecteur de ressources dans votre application.
Si la valeur du AssetSelector rail
est définie sur false
ou n’est pas mentionnée dans les propriétés, le sélecteur de ressources s’affiche par défaut en mode modal.
Utilisez différentes propriétés pour définir les métadonnées d’une ressource que vous souhaitez afficher à l’aide d’une icône d’infos. La fenêtre contextuelle d’infos fournit l’ensemble des informations sur la ressource ou le dossier, y compris le titre, les dimensions, la date de modification, l’emplacement et la description d’une ressource. Dans l’exemple ci-dessous, diverses propriétés sont utilisées pour afficher les métadonnées d’une ressource, par exemple : la propriété repo:path
spécifie l’emplacement d’une ressource.
Outre la recherche facettée, le sélecteur de ressources vous permet de personnaliser divers attributs pour affiner votre recherche à partir de Adobe Experience Manager as a Cloud Service application. Vous devez ajouter le code suivant pour ajouter des filtres de recherche personnalisés dans votre application. Dans l’exemple ci-dessous, la recherche Type Filter
qui filtre le type de ressource parmi les Images, Documents ou Vidéos ou le type de filtre que vous avez ajouté pour la recherche.
La propriété handleSelection
est utilisée pour gérer des sélections uniques ou multiples de ressources dans le sélecteur de ressources. L’exemple ci-dessous indique la syntaxe de l’utilisation de handleSelection
.
Une fois que le sélecteur de ressources est configuré et que vous êtes authentifié(e) pour l’utiliser avec votre application Adobe Experience Manager as a Cloud Service, vous pouvez sélectionner des ressources ou effectuer d’autres opérations pour rechercher vos ressources dans le référentiel.
Pour masquer les dossiers dans le volet de navigation de gauche, cliquez sur l’icône Masquer les dossiers. Pour annuler les modifications, cliquez à nouveau sur l’icône Masquer les dossiers.
Le sélecteur de ressources vous permet également de basculer entre des référentiels pour la sélection de ressources. Vous pouvez sélectionner le référentiel de votre choix dans la liste déroulante disponible dans le panneau de gauche. Les options de référentiel disponibles dans la liste déroulante reposent sur la propriété repositoryId
définie dans le fichier index.html
. Cela est basé sur les environnements de l’organisation IMS sélectionnée accessible par l’utilisateur ou l’utilisatrice connecté(e). Les clientes et clients peuvent transmettre une préférence repositoryID
et, dans ce cas, le sélecteur de ressources arrête le rendu du sélecteur de référentiels et effectue uniquement le rendu des ressources à partir du référentiel donné.
Il s’agit d’une collection de dossiers de ressources que vous pouvez utiliser pour effectuer des opérations.
Le sélecteur de ressources fournit également des options de filtres prêts à l’emploi pour affiner vos résultats de recherche. Les filtres suivants sont disponibles :
File type
: inclut un dossier, un fichier, des images, des documents ou une vidéo.
MIME type
: inclut JPG, GIF, PPTX, PNG, MP4, DOCX, TIFF, PDF, XLSX.
Image Size
: inclut la largeur minimale et maximale, et la hauteur minimale et maximale de l’image.
Outre la recherche de texte intégral, le sélecteur de ressources vous permet de rechercher des ressources dans des fichiers à l’aide d’une recherche personnalisée. Vous pouvez utiliser des filtres de recherche personnalisés en modes Modal et Rail.
Vous pouvez également créer un filtre de recherche par défaut pour enregistrer les champs que vous recherchez fréquemment et les utiliser ultérieurement. Pour créer une recherche personnalisée de vos ressources, vous pouvez utiliser la propriété filterSchema
.
Le sélecteur de ressources vous permet d’effectuer une recherche de texte intégral des ressources dans le référentiel sélectionné. Par exemple, si vous saisissez le mot-clé wave
dans la barre de recherche, toutes les ressources qui contiennent le mot-clé wave
dans l’une des propriétés de métadonnées s’affichent.
Vous pouvez trier les ressources du sélecteur de ressources selon le nom, les dimensions ou la taille d’une ressource. Vous pouvez également trier les ressources par ordre croissant ou décroissant.
Le sélecteur de ressources vous permet d’afficher la ressource dans quatre vues différentes :