Configurer l'intégration d'objet métier spécifique
Dans cette dernière section, vous allez effectuer les étapes requises pour ajouter l'interface utilisateur de dossier intégré OCM dans un objet métier d'application Oracle Sales and Service spécifique.
Dans cette section, nous utiliserons à nouveau les opportunités, mais tous les objets métier peuvent être mis à jour à l'aide de ces étapes, telles que les demandes de service, les campagnes, les événements, etc. Cela implique la création d'un champ personnalisé dans l'opportunité de stocker l'ID de dossier OCM unique. Ces étapes ajouteront également l'onglet Documents à la page de détails de l'opportunité qui affiche l'interface utilisateur de dossier imbriqué OCM via un regroupement à l'aide de l'ID de dossier OCM propre à l'opportunité.
Créer un champ personnalisé
Un champ personnalisé est propre à l'objet fonctionnel dans lequel il est créé. Ces variables sont propres à chaque instance des objets fonctionnels créés.
- Pour entrer à nouveau dans Application Composer, cliquez sur Outils dans le coin supérieur gauche de la page, puis sélectionnez Application Composer dans la liste déroulante.
- Sélectionnez Objets, Objets standard, Opportunité, puis Champs dans le menu de navigation de gauche.
- Sur la page Champs, sélectionnez l'onglet Personnalisé et cliquez sur l'icône Créer un champ personnalisé.
- Dans la boîte de dialogue Sélectionner un type de champ, sélectionnez l'option Texte et cliquez sur OK.
- Dans la page Créer un champ de texte, procédez comme suit :
- Dans le champ Libellé d'affichage, indiquez le nom OCMFolderId. Le champ Nom est automatiquement renseigné en fonction de la valeur indiquée dans le champ Libellé d'affichage.
- Dans le champ Description, entrez le texte "Variable personnalisée pour l'objet Opportunité spécifique afin de stocker l'ID de dossier unique utilisé par l'intégration Collaboration sur les opportunités OCM".
- Cliquez sur Enregistrer et fermer.
Etendre l'objet métier
Les objets métier peuvent être étendus à l'aide d'une combinaison (comme celle que nous avons créée ci-dessus) pour exposer une application externe telle qu'OCM dans l'interface utilisateur des objets métier.
- Sélectionnez Objets standard, Opportunité, puis Pages dans le menu de navigation de gauche.
- Sur la page Opportunité : Pages, dans la section Présentations de la page de détails, cliquez sur Dupliquer la disposition de la page de détails.
Remarque :
Si une page personnalisée a déjà été créée, elle peut être utilisée pour l'intégration OCM au lieu de créer une page et l'étape 3 peut être ignorée. - Dans la boîte de dialogue Dupliquer la présentation, renseignez les champs suivants :
- Dans le champ Nom de la nouvelle présentation, indiquez le nom OCMEmbeddedUIIntegration.
- Dans le champ Présentation source, sélectionnez Présentation standard dans le menu déroulant.
- Cliquez sur Enregistrer et modifier.
- Sur la page Présentation des détails, sélectionnez l'icône Ajouter en bas du menu de navigation de gauche dans la section Région Sous-onglets pour ajouter l'interface utilisateur intégrée OCM.
- Sélectionnez l'option Contenu composite. Cliquez ensuite sur Suivant.
- Sur la page suivante, sélectionnez l'option OCMEmbeddedFolderUIMashup créée précédemment et cliquez sur Insérer.
- Sur la page suivante, renseignez les champs suivants :
- Dans le champ Libellé d'affichage, entrez Documents.
- Pour Icône d'affichage, cliquez sur Modifier l'icône afin qu'une icône en forme de document s'affiche dans l'interface utilisateur des opportunités sous forme d'onglet.
- Dans le champ Modifier le script, collez le script suivant :
println("Opportunity Documents Tab Selected: " + Name) // Get the current user security context def secCtx = adf.context.getSecurityContext() // Get the current OCM user id based off the current Oracle Sales and Service User def OCMUserId = adf.util.OCMSearchUserFunction(secCtx.getUserName()) // Now check to see if the OCM user has been shared to this folder boolean isFolderShared = adf.util.OCMIsFolderSharedFunction(OCMFolderId_c, OCMUserId) if (!isFolderShared) { // Share the current user as a Manager to the OCM Folder associated to this item adf.util.OCMShareFolderFunction(OCMFolderId_c, OCMUserId, "manager") } println("Loading OCM Embedded Docs UI") return OCMFolderId_c +'?options={"documentsView":{"layout":"grid","header":{"create":{"folder":true},"upload":true,"trash":true},"actions":{"open":{"file":true},"uploadNewVersion":true,"download":true,"delete":true,"shareLink":true,"members":true}},"documentViewer":{"actions":{"download":true,"uploadNewVersion":true,"shareLink":true},"sidebar":{"conversation":true}}}'
Remarque :
Ce script affecte automatiquement le rôle de responsable à chaque utilisateur accédant au dossier. Cela peut être affiné pour accorder au propriétaire de l'opportunité le rôle de responsable tout en donnant à d'autres utilisateurs le rôle de contributeur. - Cliquez sur le bouton Suivant.
- Cliquez sur Enregistrer et fermer.
Ajout de déclencheurs d'événement
Un déclencheur d'événement vérifie la présence d'un événement et, lorsque cet événement se produit, il exécute le code associé au déclencheur.
OCMCreateFolderTrigger
Pour ajouter un déclencheur d'objet de script serveur afin de créer le dossier OCM associé lors de la création de l'opportunité :
- Sélectionnez Objets standard, Opportunité, puis Scripts serveur dans le panneau de navigation de gauche.
- Sur la page Opportunité des scripts de serveur, sélectionnez l'onglet Déclencheurs.
- Sous la section Déclencheurs d'objet, cliquez sur Ajouter un nouveau déclencheur.
- Sur la page Créer un déclencheur d'objet, renseignez les champs suivants :
- Dans le menu déroulant Déclencheur, sélectionnez Avant l'insertion dans la base de données.
- Dans le champ Trigger Name, indiquez le nom du déclencheur comme OCMCreateFolderTrigger.
- Dans le champ Description, entrez le texte "Créer le dossier OCM associé à l'opportunité en cours de création".
- Dans le champ Modifier le script, collez le script suivant, en remplaçant
<OCMRootFolderId>
par l'ID de dossier racine OCM réel capturé dans OCM lors des étapes initiales ci-dessus (par exemple, F572711F9E557436A646AEC295F044A3C39B0) :println("Opportunity.BeforeInsert(OCMCreateFolderTrigger): " + Name) def OCMParentFolderId = "<OCMRootFolderId>" // Create a new OCM folder under the parent folder based off the item name println("Create OCM Opportunity Folder under Pararent Folder Id: " + OCMParentFolderId) def OCMFolderId = adf.util.OCMCreateFolderFunction(OCMParentFolderId, Name) // and assign that new folder id to the OCMFolderId item variables setAttribute("OCMFolderId_c", OCMFolderId)
- Cliquez sur Enregistrer et fermer.
OCMDeleteFolderTrigger
Remarque :
L'implémenteur peut choisir de ne pas implémenter cette étape s'il s'avère que tout contenu placé dans le dossier d'opportunités OCM doit être conservé même après la suppression de l'opportunité.- Dans le menu déroulant Déclencheur, sélectionnez Avant la suppression dans la base de données.
- Dans le champ Trigger Name, indiquez le nom du déclencheur comme OCMDeleteFolderTrigger.
- Dans le champ Description, entrez "Supprimer le dossier OCM associé à l'opportunité en cours de suppression".
- Dans le champ Modifier le script, collez le script suivant :
println("Opportunity.BeforeDelete(OCMDeleteFolderTrigger): " + Name + "(" + OCMFolderId_c + ")") // Make sure that we have a folder to delete if (OCMFolderId_c != null) { adf.util.OCMDeleteFolderFunction(OCMFolderId_c) } else { println("Warning: No OCMFolderId associated to the Opportunity?") }
- Cliquez sur Enregistrer et fermer.