Configura integrazione business object specifica
In quest'ultima sezione verranno eseguiti i passi necessari per aggiungere l'interfaccia utente del repository di asset incorporato OCM all'interno di un business object specifico dell'applicazione Oracle Sales and Service.
In questa sezione verranno utilizzate di nuovo le richieste di servizio, ma i business object possono essere aggiornati mediante questi passi, ad esempio opportunità, campagne, eventi e così via. Ciò comporta campi personalizzati all'interno della richiesta di servizio per memorizzare l'ID repository asset di base OCM e l'ID raccolta OCM univoco. Questi passi aggiungono inoltre una scheda Asset alla pagina dei dettagli della richiesta di servizio che espone l'interfaccia utente del repository degli asset incorporato OCM tramite un mashup utilizzando l'ID raccolta OCM specifico della richiesta di servizio. Una volta risolta una richiesta di servizio, anche i documenti OCM correlati verranno copiati nella raccolta del repository degli asset OCM.
Crea campi personalizzati
Un campo personalizzato è specifico del business object in cui è stato creato. Queste variabili sono accessibili dal business object e possono essere univoche per ogni istanza dei business object creati.
ID raccolta OCM
Un campo personalizzato è specifico del business object in cui è stato creato. Queste variabili sono accessibili dal business object e possono essere univoche per ogni istanza dei business object creati.
- Per immettere di nuovo la funzionalità Creazione applicazione, fare clic su Strumenti nell'angolo superiore sinistro della pagina, quindi selezionare Compositore applicazione dall'elenco a discesa.
- Scegliere Oggetti, Oggetti standard, Richiesta di servizio, quindi Campi dal menu di navigazione a sinistra.
- Nella pagina Campi, selezionare la scheda Personalizzato e fare clic sull'icona Crea un campo personalizzato.
- Nella finestra di dialogo Seleziona tipo di campo selezionare l'opzione Testo e fare clic su OK.
- Nella pagina Crea campo di testo, completare i campi riportati di seguito.
- Nel campo Etichetta di visualizzazione, specificare il nome come OCMCollectionId. Il campo Nome viene compilato automaticamente in base al valore specificato nel campo Etichetta di visualizzazione.
- Nel campo Descrizione immettere il testo "Variabile personalizzata per l'oggetto richiesta di servizio specifico per memorizzare l'ID univoco di raccolta del repository asset utilizzato dall'integrazione di OCM Asset Repository Records Management".
- Fare clic su Salva e Chiudi.
ID repository di base OCM
- Nel campo Etichetta di visualizzazione, specificare il nome come OCMBaseRepositoryId. Il campo Nome viene compilato automaticamente in base al valore specificato nel campo Etichetta di visualizzazione.
- Nel campo Descrizione immettere il testo "Variabile personalizzata contenente l'ID repository di base OCM utilizzato come posizione per la quale verranno create le raccolte per l'integrazione di OCM Asset Repository Records Management".
- Nella sezione Vincoli deselezionare Aggiornabile.
- Nel campo Valore fisso immettere il valore dell'ID del repository asset di base OCM salvato in precedenza (ad esempio, 12424F28875F405FB2144A6FD4DD9FC).
- Fare clic su Salva e chiudi.
Estendi il business object
I business object possono essere estesi utilizzando un Mashup (come quello creato sopra) per esporre un'applicazione esterna come OCM all'interno dell'interfaccia utente dei business object.
- Scegliere Oggetti, Oggetti standard, Richiesta di servizio, quindi Pagine dal menu di navigazione a sinistra.
- Nella sezione Layout di pagina Dettagli della pagina Richiesta di servizio: Pagine fare clic sull'icona Layout pagina Dettagli duplicati.
Nota:
Se è già stata creata una pagina personalizzata, tale pagina può essere utilizzata per l'integrazione asset OCM anziché creare una nuova pagina e il passo 3 può essere saltato. - Nella finestra di dialogo Duplica layout, completare i campi riportati di seguito.
- Nel campo Nuovo nome layout, specificare il nome come OCMEmbeddedUIIntegration.
- Nel campo Layout di origine selezionare Layout standard dal menu a discesa.
- Fare clic su Salva e modifica.
- Nella pagina Layout dettagli, selezionare l'icona Aggiungi nella parte inferiore del menu di navigazione a sinistra della sezione Area delle schede secondarie per aggiungere l'interfaccia utente incorporata OCM.
- Selezionare l'opzione Contenuto mashup. Fare clic su Avanti.
- Nella pagina successiva selezionare l'opzione OCMEmbeddedAssetsUIMashup creata in precedenza e fare clic su Inserisci.
- Nella pagina successiva, completare i campi riportati di seguito.
- Nel campo Etichetta di visualizzazione immettere Asset.
- Per l'icona di visualizzazione, fare clic su Modifica icona se si desidera modificare l'icona predefinita visualizzata nell'interfaccia utente della richiesta di servizio come scheda.
- Nel campo Modifica script incollare lo script seguente:
println("Service Request Assets Tab Selected: " + SrNumber) // Get the current user security context def secCtx = adf.context.getSecurityContext() // Check to see if the OCM user has been shared to this Repository Collection // NOTE: The user must already be manually shared as at least a contributor to the Base Repository either directly or indirectly through a group for this integration to work boolean isCollectionShared = adf.util.OCMIsRepositoryCollectionSharedAsContributorFunction(OCMBaseRepositoryId_c, OCMCollectionId_c, secCtx.getUserName()) if (!isCollectionShared) { // If not then share the current user as a Contributor to the OCM Collection associated to this item adf.util.OCMShareCollectionFunction(OCMCollectionId_c, secCtx.getUserName(), "contributor") } println("Loading OCM Embedded Assets UI") return '?options={"assetsView":{"select":"single","layout":"grid","sort":"relevance","header":{"add":{"upload":true,"documents":true},"collections":true},"filter":{"bar":{"capsules":false},"repositories":["' + OCMBaseRepositoryId_c + '"],"collections":["' + OCMCollectionId_c + '"]},"filterValue":{"repositoryId":"' + OCMBaseRepositoryId_c + '","collectionId":"' + OCMCollectionId_c + '","includeChildCategories":false},"sidebar":{"categories":true,"conversation":true,"properties":true},"actions":{"open":true,"download":true,"uploadNewVersion":true,"delete":true},"card":{"status":false}},"assetViewer":{"header":{"annotate":true,"fullScreen":true,"close":true},"actions":{"download":true,"uploadNewVersion":true,"makeCurrent":true},"sidebar":{"categories":true,"conversation":true,"properties":true,"renditions":true}},"dialogs":{"addToRepository":{"sidebar":{"categories":true},"default":{"collections":["' + OCMCollectionId_c + '"]}}}}'
Nota:
Questo script assegna automaticamente il ruolo contributore a ogni utente che accede alla raccolta specifica del repository degli asset. Ciò potrebbe essere ulteriormente perfezionato, ad esempio, per concedere al proprietario della richiesta di servizio il ruolo di manager fornendo ad altri utenti il ruolo di contribuente. - Fare clic sul pulsante Next.
- Fare clic su Salva e chiudi.
Aggiungere i trigger di eventi
Un trigger di eventi verifica la presenza di un evento e, quando tale evento si verifica, esegue il codice associato al trigger.
OCMCreateCollectionTrigger
Per aggiungere un trigger di oggetto script del server per creare la raccolta di repository di asset OCM correlata quando viene creata la richiesta di servizio, effettuare le operazioni riportate di seguito.
- Scegliere Oggetti, Oggetti standard, Richiesta di servizio, quindi Script server dal riquadro di navigazione a sinistra.
- Nella pagina Richiesta di servizio script server selezionare la scheda Trigger.
- Nella sezione Trigger oggetto, fare clic su Aggiungi un nuovo trigger.
- Nella pagina Crea trigger oggetto, completare i campi riportati di seguito.
- Nel menu a discesa Trigger selezionare Prima dell'inserimento nel database.
- Nel campo Nome trigger specificare il nome del trigger come OCMCreateCollectionTrigger.
- Nel campo Descrizione immettere il testo "Creare la raccolta del repository degli asset OCM associata al file ServiceRequest in fase di creazione".
- Nel campo Modifica script incollare lo script seguente:
println("ServiceRequest.BeforeInsert(OCMCreateCollectionTrigger): " + SrNumber); // Create a new Collection within the specified Asset Repository Id based off the item SrNumber def OCMCollectionId = adf.util.OCMCreateRepositoryCollectionFunction(OCMBaseRepositoryId_c, SrNumber); setAttribute("OCMCollectionId_c", OCMCollectionId);
- Fare clic su Salva e chiudi.
OCMCopyDocumentsToCollectionTrigger
Per aggiungere un trigger oggetto script server in una nuova pagina Crea trigger oggetto per copiare i documenti in una cartella OCM correlata e le relative cartelle figlio nell'insieme del repository OCM quando la richiesta di servizio viene risolta, completare i campi riportati di seguito.
Nota:
Questo trigger è obbligatorio solo se il business object Oracle Sales and Service dispone dell'opzione di risoluzione ed è stato configurato con l'integrazione dei documenti OCM. Per ulteriori informazioni sull'integrazione dei documenti, vedere Informazioni su come estendere i business object Oracle Sales and Service con la collaborazione sui documenti.- Nel menu a discesa Trigger selezionare Prima dell'aggiornamento nel database.
- Nel campo Nome trigger specificare il nome del trigger come OCMCopyDocumentsToCollectionTrigger.
- Nel campo Descrizione immettere il testo "Quando è contrassegnato come risolto, copiare i documenti nella cartella OCM correlata e le relative cartelle figlio nella raccolta correlata per Gestione record".
- Nel campo Modifica script incollare lo script seguente:
// If the status has been changed then copy all the associated documents to the associated repository collection if (isAttributeChanged('StatusCd')) { println("ServiceRequest.BeforeUpdate(OCMCopyDocumentsToCollectionTrigger): " + SrNumber + ":" + StatusCd + "(" + OCMFolderId_c + ":" + OCMCollectionId_c + ")") if (OCMFolderId_c == null) { println("WARNING: Associated OCM Folder for this Service Request (" + SrNumber + ") does not exist.") return false } if (OCMCollectionId_c == null) { println("WARNING: Unable to copy OCM Documents as there is no associated OCM Collection for this Service Request(" + SrNumber + ").") return false } // Get the Documents from the associated OCM Folder that need to be copied to the Collection def documents = (java.util.List)adf.util.OCMGetDocumentsByFolderIdFunction(OCMFolderId_c) if (documents.size() > 0) { // Copy the documents adf.util.OCMCopyDocumentsToRepositoryCollectionFunction(OCMBaseRepositoryId_c, OCMCollectionId_c, documents) } return true }
- Fare clic su Salva e chiudi.