Creazione di pacchetti di applicazioni e loro
Transcript
Creazione di pacchetti di applicazioni e loro
Creazione di pacchetti di applicazioni e loro distribuzione Guida dell'utente, Winter ’17 @salesforcedocs Ultimo aggiornamento: 19/08/2016 La versione inglese di questo documento ha la precedenza sulla versione tradotta. © Copyright 2000–2016 salesforce.com, inc. Tutti i diritti riservati. Salesforce è un marchio registrato di salesforce.com, inc., come lo sono altri nomi e marchi qui di seguito. Tutti gli altri marchi citati nel presente documento sono di proprietà dei rispettivi titolari. SOMMARIO Creazione di pacchetti di applicazioni e loro distribuzione . . . . . . . . . . . . 1 Panoramica su pacchetti e distribuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Uso dei pacchetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Distribuzione delle applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Assistenza agli abbonati dell'applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Indice analitico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Creazione di pacchetti di applicazioni e loro distribuzione Panoramica su pacchetti e distribuzione Questa guida contiene informazioni su come inserire in pacchetti e distribuire le applicazioni create con la piattaforma Force.com. Comprende le sezioni seguenti. Uso dei pacchetti Spiega in modo dettagliato come creare e utilizzare i pacchetti gestiti per rendere le applicazioni facilmente installabili in altre organizzazioni. Distribuzione delle applicazioni Spiega come distribuire le applicazioni, tramite AppExchange o il proprio sito Web. Illustra inoltre le nozioni di base per inviare aggiornamenti tramite push agli abbonati. Assistenza agli abbonati dell'applicazione Spiega come accedere alle organizzazioni degli abbonati per fornire assistenza e risolvere i problemi. Per ulteriori informazioni su questi argomenti, consultare il manuale ISVforce Guide o visitare il Portale partner Salesforce. Uso dei pacchetti Pacchetti Un pacchetto è un contenitore per raggruppare sia entità piccole come un singolo componente, sia entità più estese come un insieme di applicazioni correlate. Dopo avere creato un pacchetto, è possibile distribuirlo ad altri utenti e organizzazioni Salesforce, compresi quelli all'esterno della propria azienda. I pacchetti sono disponibili in due modi: gestiti e non gestiti. Pacchetti non gestiti I pacchetti non gestiti sono tipicamente usati per distribuire progetti o modelli di applicazioni open source allo scopo di fornire agli sviluppatori i mattoncini di base per un'applicazione. Dopo che sono stati installati i componenti da un pacchetto non gestito, questi possono essere modificati nell'organizzazione in cui sono stati installati. Lo sviluppatore che ha creato e caricato il pacchetto non gestito non ha alcun controllo sui componenti installati e non può modificarli o aggiornarli. I pacchetti non gestiti non devono essere utilizzati per la migrazione dei componenti da un'organizzazione Sandbox a un'organizzazione di produzione. A questo scopo, utilizzare invece Serie di modifiche. Pacchetti gestiti I pacchetti gestiti vengono tipicamente utilizzati dai partner di Salesforce per distribuire e vendere le applicazioni ai clienti. Questi pacchetti devono essere creati da un'organizzazione Developer Edition. Mediante AppExchange e l'applicazione License Management (LMA), gli sviluppatori possono vendere e gestire le licenze applicazione basate sugli utenti. I pacchetti 1 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti in AppExchange: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Glossario gestiti sono anche completamente aggiornabili. Per garantire aggiornamenti ottimali, è opportuno non eseguire determinate modifiche distruttive, quali la rimozione di oggetti o di campi. I pacchetti gestiti offrono inoltre i seguenti vantaggi: • Protezione della proprietà intellettuale per Apex • Supporto incorporato versioni per componenti accessibili all'API • Possibilità di sviluppare e creare patch di una versione precedente • Possibilità di distribuire agli abbonati gli aggiornamenti patch tramite push in modo ottimale • Denominazione univoca di tutti i componenti per garantire installazioni prive di conflitti Le definizioni riportate di seguito illustrano questi concetti: Componenti Un componente è un elemento costitutivo di un pacchetto. Esso definisce un elemento, quali un oggetto o un campo personalizzati. È possibile combinare più componenti in un pacchetto per produrre funzioni o applicazioni potenti. Se si tratta di un pacchetto non gestito, i componenti non sono aggiornabili. In un pacchetto gestito alcuni componenti sono aggiornabili e altri no. Attributi Un attributo è un campo su un componente, ad esempio il nome di un modello di email o la casella di controllo Consenti rapporti su un oggetto personalizzato. In un componente non aggiornabile di un pacchetto non gestito o gestito, gli attributi possono essere modificati sia dallo sviluppatore (chi ha creato il pacchetto) sia dall'abbonato (chi ha installato il pacchetto). Su un componente non aggiornabile in un pacchetto gestito, alcuni attributi possono essere modificati dallo sviluppatore, alcuni dall'abbonato e altri sono bloccati, a indicare che non possono essere modificati né dall'uno né dall'altro. I pacchetti sono costituiti da uno o più componenti Salesforce che, a loro volta, sono formati da uno o più attributi. I componenti e i relativi attributi si comportano in modo diverso nei pacchetti gestiti rispetto ai pacchetti non gestiti. Se si prevede di distribuire un'applicazione, è importante considerare la creazione di pacchetti in tutto il processo di sviluppo. Ad esempio: • Durante la creazione dell'applicazione, pensare a come i componenti e i relativi attributi si comportano nei vari pacchetti e nelle varie versioni di Salesforce. • Mentre si sta preparando la propria applicazione per la distribuzione, pensare a come si desidera rilasciarla ai propri clienti. • Durante l'installazione di un pacchetto, tenere presenti la protezione della propria organizzazione e i contratti di licenza. VEDERE ANCHE: Gestione dei pacchetti Preparazione delle applicazioni per la distribuzione Glossario Per descrivere i principali concetti e possibilità di gestione dei pacchetti e delle applicazioni chiave vengono utilizzati i termini e le definizioni riportati di seguito: Applicazione Talvolta abbreviato in “app”. Una raccolta di componenti quali schede, rapporti, cruscotti digitali e pagine Visualforce che risponde a una specifica esigenza aziendale. Salesforce fornisce applicazioni standard, come Sales e Call Center, che è possibile personalizzare in base al proprio metodo di lavoro. Inoltre è possibile inserire un'applicazione in un pacchetto e caricarla in AppExchange insieme a componenti correlati come campi personalizzati, schede personalizzate e oggetti personalizzati. Quindi è possibile rendere disponibile l'applicazione ad altri utenti Salesforce da AppExchange. 2 Creazione di pacchetti di applicazioni e loro distribuzione Glossario AppExchange AppExchange è un'interfaccia di condivisione offerta da Salesforce che consente di cercare e condividere applicazioni e servizi per la piattaforma Force.com. Beta, pacchetto gestito Nell'ambito dei pacchetti gestiti, un pacchetto gestito beta è una versione preliminare di un pacchetto gestito distribuita a un campione degli utenti previsti che possono così testarlo. Distribuisci Per spostare una funzionalità da uno stato inattivo a uno stato attivo. Ad esempio, durante lo sviluppo di nuove funzioni nell'interfaccia utente di Salesforce, è necessario selezionare l'opzione "Distribuito" per rendere visibile la funzionalità agli altri utenti. Il processo di spostamento di un'applicazione o di un'altra funzionalità dalla fase di sviluppo a quella di produzione. Per spostare i componenti metadati da un file system locale a un'organizzazione Salesforce. Per le applicazioni installate, la distribuzione fa sì che tutti gli oggetti personalizzati presenti nell'applicazione diventino disponibili agli utenti dell'organizzazione. Prima di essere utilizzato, un oggetto personalizzato è disponibile solo agli amministratori e agli utenti che dispongono dell'autorizzazione “Personalizza applicazione”. Applicazione di gestione delle licenze (LMA) Un'applicazione AppExchange gratuita che consente di tenere traccia dei lead e degli account di vendita per ogni utente che scarica un pacchetto gestito (applicazione) da AppExchange. Organizzazione di gestione licenze (LMO) L'organizzazione Salesforce utilizzata per tenere traccia di tutti gli utenti Salesforce che installano il proprio pacchetto. Nell'organizzazione di gestione licenze deve essere installata l'applicazione di gestione delle licenze (LMA). Tale organizzazione riceve automaticamente una notifica ogni volta che il pacchetto viene installato o disinstallato, consentendo quindi di semplificare il processo di notifica agli utenti dell'esistenza di nuovi aggiornamenti. Come organizzazione di gestione licenze è possibile specificare qualsiasi organizzazione Enterprise Edition, Performance Edition o Developer Edition. Per ulteriori informazioni, vedere http://www.salesforce.com/docs/en/lma/index.htm. Rilascio principale Importante rilascio di un pacchetto. In questi rilasci, i numeri principale e secondario della versione di un pacchetto vengono aumentati a un valore determinato. Pacchetto gestito Una raccolta di componenti applicativi inviati sotto forma di unità su AppExchange e associati a uno spazio dei nomi e, se possibile, a un'Organizzazione di gestione licenze. Affinché possa supportare gli aggiornamenti, un pacchetto deve essere gestito. Un'organizzazione può creare un unico pacchetto gestito che può essere scaricato e installato da molte organizzazioni diverse. I pacchetti gestiti si differenziano da quelli non gestiti per il fatto che alcuni componenti sono bloccati, in modo che i pacchetti gestiti possano essere aggiornati successivamente. I pacchetti non gestiti non includono i componenti bloccati e non possono essere aggiornati. Inoltre, i pacchetti gestiti nascondono determinati componenti (ad esempio, Apex) alle organizzazioni abbonate, in modo da proteggere la proprietà intellettuale dello sviluppatore. Estensione dei pacchetti gestiti Un pacchetto, un componente o un set di componenti che aggiunge funzionalità a un pacchetto gestito. Non è possibile installare un'estensione prima di installare il relativo pacchetto gestito. Prefisso spazio dei nomi Nel contesto dei pacchetti, il prefisso spazio dei nomi è un identificativo alfanumerico di lunghezza compresa tra 1 e 15 caratteri che distingue il proprio pacchetto e il relativo contenuto da quelli di altri sviluppatori in AppExchange. I prefissi spazio dei nomi non fanno distinzione tra maiuscole e minuscole. Ad esempio non viene distinta la differenza tra ABC e abc. Tale prefisso deve essere globalmente univoco tra tutte le organizzazioni Salesforce. Esso consente di tenere il proprio pacchetto gestito sotto esclusivo controllo. 3 Creazione di pacchetti di applicazioni e loro distribuzione Glossario Pacchetto Un gruppo di componenti e applicazioni Force.com resi disponibili alle altre organizzazione tramite AppExchange. I pacchetti vengono utilizzati per unire un'applicazione ai componenti correlati in modo che tutti questi elementi possano essere caricati contemporaneamente in AppExchange. Dipendenza pacchetto Viene creata quando un componente fa riferimento a un altro componente, autorizzazione o preferenza obbligatori per assicurare la validità del componente. I componenti possono includere (ma non sono limitati a): • Campi personalizzati o standard • Oggetti personalizzati o standard • Pagine Visualforce • Apex code Le autorizzazioni e le preferenze possono includere (ma non sono limitate a): • Divisioni • Più valute • Tipi di record Installazione pacchetto L'installazione integra i contenuti di un pacchetto nell'organizzazione Salesforce. Un pacchetto di AppExchange può includere un'applicazione, un componente o una combinazione di questi due elementi. Dopo l'installazione di un pacchetto, può essere necessario distribuirne i componenti per renderlo disponibile agli utenti della propria organizzazione. Versione pacchetto La versione di un pacchetto è un numero che rappresenta l'insieme di componenti caricati in un pacchetto. Il numero della versione ha il formato majorNumber.minorNumber.patchNumber (ad esempio, 2.1.3). In caso di rilascio principale, i numeri principale e secondario vengono aumentati a un valore determinato. Il patchNumber viene generato e aggiornato soltanto per i rilasci patch. I pacchetti non gestiti non sono aggiornabili, quindi ogni versione di un pacchetto rappresenta semplicemente un insieme di componenti uniti per la distribuzione. La versione del pacchetto riveste maggiore importanza per i pacchetti gestiti. I pacchetti possono mostrare comportamenti diversi a seconda delle versioni. Gli autori della pubblicazione possono utilizzare le versioni di pacchetto per far evolvere i componenti dei pacchetti gestiti in modo fluido rilasciando le versioni successive in modo da non interrompere le integrazioni esistenti dei clienti che utilizzano il pacchetto. Vedere anche Patch e Organizzazione sviluppo patch. Patch Una patch consente a uno sviluppatore di modificare le funzionalità di componenti esistenti in un pacchetto gestito, garantendo al contempo alle organizzazioni abbonate che non vi siano modifiche visibili nel comportamento del pacchetto. Ad esempio, è possibile aggiungere nuove variabili o modificare il corpo di una classe Apex ma non è possibile aggiungere, dichiarare obsoleto o rimuovere nessuno dei suoi metodi. Le patch sono monitorate in base a un patchNumber aggiunto a ogni versione del pacchetto. Vedere anche Organizzazione sviluppo patch e Versione pacchetto. Organizzazione sviluppo patch L'organizzazione in cui vengono sviluppate, gestite e caricate le versioni patch. Le organizzazioni sviluppo patch vengono create automaticamente quando le organizzazioni degli sviluppatori richiedono di poter creare una patch. Vedere anche Patch e Versione pacchetto. Rilascio patch Aggiornamento secondario di un pacchetto gestito. Con questi rilasci, il numero di patch della versione di un pacchetto aumenta. Autore della pubblicazione L'autore della pubblicazione di un elenco AppExchange è l'utente o l'organizzazione Salesforce che pubblica l'elenco. 4 Creazione di pacchetti di applicazioni e loro distribuzione Glossario Aggiornamento tramite push Metodo di aggiornamento che invia gli aggiornamenti di un pacchetto gestito installato a tutte le organizzazioni che hanno installato il pacchetto. Abbonato L'abbonato di un pacchetto è un utente Salesforce con un pacchetto installato nella sua organizzazione Salesforce. Versione di prova Una versione di prova è un'organizzazione Salesforce con funzionalità complete contenente un'applicazione e i record dimostrativi aggiunti dall'autore della pubblicazione di un dato pacchetto. Esso consente agli utenti di AppExchange di provare in sola lettura un'applicazione utilizzando la familiare interfaccia Salesforce. Pacchetto non gestito Un pacchetto che non può essere aggiornato o controllato dallo sviluppatore. Aggiornamento L'aggiornamento di un pacchetto è il processo di installazione di una versione più recente del pacchetto stesso. Salesforce supporta gli aggiornamenti dei pacchetti gestiti non in versione beta. Caricamento Il caricamento di un pacchetto in Salesforce fornisce un URL di installazione che consente ad altri utenti di installare il pacchetto. Inoltre, il caricamento rende il pacchetto disponibile per la pubblicazione in AppExchange. 5 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di pacchetti gestiti Creazione di pacchetti gestiti Creare un pacchetto gestito è semplice quanto crearne uno non gestito. Il solo requisito per creare un pacchetto gestito è l'utilizzo della versione Developer Edition. EDIZIONI Prima di creare un pacchetto gestito: Disponibile nelle versioni: Salesforce Classic • In alternativa, installare l'applicazione License Manager (LMA) dal sito Web http://sites.force.com/appexchange. cercando License Management App. L'applicazione License Manager (LMA) tiene traccia delle informazioni sugli utenti che installano l'applicazione, in particolare quali utenti dispongono di quali versioni, fornendo quindi un mezzo di distribuzione delle informazioni sugli aggiornamenti. L'applicazione License Manager (LMA) può essere installata in qualunque organizzazione Salesforce, tranne quelle che utilizzano le versioni Personal Edition, Group Edition o Professional Edition, e non necessariamente nella stessa organizzazione Salesforce utilizzata per creare o caricare il pacchetto. La stessa applicazione License Manager (LMA) può essere utilizzata per gestire un numero illimitato di pacchetti gestiti in diverse organizzazioni che utilizzano la versione Developer Edition. • Configurare le impostazioni sviluppatore, Le impostazioni sviluppatore consentono di specificare il prefisso spazio dei nomi, l'organizzazione Salesforce in cui viene installata l'applicazione License Manager (LMA) e il pacchetto non gestito da convertire in pacchetto gestito. IN QUESTA SEZIONE: Disponibile in: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per abilitare pacchetti gestiti: • “Personalizza applicazione” Informazioni sui pacchetti gestiti Configurazione delle impostazioni sviluppatore Per creare pacchetti: • "Crea pacchetti AppExchange" Registrazione di un prefisso spazio dei nomi Specificazione di un'organizzazione di gestione licenze Per caricare pacchetti: • "Scarica pacchetti AppExchange" VEDERE ANCHE: Gestione dei pacchetti Conversione di pacchetti non gestiti in pacchetti gestiti Configurazione delle impostazioni sviluppatore Registrazione di un prefisso spazio dei nomi Specificazione di un'organizzazione di gestione licenze 6 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di pacchetti gestiti Informazioni sui pacchetti gestiti Un pacchetto gestito è una raccolta di componenti applicativi inviati sotto forma di unità su AppExchange e associati a uno spazio dei nomi e a una Organizzazione di gestione licenze. EDIZIONI • Per creare e operare con un pacchetto gestito è necessario utilizzare un'organizzazione con la versione Developer Edition. Disponibile nelle versioni: Salesforce Classic • I pacchetti gestiti sono rappresentati dalle seguenti icone: Disponibile nelle versioni: Developer Edition – Gestito - Beta – Gestito - Rilasciato – Gestito - Installato Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition 7 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di pacchetti gestiti Configurazione delle impostazioni sviluppatore Le impostazioni sviluppatore in un'organizzazione che utilizza la versione Developer Edition consentono di creare un singolo pacchetto gestito e di caricarlo in AppExchange consentendo ad altri utenti di installarlo e aggiornarlo nella propria organizzazione. Le impostazioni sviluppatore configurate la prima volta non possono più essere modificate. Indipendentemente dalle impostazioni sviluppatore, è sempre possibile creare un numero illimitato di pacchetti non gestiti. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Per configurare le impostazioni sviluppatore: 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Fare clic su Modifica. Nota: questo pulsante non è visualizzato se le impostazioni sviluppatore sono state già configurate. 3. Rivedere le selezioni necessarie per la configurazione delle impostazioni sviluppatore e fare clic su Continua. Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition 4. Registrare un prefisso spazio dei nomi. 5. Scegliere il pacchetto da convertire in pacchetto gestito. Se non si dispone ancora di un pacchetto da convertire, lasciare la selezione vuota per aggiornarla successivamente. AUTORIZZAZIONI UTENTE 6. Fare clic su Rivedi selezioni. 7. Fare clic su Salva. Suggerimento: Se si desidera specificare un'organizzazione di gestione licenze per il pacchetto gestito, consultare le relative informazioni reperibili su http://sites.force.com/appexchange/publisherHome. VEDERE ANCHE: Per configurare le impostazioni sviluppatore: • "Personalizza applicazione" Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti: • "Carica pacchetti AppExchange" Creazione di pacchetti gestiti Registrazione di un prefisso spazio dei nomi Specificazione di un'organizzazione di gestione licenze 8 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di pacchetti gestiti Registrazione di un prefisso spazio dei nomi Nel contesto dei pacchetti, il prefisso spazio dei nomi è un identificativo alfanumerico di lunghezza compresa tra 1 e 15 caratteri che distingue il proprio pacchetto e il relativo contenuto da quelli di altri sviluppatori in AppExchange. I prefissi spazio dei nomi non fanno distinzione tra maiuscole e minuscole. Ad esempio non viene distinta la differenza tra ABC e abc. Tale prefisso deve essere globalmente univoco tra tutte le organizzazioni Salesforce. Esso consente di tenere il proprio pacchetto gestito sotto esclusivo controllo. Salesforce aggiunge automaticamente il prefisso dello spazio dei nomi seguito da due caratteri di sottolineatura ("__") a tutti i nomi di componenti univoci nell'organizzazione Salesforce. I componenti univoci dei pacchetti sono componenti che devono avere un nome non utilizzato da altri componenti in Salesforce, quali oggetti personalizzati, campi personalizzati, link personalizzati, S-Control e regole di convalida. Ad esempio, se il prefisso spazio dei nomi è abc e il pacchetto gestito contiene un oggetto personalizzato con il nome API Spesa__c, utilizzare il nome API abc__Spesa__c per accedere a quell'oggetto mediante l'API. Il prefisso spazio dei nomi compare in tutte le pagine dei dettagli dei componenti. Avvertenza: gli S-Control archiviati nella libreria S-Control o nella scheda Documenti che non utilizzano l'API Force.com continueranno a funzionare correttamente dopo la registrazione di un prefisso spazio dei nomi. Gli S-Control archiviati all'esterno dell'organizzazione o che utilizzano l'API Force.com per chiamare Salesforce potrebbero invece richiedere delle modifiche. Per ulteriori informazioni, vedere S-Control nel Riferimento oggetto. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Il prefisso spazio dei nomi deve: • Iniziare con una lettera. • Contenere da 1 a 15 caratteri alfanumerici. • Non contenere due caratteri di sottolineatura consecutivi Per registrare un prefisso spazio dei nomi: 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Fare clic su Modifica. Nota: questo pulsante non è visualizzato se le impostazioni sviluppatore sono state già configurate. 3. Controllare le selezioni necessarie per configurare le impostazioni sviluppatore e fare clic su Continua. 4. Inserire il prefisso spazio dei nomi che si desidera registrare. 5. Fare clic su Verifica disponibilità per determinare se il prefisso spazio dei nomi è già in uso. 6. Se il prefisso spazio dei nomi che si è inserito non è disponibile, ripetere i due passaggi precedenti. 7. Fare clic su Rivedi selezioni. 8. Fare clic su Salva. VEDERE ANCHE: Creazione di pacchetti gestiti Configurazione delle impostazioni sviluppatore Specificazione di un'organizzazione di gestione licenze 9 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Specificazione di un'organizzazione di gestione licenze Un'organizzazione di gestione licenze è un'organizzazione Salesforce utilizzata per tenere traccia di tutti gli utenti Salesforce che installano il proprio pacchetto gestito. L'organizzazione di gestione licenze riceve una notifica (sotto forma di un record lead) quando un utente installa o disinstalla il pacchetto e tiene traccia di tutti i caricamenti del pacchetto in Force.com AppExchange. Qualsiasi organizzazione Salesforce che utilizzi la versione Enterprise Edition, Unlimited Edition, Performance Edition o Developer Edition e che abbia installato l'applicazione di gestione licenze (LMA) gratuita da AppExchange può essere un'organizzazione di gestione licenze. Per specificare un'organizzazione di gestione licenze, andare all'indirizzo http://sites.force.com/appexchange/publisherHome. VEDERE ANCHE: Creazione di pacchetti gestiti Configurazione delle impostazioni sviluppatore Registrazione di un prefisso spazio dei nomi EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Gestione dei pacchetti Un pacchetto è un insieme di componenti e applicazioni Force.com resi disponibili alle altre organizzazioni tramite AppExchange. Un pacchetto gestito è una raccolta di componenti applicativi inviati sotto forma di unità su AppExchange e associati a uno spazio dei nomi e a una Organizzazione di gestione licenze. Affinché possa supportare gli aggiornamenti, un pacchetto deve essere gestito. Un'organizzazione può creare un unico pacchetto gestito che può essere scaricato e installato da molte organizzazioni diverse. I pacchetti gestiti si differenziano da quelli non gestiti per il fatto che alcuni componenti sono bloccati, in modo che i pacchetti gestiti possano essere aggiornati successivamente. I pacchetti non gestiti non includono i componenti bloccati e non possono essere aggiornati. Inoltre, i pacchetti gestiti nascondono determinati componenti (ad esempio, Apex) alle organizzazioni abbonate, in modo da proteggere la proprietà intellettuale dello sviluppatore. Per gestire i pacchetti, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Per una maggiore personalizzazione, vedere Configurazione delle impostazioni sviluppatore a pagina 8. Dall'elenco dei pacchetti è possibile: • Fare clic su Nuovo per creare un nuovo pacchetto, immettere il nome del pacchetto e la relativa descrizione, quindi fare clic su Salva per memorizzarlo nell'elenco dei pacchetti. • Fare clic su Modifica per aggiornare le proprietà del pacchetto. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per caricare pacchetti: • “Carica pacchetti AppExchange” • Fare clic su Canc per eliminare il pacchetto. I componenti contenuti nel pacchetto non verranno eliminati. • Per visualizzare i dettagli del pacchetto, fare clic sul nome del pacchetto. Nota: Per creare una versione di prova o scegliere un'Organizzazione di gestione licenze (LMO) per ciò che è stato caricato, fare clic su Continuare in AppExchange nella pagina dei dettagli di caricamento del pacchetto. IN QUESTA SEZIONE: Informazioni sulle versioni dei pacchetti 10 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Creazione di un pacchetto I pacchetti sono contenitori che consentono di distribuire le funzionalità personalizzate tra le diverse organizzazioni Salesforce. Creare un pacchetto per caricare l'applicazione o il componente Lightning nell'AppExchange o per distribuire le modifiche tra organizzazioni. Aggiunta di componenti ai pacchetti Componenti disponibili nei pacchetti gestiti Componenti protetti Componenti aggiunti automaticamente ai pacchetti Modifica di componenti e attributi dopo l'installazione Comportamento dei componenti nei pacchetti Quando si crea un'applicazione per la distribuzione, stabilire cosa includere nei pacchetti, come progettare l'applicazione e come distribuire i pacchetti, gestiti o non gestiti. Insiemi di autorizzazioni e impostazioni dei profili nei pacchetti Gli sviluppatori possono utilizzare gli insiemi di autorizzazioni o le impostazioni dei profili per concedere autorizzazioni e impostare altre opzioni di accesso a un pacchetto. Per decidere se utilizzare gli insiemi di autorizzazioni, le impostazioni dei profili o una combinazione di entrambe le funzioni, considerare le analogie e le differenze. VEDERE ANCHE: Pacchetti Creazione di un pacchetto Informazioni sulle versioni dei pacchetti La versione di un pacchetto è un numero che rappresenta l'insieme di componenti caricati in un pacchetto. Il numero della versione ha il formato majorNumber.minorNumber.patchNumber (ad esempio, 2.1.3). In caso di rilascio principale, i numeri principale e secondario vengono aumentati a un valore determinato. Il patchNumber viene generato e aggiornato soltanto per i rilasci patch. I pacchetti non gestiti non sono aggiornabili, quindi ogni versione di un pacchetto rappresenta semplicemente un insieme di componenti uniti per la distribuzione. La versione del pacchetto riveste maggiore importanza per i pacchetti gestiti. I pacchetti possono mostrare comportamenti diversi a seconda delle versioni. Gli autori della pubblicazione possono utilizzare le versioni di pacchetto per far evolvere i componenti dei pacchetti gestiti in modo fluido rilasciando le versioni successive in modo da non interrompere le integrazioni esistenti dei clienti che utilizzano il pacchetto. I numeri di versione variano a seconda del tipo di rilascio del pacchetto, che identifica la modalità con la quale i pacchetti vengono distribuiti. Esistono due tipi di rilascio: Rilascio principale Un rilascio principale indica un pacchetto Gestito - Rilasciato. In questi rilasci, i numeri principale e secondario della versione di un pacchetto vengono aumentati a un valore determinato. EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nelle versioni: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Rilascio patch Un rilascio patch indica esclusivamente una versione patch di un pacchetto. Con questi rilasci, il numero di patch della versione di un pacchetto aumenta. Quando un abbonato esistente installa una nuova versione del pacchetto, nel pacchetto esiste ancora una sola istanza di ciascun componente tuttavia i componenti possono emulare le versioni precedenti. Ad esempio un abbonato potrebbe utilizzare un pacchetto 11 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti gestito che contiene una classe Apex. Se l'autore della pubblicazione decide di dichiarare obsoleto un metodo presente nella classe Apex e di rilasciare una nuova versione del pacchetto, l'abbonato continuerà a vedere una sola istanza della classe Apex dopo aver installato la nuova versione. Questa classe Apex sarà tuttavia ancora in grado di emulare la versione precedente per qualsiasi codice che faccia riferimento al metodo dichiarato obsoleto nella versione precedente. Gli sviluppatori di pacchetti possono utilizzare una logica condizionale nelle classi e nei trigger Apex per mostrare un comportamento diverso a seconda delle versioni. Ciò consente allo sviluppatore di un pacchetto di continuare a supportare il comportamento esistente nelle classi e nei trigger delle versioni precedenti del pacchetto, pur continuando a fare evolvere il codice. Durante lo sviluppo di applicazioni client con API, è possibile specificare la versione di ciascun pacchetto utilizzato nelle integrazioni. VEDERE ANCHE: Gestione dei pacchetti Pianificazione del rilascio dei pacchetti gestiti Creazione di un pacchetto I pacchetti sono contenitori che consentono di distribuire le funzionalità personalizzate tra le diverse organizzazioni Salesforce. Creare un pacchetto per caricare l'applicazione o il componente Lightning nell'AppExchange o per distribuire le modifiche tra organizzazioni. 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Fare clic su Nuovo. 3. Immettere un nome per il pacchetto. Il nome non deve necessariamente coincidere con quello visualizzato in AppExchange. 4. Dal menu a discesa, scegliere la lingua predefinita di tutte le etichette dei componenti nel pacchetto. 5. Se lo si desidera, scegliere un elenco personalizzato dal campo Configura link personalizzato per visualizzare le informazioni sulla configurazione per gli autori dell'installazione dell'applicazione. È possibile selezionare un link personalizzato predefinito a un URL o a un S-Control che è stato creato per i layout delle pagine iniziali; vedere Opzione Configura a pagina 71. Il link personalizzato viene visualizzato come link Configura all'interno di Salesforce nella pagina dei download di Force.com AppExchange e nella pagina dei dettagli dell'applicazione appartenente all'organizzazione di installazione. EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per creare pacchetti: • "Crea pacchetti AppExchange" 6. Se lo si desidera, nel campo Notifica in caso di errore Apex immettere il nome utente della persona a cui inviare il messaggio di notifica se in Apex si verifica un'eccezione che non viene rilevata dall'Apex Code. Se non viene specificato alcun nome utente, tutte le eccezioni non rilevate generano una notifica via email che viene inviata a Salesforce. Questa opzione è disponibile soltanto per i pacchetti gestiti. Nota: Apex può essere inserito nei pacchetti solo nelle organizzazioni che utilizzano le versioni Developer Edition, Enterprise Edition, Unlimited Edition e Performance Edition. 7. Se si desidera, nel campo Notifica in caso di errore di creazione pacchetto, immettere l'indirizzo email della persona che riceve una notifica email se si verifica un errore quando fallisce il tentativo dell'abbonato di installare, aggiornare o disinstallare un'app del pacchetto. Questo campo viene visualizzato solo se le notifiche degli errori di creazione pacchetto sono abilitate. Per abilitare le notifiche, rivolgersi al rappresentante Salesforce. 8. Se lo si desidera, immettere una descrizione che definisca il pacchetto. Si avrà la possibilità di modificarla prima di caricare l'applicazione in AppExchange. 12 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti 9. Se lo si desidera, specificare uno script post installazione. Si tratta di uno script Apex che viene eseguito nell'organizzazione abbonato dopo l'installazione o l'aggiornamento del pacchetto. Per ulteriori informazioni, vedere Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto. 10. Se lo si desidera, specificare uno script di disinstallazione. Si tratta di uno script Apex che viene eseguito nell'organizzazione abbonato dopo la disinstallazione del pacchetto. Per ulteriori informazioni, vedere Esecuzione di Apex alla disinstallazione di un pacchetto. 11. Fare clic su Salva. VEDERE ANCHE: Preparazione delle applicazioni per la distribuzione Aggiunta di componenti ai pacchetti Dopo che è stato creato un pacchetto, è necessario aggiungervi i componenti, quali applicazioni, oggetti, classi Apex o pagine Visualforce. Questi pacchetti possono essere caricati per condividerli privatamente con altri oppure inviati a Force.com AppExchange per condividerli pubblicamente. Per aggiungere componenti a un pacchetto, da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Quindi, selezionare il nome del pacchetto al quale si desidera aggiungere i componenti. Nella pagina dei dettagli del pacchetto: 1. Fare clic su Aggiungi componenti. 2. Dall'elenco a discesa, scegliere il tipo di componente da aggiungere al pacchetto. • All'inizio dell'elenco, fare clic su una lettera per visualizzare il contenuto della colonna ordinata che inizia con quel carattere. • Se disponibili, fare clic sui link Pagina successiva o Pagina precedente per passare al set di componenti successivo o precedente. • Se disponibili, fare clic su meno o più in fondo all'elenco per ottenere un elenco di visualizzazione più breve o più lungo. 3. Selezionare i componenti da aggiungere. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile in: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per creare pacchetti: • "Crea pacchetti AppExchange" 4. Fare clic su Aggiungi al pacchetto. 5. Ripetere la procedura finché al pacchetto sono stati aggiunti tutti i componenti desiderati. VEDERE ANCHE: Gestione dei pacchetti Preparazione delle applicazioni per la distribuzione Componenti disponibili nei pacchetti gestiti Non tutti i componenti si possono inserire in pacchetti per essere distribuiti. Se si crea un'applicazione che utilizza componenti non inseribili in pacchetti, gli abbonati dovranno crearli e configurarli dopo avere installato l'applicazione. Se la facilità di installazione è un aspetto importante per i propri abbonati, tenere presente quali sono i componenti inseribili in pacchetti durante lo sviluppo. La tabella riportata di seguito mostra i componenti disponibili in un pacchetto gestito, e se è possibile aggiornarli o eliminarli. Le sezioni che seguono descrivono le colonne della tabella e i relativi valori. Aggiornabile Alcuni componenti vengono aggiornati a una versione successiva quando si aggiorna un pacchetto. 13 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti • No: il componente non viene aggiornato. • Sì: il componente viene aggiornato. Eliminabile dall'abbonato L'abbonato o l'utente che installa un pacchetto può eliminare il componente. • No: l'abbonato non può eliminare il componente. • Sì: l'abbonato può eliminare il componente. Eliminabile dallo sviluppatore Uno sviluppatore può eliminare alcuni componenti dopo che il pacchetto è stato caricato come gestito - rilasciato. Durante gli aggiornamenti dei pacchetti, i componenti eliminati non vengono eliminati nell'organizzazione dell'abbonato. L'attributo Proteggibile contiene ulteriori dettagli sull'eliminazione dei componenti. • No: lo sviluppatore non può eliminare un componente gestito - rilasciato. • Sì: lo sviluppatore può eliminare un componente gestito - rilasciato. Proteggibile Gli sviluppatori possono contrassegnare determinati componenti come protetti. Ai componenti protetti non possono essere collegati né fare riferimento i componenti creati nell'organizzazione di un abbonato. Uno sviluppatore può eliminare un componente protetto in una versione successiva senza il timore di completare l'installazione in modo non corretto. Tuttavia, se un componente viene contrassegnato come non protetto e viene rilasciato globalmente, lo sviluppatore non potrà eliminarlo. Quando l'abbonato aggiorna il pacchetto a una versione in cui il componente è stato eliminato, il componente viene rimosso dall'organizzazione dell'abbonato. • No: il componente non può essere contrassegnato come protetto. • Sì: il componente può essere contrassegnato come protetto. Tutela della proprietà intellettuale Alcuni componenti tutelano automaticamente la proprietà intellettuale, ad esempio con l'offuscamento di Apex Code. Le uniche eccezioni sono i metodi Apex dichiarati globali, intendendo con questo che le firme dei metodi sono visualizzabili dall'abbonato. Le informazioni presenti nei componenti inseriti nei pacchetti e pubblicati potrebbero essere visibili agli utenti di AppExchange. Prestare attenzione quando si aggiunge del codice a un Custom S-Control, a una formula, a una pagina Visualforce o a qualsiasi altro componente che non è possibile nascondere nell'applicazione. • No: il componente non è predisposto per la tutela della proprietà intellettuale. • Sì: il componente è predisposto per la tutela della proprietà intellettuale. Componente Aggiornabile Eliminabile dall'abbonato Eliminabile dallo Proteggibile sviluppatore Tutela della proprietà intellettuale Azione Sì No No No Classe Apex Sì No Sì (se non impostato No su accesso global) Sì Motivo di Sì condivisione Apex No No No No Ricalcolo No condivisione Apex Sì Sì No No Trigger Apex Sì No Sì No Sì Applicazione No Sì Sì No No 14 No Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Componente Aggiornabile Eliminabile dall'abbonato Eliminabile dallo Proteggibile sviluppatore Tutela della proprietà intellettuale Tipo di articolo Sì No No No No Call center No Sì No No No Layout compatto Sì No No No No Applicazione connessa Sì Sì Sì No No Pulsante o link personalizzato Sì Sì* Sì** No, tranne i link No personalizzati (solo per la pagina iniziale) Componenti console personalizzati1 Sì Sì* Sì** No No Campo personalizzato Sì Sì* Sì** No No Etichetta personalizzata Sì No Sì, se protetta Sì No Oggetto personalizzato Sì Sì* Sì** No No Autorizzazione personalizzata Sì No No No No Tipo di rapporto personalizzato Sì No No No No Impostazione personalizzata Sì Sì* Sì** No Sì Cruscotto digitale No Sì Sì No No Documento No Sì Sì No No Modello di email No Sì Sì No No Fonte di dati esterna Sì No No No No Insieme di campi Sì Sì* Sì** No No Pagina Lightning Sì No No No No Flusso Sì Sì No No No Cartella No Sì Sì No No 1 Richiede una licenza Service Cloud. 15 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Componente Aggiornabile Eliminabile dall'abbonato Eliminabile dallo Proteggibile sviluppatore Tutela della proprietà intellettuale Componente pagina iniziale Sì No No No No Layout pagina iniziale No Sì Sì No No Carta intestata No Sì Sì No No Applicazione Lightning Sì No No No No Componente Lightning Sì No No No No Evento Lightning Sì No No No No Interfaccia Lightning Sì No No No No Visualizzazione elenco No Sì Sì No No Credenziale denominata Sì No No No No Layout di pagina No Sì Sì No No Insieme di autorizzazioni Sì Sì* Sì** No No No No No No Sì* Sì** No No Impostazione sito No remoto Sì Sì No No Rapporto No Sì Sì No No Istantanea del rapporto No Sì Sì No No S-Control Sì No No No No Risorsa statica Sì Sì* Sì** No No Scheda Sì Sì* Sì** No No Traduzione Sì No No No No Regola di convalida Sì Sì* Sì** No No Cache piattaforma No Processo Vedere Flusso. Tipo di record Sì 16 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Componente Aggiornabile Eliminabile dall'abbonato Eliminabile dallo Proteggibile sviluppatore Tutela della proprietà intellettuale Componente Visualforce Sì Sì*** Sì** No Sì Pagina Visualforce Sì Sì* Sì** No No App Wave Sì No Sì No No Cruscotto digitale Sì Wave No Sì No No Flusso di dati Wave Sì No Sì No No Serie di dati Wave Sì No Sì No No Lenti Wave Sì No Sì No No Avviso di flusso di Sì lavoro via email No Sì, se protetta Sì No Aggiornamento campo flusso di lavoro Sì No Sì, se protetta Sì No Messaggio in Sì uscita del flusso di lavoro No Sì, se protetta Sì No Regola di flusso di Sì lavoro No No No No Operazione di flusso di lavoro No Sì, se protetta Sì No Sì * Se si rimuove questo tipo di componente da una nuova versione del pacchetto e un abbonato esegue l'aggiornamento, l'Amministratore (amministratore di sistema) dell'organizzazione dell'abbonato può eliminare il componente. ** Se è stata abilitata la possibilità di rimuovere i componenti per l'organizzazione, è possibile eliminare questi tipi di componente anche se sono inclusi in un pacchetto Gestito - Rilasciato. *** Se si rimuove un componente Visualforce pubblico da una nuova versione del pacchetto e un abbonato esegue l'aggiornamento, il componente viene rimosso dall'organizzazione dell'abbonato al momento dell'aggiornamento. Se il componente Visualforce è globale, il componente viene mantenuto nell'organizzazione dell'abbonato fino a quando non viene eliminato dall'Amministratore (amministratore di sistema). Attributi e comportamenti dei componenti Solo alcuni attributi di un componente sono aggiornabili. Inoltre, nei pacchetti gestiti molti componenti si comportano in modo diverso o prevedono ulteriori limitazioni. Quando si progetta il pacchetto è importante tenere conto di questi comportamenti. Se si registra uno spazio dei nomi dopo avere fatto riferimento a un flusso in una pagina Visualforce o in Apex Code, non dimenticare di aggiungere lo spazio dei nomi al nome del flusso. In caso contrario, l'installazione del pacchetto non riuscirà. 17 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Eliminazione di pagine Visualforce e componenti Visualforce globali Prima di eliminare pagine Visualforce o componenti Visualforce globali dal proprio pacchetto, rimuovere tutti i riferimenti alle classi Apex pubbliche e ai componenti Visualforce pubblici dalle pagine o dai componenti che si stanno eliminando. Dopo aver eliminato i riferimenti, aggiornare gli abbonati a una versione interim del pacchetto prima di procedere all'eliminazione della pagina o del componente globale. VEDERE ANCHE: ISVforce Guide: Eliminazione di componenti nei pacchetti gestiti Componenti protetti Gli sviluppatori possono contrassegnare determinati componenti come protetti. Ai componenti protetti non possono essere collegati né fare riferimento i componenti creati nell'organizzazione di un abbonato. Uno sviluppatore può eliminare un componente protetto in una versione successiva senza il timore di completare l'installazione in modo non corretto. Tuttavia, se un componente viene contrassegnato come non protetto e viene rilasciato globalmente, lo sviluppatore non potrà eliminarlo. Lo sviluppatore può contrassegnare i seguenti componenti come protetti nei pacchetti gestiti. • Etichette personalizzate • Link personalizzati (solo per la pagina iniziale) • Avvisi di flusso di lavoro • Aggiornamenti di campo di flusso di lavoro • Messaggi in uscita del flusso di lavoro • Operazioni di flusso di lavoro • Trigger di flusso del flusso di lavoro Il programma pilota per le azioni di flusso di lavoro dei trigger è chiuso. Se il programma pilota è già stato abilitato nell'organizzazione, è possibile continuare a creare e modificare azioni di flusso di lavoro dei trigger di flusso. Se il programma pilota non è stato abilitato nell'organizzazione, utilizzare in alternativa l'azione Flussi in Process Builder. Componenti aggiunti automaticamente ai pacchetti Quando si aggiungono dei componenti a un pacchetto, se necessario vengono aggiunti automaticamente alcuni componenti correlati. Ad esempio, se si aggiunge una pagina Visualforce a un pacchetto che fa riferimento a un controller personalizzato, viene aggiunta anche quella classe Apex. Per capire quali componenti potrebbero essere inseriti automaticamente nel pacchetto, consultare l'elenco riportato di seguito: Quando si aggiunge questo componente: Possono essere inclusi automaticamente questi tipi di componenti: Azione Oggetto di destinazione dell'azione (se è un oggetto personalizzato), campo di destinazione dell'azione, tipo di record dell'azione, valori di campo predeterminati, layout dell'azione e tutti gli eventuali campi personalizzati a cui fanno riferimento il layout dell'azione o i valori predeterminati sull'oggetto di destinazione Istantanea del rapporto Rapporti 18 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Quando si aggiunge questo componente: Possono essere inclusi automaticamente questi tipi di componenti: Classe Apex Campi personalizzati, oggetti personalizzati e altre classi Apex a cui viene fatto esplicitamente riferimento, nonché qualsiasi altro elemento a cui fa riferimento direttamente la classe Apex Nota: Se una classe Apex fa riferimento a un'etichetta personalizzata e per l'etichetta sono disponibili delle traduzioni, è necessario inserire esplicitamente nel pacchetto le singole lingue desiderate per fare in modo che vengano incluse anche le traduzioni. Trigger Apex Campi personalizzati, oggetti personalizzati e qualsiasi classe Apex a cui viene fatto esplicitamente riferimento, nonché qualsiasi altro elemento a cui fa riferimento direttamente il trigger Apex Tipo di articolo Campi personalizzati, il layout di pagina predefinito Layout compatto Campi personalizzati Applicazione personalizzata Schede personalizzate (comprese le schede Web), documenti (memorizzati come immagini nella scheda), cartella dei documenti Pulsante o link personalizzato Campi e oggetti personalizzati Campo personalizzato Oggetti personalizzati Layout di pagina iniziale personalizzati Componenti personalizzati della pagina iniziale presenti nel layout Impostazioni personalizzate Motivi di condivisione Apex, ricalcoli condivisione Apex, trigger Apex, pulsanti o link personalizzati, campi personalizzati, visualizzazioni elenco, layout di pagina, tipi di record, regole di convalida Oggetto personalizzato Campi personalizzati, regole di convalida, layout di pagina, visualizzazioni elenco, pulsanti personalizzati, link personalizzati, tipi di record, motivi di condivisione Apex, ricalcoli condivisione Apex e trigger Apex Nota: • I motivi di condivisione Apex non sono disponibili nelle estensioni. • Quando sono incluse in pacchetti e installate, vengono installate solo le visualizzazioni elenco pubbliche delle applicazioni. Se un oggetto personalizzato dispone di visualizzazioni elenco personalizzate che si desidera inserire nel pacchetto, verificare che siano accessibili da tutti gli utenti. Oggetto personalizzato (come oggetto Fonte di dati esterna, campi personalizzati, layout di pagina, visualizzazioni elenco, pulsanti esterno) personalizzati e link personalizzati Nota: • Quando sono incluse in pacchetti e installate, vengono installate solo le visualizzazioni elenco pubbliche delle applicazioni. Se un oggetto esterno dispone di visualizzazioni elenco personalizzate che si desidera inserire nel pacchetto, verificare che siano accessibili da tutti gli utenti. • Nei pacchetti gestiti e non gestiti, gli oggetti esterni sono inclusi nel componente Oggetto personalizzato. 19 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Quando si aggiunge questo componente: Possono essere inclusi automaticamente questi tipi di componenti: Scheda personalizzata Oggetti personalizzati (compresi tutti i relativi componenti), S-Control e pagine Visualforce Cruscotto digitale Cartelle, rapporti (compresi tutti i relativi componenti), S-Control e pagine Visualforce Documento Cartella Modello di email Cartella, carta intestata, campi personalizzati e documenti (salvati come immagini nella carta intestata o nel modello) Insieme di campi Tutti i campi a cui si fa riferimento Pagina Lightning Tutte le azioni associate Scheda Pagina Lightning Pagina Lightning Flusso Oggetti personalizzati, campi personalizzati, classi Apex e pagine Visualforce Cartella Tutto il contenuto della cartella Applicazione Lightning Tutte le risorse Lightning cui l'applicazione fa riferimento, quali componenti, eventi e interfacce. Campi personalizzati, oggetti personalizzati, visualizzazioni elenco, layout di pagina e classi Apex cui l'applicazione fa riferimento. Componente Lightning Tutte le risorse Lightning cui il componente fa riferimento, quali componenti nidificati, eventi e interfacce. Campi personalizzati, oggetti personalizzati, visualizzazioni elenco, layout di pagina e classi Apex cui il componente fa riferimento. Evento Lightning Campi personalizzati, oggetti personalizzati, visualizzazioni elenco e layout di pagina Interfaccia Lightning Campi personalizzati, oggetti personalizzati, visualizzazioni elenco e layout di pagina Layout di pagina Azioni, pulsanti e link personalizzati, S-Control e pagine Visualforce Insieme di autorizzazioni Tutte le autorizzazioni personalizzate, le fonti di dati esterne, le pagine Visualforce e le classi Apex assegnate nell'insieme di autorizzazioni Tipo di record Mappature dei tipi di record, layout compatto Rapporto Cartella, campi personalizzati, oggetti personalizzati, tipi di rapporto personalizzati e Custom S-Control S-Control Campi e oggetti personalizzati Traduzione Termini tradotti nella lingua selezionata in qualsiasi componente del pacchetto Regola di convalida Campi personalizzati (a cui fa riferimento la formula) Componente pagina iniziale Visualforce Pagina Visualforce associata Pagine Visualforce Classi Apex utilizzate come controller personalizzati, componenti personalizzati Visualforce e insiemi di campi a cui si fa riferimento Regola di flusso di lavoro Tutti gli avvisi di flusso di lavoro, gli aggiornamenti di campo, i messaggi in uscita e le operazioni associate; inoltre, se la regola di flusso di lavoro è formulata per un oggetto personalizzato, l'oggetto viene incluso automaticamente 20 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Nota: Alcuni componenti dei pacchetti quali le regole di convalida o i tipi di record potrebbero non essere visualizzati nell'elenco dei componenti del pacchetto, ma sono compresi e vengono installati insieme agli altri componenti. Modifica di componenti e attributi dopo l'installazione La tabella riportata sotto mostra i componenti e gli attributi modificabili dopo l'installazione da un pacchetto gestito. Modificabile dallo sviluppatore Lo sviluppatore può modificare gli attributi dei componenti di questa colonna. Nell'organizzazione dell'abbonato, questi attributi sono bloccati. Modificabile da abbonato e sviluppatore L'abbonato e lo sviluppatore possono modificare gli attributi dei componenti di questa colonna. Questi attributi tuttavia non sono aggiornabili. Solo i nuovi abbonati ricevono le modifiche più recenti. Bloccato Quando un pacchetto è Gestito - Rilasciato, lo sviluppatore e l'abbonato non possono modificare gli attributi dei componenti di questa colonna. Componente Modificabile dallo sviluppatore Azione Modificabile da abbonato Bloccato e sviluppatore • Tipo di record di destinazione • Tutti i campi tranne il tipo di record di destinazione • Layout azione • Valori predefiniti per i campi azione Istantanea del rapporto Classe Apex • Tutti gli attributi tranneNome univoco istantanea del rapporto • Versione API • Nome univoco istantanea del rapporto • Nome • Codice Motivo di condivisione Apex • Etichetta motivo Ricalcolo condivisione Apex Trigger Apex • Nome motivo • Classe Apex • Versione API • Nome • Codice Applicazione Tipi di articoli • Tutti gli attributi tranne Nome applicazione • Nome applicazione • Nome • Etichetta • Disponibile per il Portale Clienti • Etichetta plurale • Visualizzazioni canale • Descrizione 21 Creazione di pacchetti di applicazioni e loro distribuzione Componente Gestione dei pacchetti Modificabile dallo sviluppatore Modificabile da abbonato Bloccato e sviluppatore • Inizia con suono vocalico • Modello di condivisione predefinito • Stato di sviluppo • Abilita divisioni • Concedi accesso tramite le gerarchie • Layout di ricerca Layout compatto • Tutti gli attributi Applicazione connessa • Metodo di accesso • URL ACS • Nome API • URL app area di disegno • ID entità • Data creazione/Creato da • URL di richiamata • Riduzione restrizioni IP • Chiave consumatore • Nome applicazione connessa • Gestisci insiemi di autorizzazioni • Segreto consumatore • Email referente • Gestisci profili • Data installazione • Telefono referente • Descrizione • URL iniziale applicazione mobile • Data ultima modifica/Ultima modifica di • URL icona • Utenti con autorizzazioni • Versione • URL info • Policy token di aggiornamento • Intervallo IP affidabile • Posizioni • URL immagine logo • Ambiti OAuth • Installato da • Attributi SAML • Certificato del fornitore di servizi • URL iniziale • Tipo di oggetto Pulsante o link personalizzato • Comportamento • Altezza • Tipo di visualizzazione • URL pulsante o link • Ridimensionabile • Nome • Origine contenuto • Mostra barra degli indirizzi • Descrizione • Mostra barra dei menu • Visualizza caselle di controllo • Mostra barre di scorrimento • Etichetta • Mostra barra di stato • Codifica link • Mostra barre degli strumenti • Larghezza • Posizione finestra Campo personalizzato • Formato visualizzazione numerazione automatica • Tracciamento dei feed Chatter 22 • Nome relazione di aggregazione Creazione di pacchetti di applicazioni e loro distribuzione Componente Gestione dei pacchetti Modificabile dallo sviluppatore Modificabile da abbonato Bloccato e sviluppatore • Posizioni decimali • Testo della Guida • Tipo di dati • Descrizione • Tipo di maschera • ID esterno • Valore predefinito • Carattere di maschera • Nome campo • Etichetta campo • Impostazioni di condivisione • Campo di riepilogo di roll-up • Formula • Ordina valori elenco di selezione • Oggetto riepilogo di roll-up • Tieni traccia cronologia campo • Univoca • Lunghezza • Filtro di ricerca • Etichetta dell'elenco correlato • Tipo riepilogo di roll-up • Obbligatorio • Criteri di filtro Riepilogo di roll-up Etichetta personalizzata • Categoria • Nome • Breve descrizione • Valore Oggetto personalizzato • Descrizione • Consenti attività • Nome oggetto • Etichetta • Consenti rapporti • Tipo di dati nome record • Etichetta plurale • Disponibile per il Portale Clienti • Formato di visualizzazione nome record • Nome record • Inizia con suono vocalico • Impostazione della Guida sensibile al contesto • Modello di condivisione predefinito • Stato di sviluppo • Abilita divisioni • Ricerca ottimizzata • Concedi accesso tramite le gerarchie • Layout di ricerca • Tieni traccia cronologia campo Autorizzazione personalizzata • Applicazione connessa • Descrizione • Etichetta • Nome 23 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Componente Modificabile dallo sviluppatore Modificabile da abbonato Bloccato e sviluppatore Tipo di rapporto personalizzato • Tutti gli attributi tranneStato • Stato di sviluppo di sviluppo e Nome tipo di rapporto Impostazione personalizzata • Descrizione • Nome tipo di rapporto • Nome oggetto • Etichetta • Tipo di impostazione • Visibilità Cruscotto digitale • Tutti gli attributi tranne Nome univoco cruscotto digitale Documento • Tutti gli attributi tranne • Nome univoco documento Nome univoco documento Modello di email • Tutti gli attributi tranne Nome modello email • Nome modello email • Provider di autenticazione • Nome Fonte di dati esterna • Tipo • Nome univoco cruscotto digitale • Certificato • Configurazione personalizzata • Endpoint • Tipo di identità • Ambito OAuth • Password • Protocollo • Nome utente Insieme di campi • Descrizione • Etichetta • Campi selezionati (solo controllati dall'abbonato) • Nome • Nome • Nome univoco flusso • Descrizione • URL • Campi disponibili Pagina Lightning • Pagina Lightning Flusso • Intero flusso • Stato 24 Creazione di pacchetti di applicazioni e loro distribuzione Componente Modificabile dallo sviluppatore Cartella Gestione dei pacchetti Modificabile da abbonato Bloccato e sviluppatore • Tutti gli attributi tranneNome univoco cartella Componente pagina iniziale • Corpo • Nome univoco cartella • Nome • Posizione componente • Tipo Layout pagina iniziale • Tutti gli attributi tranneNome layout Carta intestata • Tutti gli attributi • Nome carta intestata tranneNome carta intestata Applicazione Lightning • Nome layout Nome • Versione API • Descrizione • Etichetta • Markup Componente Lightning Nome • Versione API • Descrizione • Etichetta • Markup Evento Lightning Nome • Versione API • Descrizione • Etichetta • Markup Interfaccia Lightning Nome • Versione API • Descrizione • Etichetta • Markup Visualizzazione elenco Credenziale denominata • Tutti gli attributi tranneVisualizza nome univoco • Visualizza nome univoco • Endpoint • Provider di autenticazione • Nome • Etichetta • Certificato • Tipo di identità 25 Creazione di pacchetti di applicazioni e loro distribuzione Componente Gestione dei pacchetti Modificabile dallo sviluppatore Modificabile da abbonato Bloccato e sviluppatore • Ambito OAuth • Password • Protocollo • Nome utente Layout di pagina Insieme di autorizzazioni • Tutti gli attributi tranneNome layout di pagina • Descrizione • Nome layout di pagina • Nome • Etichetta • Autorizzazioni oggetto personalizzato • Autorizzazioni campo personalizzato • Impostazioni di accesso alle classi Apex • Impostazioni di accesso alle pagine Visualforce Cache piattaforma Tipo di record • Tutti gli attributi • Descrizione • Attivo • Etichetta tipo di record • Processo aziendale • Nome Impostazione sito remoto Tutti gli attributi tranneNome sito remoto • Nome sito remoto Rapporto • Tutti gli attributi tranneNome univoco rapporto • Nome univoco rapporto • Precompila nella pagina • Nome S-Control S-Control • Contenuto • Descrizione • Tipo • Codifica • Nome file • Etichetta Risorsa statica • Descrizione • Nome • File 26 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Componente Modificabile dallo sviluppatore Modificabile da abbonato Bloccato e sviluppatore Scheda • Descrizione • Codifica • Pronto per Salesforce Classic • Nome scheda mobile • Con intestazione laterale • Stile scheda • Altezza • Etichetta • S-Control • Link personalizzato a pagina di avvio • Tipo • URL • Larghezza Traduzione • Tutti gli attributi Regola di convalida • Descrizione • Attivo • Nome regola • Formula condizione errore • Posizione errore • Messaggio di errore Componente Visualforce • Versione API • Nome • Descrizione • Etichetta • Markup Pagina Visualforce • Versione API • Nome • Descrizione • Etichetta • Markup Avviso di flusso di lavoro via email • Indirizzi email aggiuntivi • Descrizione • Modello di email • Indirizzo email di origine • Destinatari Aggiornamento campo flusso • Descrizione di lavoro • Valore campo • Ricerca • Valore formula 27 • Nome Creazione di pacchetti di applicazioni e loro distribuzione Componente Modificabile dallo sviluppatore Messaggio in uscita del flusso • Descrizione di lavoro • URL endpoint Gestione dei pacchetti Modificabile da abbonato Bloccato e sviluppatore • Invio da utente come • Nome • Attivo • Nome regola • Assegnazione • Oggetto • Campi da inviare • Invia ID sessione Regola di flusso di lavoro • Descrizione • Criteri di valutazione • Criteri regola Operazione di flusso di lavoro • Commenti • Scadenza • Priorità • Tipo di record • Stato Comportamento dei componenti nei pacchetti Quando si crea un'applicazione per la distribuzione, stabilire cosa includere nei pacchetti, come progettare l'applicazione e come distribuire i pacchetti, gestiti o non gestiti. Nota: • I nomi dei componenti devono essere univoci all'interno dell'organizzazione. Per verificare che i nomi dei componenti non siano in conflitto con quelli dell'organizzazione di installazione, utilizzare un pacchetto gestito in modo che tutti i nomi dei componenti contengano il proprio prefisso spazio dei nomi. Classi o trigger Apex Qualsiasi Apex incluso nell'ambito di un pacchetto deve avere una copertura di test cumulativa di almeno 75%. Anche ogni trigger deve avere una copertura. Quando si carica il pacchetto in AppExchange tutti i test vengono eseguiti per verificare che non si riscontrino errori. Inoltre, tutti i test vengono eseguiti quando il pacchetto viene installato nell'organizzazione di installazione. Nel caso uno o più test non venga superato, l'installatore può decidere se installare il pacchetto. Suggerimento: Per evitare conflitti di denominazione, Salesforce consiglia di utilizzare i pacchetti gestiti per tutti i pacchetti che contengono Apex. In questo modo, tutti gli oggetti Apex contengono il proprio prefisso spazio dei nomi. Ad esempio, se esiste una classe Apex denominata MyHelloWorld e lo spazio dei nomi della propria organizzazione è OneTruCode, alla classe viene fatto riferimento come OneTruCode.MyHelloWorld. Quando si include Apex nel proprio pacchetto, tenere presente quanto segue: 28 EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per creare pacchetti AppExchange: • "Crea pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti • I pacchetti gestiti ricevono uno spazio dei nomi univoco. Tale spazio dei nomi viene automaticamente inserito davanti ai metodi, alle variabili e ai nomi di classi, e così via, per evitare di duplicare i nomi nell'organizzazione dell'installatore. • In un'unica transazione, è possibile fare riferimento solo a 10 spazi dei nomi univoci. Ad esempio, si supponga di avere un oggetto che esegue una classe in un pacchetto gestito quando l'oggetto viene aggiornato. Questa classe aggiorna un secondo oggetto che, a sua volta, esegue una classe diversa in un pacchetto diverso. Anche se il primo pacchetto non ha avuto accesso direttamente al secondo, in quanto avviene nella stessa transazione, il secondo pacchetto viene incluso nel numero di spazi dei nomi cui si ha accesso in un'unica transazione. • Se si stanno esponendo eventuali metodi come servizi Web, includere una documentazione dettagliata in modo che gli abbonati possano scrivere il codice esterno che chiama il servizio Web. • Se una classe Apex fa riferimento a un'etichetta personalizzata e per l'etichetta sono disponibili delle traduzioni, inserire esplicitamente nel pacchetto le singole lingue per includere quelle traduzioni nel pacchetto. • Se si fa riferimento all'oggetto di condivisione di un oggetto personalizzato (come MyCustomObject_share) in Apex, al pacchetto viene aggiunta una dipendenza del modello di condivisione. Impostare il livello di accesso predefinito di condivisione dell'organizzazione per l'oggetto personalizzato su Privato, in modo che le altre organizzazioni possano installare correttamente il pacchetto. • Il codice contenuto in una classe o in un trigger Apex che fa parte di un pacchetto gestito viene automaticamente nascosto e non può essere visualizzato in un'organizzazione di installazione. Le uniche eccezioni sono i metodi dichiarati globali, intendendo con questo che le firme dei metodi sono visualizzabili in un'organizzazione di installazione. • È possibile utilizzare l'annotazione obsoleta in Apex per identificare i metodi, le classi, le eccezioni, le enumerazioni, le interfacce e le variabili globali a cui non si potrà più fare riferimento nei rilasci successivi del pacchetto gestito in cui risiedono. Questo è utile per il ricalcolo del codice nei pacchetti gestiti con l'evolvere dei requisiti. Dopo che è stata caricata un'altra versione del pacchetto come gestito - rilasciato, i nuovi abbonati che installano l'ultima versione del pacchetto non possono visualizzare gli elementi obsoleti, che invece continuano a funzionare per gli abbonati e le integrazioni API esistenti. • Qualsiasi elemento Apex contenuto in un pacchetto non gestito che faccia espressamente riferimento a uno spazio dei nomi non può essere caricato. • Il codice Apex che fa riferimento a Categorie di dati non può essere caricato. • Prima di eliminare pagine Visualforce o componenti Visualforce globali dal proprio pacchetto, rimuovere tutti i riferimenti alle classi Apex pubbliche e ai componenti Visualforce pubblici dalle pagine o dai componenti che si stanno eliminando. Dopo aver eliminato i riferimenti, aggiornare gli abbonati a una versione interim del pacchetto prima di procedere all'eliminazione della pagina o del componente globale. Motivi di condivisione Apex I motivi di condivisione Apex possono essere aggiunti direttamente a un pacchetto ma sono disponibili solo per gli oggetti personalizzati. Layout compatti Quando si inserisce in un pacchetto un layout compatto, le relative mappature del tipo di record non sono incluse. Gli abbonati o gli installatori di un pacchetto contenente un layout compatto devono ricreare le mappature del tipo di record nella loro organizzazione. Applicazioni connesse • Le applicazioni connesse possono essere aggiunte soltanto ai pacchetti gestiti. Le applicazioni connesse non sono supportate per i pacchetti non gestiti. • Gli abbonati o gli installatori di un pacchetto non possono eliminare un'applicazione connessa da sola; possono solo disinstallare il relativo pacchetto. Uno sviluppatore può eliminare un'applicazione connessa dopo che un pacchetto è stato caricato come Gestito - rilasciato. L'applicazione connessa sarà eliminata nell'organizzazione dell'abbonato durante l'aggiornamento del pacchetto. • Se si aggiorna un'applicazione connessa e la si include nella nuova versione di un pacchetto, l'aggiornamento di quel pacchetto in un'organizzazione cliente aggiorna l'applicazione connessa esistente. 29 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti • Se si effettua l'aggiornamento tramite push di un pacchetto contenente un'applicazione connessa il cui ambito OAuth o i cui intervalli IP siano stati modificati rispetto alla versione precedente, l'aggiornamento non riuscirà. Si tratta di una funzione di protezione, volta a impedire agli utenti non autorizzati di avere accesso generale all'organizzazione di un cliente mediante l'aggiornamento di un pacchetto installato. Un cliente può comunque eseguire un aggiornamento tramite pull dello stesso pacchetto. Questo è consentito in quanto avviene con la consapevolezza e il consenso del cliente. • È possibile aggiungere un'applicazione connessa esistente (ossia creata prima del rilascio Summer ‘13) a un pacchetto gestito. Inoltre, è possibile riunire applicazioni connesse nuove ed esistenti nello stesso pacchetto gestito. • Per le applicazioni connesse create prima del rilascio Summer ‘13, l'URL di installazione esistente resta valido fino a che non viene creato e caricato un pacchetto di una nuova versione. Dopo che è stata caricata la nuova versione del pacchetto con un'applicazione connessa aggiornata, l'URL di installazione non funziona più. Console personalizzata Un pacchetto con un componente console personalizzato può essere installato solo in un'organizzazione in cui è abilitata la licenza Service Cloud o l'autorizzazione Sales Console. Campi personalizzati • I valori dei campi elenco di selezione per i campi personalizzati possono essere aggiunti, modificati o eliminati dagli abbonati. Lo sviluppatore dovrà fare molta attenzione a questo quando fa riferimento espressamente a un valore elenco di selezione nel codice. I valori elenco di selezione possono essere aggiunti o eliminati dallo sviluppatore. Durante l'aggiornamento di un pacchetto, nessun nuovo valore elenco di selezione viene installato nell'organizzazione dell'abbonato per i campi esistenti. Gli eventuali valori elenco di selezione eliminati dallo sviluppatore restano disponibili nell'organizzazione dell'abbonato. • Gli sviluppatori possono aggiungere campi personalizzati obbligatori e universalmente obbligatori ai pacchetti gestiti, a condizione che abbiano valori predefiniti. • I campi di tipo numerazione automatica e obbligatori non possono essere aggiunti dopo che l'oggetto è stato caricato in un pacchetto gestito-rilasciato. Etichette personalizzate Se un'etichetta è tradotta, la lingua deve essere espressamente inclusa nel pacchetto affinché le traduzioni possano essere incluse nel pacchetto. Gli abbonati possono ignorare la traduzione predefinita di un'etichetta personalizzata. Oggetti personalizzati • Se uno sviluppatore abilita gli attributi Consenti rapporti o Consenti attività in un oggetto personalizzato inserito in un pacchetto, anche l'organizzazione dell'abbonato avrà queste funzioni abilitate durante un aggiornamento. Dopo che sono stati abilitati in un pacchetto gestito-rilasciato, questi attributi non possono essere disabilitati dallo sviluppatore e dall'abbonato. • Anche le funzioni ignora di pulsanti e link standard possono essere inserite nei pacchetti. • Nel pacchetto di estensione, se si desidera accedere alle informazioni della cronologia per gli oggetti contenuti nel pacchetto di base, collaborare con il titolare del pacchetto di base per: 1. Abilitare il tracciamento della cronologia nell’organizzazione di rilascio del pacchetto di base. 2. Caricare una nuova versione del pacchetto di base. 3. Installare la nuova versione del pacchetto di base nell’organizzazione di rilascio del pacchetto di estensione per accedere alle informazioni sul tracciamento della cronologia. Come procedura consigliata, non abilitare il tracciamento della cronologia per gli oggetti personalizzati contenuti nel pacchetto di base direttamente nell’organizzazione di rilascio del pacchetto di estensione. Questa operazione potrebbe causare un errore quando si installa il pacchetto e si creano organizzazioni patch per il pacchetto di estensione. Autorizzazioni personalizzate Se si distribuisce una serie di modifiche con un'autorizzazione personalizzata che include un'applicazione connessa, l'applicazione connessa deve essere già installata nell'organizzazione di destinazione. 30 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Tipi di rapporto personalizzato uno sviluppatore può modificare un tipo di rapporto personalizzato in un pacchetto gestito dopo il suo rilascio e aggiungervi nuovi campi. Gli abbonati ricevono automaticamente queste modifiche quando installano una nuova versione del pacchetto gestito. Gli sviluppatori non possono tuttavia eliminare oggetti dal tipo di rapporto dopo il rilascio del pacchetto. Se in un tipo di rapporto personalizzato si elimina un campo che fa parte di un pacchetto gestito e che è stato inserito in bucket o utilizzato in raggruppamenti, si riceve un messaggio di errore. Impostazioni personalizzate • Se un'impostazione personalizzata è contenuta in un pacchetto gestito e la Visibilità è specificata come Protetta, l'impostazione personalizzata non è contenuta nell'elenco dei componenti per il pacchetto nell'organizzazione dell'abbonato. Tutti i dati per l'impostazione personalizzata sono nascosti all'abbonato. Schede personalizzate • Lo Stile scheda di una scheda personalizzata deve essere univoco nella propria applicazione. Tuttavia, non è necessario che sia univoco nell'organizzazione in cui è installato. Lo stile di una scheda personalizzata non sarà in conflitto con una scheda personalizzata esistente nell'ambiente di installazione. • Per fornire nomi di schede personalizzati in diverse lingue, da Imposta, digitare Rinomina schede ed etichette nella casella Ricerca veloce e quindi selezionare Rinomina schede ed etichette. • Gli abbonati non possono modificare le schede personalizzate in un pacchetto gestito. Utenti del Portale Clienti e del Portale partner I pacchetti che fanno riferimento a campi del Portale Clienti o del Portale partner sono supportati. L'abbonato che installa il pacchetto deve avere il rispettivo portale abilitato per installare il pacchetto. Componenti dei cruscotti digitali Gli sviluppatori di pacchetti gestiti devono considerare le implicazioni dell'introduzione di componenti dei cruscotti digitali che fanno riferimento ai rapporti rilasciati in una versione precedente del pacchetto in questione. Se l'abbonato ha eliminato il rapporto o lo ha spostato in una cartella personale, il componente del cruscotto digitale che fa riferimento al rapporto viene eliminato durante l'installazione. Inoltre, se l'abbonato ha modificato il rapporto, tale rapporto potrebbe restituire risultati che influenzano le informazioni visualizzate dal componente del cruscotto digitale. Si consiglia allo sviluppatore di rilasciare un cruscotto digitale e i rapporti correlati nella stessa versione. Divisioni • Se nell'oggetto personalizzato di un pacchetto sono abilitate le divisioni, l'organizzazione abbonata deve avere la funzione divisioni abilitata per installare il pacchetto. • L'impostazione del filtro divisioni in un rapporto non causa una dipendenza. Tale impostazione viene eliminata durante l'installazione nell'organizzazione dell'abbonato. • La creazione di riepiloghi in base al campo divisione dell'oggetto, ad esempio Divisione account, in un rapporto causa una dipendenza. • Se il campo divisione di un oggetto in un rapporto viene incluso sotto forma di colonna e l'organizzazione dell'abbonato non supporta le divisioni nell'oggetto, la colonna viene eliminata nel corso dell'installazione. • Se si installa un tipo di rapporto personalizzato che include un campo divisione dell'oggetto sotto forma di colonna, tale colonna viene eliminata se l'organizzazione non supporta le divisioni. Fonti di dati esterne • Dopo avere installato una fonte di dati esterna da un pacchetto gestito o non gestito, l'abbonato deve effettuare nuovamente l'autenticazione al sistema esterno. – Per l'autenticazione della password, l'abbonato deve immettere nuovamente la password nella definizione della fonte di dati esterna. 31 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti – Per OAuth, l'abbonato deve aggiornare l'URL di richiamata nella configurazione del client per il provider di autenticazione, quindi eseguire nuovamente l'autenticazione selezionando Avvia flusso di autenticazione al salvataggio sulla fonte di dati esterna. • I certificati non possono essere inseriti in pacchetti.Se si inserisce in un pacchetto una fonte di dati esterna che specifica un certificato, assicurarsi che l'organizzazione dell'abbonato disponga di un certificato valido con lo stesso nome.. Oggetti esterni Nei pacchetti gestiti e non gestiti, gli oggetti esterni sono inclusi nel componente Oggetto personalizzato. Dipendenze tra campi • Gli sviluppatori e gli abbonati possono aggiungere, cambiare o rimuovere le dipendenze tra campi. • Se lo sviluppatore aggiunge una dipendenza tra campi, questa viene aggiunta durante l'installazione, a meno che l'abbonato abbia già specificato una dipendenza per lo stesso campo. • Se uno sviluppatore rimuove una dipendenza, questa modifica non viene rispecchiata nell'organizzazione dell'abbonato durante un aggiornamento. • Se lo sviluppatore introduce una nuova mappatura dei valori elenco di selezione tra i campi dipendenti e controllanti, la mappatura viene aggiunta durante un'installazione. • Se uno sviluppatore rimuove una mappatura dei valori elenco di selezione, questa modifica non viene rispecchiata nell'organizzazione dell'abbonato durante un aggiornamento. Insiemi di campi Gli insiemi di campi nei pacchetti installati seguono diversi comportamenti di unione durante l'aggiornamento di un pacchetto: Se lo sviluppatore di un pacchetto: Nell'aggiornamento del pacchetto: Cambia un campo da Non disponibile a Disponibile per l'insieme di campi o Nell'insieme di campi Il campo modificato viene posto alla fine dell'insieme dei campi aggiornato all'interno di qualsiasi colonna a cui era stato aggiunto. Aggiunge un nuovo campo Il nuovo campo viene posto alla fine dell'insieme dei campi aggiornato all'interno di qualsiasi colonna a cui era stato aggiunto. Cambia un campo da Disponibile per l'insieme di campi o Nell'insieme di campi a Non disponibile Il campo viene rimosso dall'insieme di campi aggiornato. Cambia un campo da Nell'insieme di campi a Disponibile per La modifica non viene rispecchiata nell'insieme di campi l'insieme di campi (o viceversa) aggiornato. Nota: Agli abbonati non vengono inviate notifiche in merito alle modifiche dei loro insiemi di campi installati. Lo sviluppatore deve informare gli utenti di qualsiasi modifica apportata gli insiemi di campi rilasciati, mediante le note di rilascio del pacchetto o altra documentazione. L'unione può rimuovere campi dall'insieme di campi. Dopo che un insieme di campi è stato installato, un abbonato non può aggiungere o rimuovere alcun campo. Flussi • È possibile inserire nei pacchetti solo i flussi attivi. La versione attiva del flusso viene determinata quando si carica una versione del pacchetto. Se nessuna delle versioni del flusso è attiva, il caricamento non riesce. • Per aggiornare un pacchetto gestito in base a una versione diversa del flusso, attivare tale versione e caricare di nuovo il pacchetto. Non è necessario aggiungere la versione appena attivata al pacchetto. Tuttavia, se si attiva una versione del flusso per errore e 32 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti si carica il pacchetto, tale versione del flusso verrà distribuita a tutti. Avere cura di verificare quale versione si desidera effettivamente caricare. • In un'organizzazione di sviluppo, non è possibile eliminare un flusso, o una versione del flusso, se il flusso è stato caricato nella versione rilasciata o beta di un pacchetto gestito. • Non è possibile eliminare componenti del flusso da installazioni di pacchetti gestiti - beta nelle organizzazioni di sviluppo. • Non è possibile eliminare un flusso da un pacchetto installato. Per eliminare dall'organizzazione un flusso inserito in un pacchetto, disattivarlo prima di disinstallare il pacchetto. • Se si dispone di più versioni di un flusso installato da più pacchetti non gestiti, non è possibile rimuovere solo una versione disinstallando il relativo pacchetto. Se si disinstalla un pacchetto, gestito o non gestito, che contiene una sola versione del flusso, verrà rimosso l'intero flusso con tutte le sue versioni. • I flussi non possono essere inclusi nelle patch di pacchetti. • Un flusso attivo in un pacchetto sarà attivo una volta installato. La versione attiva precedente del flusso nell'organizzazione di destinazione viene disattivata a favore della versione appena installata. Eventuali flussi in corso basati sulla versione disattivata continueranno a essere eseguiti senza interruzioni, ma rifletteranno la versione precedente del flusso. • Aggiornando un pacchetto gestito nell'organizzazione si installa una nuova versione del flusso solo se è stata fornita una nuova versione dallo sviluppatore. Dopo alcuni aggiornamenti, è possibile ritrovarsi con più versioni del flusso. • Se si installa un pacchetto contenente più versioni del flusso in una nuova organizzazione di destinazione, verrà distribuita solo la versione più recente del flusso. • Se si installa un flusso da un pacchetto non gestito che ha lo stesso nome ma non lo stesso numero di versione di un flusso dell'organizzazione, l'ultimo flusso installato diventa la versione più recente del flusso già esistente. Tuttavia, se il flusso del pacchetto ha lo stesso nome e lo stesso numero di versione di un flusso già presente nell'organizzazione, l'installazione del pacchetto avrà esito negativo. Non è possibile sovrascrivere un flusso. • Cloud Flow Designer non è in grado di aprire i flussi installati da pacchetti gestiti. Cartelle • I componenti che Salesforce archivia nelle cartelle, come i documenti, non possono essere aggiunti ai pacchetti se sono stati archiviati in cartelle personali e non archiviate. Posizionare i documenti, i rapporti e altri componenti che Salesforce archivia nelle cartelle in una delle cartelle accessibili pubblicamente. • I componenti quali documenti, modelli di email, rapporti o cruscotti digitali vengono archiviati in nuove cartelle nell'organizzazione di installazione utilizzando i nomi delle cartelle dell'autore della pubblicazione. Assegnare a queste cartelle nomi che indichino che fanno parte del pacchetto. • Se un nuovo rapporto, cruscotto digitale o modello di email viene installato durante un aggiornamento, e la cartella contenente il componente è stata eliminata dall'abbonato, la cartella viene ricreata. I componenti della cartella che erano stati precedentemente eliminati non vengono ripristinati. • Il nome di un componente contenuto in una cartella deve essere univoco in tutte le cartelle dello stesso tipo di componente, ad eccezione di quelle personali. I componenti contenuti in una cartella personale devono essere univoci solo all'interno della cartella personale. Componenti pagina iniziale Quando si inserisce in un pacchetto un layout pagina iniziale personalizzato, tutti i componenti della pagina iniziale personalizzata inclusi nel layout di pagina vengono automaticamente aggiunti. I componenti standard, come Messaggi aziendali, non sono inclusi nel pacchetto e non sovrascrivono i Messaggi aziendali di chi effettua l'installazione. Per includere un messaggio nel layout pagina iniziale personalizzato, creare un componente della pagina di tipo Area HTML contenente il messaggio. Da Imposta, immettere Componenti pagina iniziale nella casella Ricerca veloce, quindi selezionare Componenti pagina iniziale. Aggiungere il messaggio al layout pagina iniziale personalizzato. 33 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Layout pagina iniziale Una volta installati, i layout di pagina iniziale personalizzati sono elencati assieme a tutti i layout di pagina iniziale dell'abbonato. Per distinguerli, includere il nome dell'applicazione nel nome del layout di pagina. Visualizzazioni elenco Le visualizzazioni elenco associate ad aree di attesa non possono essere incluse in un pacchetto. Multi-valuta • Se un abbonato installa un rapporto o un tipo di rapporto personalizzato che include un campo valuta dell'oggetto sotto forma di colonna, tale colonna viene eliminata se l'organizzazione dell'abbonato non supporta più valute. • Il fatto di fare riferimento al campo valuta di un oggetto nei criteri di un rapporto, ad esempio Valuta account, causa una dipendenza. • La creazione di riepiloghi in base al campo valuta di un oggetto in un rapporto causa una dipendenza. • L'uso di una designazione di valuta nel valore dei criteri di un rapporto, ad esempio “Reddito annuale uguale a EUR 100”, non causa una dipendenza. Il rapporto genera un errore quando viene eseguito in un'organizzazione di installazione se questa non supporta la valuta. • Se il campo valuta di un oggetto in un rapporto viene incluso sotto forma di colonna e l'organizzazione dell'abbonato non è abilitata per più valute, la colonna viene eliminata nel corso dell'installazione. • Se un abbonato installa un tipo di rapporto personalizzato che include un campo valuta dell'oggetto sotto forma di colonna, tale colonna viene eliminata se l'organizzazione non supporta più valute. Credenziali denominate • Dopo aver effettuato l'installazione di una credenziale denominata da un pacchetto gestito o non gestito, l'abbonato deve effettuare nuovamente l'autenticazione al sistema esterno. – Per l'autenticazione della password, l'abbonato immette nuovamente la password nella definizione della credenziale denominata. – Per OAuth, l'abbonato aggiorna l'URL di richiamata nella configurazione del client per il provider di autenticazione, quindi esegue nuovamente l'autenticazione selezionando Avvia flusso di autenticazione al salvataggio sulla credenziale denominata. • Le credenziali denominate non vengono automaticamente aggiunte ai pacchetti. Se si inserisce nel pacchetto un'origine dati esterna o Apex Code che specifica una credenziale denominata come callout endpoint, aggiungere la credenziale denominata al pacchetto. In alternativa, assicurarsi che l'organizzazione dell'abbonato abbia una credenziale denominata valida con lo stesso nome. In caso vi siano più organizzazioni, è possibile creare una credenziale denominata con lo stesso nome ma con un URL endpoint diverso in ogni organizzazione. A questo punto è possibile inserire nel pacchetto e distribuire a tutte le organizzazioni una definizione callout che fa riferimento al nome condiviso di quelle credenziali denominate. Ad esempio, la credenziale denominata può avere in ogni organizzazione un URL endpoint diverso per tenere conto delle differenze tra gli ambienti di sviluppo e di produzione. Se una chiamata Apex specifica il nome condiviso delle credenziali denominate, la classe Apex che definisce il callout (chiamata) può essere creata e distribuita in un pacchetto in tutte le organizzazioni senza verificare l'ambiente in modo programmatico. • I certificati non possono essere inseriti in pacchetti. Se si inserisce in un pacchetto una credenziale denominata che specifica un certificato, assicurarsi che l'organizzazione dell'abbonato disponga di un certificato valido con lo stesso nome. • Le seguenti opzioni di chiamata per le credenziali denominate possono essere impostate solo tramite l'interfaccia utente. Se i valori predefiniti non sono appropriati per l'organizzazione di destinazione, l'amministratore di quell'organizzazione deve configurare la credenziale denominata manualmente dopo la distribuzione. – Genera intestazione di autorizzazione - Predefinito: Abilitata 34 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti – Consenti campi di unione nell'intestazione HTTP - Predefinito: Disabilitata – Consenti campi di unione nel corpo HTTP - Predefinito: Disabilitata Layout di pagina Il layout di pagina della persona che sta caricando un pacchetto è il layout utilizzato per le organizzazioni Group Edition e Professional Edition e diventa il layout di pagina predefinito per le organizzazioni Enterprise Edition, Unlimited Edition, Performance Edition e Developer Edition. Inserire i layout di pagina nei pacchetti assieme a tipi di record complementari se i layout vengono installati in un oggetto esistente; in caso contrario, applicare manualmente i layout di pagina installati ai profili. Se un layout di pagina e un tipo di record vengono creati per effetto dell'installazione di un pacchetto, l'assegnazione layout di pagina dell'utente che esegue il caricamento per quel tipo di record viene assegnata a quel tipo di record per tutti i profili dell'organizzazione dell'abbonato a meno che un profilo venga mappato durante un'installazione o un aggiornamento. Insiemi di autorizzazioni In un pacchetto possono essere inclusi insiemi di autorizzazioni come componenti, con le seguenti autorizzazioni e impostazioni di accesso: • Autorizzazioni oggetto personalizzato • Autorizzazioni oggetto esterno • Autorizzazioni campo personalizzato • Autorizzazioni personalizzate • Impostazioni di visibilità delle schede personalizzate • Accesso classe Apex • Accesso alle pagine Visualforce • Accesso a fonti di dati esterne Nota: Le impostazioni di visibilità delle applicazioni e delle schede standard assegnate non sono incluse nei componenti degli insiemi di autorizzazioni. Utilizzare gli insiemi di autorizzazioni per installare o aggiornare una raccolta di autorizzazioni. A differenza delle impostazioni dei profili, gli insiemi di autorizzazioni non sovrascrivono i profili. Valori degli elenchi di selezione • Gli abbonati possono rinominare o eliminare i valori dei campi elenchi di selezione. Lo sviluppatore dovrà fare molta attenzione a questo quando fa riferimento espressamente a un valore campo elenco di selezione in Apex. • I valori dei campi elenchi di selezione possono essere aggiunti o eliminati nell'organizzazione dello sviluppatore. All'aggiornamento, non viene installato alcun nuovo valore. Gli eventuali valori elenco di selezione eliminati dallo sviluppatore restano disponibili nell'organizzazione dell'abbonato fino a che questi li elimina. Impostazioni del profilo Le impostazioni del profilo includono quanto segue per i componenti nel pacchetto: • Applicazioni assegnate • Applicazioni connesse assegnate • Impostazioni delle schede • Assegnazioni al layout di pagina • Assegnazioni al tipo di record • Autorizzazioni oggetto personalizzato • Autorizzazioni oggetto esterno 35 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti • Autorizzazioni campo personalizzato • Autorizzazioni personalizzate • Accesso classe Apex • Accesso alle pagine Visualforce • Accesso a fonti di dati esterne Le impostazioni dei profili sovrascrivono i profili esistenti nell'organizzazione di installazione con modifiche di autorizzazioni e impostazioni specifiche. Tipi di record • Se i tipi di record sono inclusi nel pacchetto, l'organizzazione dell'abbonato deve supportare i tipi di record per installare il pacchetto. • Quando viene installato un nuovo valore elenco di selezione, questo viene associato a tutti i tipi di record installati in base alle mappature specificate dallo sviluppatore. Un abbonato può modificare questa associazione. • Il fatto di fare riferimento al campo tipo di record di un oggetto nei criteri di un rapporto, ad esempio Tipo di record account, causa una dipendenza. • La creazione di riepiloghi in base al campo tipo di record di un oggetto nei criteri di un rapporto, ad esempio Tipo di record account, causa una dipendenza. • Se il campo tipo di record di un oggetto viene incluso sotto forma di colonna in un rapporto e l'organizzazione dell'abbonato non utilizza i tipi di record sull'oggetto o non supporta i tipi di record, la colonna viene eliminata nel corso dell'installazione. • Se si installa un tipo di rapporto personalizzato che include un campo tipo di record dell'oggetto sotto forma di colonna, tale colonna viene eliminata se l'organizzazione non supporta i tipi di record o se per l'oggetto non è stato definito alcun tipo di record. Istantanee del rapporto Gli sviluppatori di pacchetti gestiti devono considerare le implicazioni dell'introduzione di istantanee del rapporto che fanno riferimento ai rapporti rilasciati in una versione precedente del pacchetto in questione. Se l'abbonato ha eliminato il rapporto o l'ha spostato in una cartella personale, l'istantanea del rapporto che fa riferimento al rapporto non viene installata, anche se la pagina Installazione pacchetto indica che lo sarà. Inoltre, se l'abbonato ha modificato il rapporto, tale rapporto potrebbe restituire risultati che influenzano le informazioni visualizzate dall'istantanea del rapporto. Si consiglia allo sviluppatore di rilasciare un'istantanea del rapporto e i rapporti correlati nella stessa versione. Poiché l'abbonato seleziona l'utente corrente, alcune mappature dei campi dell'istantanea del rapporto potrebbero diventare non valide se l'utente corrente non ha accesso ai campi di origine o di destinazione. Rapporti Se un rapporto include elementi che non possono essere inseriti in un pacchetto, tali elementi verranno eliminati o declassati, o il caricamento del pacchetto non riuscirà. Ad esempio: • Gli aumenti dei dettagli delle gerarchie vengono eliminati dai rapporti di attività e opportunità. • I filtri sui campi che non possono essere inseriti nei pacchetti vengono automaticamente eliminati (ad esempio, nel caso dei filtri sui tipi di record degli oggetti standard). • Il caricamento di un pacchetto non riesce se un rapporto include la logica dei filtri in un campo che non può essere inserito in un pacchetto (ad esempio, nel caso dei filtri sui tipi di record degli oggetti standard). • I valori di ricerca nel campo Seleziona campagna dei rapporti sulle campagne standard vengono eliminati. • I rapporti sono eliminati dai pacchetti se sono stati spostati in una cartella privata o nella cartella Rapporti pubblici non archiviati. • Quando un pacchetto è installato in un'organizzazione che non dispone di Chart Analytics 2.0: 36 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti – I grafici combinati vengono semplificati invece che eliminati. Ad esempio, un grafico combinato a colonne verticali con una linea aggiunta viene "declassato" a semplice grafico a colonne verticali. Un grafico combinato a barre con barre addizionali viene semplificato in normale grafico a barre. – I tipi di grafico non supportati, come i grafici a ciambella e a imbuto, vengono eliminati. S-Control Solo gli S-Control dei pacchetti non gestiti creati prima del 1 gennaio 2010 possono essere installati dagli abbonati. Gli S-Control sono obsoleti e sono stati sostituiti dalle pagine Visualforce. Area di lavoro traduzione • Se è stata abilitata l'area di lavoro traduzione e si è aggiunta una lingua al pacchetto, gli eventuali valori tradotti associati vengono automaticamente inseriti nel pacchetto per i componenti appropriati. Verificare di avere fornito la traduzione per tutti i componenti possibili. • L'installatore del pacchetto può visualizzare le lingue supportate nella pagina dei dettagli del pacchetto. L'installatore non deve effettuare alcuna abilitazione per visualizzare le traduzioni nel pacchetto. L'unico motivo per cui gli installatori potrebbero voler abilitare l'area di lavoro traduzione è quello di modificare le traduzioni per i componenti non gestiti dopo l'installazione, ignorare le traduzioni delle etichette personalizzate in un pacchetto gestito o tradurre in altre lingue. • Se si sta progettando l'estensione di un pacchetto, è possibile includere traduzioni per i componenti dell'estensione ma non ulteriori traduzioni per i componenti del pacchetto di base. Regole di convalida Per gli oggetti personalizzati inseriti nei pacchetti, vengono implicitamente inserite nel pacchetto anche tutte le regole di convalida associate. Wave Analytics I componenti di Wave Analytics includono app Wave, cruscotti digitali, flussi di dati, serie di dati e lenti. Quando si creano pacchetti di componenti Wave, tenere presenti i seguenti suggerimenti e procedure consigliate. • Le autorizzazioni amministrative di Wave sono richieste per la creazione di un pacchetto ma non per la distribuzione, che richiede solo autorizzazioni amministrative di Salesforce. • Non esistono spider tra serie di dati e flussi di dati, quindi non viene generata alcuna dipendenza. Quando si inseriscono entrambi nel pacchetto, devono essere aggiunti manualmente. In caso contrario, apparirà un errore durante la distribuzione. Lo stesso avviene per le serie di modifiche, quando si inseriscono nel pacchetto sia serie di dati che flussi di dati, aggiungerli manualmente. • Le immagini non vengono visualizzate se si distribuisce un cruscotto digitale che utilizza un widget di immagini che fa riferimento a file di immagine non disponibili nell'organizzazione di destinazione. Esistono due soluzioni alternative. Caricare manualmente le immagini oppure aggiungere al pacchetto una cartella contenente le immagini. L'ID documento del file di immagine nel widget di immagini deve corrispondere a quello dell'immagine. L'utente non può salvare il cruscotto digitale nella destinazione con un ID documento non valido, ma può comunque visualizzarlo e modificarlo. • Se un cruscotto digitale che si distribuisce ha un widget di link che punta a un altro cruscotto esistente nell'organizzazione di destinazione, è necessario aggiornare manualmente il riferimento dell link in modo che punti al cruscotto corretto. Se il cruscotto digitale collegato non esiste nell'organizzazione di destinazione, viene visualizzato un messaggio di errore. Distribuire anche il cruscotto collegato oppure ricrearlo nell'organizzazione di destinazione. Aggiornare il widget di link in modo che punti al cruscotto digitale collegato. • Prestare attenzione quando si inseriscono i flussi di dati ai pacchetti. Le sostituzioni di schemi non valide e i parametri non supportati o illegali vengono rimossi (ad esempio, Type = dim non è più supportato, ora è Type = text). I commenti in JSON vengono rimossi. I nodi possono apparire in un ordine diverso. 37 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti Flusso di lavoro • Salesforce impedisce il caricamento di avvisi di flusso di lavoro che hanno come destinatari gruppi pubblici, utenti partner o ruoli specifici. Cambiare il destinatario in un utente prima di caricare l'applicazione. Durante l'installazione, Salesforce sostituisce l'utente con l'utente che sta installando l'applicazione e l'installatore può a sua volta personalizzarlo se necessario. • Salesforce impedisce di caricare gli aggiornamenti di campi di flusso di lavoro che modificano un campo Titolare in un'area di attesa. Cambiare il valore del campo aggiornato in un utente prima di caricare l'applicazione. Durante l'installazione, Salesforce sostituisce l'utente con l'utente che sta installando l'applicazione e l'installatore può a sua volta personalizzarlo se necessario. • Salesforce impedisce di caricare le regole di flusso di lavoro, gli aggiornamenti dei campi e i messaggi in uscita che fanno riferimento a un tipo di record su un oggetto standard o gestito-installato. • Salesforce impedisce di caricare operazioni di flusso di lavoro che sono assegnate a un ruolo. Cambiare il campo Assegnato a in un utente prima di caricare l'applicazione. Durante l'installazione, Salesforce sostituisce l'utente con l'utente che sta installando l'applicazione e l'installatore può a sua volta personalizzarlo se necessario. • È possibile inserire in un pacchetto le regole di flusso di lavoro e le azioni di flusso di lavoro associate, quali avvisi tramite email e aggiornamenti di campi. Tuttavia, gli eventuali trigger basati sul tempo non sono inclusi nel pacchetto. Informare gli installatori che è necessario impostare gli eventuali trigger basati su tempo essenziali per la propria applicazione. I trigger di flusso non possono essere inseriti nei pacchetti.Il programma pilota per le azioni di flusso di lavoro dei trigger di flusso è chiuso. Se il programma pilota è già stato abilitato nell'organizzazione, è possibile continuare a creare e modificare azioni di flusso di lavoro dei trigger di flusso. Se il programma pilota non è stato abilitato nell'organizzazione, utilizzare in alternativa l'azione Flussi in Process Builder. • Alcune azioni del flusso di lavoro possono essere protette dallo sviluppatore. Per maggiori informazioni sui componenti protetti, vedere Componenti protetti a pagina 38. • Gli sviluppatori possono associare o eliminare le associazioni delle azioni di flusso di lavoro con una regola di flusso di lavoro in qualsiasi momento. Queste modifiche, inclusa l'eliminazione delle associazioni, vengono rispecchiate nell'organizzazione dell'abbonato dopo l'installazione. Nei pacchetti gestiti, un abbonato non può eliminare l'associazione tra le azioni di flusso di lavoro e una regola di flusso di lavoro se tale associazione era stata creata dallo sviluppatore. • I riferimenti a un utente specifico nelle azioni di flusso di lavoro, ad esempio il destinatario del messaggio email di avviso di un flusso di lavoro, sono sostituiti dall'utente che installa il pacchetto. Le azioni di flusso di lavoro che fanno riferimenti a ruoli, gruppi pubblici, team account, team opportunità o ruoli del team caso non possono essere caricate. • I riferimenti a un indirizzo a livello dell'organizzazione, come Indirizzo email di origine di un avviso email di flusso di lavoro, vengono reimpostati su Utente corrente durante l'installazione. • Al momento dell'installazione, tutte le nuove regole di flusso di lavoro create nel pacchetto installato o aggiornato hanno lo stesso stato di attivazione del pacchetto caricato. Componenti protetti Gli sviluppatori possono contrassegnare determinati componenti come protetti. Ai componenti protetti non possono essere collegati né fare riferimento i componenti creati nell'organizzazione di un abbonato. Uno sviluppatore può eliminare un componente protetto in una versione successiva senza il timore di completare l'installazione in modo non corretto. Tuttavia, se un componente contrassegnato come non protetto viene rilasciato globalmente, lo sviluppatore non lo può eliminare. Lo sviluppatore può contrassegnare i seguenti componenti come protetti nei pacchetti gestiti: • Etichette personalizzate • Link personalizzati (solo per la pagina iniziale) • Avvisi di flusso di lavoro • Aggiornamenti di campo di flusso di lavoro • Messaggi in uscita del flusso di lavoro 38 Creazione di pacchetti di applicazioni e loro distribuzione Gestione dei pacchetti • Operazioni di flusso di lavoro Considerazioni sulla proprietà intellettuale Le seguenti informazioni sono importanti ai fini della proprietà intellettuale e della sua tutela. • Pubblicare solo componenti di pacchetti di cui si detenga la proprietà intellettuale e per i quali si disponga dei diritti di condivisione. • Una volta che i componenti sono disponibili in Force.comAppExchange, non è più possibile richiamarli da chiunque li abbia installati. • Le informazioni presenti nei componenti inseriti nei pacchetti e pubblicati potrebbero essere visibili agli utenti di Force.comAppExchange. Prestare attenzione quando si aggiunge del codice a una pagina di formula Visualforce o a qualsiasi altro componente che non è possibile nascondere nell'applicazione. • Il codice contenuto in Apex che fa parte di un pacchetto gestito viene automaticamente nascosto e non può essere visualizzato in un'organizzazione di installazione. Le uniche eccezioni sono i metodi dichiarati globali, intendendo con questo che le firme dei metodi sono visualizzabili in un'organizzazione di installazione. Insiemi di autorizzazioni e impostazioni dei profili nei pacchetti Gli sviluppatori possono utilizzare gli insiemi di autorizzazioni o le impostazioni dei profili per concedere autorizzazioni e impostare altre opzioni di accesso a un pacchetto. Per decidere se utilizzare gli insiemi di autorizzazioni, le impostazioni dei profili o una combinazione di entrambe le funzioni, considerare le analogie e le differenze. Comportamento Insiemi di autorizzazioni Impostazioni del profilo Quali autorizzazioni e impostazioni sono incluse? • Autorizzazioni oggetto personalizzato • Applicazioni assegnate • Autorizzazioni oggetto esterno • Applicazioni connesse assegnate • Impostazioni delle schede • Autorizzazioni campo personalizzato • Assegnazioni al layout di pagina • Autorizzazioni personalizzate • Assegnazioni al tipo di record • Impostazioni di visibilità • Autorizzazioni oggetto delle schede personalizzate personalizzato • Accesso classe Apex • Autorizzazioni oggetto • Accesso alle pagine Visualforce • Accesso a fonti di dati esterne Nota: Benché gli insiemi di autorizzazioni comprendano le impostazioni di visibilità delle applicazioni e delle schede standard assegnate, tali impostazioni non si esterno • Autorizzazioni campo personalizzato • Autorizzazioni personalizzate • Accesso classe Apex • Accesso alle pagine Visualforce • Accesso a fonti di dati esterne 39 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Gli insiemi di autorizzazioni sono disponibili nelle versioni: Contact Manager Edition, Professional Edition, Group Edition, Enterprise Edition, Performance Edition, Unlimited Edition, Developer Edition e Database.com Edition Creazione di pacchetti di applicazioni e loro distribuzione Comportamento Gestione dei pacchetti Insiemi di autorizzazioni Impostazioni del profilo possono inserire nei pacchetti come componenti degli insiemi di autorizzazioni. Si possono aggiornare nei pacchetti gestiti? Sì. Le impostazioni del profilo sono applicate ai profili esistenti nell'organizzazione dell'abbonato al momento dell'installazione o dell'aggiornamento. Solo le autorizzazioni correlate ai nuovi componenti creati nell'ambito dell'installazione o dell'aggiornamento vengono applicate. Gli abbonati possono modificarle? Gli abbonati possono modificare gli insiemi Sì. di autorizzazioni dei pacchetti non gestiti ma non quelli dei pacchetti gestiti. Si possono clonare o creare? Sì. Tuttavia, se un abbonato clona un insieme di autorizzazioni o ne crea uno basandosi sull'insieme di autorizzazioni di un pacchetto, l'insieme di autorizzazioni non sarà aggiornato nei successivi aggiornamenti. Vengono aggiornati soltanto gli insiemi di autorizzazioni compresi nei pacchetti. Comprendono autorizzazioni oggetto standard? No. Inoltre, non è possibile includere No. autorizzazioni oggetto per un oggetto personalizzato che fa parte di una relazione record principale-record dettaglio in cui il record principale è un oggetto standard. Comprendono autorizzazioni utente? No. No. Sono compresi nell'installazione guidata? No. Gli insiemi di autorizzazioni devono essere assegnati dagli abbonati dopo l'installazione. Sì. Le impostazioni del profilo sono applicate ai profili esistenti nell'organizzazione dell'abbonato al momento dell'installazione o dell'aggiornamento. Solo le autorizzazioni correlate ai nuovi componenti creati nell'ambito dell'installazione o dell'aggiornamento vengono applicate. Quali sono i requisiti della licenza utente? Un insieme di autorizzazioni viene installato solo se l'organizzazione dell'abbonato dispone di almeno una licenza utente compatibile con l'insieme di autorizzazioni. Ad esempio, gli insiemi di autorizzazioni con la licenza utente Salesforce Platform non vengono installati nelle organizzazioni sprovviste di licenze utente Salesforce Platform. Se in un secondo tempo un Non ve ne sono. Nell'organizzazione dell'abbonato, l'installazione sovrascrive le impostazioni dei profili, non le licenze utente. 40 Sì. Gli abbonati possono clonare qualsiasi profilo contenente autorizzazioni e impostazioni relative a componenti di pacchetti. Creazione di pacchetti di applicazioni e loro distribuzione Comportamento Determinazione del processo di sviluppo Insiemi di autorizzazioni Impostazioni del profilo abbonato si procura una licenza, sarà necessario reinstallare il pacchetto per ottenere gli insiemi di autorizzazioni associati alla nuova licenza. Gli insiemi di autorizzazioni sprovvisti di licenza utente vengono sempre installati. Se si assegna un insieme di autorizzazioni sprovvisto di licenza utente, tutte le relative impostazioni e autorizzazioni abilitate devono essere consentite dalla licenza dell'utente: in caso contrario l'assegnazione non andrà a buon fine. In che modo vengono assegnati agli utenti? Gli abbonati devono assegnare gli insiemi Le impostazioni del profilo vengono di autorizzazioni inclusi nel pacchetto dopo applicate ai profili esistenti. avere installato il pacchetto. Procedure consigliate • Utilizzare gli insiemi di autorizzazioni oltre ai profili dei pacchetti in modo che gli abbonati possano facilmente aggiungere nuove autorizzazioni per gli utenti esistenti dell'applicazione. • Se gli utenti devono accedere ad applicazioni, schede standard, layout di pagina e tipi di record, non utilizzare gli insiemi di autorizzazioni come unico modello di concessione delle autorizzazioni nell'applicazione. • Creare insiemi di autorizzazioni inclusi in un pacchetto che consentono di accedere ai componenti personalizzati di un pacchetto, ma non ai componenti standard di Salesforce. Determinazione del processo di sviluppo Tutti i pacchetti sono pacchetti non gestiti fino a quando non vengono convertiti in pacchetti gestiti. A tale scopo è necessario disporre di pacchetti gestiti creati in un'organizzazione che utilizza la versione Developer Edition. Lo sviluppo di pacchetti gestiti può essere preferibile poiché consente di eseguire test della versione beta prima del rilascio e offrire aggiornamenti. Prima di creare un pacchetto, determinare il processo di sviluppo desiderato per poter scegliere il tipo di pacchetto più adatto al processo: EDIZIONI Disponibile in: Salesforce Classic • Inserire in un pacchetto l'applicazione e caricarla. I pacchetti non gestiti sono disponibili nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Sviluppo di pacchetti gestiti I pacchetti gestiti sono disponibili nella versione: Developer Edition Sviluppo di pacchetti non gestiti • Progettare l'applicazione. • Progettare l'applicazione. • Inserire in un pacchetto una versione beta dell'applicazione e caricarla. 41 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo • Raccogliere i commenti degli utenti che hanno eseguito il test della versione beta ed effettuare le correzioni appropriate nell'applicazione. • Inserire in un pacchetto la versione finale dell'applicazione e caricarla. IN QUESTA SEZIONE: Pianificazione del rilascio dei pacchetti gestiti Eliminazione di componenti dai pacchetti gestiti Visualizzazione dei componenti non utilizzati di un pacchetto Modifica dei campi personalizzati dopo il rilascio di un pacchetto Configurazione delle versioni predefinite del pacchetto per chiamate API Informazioni sull'accesso API e Apex dinamico nei pacchetti Gestione dell'accesso API e Apex dinamico nei pacchetti Generazione di un WSDL Enterprise con pacchetti gestiti Descrizione delle dipendenze Hub d'ambiente L'hub d'ambiente consente di visualizzare, connettere, creare e accedere alle organizzazioni Salesforce da un'unica postazione. Se la propria azienda dispone di più ambienti per lo sviluppo, la verifica e le prove, l'hub d'ambiente consente di semplificare l'approccio alla gestione dell'organizzazione. VEDERE ANCHE: Pianificazione del rilascio dei pacchetti gestiti Gestione dei pacchetti Creazione e caricamento di patch Pianificazione del rilascio dei pacchetti gestiti Il processo di rilascio di un pacchetto AppExchange è simile a quello utilizzato per qualsiasi altro programma software sviluppato. Si può valutare una realizzazione per iterazioni, in modo da assicurarsi che ciascun componente funzioni come progettato. Si può anche decidere di distribuire una versione preliminare (beta) del pacchetto perché venga testata da un gruppo limitato di utenti che forniscano dei commenti. Quando un pacchetto viene rilasciato mediante pubblicazione in AppExchange, tutti gli utenti possono installarlo. Per questo il rilascio va pianificato con attenzione. Rivedere gli stati riportati di seguito per acquisire familiarità con il processo di rilascio. Salesforce applica automaticamente lo stato appropriato al pacchetto e ai componenti in base alle impostazioni di caricamento scelte e alla fase del processo di rilascio in cui ci si trova. Stato Descrizione Non gestito Il pacchetto non è stato convertito in pacchetto gestito o il componente non è stato aggiunto a un pacchetto gestito. Tenere presente che un componente in stato "Gestito - beta" può diventare "Non gestito" se viene rimosso da un pacchetto gestito. Tutti i pacchetti sono considerati non gestiti a meno che non sia diversamente indicato da una delle icone gestite riportate di seguito. 42 Creazione di pacchetti di applicazioni e loro distribuzione Stato Gestito - Beta Determinazione del processo di sviluppo Descrizione Il pacchetto o componente è stato creato nell'organizzazione Salesforce corrente ed è gestito, ma non è stato rilasciato per uno dei seguenti motivi: • Non è stato caricato. • È stato caricato con l'opzione Gestito - beta selezionata. Questa opzione impedisce la pubblicazione, cioè la disponibilità a tutti in AppExchange. Lo sviluppatore può ancora modificare i componenti, a differenza dell'autore dell'installazione, la cui capacità di modifica dipende invece da quali componenti sono stati inseriti nei pacchetti. Nota: non installare un pacchetto Gestito - beta su un pacchetto Gestito rilasciato, altrimenti il pacchetto non potrà più essere aggiornato e l'unica opzione sarà disinstallarlo e reinstallarlo. Gestito - Rilasciato Il pacchetto o il componente è stato creato nell'organizzazione Salesforce corrente ed è gestito. È stato inoltre caricato con l'opzione Gestito - rilasciato selezionata, per indicare che può essere pubblicato in AppExchange ed è quindi disponibile a tutti. Tenere presente che quando un pacchetto passa a questo stato, né lo sviluppatore né l'autore dell'installazione possono più modificare alcune proprietà dei componenti. Questo tipo di rilascio è considerato un rilascio principale. Patch Se è necessario fornire un aggiornamento minore a un pacchetto gestito, valutare la creazione di una patch anziché di un nuovo rilascio principale. Una patch consente a uno sviluppatore di modificare le funzionalità di componenti esistenti in un pacchetto gestito, garantendo al contempo per gli abbonati l'assenza di modifiche visibili nel comportamento del pacchetto. Questo tipo di rilascio è considerato un rilascio patch. Gestito - Installato Il pacchetto o il componente è stato installato da un'altra organizzazione Salesforce ma è gestito. Uno sviluppatore nel tempo può perfezionare la funzionalità in un pacchetto gestito, caricando e rilasciando le nuove versioni in base ai requisiti che si presentano. Questo potrebbe comportare la modifica del design di alcuni componenti del pacchetto gestito. Gli sviluppatori possono eliminare alcuni, ma non tutti, tipi di componenti in un pacchetto Gestito - rilasciato durante l'aggiornamento. VEDERE ANCHE: Gestione dei pacchetti Determinazione del processo di sviluppo 43 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Eliminazione di componenti dai pacchetti gestiti Dopo avere caricato un pacchetto Gestito - Rilasciato, ci si potrebbe accorgere che un componente deve essere eliminato dall'organizzazione. Ne consegue una delle seguenti situazioni: EDIZIONI • Una volta aggiunto al pacchetto, il componente non può essere eliminato. Disponibile nelle versioni: Salesforce Classic • Il componente può essere eliminato, ma l'eliminazione si può annullare solo dalla pagina Componenti pacchetto eliminati. • Il componente può essere eliminato, ma l'eliminazione si può annullare sia dalla pagina Componenti pacchetto eliminati che mediante il Cestino Per accedere alla pagina Componenti pacchetto eliminati, da Imposta immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Selezionare il pacchetto in cui è stato caricato il componente e fare clic su Visualizza componenti eliminati. I componenti si possono recuperare dal cestino e dalla pagina Componenti pacchetto eliminati in qualsiasi momento prima di caricare una nuova versione del pacchetto, facendo clic su Annulla elimina accanto al componente. Quando si carica un pacchetto con un componente contrassegnato per l'eliminazione, il componente viene eliminato definitivamente. Avvertenza: Malgrado l'eliminazione, il suo Nome viene conservato all'interno di Salesforce e non sarà più possibile creare un altro componente con lo stesso nome. La pagina Componenti pacchetto eliminati elenca i nomi che non è più possibile utilizzare. Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per eliminare componenti da un pacchetto: • "Crea pacchetti AppExchange" Per accedere alla pagina Componenti pacchetto eliminati, da Imposta immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Selezionare il pacchetto in cui è stato caricato il componente e fare clic su Visualizza componenti eliminati. Se un componente si può recuperare dal Cestino, si può recuperare anche tramite questa pagina. Da questa pagina si possono recuperare i seguenti tipi di componenti. • Classi e trigger Apex privi di accesso globale. • Schede personalizzate. • Componenti Visualforce con accesso pubblico. • Componenti protetti, fra cui: – Etichette personalizzate – Link personalizzati (solo per la pagina iniziale) – Avvisi di flusso di lavoro – Aggiornamenti di campo di flusso di lavoro – Messaggi in uscita del flusso di lavoro – Operazioni di flusso di lavoro – Trigger di flusso del flusso di lavoro Il programma pilota per le azioni di flusso di lavoro dei trigger è chiuso. Se il programma pilota è già stato abilitato nell'organizzazione, è possibile continuare a creare e modificare azioni di flusso di lavoro dei trigger di flusso. Se il programma pilota non è stato abilitato nell'organizzazione, utilizzare in alternativa l'azione Flussi in Process Builder. • Componenti di dati come documenti, cruscotti digitali e rapporti. Questi sono gli unici tipi di componenti che è possibile recuperare anche dal Cestino. I componenti si possono recuperare dal cestino e dalla pagina Componenti pacchetto eliminati in qualsiasi momento prima di caricare una nuova versione del pacchetto, facendo clic su Annulla elimina accanto al componente. 44 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo I componenti eliminati mostrano le seguenti informazioni (in ordine alfabetico): Attributo Descrizione Azione Se il pacchetto Gestito - Rilasciato non è stato caricato con il componente eliminato, qui è presente un link Annulla elimina che consente di recuperare il componente. Disponibile nelle versioni Mostra il numero di versione del pacchetto in cui è presente un componente. Nome Visualizza il nome del componente. Oggetto controllante Visualizza il nome dell'oggetto controllante a cui è associato un componente. Ad esempio, un oggetto personalizzato è controllante di un campo personalizzato. Tipo Visualizza il tipo di componente. Visualizzazione dei componenti non utilizzati di un pacchetto Questa tabella mostra i componenti non più utilizzati nella versione corrente di un pacchetto. Tutti i componenti qui indicati che fanno parte di un pacchetto gestito si possono eliminare tranquillamente, a meno che non siano stati usati in integrazioni personalizzate. Dopo che è stato eliminato, un componente inutilizzato compare in questo elenco per 15 giorni. In questo periodo è possibile annullare l'eliminazione per ripristinare il componente e tutti i dati memorizzati al suo interno, oppure eliminarlo definitivamente. Tenere presente che, quando si annulla l'eliminazione di un campo personalizzato, alcune delle sue proprietà andranno perse o verranno modificate. Dopo 15 giorni, il campo e i relativi dati vengono eliminati definitivamente. Nota: prima di eliminare un campo personalizzato, è possibile conservare traccia dei suoi dati. Da Imposta, immettere Esportazione dati nella casella Ricerca veloce, quindi selezionare Esportazione dati. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Vengono visualizzate le seguenti informazioni sul componente (in ordine alfabetico): Attributo Descrizione Azione Sono disponibili due opzioni: • Annulla Elimina • Elimina Nome Visualizza il nome del componente. Oggetto controllante Visualizza il nome dell'oggetto controllante a cui è associato un componente. Ad esempio, un oggetto personalizzato è controllante di un campo personalizzato. Tipo Visualizza il tipo di componente. 45 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Modifica dei campi personalizzati dopo il rilascio di un pacchetto Dopo che un pacchetto è stato rilasciato è consentito apportare le seguenti modifiche ai suoi campi personalizzati. EDIZIONI • La lunghezza di un campo di testo si può aumentare o diminuire. Disponibile nelle versioni: Salesforce Classic • Il numero di cifre a sinistra o a destra della virgola decimale in un campo numerico può essere aumentato o ridotto. • I campi obbligatori si possono rendere non obbligatori e viceversa. Se per un campo era obbligatorio un valore predefinito, questa limitazione può essere eliminata, e viceversa. Disponibile nella versione: Developer Edition Configurazione delle versioni predefinite del pacchetto per chiamate API La versione di un pacchetto è un numero che rappresenta l'insieme di componenti caricati in un pacchetto. Il numero della versione ha il formato majorNumber.minorNumber.patchNumber (ad esempio, 2.1.3). In caso di rilascio principale, i numeri principale e secondario vengono aumentati a un valore determinato. Il patchNumber viene generato e aggiornato soltanto per i rilasci patch. Gli autori della pubblicazione possono utilizzare le versioni di pacchetto per far evolvere i componenti dei pacchetti gestiti in modo fluido rilasciando le versioni successive in modo da non interrompere le integrazioni esistenti dei clienti che utilizzano il pacchetto. Le versioni predefinite di un pacchetto per le chiamate API forniscono impostazioni fallback se le versioni del pacchetto non vengono fornite da una chiamata API. Molti client API non comprendono informazioni sulla versione del pacchetto, e quindi le impostazioni predefinite mantengono per questi client il comportamento esistente. È possibile specificare versioni predefinite di un pacchetto per chiamate API Enterprise e API Partner. Il WSDL Enterprise è destinato ai clienti che desiderano creare un'integrazione solo con la propria organizzazione Salesforce. È fortemente tipizzato, ossia le chiamate operano su oggetti e campi dotati di tipi di dati specifici, quali int e string. Il WSDL Partner è destinato a clienti, partner e provider di servizi Internet che desiderano creare un'integrazione che funzioni in diverse organizzazioni Salesforce, indipendentemente dagli oggetti e campi personalizzati. È poco tipizzato, ossia le chiamate operano su coppie nome-valore di nomi di campo e valori anziché di tipi di dati specifici. EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per configurare le versioni predefinite del pacchetto per le chiamate API: • "Personalizza applicazione" Per mantenere il comportamento esistente dei client è necessario associare il WDSL Enterprise con versioni di pacchetto specifiche. Esistono opzioni per impostare i vincoli della versione del pacchetto per una chiamata API dalle applicazioni client che utilizzano il WSDL Enterprise o Partner. Le informazioni relative alla versione del pacchetto per le chiamate API emesse da un'applicazione client basata sul WSDL Enterprise sono determinate dalla prima corrispondenza tra le seguenti impostazioni. 1. L'intestazione SOAP PackageVersionHeader. 2. L'endpoint SOAP contiene un URL con formato serverName/services/Soap/c/api_version/ID dove api_version è la versione dell'API, ad esempio 38.0, e ID codifica le selezioni della versione del pacchetto eseguite durante la generazione del WSDL Enterprise. 3. Le impostazioni della versione predefinita del pacchetto Enterprise. Il WSDL Partner è più flessibile in quanto viene utilizzato per l'integrazione con più organizzazioni. Se per la versione di un pacchetto si sceglie l'opzione Non specificato durante la configurazione delle versioni predefinite di pacchetto partner, il comportamento viene determinato dall'ultima versione del pacchetto installata. Questo significa che il comportamento dei componenti del pacchetto, come un trigger Apex, potrebbe cambiare con l'aggiornamento del pacchetto e tale cambiamento influenzerebbe immediatamente l'integrazione. 46 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo È opportuno che gli abbonati selezionino una versione specifica di un pacchetto installato per tutte le chiamate API partner dalle applicazioni client per assicurare che le successive installazioni di versioni del pacchetto non influenzino le integrazioni esistenti. Le informazioni della versione del pacchetto per le chiamate API partner sono determinate dalla prima corrispondenza incontrata nelle seguenti impostazioni. 1. L'intestazione SOAP PackageVersionHeader. 2. Una chiamata API da una pagina Visualforce che utilizza versioni di pacchetto impostate per la pagina Visualforce. 3. Le impostazioni della versione predefinita del pacchetto partner. Per configurare le versioni predefinite del pacchetto per le chiamate API: 1. Da Imposta, digitare API nella casella Ricerca veloce e quindi selezionare API. 2. Fare clic su Configura impostazioni versione pacchetto Enterprise o Configura impostazioni versione pacchetto Partner. Questi collegamenti sono disponibili solo se nell'organizzazione è stato installato almeno un pacchetto gestito. 3. Selezionare una Versione pacchetto per ciascuno dei pacchetti gestiti installati. Se non si conosce con precisione la versione del pacchetto da selezionare, lasciare la selezione predefinita. 4. Fare clic su Salva. Nota: l'installazione nell'organizzazione della nuova versione di un pacchetto non influisce sulle impostazioni predefinite correnti. Informazioni sull'accesso API e Apex dinamico nei pacchetti I componenti di un pacchetto Apex hanno accesso tramite Apex dinamico e l'API agli oggetti standard e personalizzati dell'organizzazione in cui sono installati. Gli sviluppatori dei pacchetti Force.com AppExchange destinati ai clienti esterni (chiamati anche sviluppatori di terze parti o partner) potrebbero decidere di limitare questo accesso. La limitazione dell'accesso rende più sicura l'installazione dei pacchetti da parte dell'amministratore. Inoltre, gli amministratori che installano tali pacchetti potrebbero desiderare di limitare questo accesso dopo l'installazione, anche se gli sviluppatori non l'hanno fatto, per una maggiore sicurezza. Accesso API è un'impostazione dei pacchetti che controlla l'accesso Apex dinamico e API degli S-Control e degli altri componenti di un pacchetto agli oggetti standard e personalizzati. L'impostazione viene visualizzata sia per lo sviluppatore che per l'autore dell'installazione nella pagina dei dettagli del pacchetto. Con questa impostazione: EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Contact Manager Edition, Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition • Lo sviluppatore di un pacchetto AppExchange può limitare l'accesso API per un pacchetto prima di caricarlo in Force.com AppExchange. Dopo tale limitazione, i componenti del pacchetto ricevono le sessioni Apex e API che sono limitate agli oggetti personalizzati nel pacchetto. Lo sviluppatore può inoltre abilitare l'accesso a oggetti standard specifici e a qualsiasi oggetto personalizzato di altri pacchetti da cui questo pacchetto dipende. • L'autore dell'installazione di un pacchetto può accettare o rifiutare i privilegi di accesso al pacchetto quando lo installa nella propria organizzazione. • Dopo l'installazione, un amministratore può modificare l'accesso Apex e API per un pacchetto in qualsiasi momento. L'autore dell'installazione può inoltre abilitare l'accesso a ulteriori oggetti, quali gli oggetti personalizzati creati nella sua organizzazione o gli oggetti installati da pacchetti non correlati. Per l'impostazione Accesso API sono possibili due opzioni: • Senza restrizione (l'impostazione predefinita), che garantisce ai componenti del pacchetto lo stesso livello di accesso API agli oggetti standard dell'utente che ha effettuato l'accesso quando il componente invia una richiesta all'API. Apex viene eseguito in modalità di sistema. L'accesso senza limitazioni concede ad Apex l'accesso di lettura a tutti gli oggetti standard e personalizzati. 47 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo • Con restrizione, che consente all'amministratore di selezionare gli oggetti standard a cui possono accedere i componenti del pacchetto. Inoltre, i componenti nei pacchetti limitati possono accedere solo agli oggetti personalizzati nel pacchetto corrente se l'utente dispone delle autorizzazioni a livello di oggetto che forniscono l'accesso a tali oggetti. Considerazioni sull'accesso API e Apex dinamico ai pacchetti Per impostazione predefinita, il linguaggio Apex dinamico può accedere solo ai componenti che fanno parte dello stesso pacchetto del codice. Per fornire l'accesso agli oggetti standard non inclusi nel pacchetto, lo sviluppatore deve impostare l'Accesso API. 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Selezionare il pacchetto che contiene un Apex dinamico che necessita dell'accesso agli oggetti standard nell'organizzazione che esegue l'installazione. 3. Nell'elenco correlato Dettagli pacchetto, fare clic sull'opzione disponibile tra queste due: Abilita restrizioni o Con restrizione. 4. Impostare il livello di accesso (Lettura, Crea, Modifica, Elimina) per gli oggetti standard a cui l'Apex dinamico può accedere. 5. Fare clic su Salva. La scelta dell'opzione Con restrizione per l'impostazione Accesso API in un pacchetto incide sui seguenti aspetti: • L'accesso API in un pacchetto ha la priorità sulle seguenti autorizzazioni utente: – Apex autore – Personalizza applicazione – Modifica modelli HTML – Modifica campi di sola lettura – Gestisci fatturazione – Gestisci call center – Gestisci categorie – Gestisci tipi di rapporto personalizzato – Gestisci cruscotti digitali – Gestisci carte intestate – Gestisci licenze pacchetti – Gestisci documenti pubblici – Gestisci visualizzazioni elenchi pubblici – Gestisci rapporti pubblici – Gestisci modelli pubblici – Gestisci utenti – Trasferisci record – Utilizza procedure guidate di riassegnazione team – Visualizza impostazione e configurazione – Esportazione dati settimanale • Se le opzioni Lettura, Crea, Modifica ed Elimina relative all'accesso non sono selezionate nell'impostazione di accesso API per gli oggetti, gli utenti non potranno accedere a tali oggetti dai componenti del pacchetto, anche se dispongono delle autorizzazioni "Modifica tutti i dati" e "Visualizza tutti i dati". • Un pacchetto con accesso API Con restrizione non può creare nuovi utenti. 48 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo • Salesforce nega l'accesso alle richieste di servizi Web e executeanonymous da un pacchetto AppExchange con accesso Con restrizione. Le considerazioni riportate di seguito sono valide anche per l'accesso API nei pacchetti: • I trigger delle regole di flusso di lavoro e Apex vengono attivati indipendentemente dall'accesso API in un pacchetto. • Se un componente si trova in più di un pacchetto di un'organizzazione, l'accesso API è senza restrizioni per quel componente in tutti i pacchetti dell'organizzazione, indipendentemente dall'impostazione dell'accesso. • Se Salesforce introduce un nuovo oggetto standard dopo che è stato selezionato l'accesso con restrizione per un pacchetto, l'accesso al nuovo oggetto standard non è garantito per impostazione predefinita. È necessario modificare l'accesso con restrizione in modo che includa il nuovo oggetto standard. • Quando si aggiorna un pacchetto, le modifiche all'accesso API vengono ignorate anche se è stato lo sviluppatore a specificarle. Ciò garantisce il controllo totale da parte dell'amministratore che installa l'aggiornamento. È opportuno che gli installatori esaminino con attenzione le modifiche all'accesso dei pacchetti durante l'installazione di ogni aggiornamento e prendano nota di tutte le modifiche accettabili. In seguito, poiché tali modifiche vengono ignorate, l'amministratore deve apportare manualmente tutte le modifiche accettabili dopo l'installazione di un aggiornamento. • Gli S-Control sono serviti da Salesforce e il rendering viene eseguito in linea in Salesforce. Questa stretta integrazione fa sì che esistano diversi modi con cui un S-Control in un pacchetto installato può inoltrare al livello superiore i propri privilegi e ottenere i privilegi utente completi. Per proteggere la sicurezza delle organizzazioni che installano pacchetti, gli S-Control presentano le seguenti limitazioni: – Per i pacchetti che si stanno sviluppando (ossia non installati da AppExchange), è possibile aggiungere solo S-Control ai pacchetti con l'accesso APISenza restrizione predefinito. Una volta che un pacchetto ha un S-Control, non è possibile abilitare l'accesso APICon restrizione. – Per i pacchetti installati, è possibile abilitare le restrizioni per l'accesso anche se il pacchetto contiene degli S-Control. Tuttavia, le restrizioni all'accesso forniscono una protezione limitata per gli S-Control. Salesforce consiglia di informarsi in modo approfondito in merito al funzionamento di JavaScript in un S-Control prima di affidarsi alla restrizione dell'accesso per la sicurezza degli S-Control. – Se un pacchetto installato dispone di accesso API Con restrizione, gli aggiornamenti saranno completati correttamente solo se la versione aggiornata non contiene S-Control. Se nella versione aggiornata sono presenti degli S-Control, è necessario cambiare l'accesso API del pacchetto installato in un accesso Senza restrizione. 49 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Gestione dell'accesso API e Apex dinamico nei pacchetti Accesso API è un'impostazione dei pacchetti che controlla l'accesso Apex dinamico e API degli S-Control e degli altri componenti di un pacchetto agli oggetti standard e personalizzati. L'impostazione viene visualizzata sia per lo sviluppatore che per l'autore dell'installazione nella pagina dei dettagli del pacchetto. Con questa impostazione: • Lo sviluppatore di un pacchetto AppExchange può limitare l'accesso API per un pacchetto prima di caricarlo in Force.com AppExchange. Dopo tale limitazione, i componenti del pacchetto ricevono le sessioni Apex e API che sono limitate agli oggetti personalizzati nel pacchetto. Lo sviluppatore può inoltre abilitare l'accesso a oggetti standard specifici e a qualsiasi oggetto personalizzato di altri pacchetti da cui questo pacchetto dipende. • L'autore dell'installazione di un pacchetto può accettare o rifiutare i privilegi di accesso al pacchetto quando lo installa nella propria organizzazione. • Dopo l'installazione, un amministratore può modificare l'accesso Apex e API per un pacchetto in qualsiasi momento. L'autore dell'installazione può inoltre abilitare l'accesso a ulteriori oggetti, quali gli oggetti personalizzati creati nella sua organizzazione o gli oggetti installati da pacchetti non correlati. Impostazione dell'accesso API e Apex dinamico nei pacchetti Per modificare i privilegi di accesso a un pacchetto che è stato creato dall'utente o da qualcuno all'interno della sua organizzazione: 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Selezionare un pacchetto. EDIZIONI Disponibile in: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per modificare l'accesso API e Apex dinamico in un pacchetto che è stato creato o installato dall'utente: • "Crea pacchetti AppExchange" Per accettare o rifiutare l'accesso API e Apex dinamico per un pacchetto che fa parte di un'installazione: • "Scarica pacchetti AppExchange" 3. Il campo Accesso API visualizza l'impostazione corrente, Con restrizione o Senza restrizione, e un link all'opzione Abilita restrizioni o Disabilita restrizioni. Se le opzioni Lettura, Crea, Modifica ed Elimina relative all'accesso non sono selezionate nell'impostazione di accesso API per gli oggetti, gli utenti non potranno accedere a tali oggetti dai componenti del pacchetto, anche se dispongono delle autorizzazioni "Modifica tutti i dati" e "Visualizza tutti i dati". Utilizzare il campo Accesso API per: Abilita restrizioni Questa opzione è disponibile solo se l'impostazione corrente è Senza restrizione. Selezionare questa opzione se si desidera specificare l'accesso Apex e API che i componenti del pacchetto hanno per gli oggetti standard nell'organizzazione dell'installatore. Quando si seleziona questa opzione, viene visualizzato l'elenco Autorizzazioni oggetto esteso. Selezionare le caselle di controllo Leggi, Crea, Modifica o Elimina per abilitare l'accesso a ciascun oggetto nell'elenco. In alcune situazioni questa selezione è disabilitata. Al termine, fare clic su Salva. Per ulteriori informazioni sulla scelta dell'opzione Con restrizione, comprese le informazioni relative alla disabilitazione, vedere Considerazioni sull'accesso API e Apex dinamico nei pacchetti a pagina 48. Disabilita restrizioni Questa opzione è disponibile solo se l'impostazione corrente è Con restrizione. Selezionare questa opzione se non si vogliono limitare i diritti di accesso Apex e API di cui godono i componenti del pacchetto rispetto agli oggetti standard e personalizzati. L'opzione fornisce a tutti i componenti del pacchetto lo stesso accesso API dell'utente connesso. Ad esempio, se un utente è in grado di accedere agli account, una classe Apex del pacchetto che accede agli account verrà eseguita correttamente se attivata da quell'utente. 50 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Con restrizione Fare clic su questo link se l'accesso API è già stato limitato e si desidera modificare le restrizioni. Accettazione o rifiuto dei privilegi di accesso API e Apex dinamico durante l'installazione Per accettare o rifiutare i privilegi di accesso API e Apex dinamico per un pacchetto che si sta installando: • Avviare il processo di installazione su Force.com AppExchange. • In Approva accesso API, fare clic su Avanti per accettare o su Annulla per rifiutare. Completare le fasi dell'installazione se non è stata selezionata l'opzione Annulla. Modifica dei privilegi di accesso API e Apex dinamico dopo l'installazione Per modificare i privilegi di accesso API e Apex dinamico per un pacchetto dopo che questo è stato installato: 1. Da Imposta, digitare Pacchetti installati nella casella Ricerca veloce e quindi selezionare Pacchetti installati. 2. Fare clic sul nome del pacchetto che si desidera modificare. 3. Il campo Accesso API visualizza l'impostazione corrente, Con restrizione o Senza restrizione, e un link all'opzione Abilita restrizioni o Disabilita restrizioni. Se le opzioni Lettura, Crea, Modifica ed Elimina relative all'accesso non sono selezionate nell'impostazione di accesso API per gli oggetti, gli utenti non potranno accedere a tali oggetti dai componenti del pacchetto, anche se dispongono delle autorizzazioni "Modifica tutti i dati" e "Visualizza tutti i dati". Utilizzare il campo Accesso API per: Abilita restrizioni Questa opzione è disponibile solo se l'impostazione corrente è Senza restrizione. Selezionare questa opzione se si desidera specificare l'accesso Apex e API che i componenti del pacchetto hanno per gli oggetti standard nell'organizzazione dell'installatore. Quando si seleziona questa opzione, viene visualizzato l'elenco Autorizzazioni oggetto esteso. Selezionare le caselle di controllo Leggi, Crea, Modifica o Elimina per abilitare l'accesso a ciascun oggetto nell'elenco. In alcune situazioni questa selezione è disabilitata. Al termine, fare clic su Salva. Per ulteriori informazioni sulla scelta dell'opzione Con restrizione, comprese le informazioni relative alla disabilitazione, vedere Considerazioni sull'accesso API e Apex dinamico nei pacchetti a pagina 48. Disabilita restrizioni Questa opzione è disponibile solo se l'impostazione corrente è Con restrizione. Selezionare questa opzione se non si vogliono limitare i diritti di accesso Apex e API di cui godono i componenti del pacchetto rispetto agli oggetti standard e personalizzati. L'opzione fornisce a tutti i componenti del pacchetto lo stesso accesso API dell'utente connesso. Ad esempio, se un utente è in grado di accedere agli account, una classe Apex del pacchetto che accede agli account verrà eseguita correttamente se attivata da quell'utente. Con restrizione Fare clic su questo link se l'accesso API è già stato limitato e si desidera modificare le restrizioni. 51 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Generazione di un WSDL Enterprise con pacchetti gestiti Se si scarica un WSDL Enterprise e nell'organizzazione sono installati pacchetti gestiti, è necessario eseguire un ulteriore passaggio per selezionare la versione di ciascun pacchetto installato da includere nel WSDL generato. Il WSDL Enterprise è fortemente tipizzato, ossia contiene oggetti e campi con tipi di dati specifici, ad esempio int e string. La versione di un pacchetto è un numero che rappresenta l'insieme di componenti caricati in un pacchetto. Il numero della versione ha il formato majorNumber.minorNumber.patchNumber (ad esempio, 2.1.3). In caso di rilascio principale, i numeri principale e secondario vengono aumentati a un valore determinato. Il patchNumber viene generato e aggiornato soltanto per i rilasci patch. Gli autori della pubblicazione possono utilizzare le versioni di pacchetto per far evolvere i componenti dei pacchetti gestiti in modo fluido rilasciando le versioni successive in modo da non interrompere le integrazioni esistenti dei clienti che utilizzano il pacchetto. Un abbonato può selezionare la versione di un pacchetto per ciascun pacchetto gestito installato per consentire al client API di continuare a funzionare con un comportamento noto e specifico anche quando viene installata una versione successiva del pacchetto. Ciascuna versione del pacchetto può presentare varianti nella composizione degli oggetti e dei campi, occorre quindi selezionare una versione specifica quando si genera un WSDL fortemente tipizzato. EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per scaricare un file WSDL: • "Personalizza applicazione" Per scaricare un WSDL Enterprise quando sono installati pacchetti gestiti: 1. Da Imposta, digitare API nella casella Ricerca veloce e quindi selezionare API. 2. Fare clic su Genera WSDL Enterprise. 3. Selezionare una Versione pacchetto per ciascuno dei pacchetti gestiti installati. Se non si conosce con precisione la versione del pacchetto da selezionare, lasciare la selezione predefinita, ovvero l'ultima versione del pacchetto. 4. Fare clic su Genera. 5. Utilizzare il menu File del browser per salvare il WSDL nel computer. 6. Importare la copia locale del documento WSDL nell'ambiente di sviluppo del computer. Riguardo al WSDL Enterprise generato si noti quanto segue: • Ciascuna delle selezioni relative alle versioni dei pacchetti gestiti è inserita in un commento nella parte superiore del WSDL. • Il WSDL generato contiene oggetti e campi dell'organizzazione, compresi quelli disponibili nelle versioni selezionate di ciascun pacchetto installato. Se un campo o un oggetto viene aggiunto in una versione di pacchetto successiva, è necessario generare il WSDL Enterprise con quella versione di pacchetto per continuare a lavorare con quell'oggetto o campo nell'integrazione API. • Alla fine del WSDL, l'endpoint SOAP contiene un URL con formato serverName/services/Soap/c/api_version/ID dove api_version è la versione dell'API, ad esempio 38.0 e ID codifica le selezioni della versione del pacchetto eseguite durante la comunicazione con Salesforce. È inoltre possibile selezionare le versioni di pacchetto predefinite per il WSDL Enterprise senza scaricare un WSDL dalla pagina delle API in Imposta. Le versioni predefinite di un pacchetto per le chiamate API forniscono impostazioni di fallback se le versioni del pacchetto non vengono fornite da una chiamata API.Molti client API non includono informazioni sulla versione del pacchetto, quindi le impostazioni predefinite mantengono il proprio comportamento con questi client. 52 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Descrizione delle dipendenze Le dipendenze dei pacchetti vengono create quando un componente fa riferimento a un altro componente, autorizzazione o preferenza necessaria per assicurare la validità del componente. Force.com tiene traccia di determinate dipendenze, tra cui: • Dipendenze a livello di organizzazione, ad esempio se multivaluta o campagne sono abilitate o meno • Dipendenze specifiche per componente, ad esempio se esistono o meno particolari tipi di record o divisioni • Riferimenti a oggetti sia standard sia personalizzati o a campi I pacchetti, le classi e i trigger Apex e i componenti e le pagine Visualforce possono avere dipendenze sui componenti all'interno di un'organizzazione. Tali dipendenze vengono registrate nella pagina Mostra dipendenze. Le dipendenze sono importanti per i pacchetti, in quanto qualsiasi dipendenza in un componente di un pacchetto viene considerata una dipendenza di tutto il pacchetto nel suo insieme. Nota: Perché l'installazione sia completata correttamente, è necessario che l'organizzazione di installazione soddisfi tutti i requisiti di dipendenza elencati nella pagina Mostra dipendenze. Ad esempio, per installare un pacchetto che fa riferimento alle divisioni è necessario che nell'organizzazione di installazione siano abilitate le divisioni. Le dipendenze sono importanti per le classi e i trigger Apex perché, quando il codice è utilizzato o impacchettato, tutti i componenti dai quali dipendono una classe o un trigger devono essere inclusi nella classe o trigger. Oltre alle dipendenze, l'ambito operativo è visualizzato nella pagina Mostra dipendenze. L'ambito operativo è una tabella che elenca tutte le operazioni DML (Data Manipulation Language), come insert o merge, che Apex esegue su un oggetto. L'ambito operativo può essere usato durante l'installazione di un'applicazione per stabilire l'estensione totale delle operazioni di database dell'applicazione stessa. Per visualizzare le dipendenze e l'ambito operativo di un pacchetto, una classe Apex, un trigger Apex o una pagina Visualforce: 1. Posizionarsi sul componente appropriato da Imposta: EDIZIONI Disponibile nelle versioni: Salesforce Classic I pacchetti AppExchange e Visualforce sono disponibili nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Apex è disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per caricare pacchetti: • "Carica pacchetti AppExchange" Per visualizzare le dipendenze Apex: • "Apex autore" Per visualizzare le dipendenze Visualforce: • “Modalità sviluppatore” • Per i pacchetti, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. • Per le classi Apex, immettere Classi Apex nella casella Ricerca veloce, quindi selezionare Classi Apex. • Per i trigger Apex, dalle impostazioni di gestione dell'oggetto appropriato accedere a Trigger. • Per le pagine Visualforce, immettere Pagine Visualforce nella casella Ricerca veloce, quindi selezionare Pagine Visualforce. 2. Selezionare il nome del componente. 3. Fare clic su Visualizza dipendenze per un pacchetto, oppure su Mostra dipendenze per tutti gli altri componenti, per visualizzare un elenco degli oggetti che dipendono dal componente selezionato. Se è visualizzato un elenco degli oggetti dipendenti, fare clic su Campi per accedere al dettaglio a livello di campo dell'ambito operativo. Il dettaglio a livello di campo include informazioni come l'aggiornamento o meno di un campo da parte di Apex. Per ulteriori informazioni, vedere Ambito operativo del campo. I pacchetti, Apex Code e le pagine Visualforce possono dipendere da molti componenti, fra i quali: 53 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo • Definizioni di campi personalizzati • Formule di convalida • Rapporti • Tipi di record • Apex • Pagine e componenti Visualforce Ad esempio, se una pagina Visualforce include un riferimento a un campo multivaluta, quale {!contract.ISO_code}, quella pagina Visualforce ha una dipendenza dalla multivaluta. Se un pacchetto contiene questa pagina Visualforce, anche il pacchetto avrà una dipendenza dalla multivaluta. Qualsiasi organizzazione che desidera installare questo pacchetto deve avere la funzione di multivaluta abilitata. VEDERE ANCHE: Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti Pubblicazione delle estensioni ai pacchetti gestiti Hub d'ambiente L'hub d'ambiente consente di visualizzare, connettere, creare e accedere alle organizzazioni Salesforce da un'unica postazione. Se la propria azienda dispone di più ambienti per lo sviluppo, la verifica e le prove, l'hub d'ambiente consente di semplificare l'approccio alla gestione dell'organizzazione. Dall'hub d'ambiente è possibile: • Connettere le organizzazioni esistenti all'hub con individuazione automatica delle organizzazioni correlate. • Creare organizzazioni standard e Partner Edition per attività di sviluppo, verifica e prova. • Visualizzare e filtrare i membri dell'hub in base a criteri di propria scelta, come versione, data di creazione, istanza, origine e stato SSO. EDIZIONI Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition e Unlimited Edition • Creare mappature utente SSO (Single Sign-On) per semplificare l'accesso ai membri dell'hub. Ogni organizzazione membro dell'hub corrisponde a un oggetto EnvironmentHubMember. EnvironmentHubMember è un oggetto standard, simile ad Account o Referenti, quindi è possibile utilizzare la piattaforma per estendere o modificare l'hub d'ambiente a livello di programmazione. Ad esempio, per qualsiasi organizzazione membro dell'hub, è possibile creare campi personalizzati, impostare regole di flusso di lavoro o definire le mappature utente e abilitare SSO utilizzando l'API. IN QUESTA SEZIONE: Suggerimenti introduttivi sull'hub d'ambiente Configurare l'hub d'ambiente in modo tale che gli utenti della propria azienda possano accedere all'applicazione per creare e gestire organizzazioni membri. Quindi, abilitare Dominio personale per consentire la connessione delle organizzazioni esistenti all'hub e la creazione delle mappature utente SSO. Gestione delle organizzazioni nell'hub d'ambiente È possibile gestire tutte le organizzazioni Salesforce esistente da un'unica postazione, collegandole all'hub d'ambiente. È inoltre possibile creare organizzazioni utilizzando i modelli di Salesforce per le attività di sviluppo, verifica e prova. 54 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Single Sign-On nell'hub d'ambiente La distribuzione, la verifica e lo sviluppo di applicazioni implicano il passaggio da un ambiente Salesforce all'altro e l'inserimento delle credenziali ad ogni accesso. Il Single Sign-On (SSO) semplifica questo processo consentendo all'utente dell'hub d'ambiente di accedere alle organizzazioni membri senza ripetere l'autenticazione. Per impostare SSO è possibile definire le mappature utente manualmente, mediante gli ID federazione o creando una formula. Procedure consigliate per l'hub d'ambiente Attenersi a queste linee guida e procedure consigliate quando si utilizza l'hub d'ambiente. Domande frequenti sull'hub d'ambiente Risposte alle domande più comuni sull’hub d’ambiente. Considerazioni sull’hub d’ambiente in Lightning Experience Tenere presenti queste considerazioni quando si creano e si gestiscono le organizzazioni nell’hub d’ambiente. Suggerimenti introduttivi sull'hub d'ambiente Configurare l'hub d'ambiente in modo tale che gli utenti della propria azienda possano accedere all'applicazione per creare e gestire organizzazioni membri. Quindi, abilitare Dominio personale per consentire la connessione delle organizzazioni esistenti all'hub e la creazione delle mappature utente SSO. IN QUESTA SEZIONE: Configurazione dell'hub d'ambiente È possibile abilitare l'hub d'ambiente nella propria organizzazione e quindi configurarlo per fornire l'accesso ad altri utenti. EDIZIONI Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition e Unlimited Edition Abilitazione di Dominio personale per l'hub d'ambiente È necessario disporre della funzione Dominio personale per connettere le organizzazioni esistenti all'hub d'ambiente e creare mappature utente SSO, quindi abilitare Dominio personale nell'organizzazione in cui è installato l'hub d'ambiente. Configurazione dell'hub d'ambiente È possibile abilitare l'hub d'ambiente nella propria organizzazione e quindi configurarlo per fornire l'accesso ad altri utenti. 1. Contattare Salesforce per abilitare l'hub d'ambiente nella propria organizzazione. I partner ISV possono saltare questo passaggio, perché l'hub d'ambiente è già installato nell'organizzazione aziendale partner. 2. Accedere all'organizzazione in cui è abilitato l'hub d'ambiente e passare a Imposta. 3. Assegnare agli utenti l'accesso alle funzioni nell'hub d'ambiente. a. Da Imposta, immettere Profili nella casella Ricerca veloce, quindi selezionare Profili. b. Creare un profilo o modificarne uno esistente. c. Modificare le impostazioni del profilo. 55 AUTORIZZAZIONI UTENTE Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Sezione del profilo Impostazioni dell'hub d'ambiente Impostazioni delle applicazioni personalizzate Abilitare l'applicazione personalizzata Hub d'ambiente per renderla disponibile nel programma di avvio app di Lightning Experience o in Menu applicazione in Salesforce Classic. Accesso applicazione connessa Se non diversamente indicato da Salesforce, non modificare le impostazioni in questa sezione del profilo. Accesso fornitore di servizi Se si abilita il Single Sign-On (SSO) in un'organizzazione membro, vengono visualizzate nuove voci in questa sezione del profilo. Le voci appaiono nel formato Provider di servizi [ID organizzazione], dove ID organizzazione è l'ID dell'organizzazione membro. Gli utenti che non hanno accesso al provider di servizi a volte visualizzano questo messaggio quando cercano di accedere mediante SSO: "L'utente "[UserID]" non ha accesso al provider di servizi "[ID Provider servizi]"." Quando si configura l'hub d'ambiente in una nuova organizzazione, questa sezione è vuota. Autorizzazioni amministrative Abilitare "Gestisci hub d'ambiente" per consentire agli utenti di: • Creare organizzazioni per attività di sviluppo, verifica e prova. • Configurare SSO per le organizzazioni membri. Autorizzazioni utenti generali Abilitare "Connetti organizzazione a hub d'ambiente" per consentire agli utenti di connettere le organizzazioni esistenti all'hub d'ambiente. Autorizzazioni oggetti standard Concedere autorizzazioni per gli oggetti basate sul livello di accesso richiesto dall'utente dell'hub d'ambiente. Oggetto Membri hub: • "Lettura": visualizzazione dei record dei membri dell'hub esistenti. • "Crea": questa autorizzazione non ha alcun effetto sulla capacità di creare record di membri dell'hub, poiché la creazione dei record viene gestita mediante la connessione di un'organizzazione esistente oppure mediante la creazione di un'organizzazione dall'hub d'ambiente. • "Modifica": modifica dei campi nei record esistenti dei membri dell'hub. • "Elimina": disconnessione di un'organizzazione dall'hub d'ambiente ed eliminazione del corrispondente record del membro dell'hub e del record del provider di servizi (se per il membro era stato abilitato SSO). 56 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Sezione del profilo Impostazioni dell'hub d'ambiente • "Visualizza tutto": lettura di tutti i record dei membri dell'hub, indipendentemente da chi li ha creati. • "Modifica tutto": lettura, modifica ed eliminazione di tutti i record dei membri dell'hub, indipendentemente da chi li ha creati. Oggetto Inviti all'hub: • Se si abilita l'autorizzazione "Connetti organizzazione a hub d'ambiente", abilitare le autorizzazioni "Crea", "Lettura", "Aggiorna" ed "Elimina" per l'oggetto Inviti all'hub. Oggetto Richiesta di registrazione: • Se si abilita l’autorizzazione “Gestisci hub d’ambiente”, abilitare “Crea” e “Lettura” per le richieste di registrazione in modo da consentire agli utenti di creare le organizzazioni. Se necessario, abilitare “Elimina” per consentire agli utenti di rimuovere le organizzazioni dall’hub. d. Selezionare Salva. Abilitazione di Dominio personale per l'hub d'ambiente È necessario disporre della funzione Dominio personale per connettere le organizzazioni esistenti all'hub d'ambiente e creare mappature utente SSO, quindi abilitare Dominio personale nell'organizzazione in cui è installato l'hub d'ambiente. AUTORIZZAZIONI UTENTE 1. Trovare un nome di dominio disponibile e registrarsi per utilizzarlo. Per impostare un nome di dominio: • "Personalizza applicazione" a. Da Imposta, digitare Dominio personale nella casella Ricerca veloce e quindi selezionare Dominio personale. b. Immettere il nome del sottodominio che si desidera utilizzare nell'URL di esempio. c. Selezionare Verifica disponibilità. Se il nome è già utilizzato, sceglierne uno diverso. d. Selezionare Termini e condizioni per rivedere l'accordo, quindi selezionare la casella di controllo. e. Selezionare Registra dominio. Si riceverà un'email di conferma da Salesforce quando il nuovo dominio è pronto per la verifica. 2. Verificare il nome di dominio e distribuirlo all'organizzazione. a. Fare clic sull'URL nel messaggio di conferma per accedere a Salesforce utilizzando il nuovo dominio. In alternativa, da Imposta, immettere Dominio personale nella casella Ricerca veloce, selezionare Dominio personale e quindi Fare clic qui per effettuare l'accesso. b. Verificare il nuovo dominio facendo clic sulle schede e sui link all'interno dell'organizzazione. Si noti che tutte le pagine mostrano il nuovo nome di dominio. Suggerimento: se si utilizzano pulsanti personalizzati o pagine Visualforce nell'organizzazione, verificarli prima di distribuire il nuovo nome di dominio. Non utilizzare URL basati sulle istanze nelle personalizzazioni. 57 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo c. Per distribuire il nuovo nome di dominio nell'organizzazione, da Imposta, immettere Dominio personale nella casella Ricerca veloce, selezionare Dominio personale e quindi Distribuisci agli utenti. Il dominio viene attivato immediatamente e gli utenti vengono reindirizzati alle pagine con il nuovo dominio. 3. Impostare la policy di accesso al dominio per gli utenti che accedono alle pagine. a. Da Imposta, digitare Dominio personale nella casella Ricerca veloce e quindi selezionare Dominio personale. b. Da Impostazioni dominio personale, selezionare Modifica. c. Per disattivare l'autenticazione per gli utenti che non utilizzano la pagina di accesso specifica del dominio, selezionare la policy di accesso. Questa opzione rafforza la protezione, impedendo tentativi di accesso da parte di chi non conosce il nome del dominio. d. Scegliere una policy di reindirizzamento a seconda del livello di protezione desiderato. Sono disponibili tre opzioni, in ordine ascendente di protezione: • Reindirizzare gli utenti alla stessa pagina all'interno del dominio. • Reindirizzare gli utenti visualizzando al contempo un avviso. • Impedire il reindirizzamento, in modo che gli utenti debbano immettere il nuovo nome di dominio. Gestione delle organizzazioni nell'hub d'ambiente È possibile gestire tutte le organizzazioni Salesforce esistente da un'unica postazione, collegandole all'hub d'ambiente. È inoltre possibile creare organizzazioni utilizzando i modelli di Salesforce per le attività di sviluppo, verifica e prova. IN QUESTA SEZIONE: Connessione di un'organizzazione all'hub d'ambiente È possibile connettere le organizzazioni Salesforce già esistenti all'hub d'ambiente e consentire la gestione di tutti gli ambienti di sviluppo, verifica e prova da un'unica posizione. Quando si collega un'organizzazione all'hub, le organizzazioni correlate vengono automaticamente scoperte, in modo che non sia necessario connetterle manualmente. EDIZIONI Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition e Unlimited Edition Creazione di un'organizzazione dall'hub d'ambiente È possibile creare organizzazioni dall'hub d'ambiente per le attività di sviluppo, verifica e prova. I partner ISV possono anche creare organizzazioni Partner Edition con limiti più severi, maggiore spazio di archiviazione e altre personalizzazioni a supporto dello sviluppo dell'applicazione. Se viene creata dall'hub d'ambiente, un'organizzazione diventa membro dell'hub e la sua lingua predefinita viene impostata in base alle impostazioni internazionali dell'utente. Connessione di un'organizzazione all'hub d'ambiente È possibile connettere le organizzazioni Salesforce già esistenti all'hub d'ambiente e consentire la gestione di tutti gli ambienti di sviluppo, verifica e prova da un'unica posizione. Quando si collega un'organizzazione all'hub, le organizzazioni correlate vengono automaticamente scoperte, in modo che non sia necessario connetterle manualmente. Vengono scoperte automaticamente le organizzazioni correlate dei seguenti tipi. • Per qualsiasi organizzazione, tutte le organizzazioni Sandbox create sulla base dell'organizzazione. • Per un'organizzazione di rilascio, tutte le sue organizzazioni patch correlate. • Per un'organizzazione di gestione Trialforce, tutte le organizzazioni Trialforce di origine create dalla stessa. 58 AUTORIZZAZIONI UTENTE Per connettere un'organizzazione all'hub d'ambiente: • “Connetti organizzazione a hub d'ambiente” Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo • Per un'organizzazione in cui è installata l'applicazione di gestione licenze (LMA), qualsiasi organizzazione di rilascio con un pacchetto gestito registrato nella LMA. Nota: Non è possibile connettere un’organizzazione Sandbox direttamente all’hub d’ambiente. Se si desidera connettere un Sandbox, per prima cosa connettere l’organizzazione utilizzata per creare il Sandbox all’hub d’ambiente, quindi aggiornare l’organizzazione Sandbox. L’aggiornamento aggiunge automaticamente l’organizzazione come membro dell’hub. 1. Accedere all'hub d'ambiente e selezionare Connetti organizzazione. 2. Immettere il nome utente dell'amministratore dell'organizzazione che si desidera connettere e, se lo si desidera, una breve descrizione. La descrizione semplifica il reperimento dell'organizzazione in un secondo tempo, soprattutto se l'hub ha molti membri. 3. Per impostazione predefinita, il Single Sign-On (SSO) è abilitato per l'organizzazione connessa. Per disabilitarlo, deselezionare Abilita automaticamente SSO per questa organizzazione. 4. Selezionare di nuovo Connetti organizzazione. 5. Nella finestra popup, immettere nome utente e password dell'amministratore dell'organizzazione. Se la finestra popup non appare, disabilitare temporaneamente il software di blocco degli annunci pubblicitari nel browser e riprovare. 6. Selezionare Accedi e quindi Consenti. Creazione di un'organizzazione dall'hub d'ambiente È possibile creare organizzazioni dall'hub d'ambiente per le attività di sviluppo, verifica e prova. I partner ISV possono anche creare organizzazioni Partner Edition con limiti più severi, maggiore spazio di archiviazione e altre personalizzazioni a supporto dello sviluppo dell'applicazione. Se viene creata dall'hub d'ambiente, un'organizzazione diventa membro dell'hub e la sua lingua predefinita viene impostata in base alle impostazioni internazionali dell'utente. Nota: Si possono creare fino a 20 organizzazioni membri al giorno. Per creare più organizzazioni, registrare un caso nella comunità partner. AUTORIZZAZIONI UTENTE Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” 1. Accedere all'hub d'ambiente e selezionare Crea organizzazione. 2. Scegliere uno scopo per l'organizzazione. Scopo Consente di creare: Sviluppo Organizzazioni Developer Edition per la creazione di applicazioni e pacchetti. Test/Demo Versioni di prova delle organizzazioni Salesforce standard a fini di verifica e dimostrazione. Queste organizzazioni sono simili a quelle create dai clienti su www.salesforce.com/trial. Quando si crea un'organizzazione Test/Demo, è possibile specificare un modello Trialforce se si desidera che l'organizzazione includa le personalizzazioni. Trialforce Le Organizzazioni di origine di Trialforce (TSO) rappresentano un'alternativa all'uso di un'organizzazione di gestione Trialforce. A meno che non siano necessarie immagini aziendali personalizzate sulle pagine di accesso o i messaggi email, utilizzare l'hub d'ambiente per creare le TSO. 3. Immettere le informazioni richieste per il tipo di organizzazione selezionato. 4. Leggere l'Accordo Quadro di Sottoscrizione e selezionare la casella di controllo. 5. Selezionare Crea. Quando l'organizzazione è pronta, l'utente riceve un'email di conferma e l'organizzazione appare nell'elenco dei membri dell'hub. 59 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Single Sign-On nell'hub d'ambiente La distribuzione, la verifica e lo sviluppo di applicazioni implicano il passaggio da un ambiente Salesforce all'altro e l'inserimento delle credenziali ad ogni accesso. Il Single Sign-On (SSO) semplifica questo processo consentendo all'utente dell'hub d'ambiente di accedere alle organizzazioni membri senza ripetere l'autenticazione. Per impostare SSO è possibile definire le mappature utente manualmente, mediante gli ID federazione o creando una formula. L'hub d'ambiente supporta i seguenti metodi SSO per gli utenti corrispondenti. Metodo SSO Descrizione Utenti mappati Abbinare manualmente gli utenti dell'hub d'ambiente agli utenti di un'organizzazione membro. Si tratta del metodo predefinito per le mappature utente SSO definite dalla pagina dei dettagli del membro. ID federazione Abbinare gli utenti che hanno lo stesso ID federazione sia nell'hub d'ambiente che in un'organizzazione membro. Formula nome utente Abbinare gli utenti dell'hub d'ambiente e di un'organizzazione membro in base a una formula definita dall'utente. EDIZIONI Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition e Unlimited Edition Se si specificano più metodi SSO, verranno valutati nel seguente ordine: (1) Utenti mappati, (2) ID federazione e (3) Formula nome utente. Il primo metodo che genera una corrispondenza viene utilizzato per l'accesso dell'utente e gli altri metodi vengono ignorati. Se un utente corrispondente non può essere identificato, l'hub d'ambiente indirizza alla pagina di accesso standard di Salesforce. Nota: Single Sign-On non funzionerà per gli utenti appena aggiunti o per le mappature utente definite in un'organizzazione Sandbox. Nel Sandbox, aggiungere utenti, modificare le informazioni utente e definire mappature utente SSO solo per l'organizzazione principale. IN QUESTA SEZIONE: Abilitazione di SSO per un'organizzazione membro È possibile abilitare SSO (Single Sign-On) per consentire a un utente dell'hub d'ambiente di accedere a un'organizzazione membro senza ripetere l'autenticazione. Definizione di una mappatura utente SSO È possibile definire manualmente una mappatura utente SSO (Single-Sign On) tra un utente dell'hub d'ambiente e un utente di un'organizzazione membro. Prima di definire una mappatura utente, abilitare SSO nell'organizzazione membro dell'hub. Utilizzo di un ID federazione o una formula per SSO È possibile abbinare un utente dell'hub d'ambiente a un utente di un'organizzazione membro utilizzando un ID federazione o una formula nome utente. Per entrambi i metodi è necessario prima abilitare SSO nell'organizzazione membro dell'hub. Disabilitazione di SSO per un'organizzazione membro Se si desidera che gli utenti dell'hub d'ambiente eseguano di nuovo l'autenticazione quando accedono a un'organizzazione membro, è possibile disabilitare SSO. La disabiltazione di SSO non rimuove le mappature utente già definite, quindi è sempre possibile riabilitare SSO in un secondo tempo. 60 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Abilitazione di SSO per un'organizzazione membro È possibile abilitare SSO (Single Sign-On) per consentire a un utente dell'hub d'ambiente di accedere a un'organizzazione membro senza ripetere l'autenticazione. 1. Accedere all'hub d'ambiente e selezionare un'organizzazione membro. Se non appaiono organizzazioni membro, controllare la visualizzazione elenco. 2. Selezionare Abilita SSO. 3. Confermare che si desidera abilitare SSO per questa organizzazione e selezionare di nuovo Abilita SSO. AUTORIZZAZIONI UTENTE Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” Definizione di una mappatura utente SSO È possibile definire manualmente una mappatura utente SSO (Single-Sign On) tra un utente dell'hub d'ambiente e un utente di un'organizzazione membro. Prima di definire una mappatura utente, abilitare SSO nell'organizzazione membro dell'hub. AUTORIZZAZIONI UTENTE Le mappature utenti possono avere relazioni molti-a-uno ma non uno-a-molti. In altre parole, è possibile associare più utenti dell'hub d'ambiente a un solo utente di un'organizzazione membro. Ad esempio, se si desidera che i membri del team QA accedano a un'organizzazione di verifica come se fossero lo stesso utente, è possibile definire le mappature utente. Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” 1. Accedere all'hub d'ambiente e selezionare un'organizzazione membro. Se non appaiono organizzazioni membro, controllare la visualizzazione elenco. 2. Accedere all'elenco correlato Mappature utenti Single Sign-On e selezionare Nuova mappatura utente SSO. 3. Immettere il nome utente dell'utente che si desidera mappare nell'organizzazione membro, quindi cercare un utente nell'hub d'ambiente. 4. Selezionare Salva. Utilizzo di un ID federazione o una formula per SSO È possibile abbinare un utente dell'hub d'ambiente a un utente di un'organizzazione membro utilizzando un ID federazione o una formula nome utente. Per entrambi i metodi è necessario prima abilitare SSO nell'organizzazione membro dell'hub. AUTORIZZAZIONI UTENTE 1. Accedere all'hub d'ambiente e selezionare un'organizzazione membro. Se non appaiono organizzazioni membro, controllare la visualizzazione elenco. Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” 2. Accedere a Impostazioni SSO e scegliere un metodo. Metodo Fasi Metodo SSO 2 - ID federazione Selezionare la casella di controllo. Metodo SSO 3 - Formula nome utente Selezionare la casella di controllo e definire una formula. Ad esempio, per abbinare la prima parte del nome utente (la parte che precede il carattere “@”) a un nome di dominio esplicito, immettere: LEFT($User.Username, FIND("@", $User.Username)) & ("mydev.org") 61 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo 3. Selezionare Salva. Disabilitazione di SSO per un'organizzazione membro Se si desidera che gli utenti dell'hub d'ambiente eseguano di nuovo l'autenticazione quando accedono a un'organizzazione membro, è possibile disabilitare SSO. La disabiltazione di SSO non rimuove le mappature utente già definite, quindi è sempre possibile riabilitare SSO in un secondo tempo. 1. Accedere all'hub d'ambiente e selezionare un'organizzazione membro. Se non appaiono organizzazioni membro, controllare la visualizzazione elenco. AUTORIZZAZIONI UTENTE Per impostare e configurare l'hub d'ambiente: • “Gestisci hub d'ambiente” 2. Selezionare Disabilita SSO. 3. Confermare che si desidera disabilitare SSO per questa organizzazione e selezionare di nuovo Disabilita SSO. Procedure consigliate per l'hub d'ambiente Attenersi a queste linee guida e procedure consigliate quando si utilizza l'hub d'ambiente. • Se l'utente è un amministratore o uno sviluppatore, può scegliere l'organizzazione che il team utilizza più di frequente come organizzazione dell'hub. Per i partner ISV, l'hub d'ambiente è già installato nell'organizzazione aziendale partner. • Impostare Dominio personale per ogni organizzazione membro, in aggiunta all'organizzazione dell'hub. Poiché ogni dominio personale include un URL di dominio univoco, è più semplice distinguere tra le organizzazioni membri utilizzate per sviluppo, verifiche e prove. • Ogni organizzazione membro è un oggetto standard (del tipo EnvironmentHubMember), quindi è possibile modificarne il comportamento oppure accedervi in modo programmatico. Ad esempio, per qualsiasi organizzazione membro, è possibile creare campi personalizzati, impostare regole di flusso di lavoro o definire le mappature utente e abilitare Single Sign-On utilizzando l'API. EDIZIONI Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition e Unlimited Edition • Stabilire una strategia di abilitazione dell'accesso SSO che sia basata sui requisiti di protezione dell'azienda. Scegliere quindi il metodo SSO (mappatura esplicita, ID federazione o formula personalizzata) più adatto alle proprie esigenze. • Single Sign-On non funzionerà per gli utenti appena aggiunti o per le mappature utente definite in un'organizzazione Sandbox. Nel Sandbox, aggiungere utenti, modificare le informazioni utente e definire mappature utente SSO solo per l'organizzazione principale. • L'applicazione connessa dell'hub d'ambiente è riservata esclusivamente all'uso interno. Non abilitarla per i profili. Se non indicato da Salesforce, non eliminare l'applicazione connessa o modificarne le impostazioni. 62 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Domande frequenti sull'hub d'ambiente Risposte alle domande più comuni sull’hub d’ambiente. EDIZIONI IN QUESTA SEZIONE: Disponibile in: Salesforce Classic e Lightning Experience È possibile utilizzare l’hub d’ambiente in Lightning Experience? Dove si installa l’hub d’ambiente? È necessario Dominio personale per utilizzare l’hub d’ambiente? È possibile installare l’hub d’ambiente in più di un’organizzazione? È possibile abilitare l’hub d’ambiente in un’organizzazione Sandbox? Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Quali tipi di organizzazioni si possono creare nell’hub d’ambiente? In che modo vengono create le impostazioni internazionali per le organizzazioni create nell’hub d’ambiente? Le organizzazioni create nell’hub d’ambiente sono come quelle create nel portale partner? È possibile essere membri di più hub d’ambiente? È possibile disabillitare l’hub d’ambiente? È possibile utilizzare l’hub d’ambiente in Lightning Experience? Sì, Salesforce Classic e Lightning Experience supportano entrambi l’hub d’ambiente. Dove si installa l’hub d’ambiente? Per i partner ISV, l'hub d'ambiente è già installato nell'organizzazione aziendale partner. In caso contrario, installarlo in un’organizzazione a cui possono accedere gli utenti, ad esempio l’organizzazione CRM. Non installare l’hub d’ambiente in un’organizzazione Developer Edition che contiene il pacchetto gestito, per evitare di causare problemi quando si carica una nuova versione del pacchetto o si invia un aggiornamento tramite push ai clienti. È necessario Dominio personale per utilizzare l’hub d’ambiente? No, Dominio personale non è richiesto. Tuttavia, se non si imposta Dominio personale, non è possibile collegare le organizzazioni esistenti all’hub d’ambiente o utilizzare Single Sign-On per accedere alle organizzazioni membro. Salesforce consiglia di impostare Dominio personale quando si configura l’hub d’ambiente. È possibile installare l’hub d’ambiente in più di un’organizzazione? Sì, ma è necessario gestire ogni hub d’ambiente in modo indipendente. Sebbene Salesforce consigli un solo hub d’ambiente per azienda, potrebbero essere utili più hub in una stessa azienda, ad esempio per tenere separate organizzazioni associate a diverse linee di prodotti. È possibile abilitare l’hub d’ambiente in un’organizzazione Sandbox? No, non è possibile abilitare l’hub d’ambiente in un’organizzazione Sandbox. Abilitare l’hub d’ambiente in un’organizzazione di produzione a cui possono accedere tutti gli utenti. 63 Creazione di pacchetti di applicazioni e loro distribuzione Determinazione del processo di sviluppo Quali tipi di organizzazioni si possono creare nell’hub d’ambiente? È possibile creare organizzazioni per attività di sviluppo, verifica e prova. I partner ISV possono anche creare organizzazioni Partner Edition con limiti più severi, maggiore spazio di archiviazione e altre personalizzazioni a supporto dello sviluppo dell'applicazione. Se l’utente è un partner ma non vede le organizzazioni Partner Edition nell’hub d’ambiente, registrare un caso nella Comunità partner. Tipo di organizzazione Utilizzare per Scade dopo Versione Group Edition Esecuzione di test 30 giorni Versione Enterprise Edition Esecuzione di test 30 giorni Versione Professional Edition Esecuzione di test 30 giorni Versione Partner Developer Edition Sviluppo di applicazioni e componenti Lightning Mai Versione Partner Group Edition Test efficaci e demo per i clienti 1 anno, se non viene richiesta un’estensione Versione Partner Enterprise Edition Test efficaci e demo per i clienti 1 anno, se non viene richiesta un’estensione Versione Partner Professional Edition Test efficaci e demo per i clienti 1 anno, se non viene richiesta un’estensione Organizzazioni Trialforce di origine Creazione di modelli Trialforce: 1 anno, se non viene richiesta un’estensione Versione Consulting Partner Edition Demo per i clienti 1 anno, se non viene richiesta un’estensione In che modo vengono create le impostazioni internazionali per le organizzazioni create nell’hub d’ambiente? Le impostazioni internazionali utente di Salesforce determinano le impostazioni predefinite per le organizzazioni create. Ad esempio, se le impostazioni internazionali sono impostate su Inglese (Regno Unito), queste saranno le impostazioni internazionali predefinite per le organizzazioni create. In questo modo le organizzazioni create sono già personalizzate per le aree geografiche di residenza. Le organizzazioni create nell’hub d’ambiente sono come quelle create nel portale partner? Sì, le organizzazioni sono identiche a quelle create nel portale partner. L’hub d’ambiente utilizza gli stessi modelli, quindi le organizzazioni hanno le stesse personalizzazioni, ad esempio limiti più alti e un maggior numero di licenze. È anche possibile utiizzare l’hub d’ambiente per creare le stesse organizzazioni Group, Professional ed Enteprise Edition utilizzate dai clienti. In questo modo, è possibile testare l’applicazione in uso confrontandola con le implementazioni reali dei clienti. È possibile essere membri di più hub d’ambiente? No, un’organizzazione può essere membro solo di un hub d’ambiente alla volta. Dopo aver collegato un’organizzazione all’hub d’ambiente, è necessario contattare l’Assistenza clienti di Salesforce per interrompere l’associazione. 64 Creazione di pacchetti di applicazioni e loro distribuzione Risoluzione degli errori dei test Apex È possibile disabillitare l’hub d’ambiente? Dopo aver installato l’hub d’ambiente in un’organizzazione, non è possibile disabilitarlo. Tuttavia, l’hub d’ambiente può essere nascosto agli utenti. Accedere a Imposta e immettere Menu applicazione nella casella Ricerca veloce, quindi selezionare Menu applicazione. Nel menu dell’applicazione è possibile scegliere se nascondere un’applicazione o renderla visibile. Considerazioni sull’hub d’ambiente in Lightning Experience Tenere presenti queste considerazioni quando si creano e si gestiscono le organizzazioni nell’hub d’ambiente. EDIZIONI Limiti delle visualizzazioni elenco Non è possibile filtrare i membri dell’hub in base alla data di scadenza dell’organizzazione quando si creano o si aggiornano le visualizzazioni elenco in Lightning Experience. Se si dispone di una visualizzazione elenco esistente che include la data di scadenza dell’organizzazione nei propri criteri di filtro, tale visualizzazione non funzionerà in Lightning Experience. Per filtrare i membri dell’hub in base alla data di scadenza dell’organizzazione, passare a Salesforce Classic e utilizzare la visualizzazione elenco. Disponibile in: Salesforce Classic e Lightning Experience Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Risoluzione degli errori dei test Apex L'installazione di pacchetti o aggiornamenti può non riuscire per via del mancato superamento del test Apex. Tuttavia, alcuni di questi errori possono essere ignorati. Ad esempio, uno sviluppatore potrebbe scrivere un test Apex che formula ipotesi sui dati di un abbonato. L'abbonato la cui installazione non riesce a causa di un test Apex deve richiedere assistenza allo sviluppatore del pacchetto. Lo sviluppatore la cui installazione non riesce a causa del mancato superamento di un test Apex deve verificare quanto segue: EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition • Verificare che siano stati prodotti tutti i dati necessari per il test Apex anziché affidarsi ai dati esistenti degli abbonati. • Se un abbonato crea una regola di convalida, un campo obbligatorio o un trigger per un oggetto a cui il pacchetto fa riferimento, il test potrebbe non riuscire se esegue operazioni DML su quell'oggetto. Se l'oggetto viene creato solo a scopo di verifica e mai in fase di esecuzione e la creazione non riesce a causa di questi conflitti, è possibile tranquillamente ignorare il test e proseguire. In caso contrario, contattare il cliente e determinare le conseguenze. Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto Gli sviluppatori di applicazioni possono specificare l'esecuzione automatica di uno script Apex dopo che un abbonato installa o aggiorna un pacchetto gestito. Ciò rende possibile la personalizzazione dell'installazione o dell'aggiornamento del pacchetto, in base ai dettagli dell'organizzazione dell'abbonato. Ad esempio, è possibile utilizzare lo script per compilare impostazioni personalizzate, creare dati di esempio, inviare email all'autore dell'installazione, inviare una notifica a un sistema esterno o avviare un'operazione in gruppi per compilare un nuovo campo in un insieme di dati di grandi dimensioni. Per semplicità, è possibile specificare un solo script post installazione. Deve essere una classe Apex membro del pacchetto. Lo script post installazione viene richiamato dopo l'esecuzione dei test ed è soggetto ai limiti predefiniti stabiliti dall'amministratore. Viene eseguito come utente speciale del sistema che rappresenta il pacchetto; pertanto, è come se tutte le operazioni eseguite dallo script fossero eseguite dal pacchetto. È possibile accedere a questo utente utilizzando UserInfo. L'utente verrà visualizzato solo al momento dell'esecuzione e non durante l'esecuzione dei test. 65 Creazione di pacchetti di applicazioni e loro distribuzione Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto Se l'esecuzione dello script non riesce, l'installazione/aggiornamento viene interrotto. Gli eventuali errori dello script vengono inviati via email all'utente specificato nel campo Notifica in caso di errore Apex del pacchetto. Se non viene specificato alcun utente, i dettagli dell'installazione/aggiornamento non sono disponibili. Lo script post installazione presenta le seguenti proprietà aggiuntive. • Può avviare processi batch, pianificati e futuri. • Non può accedere a ID della sessione. • Può eseguire chiamate soltanto utilizzando un'operazione asincrona. La chiamata avviene dopo l'esecuzione dello script e il completamento e l'esecuzione dell'installazione. Nota: Non è possibile eseguire uno script post installazione in una nuova organizzazione di prova fornita mediante Trialforce. Lo script viene eseguito solo quando un abbonato installa il pacchetto all'interno di un'organizzazione esistente. IN QUESTA SEZIONE: Funzionamento dello script post installazione Esempio di script post installazione Specifica di uno script post installazione Funzionamento dello script post installazione Uno script post installazione è una classe Apex che implementa l'interfaccia InstallHandler. Questa interfaccia dispone di un singolo metodo denominato onInstall che specifica le azioni da eseguire al momento dell'installazione. global interface InstallHandler { void onInstall(InstallContext context) } Il metodo onInstall prende un oggetto di contesto come argomento, che fornisce le seguenti informazioni. • L'ID dell'organizzazione in cui avviene l'installazione. • L'ID utente dell'utente che ha avviato l'installazione. • Il numero di versione del pacchetto installato precedentemente (specificato utilizzando la classe Version). Questo numero è sempre composto da tre parti, ad esempio 1.2.0. • Se l'installazione è un aggiornamento o meno. • Se l'installazione è di tipo push o meno. L'argomento di contesto è un oggetto il cui tipo è l'interfaccia InstallContext. Questa interfaccia viene impostata automaticamente dal sistema. La seguente definizione dell'interfaccia InstallContext mostra i metodi che è possibile richiamare sull'argomento di contesto. global interface InstallContext { ID organizationId(); ID installerId(); Boolean isUpgrade(); Boolean isPush(); Version previousVersion(); } Metodi e classe della versione 66 Creazione di pacchetti di applicazioni e loro distribuzione Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto È possibile utilizzare i metodi nella classe System.Version per ottenere la versione di un pacchetto gestito e per confrontare le versioni dei pacchetti. La versione di un pacchetto è un numero che rappresenta l'insieme di componenti caricati in un pacchetto. Il numero della versione ha il formato majorNumber.minorNumber.patchNumber (ad esempio, 2.1.3). In caso di rilascio non patch, il numero principale e secondario viene aumentato a un valore determinato. Gli aumenti del numero principale e secondario utilizzano sempre il numero di patch 0. Di seguito sono riportati i metodi di istanza per la classe System.Version. Metodo Argomenti Tipo di risultato compareTo System.Version version Intero Descrizione Confronta la versione corrente con la versione specificata e restituisce uno dei seguenti valori: • Zero se la versione del pacchetto corrente è uguale alla versione del pacchetto specificato • Un valore intero maggiore di zero se la versione del pacchetto corrente è superiore alla versione del pacchetto specificato • Un valore intero minore di zero se la versione del pacchetto corrente è inferiore alla versione del pacchetto specificato Se una versione composta da due parti viene confrontata con una versione composta da tre parti, il numero di patch viene ignorato e il confronto si basa soltanto sui numeri principale e secondario. major Intero Restituisce la versione del pacchetto principale del codice chiamante. minor Intero Restituisce la versione del pacchetto secondaria del codice chiamante. patch Intero Restituisce la versione del pacchetto patch del codice chiamante oppure il valore null se non è disponibile una versione patch. La classe System contiene due metodi che è possibile utilizzare per specificare una logica condizionale, pertanto versioni di pacchetti diversi mostrano un comportamento diverso. • System.requestVersion: Restituisce una versione composta da due parti che contiene i numeri delle versioni principale e secondaria di un pacchetto. Con questo metodo, è possibile determinare la versione di un'istanza installata del proprio pacchetto dalla quale il codice chiamante fa riferimento al pacchetto. In base alla versione di cui dispone il codice chiamante, è possibile personalizzare il comportamento del codice del proprio pacchetto. • System.runAs(System.Version): Cambia la versione del pacchetto corrente nella versione del pacchetto specificata nell'argomento. Quando un abbonato ha installato più versioni del pacchetto e scrive un codice che fa riferimento a classi o trigger Apex nel pacchetto, deve selezionare la versione alla quale fa riferimento. È possibile eseguire diversi percorsi di codice nell'Apex code del pacchetto, in base 67 Creazione di pacchetti di applicazioni e loro distribuzione Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto all'impostazione della versione dell'Apex code chiamante che effettua il riferimento. È possibile determinare l'impostazione della versione del pacchetto del codice chiamante chiamando il metodo System.requestVersion nel codice del pacchetto. VEDERE ANCHE: Apex Developer Guide: Version Class Esempio di script post installazione Il seguente script post installazione di esempio esegue queste azioni al momento dell'installazione/aggiornamento di un pacchetto. • Se la versione precedente è nulla, cioè se il pacchetto viene installato per la prima volta, lo script: – Crea un nuovo Account di nome "Newco" e ne verifica la creazione. – Crea una nuova istanza dell'oggetto personalizzato Survey, di nome "Client Satisfaction Survey". – Invia un messaggio email all'abbonato per confermare l'installazione del pacchetto. • Se la versione precedente è 1.0, lo script crea una nuova istanza di Survey, di nome "Upgrading from Version 1.0". • Se il pacchetto è un aggiornamento, lo script crea una nuova istanza di Survey, di nome "Sample Survey during Upgrade". • Se l'aggiornamento viene eseguito tramite push, lo script crea una nuova istanza di Survey, di nome "Sample Survey during Push". global class PostInstallClass implements InstallHandler { global void onInstall(InstallContext context) { if(context.previousVersion() == null) { Account a = new Account(name='Newco'); insert(a); Survey__c obj = new Survey__c(name='Client Satisfaction Survey'); insert obj; User u = [Select Id, Email from User where Id =:context.installerID()]; String toAddress= u.Email; String[] toAddresses = new String[]{toAddress}; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(toAddresses); mail.setReplyTo('[email protected]'); mail.setSenderDisplayName('My Package Support'); mail.setSubject('Package install successful'); mail.setPlainTextBody('Thanks for installing the package.'); Messaging.sendEmail(new Messaging.Email[] { mail }); } else if(context.previousVersion().compareTo(new Version(1,0)) == 0) { Survey__c obj = new Survey__c(name='Upgrading from Version 1.0'); insert(obj); } if(context.isUpgrade()) { Survey__c obj = new Survey__c(name='Sample Survey during Upgrade'); insert obj; } if(context.isPush()) { Survey__c obj = new Survey__c(name='Sample Survey during Push'); insert obj; 68 Creazione di pacchetti di applicazioni e loro distribuzione Esecuzione di Apex alla disinstallazione di un pacchetto } } } È possibile testare uno script post installazione utilizzando il nuovo metodo testInstall della classe Test. Questo metodo adotta i seguenti argomenti. • Una classe che implementa l'interfaccia InstallHandler. • Un oggetto Version che specifica il numero della versione del pacchetto esistente. • Un valore booleano facoltativo che è true se l'installazione è di tipo push. Il valore predefinito è false. Questo esempio illustra come testare uno script post installazione implementato nella classe Apex PostInstallClass. @isTest static void testInstallScript() { PostInstallClass postinstall = new PostInstallClass(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); List<Account> a = [Select id, name from Account where name ='Newco']; System.assertEquals(a.size(), 1, 'Account not found'); } Specifica di uno script post installazione Dopo aver creato e testato lo script post installazione è possibile specificarlo nel campo di ricerca Script post-installazione nella pagina dei dettagli del pacchetto. Nei rilasci patch successivi, è possibile modificare il contenuto dello script ma non la classe Apex. La selezione della classe è disponibile anche tramite l'API dei metadati come Package.postInstallClass. In package.xml, questo è rappresentato come un elemento <postInstallClass>foo</postInstallClass>. Esecuzione di Apex alla disinstallazione di un pacchetto Gli sviluppatori di applicazioni possono specificare che uno script Apex venga eseguito automaticamente dopo che un abbonato disinstalla un pacchetto gestito. Ciò rende possibile l'esecuzione delle operazioni di pulitura e notifica, in base ai dettagli dell'organizzazione dell'abbonato. Per semplicità, è possibile specificare un solo script di disinstallazione. Deve essere una classe Apex membro del pacchetto. Lo script di disinstallazione è soggetto ai limiti predefiniti stabiliti dall'amministratore. Viene eseguito come utente speciale del sistema che rappresenta il pacchetto; pertanto, è come se tutte le operazioni eseguite dallo script fossero eseguite dal pacchetto. È possibile accedere a questo utente utilizzando UserInfo. L'utente verrà visualizzato solo al momento dell'esecuzione e non durante l'esecuzione dei test. Se l'esecuzione dello script non riesce, la disinstallazione continua ma non viene applicata alcuna delle modifiche eseguite dallo script. Gli eventuali errori dello script vengono inviati via email all'utente specificato nel campo Notifica in caso di errore Apex del pacchetto. Se non viene specificato alcun utente, i dettagli della disinstallazione non sono disponibili. Lo script di disinstallazione presenta le seguenti limitazioni. Non può essere utilizzato per avviare processi batch, pianificati e futuri, per accedere agli ID della sessione o per eseguire chiamate. IN QUESTA SEZIONE: Funzionamento dello script di disinstallazione Esempio di script di disinstallazione Specifica di uno script di disinstallazione 69 Creazione di pacchetti di applicazioni e loro distribuzione Esecuzione di Apex alla disinstallazione di un pacchetto Funzionamento dello script di disinstallazione Uno script di disinstallazione è una classe Apex che implementa l'interfaccia UninstallHandler. Questa interfaccia possiede un metodo singolo denominato onUninstall che specifica le azioni da eseguire al momento della disinstallazione. global interface UninstallHandler { void onUninstall(UninstallContext context) } Il metodo onUninstall prende un oggetto di contesto come argomento, che fornisce le seguenti informazioni. • L'ID dell'organizzazione in cui avviene la disinstallazione. • L'ID utente dell'utente che ha avviato la disinstallazione. L'argomento di contesto è un oggetto il cui tipo è l'interfaccia UninstallContext. Questa interfaccia viene impostata automaticamente dal sistema. La seguente definizione dell'interfaccia UninstallContext mostra i metodi che è possibile chiamare sull'argomento di contesto. global interface UninstallContext { ID organizationId(); ID uninstallerId(); } Esempio di script di disinstallazione Il seguente script di disinstallazione di esempio esegue queste azioni al momento della disinstallazione di un pacchetto. • Inserisce una voce nel feed che descrive quale utente ha eseguito la disinstallazione e in quale organizzazione • Crea e invia un messaggio email che conferma la disinstallazione per quell'utente global class UninstallClass implements UninstallHandler { global void onUninstall(UninstallContext ctx) { FeedItem feedPost = new FeedItem(); feedPost.parentId = ctx.uninstallerID(); feedPost.body = 'Thank you for using our application!'; insert feedPost; User u = [Select Id, Email from User where Id =:ctx.uninstallerID()]; String toAddress= u.Email; String[] toAddresses = new String[] {toAddress}; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(toAddresses); mail.setReplyTo('[email protected]'); mail.setSenderDisplayName('My Package Support'); mail.setSubject('Package uninstall successful'); mail.setPlainTextBody('Thanks for uninstalling the package.'); Messaging.sendEmail(new Messaging.Email[] { mail }); } } È possibile testare uno script di disinstallazione utilizzando il metodo testUninstall della classe Test. Questo metodo prende come argomento una classe che implementa l'interfaccia UninstallHandler. 70 Creazione di pacchetti di applicazioni e loro distribuzione Sviluppo della documentazione delle applicazioni Questo esempio spiega come testare uno script di disinstallazione implementato nella classe Apex UninstallClass. @isTest static void testUninstallScript() { Id UninstallerId = UserInfo.getUserId(); List<FeedItem> feedPostsBefore = [SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY]; Test.testUninstall(new UninstallClass()); List<FeedItem> feedPostsAfter = [SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY]; System.assertEquals(feedPostsBefore.size() + 1, feedPostsAfter.size(), 'Post to uninstaller failed.'); } Specifica di uno script di disinstallazione Dopo aver creato e testato lo script di disinstallazione e averlo incluso come membro del pacchetto, è possibile specificarlo nel campo di ricerca Script di disinstallazione nella pagina dei dettagli del pacchetto. Nei rilasci patch successivi, è possibile modificare il contenuto dello script ma non la classe Apex. La selezione della classe è disponibile anche tramite l'API dei metadati come Package.uninstallClass. In package.xml, questo è rappresentato come un elemento <uninstallClass>foo</uninstallClass>. Sviluppo della documentazione delle applicazioni Salesforce consiglia di pubblicare l'applicazione su AppExchange con i seguenti tipi di documentazione: EDIZIONI Opzione Configura È possibile includere un'opzione Configura per gli autori dell'installazione. Questa opzione può collegarsi ai dettagli di installazione e configurazione come: Disponibile nelle versioni: Salesforce Classic • Fornitura del servizio esterno di un'applicazione composta • Impostazioni delle applicazioni personalizzate L'opzione Configura è inclusa nel pacchetto sotto forma di link personalizzato. È possibile creare un link personalizzato nei layout di pagina iniziale e aggiungerlo al pacchetto Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition 1. Creare un link personalizzato a un URL che contenga le informazioni di configurazione o una pagina Visualforce che implementa la configurazione. Quando si crea il link personalizzato, impostare le proprietà di visualizzazione su Apri in una nuova finestra popup in modo che l'utente torni alla stessa pagina di Salesforce al termine. 2. Quando si crea il pacchetto, scegliere questo link personalizzato nel campo Configura link personalizzato dei dettagli del pacchetto. Foglio dati Fornisce agli autori dell'installazione le informazioni fondamentali necessarie prima di installare l'applicazione. Guida di personalizzazione e miglioramento Consente agli autori dell'installazione di individuare gli elementi da personalizzare dopo l'installazione nell'ambito della loro implementazione. 71 Creazione di pacchetti di applicazioni e loro distribuzione Assegnazione degli autori di pubblicazioni Force.com AppExchange Guida personalizzata È possibile fornire una guida personalizzata per i record di oggetti personalizzati e per i campi personalizzati. VEDERE ANCHE: Pacchetti Assegnazione degli autori di pubblicazioni Force.com AppExchange Assegnazione degli autori di pubblicazioni Force.com AppExchange Gli utenti che pubblicano pacchetti su AppExchange devono disporre delle seguenti autorizzazioni: “Crea pacchetti Force.com AppExchange“ Consente a un utente di creare pacchetti e aggiungervi i componenti. “Carica pacchetti Force.com AppExchange“ Consente a un utente di caricare e registrare o pubblicare pacchetti in AppExchange. Il profilo Amministratore di sistema dispone automaticamente di entrambe le autorizzazioni. Individuare gli utenti che dovranno disporre di queste autorizzazioni e aggiungerli ai relativi profili utente o insiemi di autorizzazioni. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition VEDERE ANCHE: Pacchetti AUTORIZZAZIONI UTENTE Sviluppo della documentazione delle applicazioni Per assegnare le autorizzazioni: • “Personalizza applicazione” 72 Creazione di pacchetti di applicazioni e loro distribuzione Conversione di pacchetti non gestiti in pacchetti gestiti Conversione di pacchetti non gestiti in pacchetti gestiti È possibile che l'organizzazione abbia già caricato e registrato pacchetti nella directory Force.com AppExchange. Tutti i pacchetti caricati prima del rilascio Winter '07 sono non gestiti, cioè non possono essere aggiornati nell'organizzazione di installazione. È possibile convertirli in pacchetti gestiti configurando l'organizzazione per i pacchetti gestiti e scegliendo un pacchetto da gestire. Questo consente di inviare una notifica agli autori dell'installazione quando un aggiornamento è pronto. Prima di convertire un pacchetto esistente in pacchetto gestito, comunicare agli autori dell'installazione le modalità di salvataggio dei dati: 1. Esportare tutti i dati dalla precedente versione, non gestita, del pacchetto. 2. Disinstallare il pacchetto non gestito. 3. Installare la nuova versione gestita del pacchetto. 4. Importare tutti i dati esportati nel nuovo pacchetto gestito. Nota: Nota per gli installatori: se sono state effettuate personalizzazioni a un’installazione di un pacchetto non gestito, prenderne nota prima di eseguire la disinstallazione nel caso si desideri implementarle nuovamente. Alcune personalizzazioni non saranno tuttavia possibili in un pacchetto gestito. Per convertire un pacchetto non gestito in pacchetto gestito: 1. Abilitare i pacchetti gestiti per l'organizzazione. 2. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 3. Modificare il pacchetto che si desidera rendere gestito, quindi selezionare Gestito. Avvertenza: la conversione di un pacchetto non gestito in pacchetto gestito richiede la registrazione di un prefisso spazio dei nomi che influisce sui nomi API dei componenti del pacchetto denominati in modo univoco, come i campi personalizzati o gli S-Control. gli S-Control archiviati nella libreria S-Control o nella scheda Documenti che non utilizzano l'API Force.com continueranno a funzionare correttamente dopo la registrazione di un prefisso spazio dei nomi. Gli S-Control archiviati all'esterno dell'organizzazione o che utilizzano l'API Force.com per chiamare Salesforce potrebbero invece richiedere delle modifiche. Per ulteriori informazioni, vedere S-Control nel Riferimento oggetto. VEDERE ANCHE: Gestione dei pacchetti Creazione di pacchetti gestiti 73 EDIZIONI Disponibile nella versione: Salesforce Classic Disponibile nella versione: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per configurare le impostazioni sviluppatore: • "Personalizza applicazione" Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Distribuzione delle applicazioni Distribuzione delle applicazioni Preparazione delle applicazioni per la distribuzione Quando si è pronti per distribuire il pacchetto, decidere se si desidera rilasciare un pacchetto gestito o non gestito. EDIZIONI 1. Creare un pacchetto: Disponibile nelle versioni: Salesforce Classic a. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. b. Fare clic su Nuovo. c. Immettere un nome per il pacchetto. Il nome non deve necessariamente coincidere con quello visualizzato in AppExchange. d. Dal menu a discesa, scegliere la lingua predefinita di tutte le etichette dei componenti nel pacchetto. e. Se lo si desidera, scegliere un elenco personalizzato dal campo Configura link personalizzato per visualizzare le informazioni sulla configurazione per gli autori dell'installazione dell'applicazione. È possibile selezionare un link personalizzato predefinito a un URL o a un S-Control che è stato creato per i layout delle pagine iniziali; vedere Opzione Configura a pagina 71. Il link personalizzato viene visualizzato come link Configura all'interno di Salesforce nella pagina dei download di Force.com AppExchange e nella pagina dei dettagli dell'applicazione appartenente all'organizzazione di installazione. Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti: • "Carica pacchetti AppExchange" f. Se lo si desidera, nel campo Notifica in caso di errore Apex immettere il nome utente della persona a cui inviare il messaggio di notifica se in Apex si verifica un'eccezione che non viene rilevata dall'Apex Code. Se non viene specificato alcun nome utente, tutte le eccezioni non rilevate generano una notifica via email che viene inviata a Salesforce. Questa opzione è disponibile soltanto per i pacchetti gestiti. Nota: Apex può essere inserito nei pacchetti solo nelle organizzazioni che utilizzano le versioni Developer Edition, Enterprise Edition, Unlimited Edition e Performance Edition. g. Se si desidera, nel campo Notifica in caso di errore di creazione pacchetto, inserire l'indirizzo email della persona che riceve una notifica tramite email se si verifica un errore quando il tentativo di un abbonato di installare, aggiornare o disinstallare un'app inserita in un pacchetto non riesce. Questo campo viene visualizzato solo se sono abilitate le notifiche degli errori di creazione dei pacchetti. Per abilitare le notifiche, rivolgersi al rappresentante Salesforce. h. Se lo si desidera, immettere una descrizione che definisca il pacchetto. Si avrà la possibilità di modificarla prima di caricare l'applicazione in AppExchange. i. Se lo si desidera, specificare uno script post installazione. Si tratta di uno script Apex che viene eseguito nell'organizzazione abbonato dopo l'installazione o l'aggiornamento del pacchetto. Per ulteriori informazioni, vedere Esecuzione di Apex all'installazione/all'aggiornamento di un pacchetto. j. Se lo si desidera, specificare uno script di disinstallazione. Si tratta di uno script Apex che viene eseguito nell'organizzazione abbonato dopo la disinstallazione del pacchetto. Per ulteriori informazioni, vedere Esecuzione di Apex alla disinstallazione di un pacchetto. k. Fare clic su Salva. 74 Creazione di pacchetti di applicazioni e loro distribuzione Preparazione delle applicazioni per la distribuzione 2. Salesforce imposta i privilegi di accesso API del proprio pacchetto su Senza restrizione. È possibile modificare questa impostazione per limitare ulteriormente l'accesso API dei componenti di Salesforce nel pacchetto. Per ulteriori informazioni, vedere Gestione dell'accesso API e Apex dinamico nei pacchetti a pagina 50. 3. Aggiungere all'applicazione i componenti necessari. a. Fare clic su Aggiungi componenti. b. Dall'elenco a discesa, scegliere il tipo di componente da aggiungere al pacchetto. • All'inizio dell'elenco, fare clic su una lettera per visualizzare il contenuto della colonna ordinata che inizia con quel carattere. • Se disponibili, fare clic sui link Pagina successiva o Pagina precedente per passare al set di componenti successivo o precedente. • Se disponibili, fare clic su meno o più in fondo all'elenco per ottenere un elenco di visualizzazione più breve o più lungo. c. Selezionare i componenti da aggiungere. d. Fare clic su Aggiungi al pacchetto. e. Ripetere la procedura finché al pacchetto sono stati aggiunti tutti i componenti desiderati. Nota: • alcuni componenti correlati vengono inclusi automaticamente nel pacchetto anche se potrebbero non essere visualizzati nel relativo elenco. Ad esempio, quando si aggiunge un oggetto personalizzato a un pacchetto, i relativi campi personalizzati, layout di pagina e relazioni con gli oggetti standard vengono inclusi automaticamente. • Quando si crea un pacchetto con un rapporto unito, ogni blocco viene incluso nel pacchetto. Benché i blocchi appaiano nel pacchetto come rapporti, quando si fa clic su un blocco, viene visualizzato un messaggio di errore che indica che i privilegi di cui si dispone non sono sufficienti per visualizzare il report. Questo è il comportamento previsto. Fare invece clic sul nome del rapporto unito per eseguirlo. 4. Se lo si desidera, fare clic su Visualizza dipendenze e consultare l'elenco dei componenti che fanno affidamento su altri componenti, autorizzazioni o preferenze all'interno del pacchetto. Un'entità può includere elementi quali un S-Control, un campo standard o personalizzato oppure un'impostazione a livello di tutta l'organizzazione, come Più valute. Il pacchetto non può essere installato a meno che l'autore dell'installazione non abbia abilitato o installato i componenti elencati. Per ulteriori informazioni sulle dipendenze, vedere Descrizione delle dipendenze a pagina 53. Fare clic su Chiudi per tornare alla pagina dei dettagli del pacchetto. Nota: Non è possibile caricare i pacchetti che contengono: • Regole di flusso di lavoro o azioni di flusso di lavoro, quali aggiornamenti di campi o messaggi in uscita, che fanno riferimento ai tipi di record. • Rapporti che fanno riferimento a tipi di record su oggetti standard. 5. Fare clic su Carica. Nota: se si sta creando un pacchetto gestito da pubblicare su AppExchange, occorre certificare l'applicazione prima di inserirla nel pacchetto. Per ulteriori informazioni, vedere Security Review in AppExchange. 6. Nella pagina Carica pacchetto, definire i seguenti valori: a. Immettere un Nome versione. È consigliabile inserire una breve descrizione e la data. b. Immettere un numero di versione per il caricamento, ad esempio 1.0. Il formato è majorNumber.minorNumber. Nota: In caso di caricamento di una nuova versione patch, il numero di patch non può essere modificato. 75 Creazione di pacchetti di applicazioni e loro distribuzione Preparazione delle applicazioni per la distribuzione Il numero della versione rappresenta il rilascio di un pacchetto. Questo campo è obbligatorio per i pacchetti gestiti e non gestiti. Per un pacchetto gestito, il numero di versione corrisponde a un caricamento Gestito - Rilasciato. Tutti i caricamenti beta utilizzano lo stesso numero di versione finché non si carica una versione di pacchetto Gestito - Rilasciato con un nuovo numero di versione. Ad esempio, di seguito viene riportata una sequenza di numeri di versione per una serie di caricamenti. Sequenza di Tipo caricamento Versione Note Primo caricamento Gestito - Beta 1,0 Il primo caricamento Gestito - Beta. Secondo caricamento Gestito - Rilasciato 1,0 Un caricamento Gestito - Rilasciato. Tenere presente che il numero di versione non cambia. Terzo caricamento Gestito - Rilasciato 1,1 Osservare il cambiamento del numero secondario del rilascio di questo caricamento Gestito - Rilasciato. Quarto caricamento Gestito - Beta 2,0 Il primo caricamento Gestito - Beta per il numero di versione 2.0. Osservare l'aggiornamento del numero principale di versione. Quinto caricamento Gestito - Rilasciato 2,0 Un caricamento Gestito - Rilasciato. Tenere presente che il numero di versione non cambia. c. Per i pacchetti gestiti, selezionare un Tipo di rilascio: • Scegliere Gestito - Rilasciato per caricare una versione aggiornabile. Dopo il caricamento, alcuni attributi dei componenti di Salesforce vengono bloccati. • Scegliere Gestito - Beta se si desidera caricare una versione del pacchetto a un campione ristretto di pubblico a scopi di testing. Sarà comunque possibile modificare i componenti e caricare versioni beta aggiuntive. Nota: i pacchetti beta possono essere installati soltanto nelle organizzazioni Developer Edition o Sandbox e pertanto non possono essere inviati alle organizzazioni dei clienti. d. Se necessario, modificare la Descrizione. e. Se lo si desidera, specificare un link alle note di rilascio del pacchetto. Fare clic su URL e inserire i dettagli nel campo di testo così visualizzato. Questo link sarà visualizzato durante il processo di installazione e nella pagina Dettagli pacchetto dopo l'installazione. Nota: Come prassi consigliata, il link dovrebbe puntare a un URL esterno, in modo tale che sia possibile mettere le informazioni a disposizione dei clienti prima del rilascio ed eseguire gli aggiornamenti indipendentemente dal pacchetto. f. Se lo si desidera, specificare un link alle istruzioni di installazione del pacchetto. Fare clic su URL o su Pagina Visualforce e inserire i dettagli nel campo di testo così visualizzato. Questo link sarà visualizzato nella pagina Dettagli pacchetto dopo l'installazione. Nota: Come prassi consigliata, il link dovrebbe puntare a un URL esterno; in questo modo è possibile aggiornare le informazioni indipendentemente dal pacchetto. g. Se lo si desidera, immettere e confermare una password in modo da condividere il pacchetto privatamente con chiunque disponga della password. Non immettere una password se si desidera rendere il pacchetto disponibile a tutti in AppExchange e condividerlo pubblicamente. h. Salesforce seleziona automaticamente i requisiti che trova. Selezionare inoltre eventuali altri componenti richiesti dalle sezioni Requisiti pacchetto e Requisiti oggetto per notificare agli installatori i requisiti relativi a questo pacchetto. 76 Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? i. Fare clic su Carica. 7. Al termine del caricamento, è possibile effettuare una delle operazioni seguenti: • Fare clic sul collegamento Cambia password per modificare l'opzione della password. • Fare clic su Rendi obsoleto per impedire nuove installazioni di questo pacchetto pur consentendo alle installazioni esistenti di continuare a funzionare. Nota: non è possibile dichiarare obsoleta la versione più recente di un pacchetto gestito. Quando si dichiara obsoleto un pacchetto, ricordarsi di rimuoverlo anche da AppExchange. Vedere "Rimozione di applicazioni da AppExchange" nella Guida in linea di AppExchange. • Fare clic su Annulla dichiarazione di obsolescenza per rendere una versione obsoleta nuovamente disponibile per l'installazione. Quando il pacchetto è stato caricato correttamente, l'utente riceve un messaggio email contenente un link di installazione. Nota: • Quando si utilizza l'URL di installazione, per impostazione predefinita viene visualizzato il vecchio file di installazione. È possibile personalizzare il comportamento di installazione modificando l'URL di installazione fornito ai clienti. – Per accedere al nuovo file di installazione, aggiungere il testo &newui=1 alla fine dell'URL di installazione. – Per accedere al nuovo file di installazione con l'opzione "Tutti gli utenti" selezionata per impostazione predefinita, aggiungere il testo &p1=full alla fine dell'URL di installazione. • Se il caricamento è stato eseguito dall'organizzazione di produzione Salesforce, informare gli installatori che lo vogliono installare in un'organizzazione Sandbox che è necessario sostituire la porzione "login.salesforce.com" dell'URL di installazione con "test.salesforce.com". VEDERE ANCHE: Pacchetti Gestione dei pacchetti Descrizione delle dipendenze Gestione delle versioni Creazione e caricamento di patch Pubblicazione degli aggiornamenti ai pacchetti gestiti Pubblicazione delle estensioni ai pacchetti gestiti Perché utilizzare Trialforce? Trialforce consente di fornire una versione di prova gratuita dell'offerta in modo facile e veloce. Ogni volta che viene fornita una versione di prova, Trialforce crea un lead nell'applicazione di gestione delle licenze, che permette di monitorarne l'uso e di convertire potenziali clienti in clienti effettivi. Con Trialforce è possibile: • Realizzare in proprio una campagna di marketing per raggiungere e convincere il maggior numero di clienti possibile. • Personalizzare l'offerta in termini di immagine aziendale, funzionalità, progettazione, dati e funzionamento delle versioni di prova. • Gestire le versioni di prova di più offerte e versioni comodamente da un unico punto. • Consentire ai clienti, inclusi gli utenti non amministratori, di provare l'applicazione o il componente senza dover accedere all'ambiente di produzione. 77 Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? IN QUESTA SEZIONE: Impostazione dell'immagine aziendale personalizzata per Trialforce Organizzazioni Trialforce di origine Nuova organizzazione Trialforce di origine Modifica dell'organizzazione Trialforce di origine Trialforce Impostazione dell'immagine aziendale personalizzata per Trialforce Gli sviluppatori di applicazioni che utilizzano Trialforce per creare nuove versioni di prova dei rispettivi prodotti possono impostare un sito di accesso e messaggi email di sistema personalizzati con il marchio aziendale. Se si personalizzano questi strumenti con lo stile della propria società, gli utenti dell'applicazione resteranno a contatto con l'immagine aziendale dal momento della registrazione a quello dell'accesso. La personalizzazione con l'immagine aziendale deve essere usata solo per le applicazioni non CRM, non per le applicazioni che ampliano Salesforce CRM e richiedono oggetti Salesforce standard come lead, opportunità e casi. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Una pagina di accesso con l'immagine aziendale consente di specificare il dominio e il sito di accesso. • I domini di accesso terminano con .cloudforce.com. Se il nome dell'azienda è "miasocietà", il dominio di accesso sarà miasocietà.cloudforce.com. • Il sito di accesso personalizzato include il testo e il logo aziendale e versioni specifiche per i dispositivi mobili. Le email con immagine aziendale consentono di specificare i campi delle email generate automaticamente in modo che vengano visualizzati il nome dell'azienda, l'indirizzo e altri dati pertinenti. È possibile creare più serie di email con immagine aziendale per le diverse campagne o i vari segmenti di clientela. AUTORIZZAZIONI UTENTE Per gestire Trialforce: • "Personalizza applicazione" Nota: per configurare l'immagine aziendale è necessario avere effettuato l'accesso a un'organizzazione di gestione Trialforce. Per ottenere la propria organizzazione di gestione Trialforce, registrare un caso nella comunità partner. IN QUESTA SEZIONE: Sito di accesso con immagine aziendale Trialforce Serie di email con immagine aziendale Trialforce 78 Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? Sito di accesso con immagine aziendale Trialforce Utilizzare la pagina Sito di accesso personalizzato con immagine aziendale di Trialforce per creare, pubblicare e modificare una pagina di accesso con lo stile dell'azienda. EDIZIONI • Se non è ancora stato configurato un sito di accesso, fare clic su Imposta sito di accesso. Disponibile nelle versioni: Salesforce Classic • Se è già stato impostato un sito di accesso, fare clic su Pubblica per rendere disponibile il sito oppure su Lancia l'Editor siti per apportare modifiche. Disponibile in: Developer Edition IN QUESTA SEZIONE: AUTORIZZAZIONI UTENTE Dominio del sito di accesso Trialforce Creazione di una pagina di accesso con l'immagine aziendale Editor dell'immagine aziendale per accesso Trialforce Per definire l'immagine aziendale dei pacchetti: • "Immagine aziendale pacchetto" Dominio del sito di accesso Trialforce Scegliere un sottodominio in cui gli utenti effettueranno l'accesso all'applicazione. Il sottodominio corrisponde in genere al nome dell'azienda. 1. Nel campo visualizzato, immettere un nome. 2. Fare clic su Verifica disponibilità. 3. Accettare le condizioni di utilizzo. 4. Fare clic su Salva e lancia l'Editor. Creazione di una pagina di accesso con l'immagine aziendale In genere i clienti accedono a un'applicazione tramite il sito classico login.salesforce.com. Una pagina di accesso con l'immagine aziendale consente di personalizzare questo dominio e parti di questa pagina di accesso in modo che i clienti siano sempre a contatto con l'immagine aziendale. Il sito di accesso personalizzato include il testo e il logo aziendale e versioni specifiche per i dispositivi mobili. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Per creare una pagina di accesso con l'immagine aziendale: 1. Accedere all'organizzazione di gestione Trialforce. 2. Da Imposta, immettere Sito di accesso nella casella Ricerca veloce, quindi selezionare Sito di accesso. 3. Fare clic su Imposta sito di accesso. 4. Selezionare un sottodominio per il sito di accesso inserendo un nome nel campo visualizzato. Viene in genere specificato il nome dell'azienda. AUTORIZZAZIONI UTENTE Per gestire Trialforce: • "Personalizza applicazione" Nota: I domini di accesso terminano con .cloudforce.com. Se il nome dell'azienda è "miasocietà", il dominio di accesso sarà miasocietà.cloudforce.com. 5. Verificare la disponibilità del dominio e accettare le condizioni di utilizzo. 6. Fare clic su Salva e lancia l'Editor. 7. Utilizzare l'editor dell'immagine aziendale per l'accesso per modificare l'aspetto della pagina di accesso. Per ulteriori informazioni sull'utilizzo dell'editor, fare clic su Guida per questa pagina. 8. Fare clic su Salva e chiudi. 79 Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? 9. Se si è pronti per rendere disponibili le modifiche nella propria TSO, fare clic su Pubblica. In caso contrario, le modifiche vengono salvate e potranno essere pubblicate in seguito. Editor dell'immagine aziendale per accesso Trialforce Utilizzare l'editor dell'immagine aziendale per accesso per la creazione delle pagine di accesso. EDIZIONI 1. Accedere all'organizzazione di gestione Trialforce. 2. Da Imposta, immettere Sito di accesso nella casella Ricerca veloce, quindi selezionare Sito di accesso. Disponibile nelle versioni: Salesforce Classic 3. Nella parte superiore dell'editor, fare clic sulla scheda per le dimensioni della pagina di accesso: Desktop o Mobile. Disponibile nelle versioni: Developer Edition 4. Nel riquadro di sinistra, espandere il nodo Intestazione pagina e fare clic su Seleziona file per selezionare il logo aziendale per le schermate delle dimensioni supportate dall'applicazione. 5. Nel campo Link logo > Utilizza link personalizzato, è possibile immettere un indirizzo Web da utilizzare quando il cliente fa clic sul logo, ad esempio il sito Web dell'azienda. L'URL deve iniziare con http:// o https://. Se questo campo viene lasciato vuoto, il logo non disporrà di un link. AUTORIZZAZIONI UTENTE Per gestire Trialforce: • "Personalizza applicazione" 6. Espandere il nodo Contenuto pagina e incollare l'URL del link di registrazione della prova nel campo Link registrazione prova > Utilizza link personalizzato. Questo è il link su cui i potenziali clienti faranno clic per richiedere una versione di prova gratuita sul sito Web. In genere, gli ISV creano un'apposita pagina di registrazione separata. 7. Specificare gli URL per la parte destra e inferiore della pagina. Se questi campi vengono lasciati vuoti, per i frame vengono utilizzati i valori specificati nella pagina di accesso Salesforce. 8. Espandere il piè di pagina e specificare il nome dell'azienda e il colore del font. 9. Espandere il nodo dello sfondo di pagina e specificare un'immagine e un colore per lo sfondo. 10. In cima alla pagina, fare clic su Salva e chiudi. 11. Nella pagina Sito di accesso personalizzato con immagine aziendale, fare clic su Anteprima per visualizzare la dimensione della pagina desiderata. Assicurarsi che ogni pagina di accesso supportata dall'applicazione sia visualizzata correttamente. Serie di email con immagine aziendale Trialforce L'immagine aziendale email Trialforce consente di modificare i messaggi email generati dal sistema per farli risultare spediti dalla propria società anziché da Salesforce. L'immagine aziendale email Trialforce è valida solo per gli utenti che si abbonano all'applicazione mediante Trialforce. Ogni organizzazione Trialforce di origine dispone di una serie standard di messaggi email di notifica da inviare ai clienti. Ad esempio, i clienti ricevono una notifica email al loro primo accesso o quando reimpostano la password. Non è necessario riscrivere tutte le email generate dal sistema. È sufficiente fornire i valori per i campi e il sistema eseguirà tutte le altre operazioni. IN QUESTA SEZIONE: Modifica delle serie di email con immagine aziendale Trialforce Modifica delle serie di email con immagine aziendale Trialforce Per iniziare, fare clic su Nuova serie di email o su Modifica accanto a una serie di email esistente. 80 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Per definire l'immagine aziendale dei pacchetti: • "Immagine aziendale pacchetto" Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? 1. Inserire nei campi i dati della propria azienda. 2. Nell'area Anteprima messaggi email, fare clic sui vari tipi di email creati e verificarne la correttezza. 3. Fare clic su Salva. 4. Se si è pronti a rendere i messaggi email disponibili per le proprie organizzazioni Trialforce di origine, fare clic su Pubblica. In caso contrario, le modifiche vengono salvate e potranno essere pubblicate in seguito. Organizzazioni Trialforce di origine La pagina Organizzazioni di origine di Trialforce consente di creare e gestire le organizzazioni Trialforce di origine. EDIZIONI • Per creare una nuova organizzazione di origine, fare clic su Nuovo. Disponibile nelle versioni: Salesforce Classic • Se si desidera utilizzare un'organizzazione di origine già esistente, fare clic su Accedi. • Per modificare un'organizzazione di origine già esistente, fare clic su Modifica. Disponibile nelle versioni: Developer Edition Nuova organizzazione Trialforce di origine Per creare una nuova organizzazione di origine: EDIZIONI 1. Immettere un nuovo nome utente e un indirizzo email per l'account amministratore. 2. Immettere il nome dell'organizzazione di origine e selezionare l'immagine aziendale. 3. Fare clic su Crea. Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Developer Edition AUTORIZZAZIONI UTENTE Per definire l'immagine aziendale dei pacchetti: • "Immagine aziendale pacchetto" 81 Creazione di pacchetti di applicazioni e loro distribuzione Perché utilizzare Trialforce? Modifica dell'organizzazione Trialforce di origine Per modificare un'organizzazione Trialforce di origine: EDIZIONI 1. Immettere il nome dell'organizzazione di origine e selezionare l'immagine aziendale. Disponibile nelle versioni: Salesforce Classic 2. Fare clic su Salva. Disponibile nelle versioni: Developer Edition AUTORIZZAZIONI UTENTE Per definire l'immagine aziendale dei pacchetti: • "Immagine aziendale pacchetto" Trialforce Per creare un modello Trialforce: EDIZIONI 1. Fare clic su Nuovo modello Trialforce. 2. Specificare una descrizione del modello e se devono essere inclusi dati nella finestra di dialogo visualizzata. Disponibile nelle versioni: Salesforce Classic 3. Fare clic su Salva. Disponibile in: Developer Edition Viene inviato un messaggio email contenente l'ID organizzazione del nuovo modello, dopo che questo è stato generato. Il modello deve essere rivisto prima di poter essere utilizzato per registrare le organizzazioni di prova. Ricordare di generare un nuovo modello ogni volta che si aggiorna la TSO, in modo che le organizzazioni di prova rispecchino sempre lo stato più recente. Nota: è possibile creare un modello Trialforce solo se la TSO è inferiore a 256 MB. Ogni modello Trialforce ha uno stato con uno dei seguenti valori. In corso Quando viene creato per la prima volta, il modello Trialforce ha questo stato. Quindi, passa allo stato Operazione riuscita o Errore. AUTORIZZAZIONI UTENTE Per definire l'immagine aziendale dei pacchetti: • "Immagine aziendale pacchetto" Operazione riuscita Il modello Trialforce può essere utilizzato per creare organizzazioni di prova. Errore Il modello Trialforce non può essere utilizzato poiché si è verificato un problema ed è necessario eseguire un debug. Eliminato Il modello Trialforce non è più disponibile per l'uso. I modelli eliminati vengono rimossi durante gli aggiornamenti del sistema. 82 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di registrazioni mediante l'API Creazione di registrazioni mediante l'API Per creare organizzazioni di prova per potenziali clienti è possibile utilizzare le chiamate API all'oggetto SignupRequest. Quando si creano organizzazioni di prova (o registrazioni) mediante un modulo Web non è possibile personalizzare il processo di registrazione, né monitorarne lo stato. Con l'API è possibile raccogliere e analizzare dati dettagliati su tutte le registrazioni dalla propria organizzazione aziendale. Questo conferisce un maggiore controllo sul processo di registrazione e consente una migliore visibilità dei potenziali clienti. È possibile ad esempio: • Eseguire rapporti e raccogliere metriche, ad esempio il numero di registrazioni giornaliere o il numero di registrazioni nei vari Paesi. AUTORIZZAZIONI UTENTE Per creare o visualizzare richieste di registrazione: • "API richieste di registrazione" • Personalizzare l'oggetto SignupRequest per aggiungere campi di particolare interesse per la propria società. • Creare trigger per avviare azioni specifiche come l'invio di email di notifica a ogni nuova richiesta di registrazione. • Abilitare le registrazioni da una vasta gamma di applicazioni e dispositivi client, per usufruire di canali aggiuntivi per acquisire clienti. Per iniziare a creare nuove registrazioni mediante l'API: 1. Creare un'organizzazione Trialforce di origine (TSO, Trialforce Source Organization) dall'organizzazione di gestione Trialforce. 2. Installare l'app nella TSO insieme agli eventuali dati di esempio utili per l'organizzazione di prova. 3. Configurare la TSO nel modo desiderato per i propri clienti, indicando ad esempio eventuali personalizzazioni con l'immagine aziendale. 4. Creare un modello Trialforce dalla TSO. 5. Inviare un caso per attivare questa funzione. a. Accedere alla comunità partner. b. Nella scheda Assistenza, fare clic su Nuovo caso. c. Selezionare la categoria AppExchange and Feature Requests > Trialforce. d. Nella descrizione, inserire i seguenti dettagli. • L'ID organizzazione della TSO. • L'ID modello del modello Trialforce che si intende utilizzare • L'organizzazione che si intende utilizzare per creare le registrazioni (per consentire di abilitare l'autorizzazione utente appropriata) Nota: Benché si possano creare nuove registrazioni da qualsiasi organizzazione (avendo le opportune autorizzazioni), si consiglia di farlo dalla propria organizzazione aziendale. In questo modo, i dati di registrazione si possono facilmente integrare con i processi aziendali esistenti. Ad esempio, si può creare una regola di flusso di lavoro per convertire ogni richiesta di registrazione in lead, o eseguire rapporti per tenere traccia del numero di registrazioni in un determinato periodo. All'approvazione del modello si riceverà un'email di notifica. Il modello a questo punto si può usare per creare nuove registrazioni effettuando chiamate API all'oggetto SignupRequest. Per informazioni sull'oggetto SignupRequest e per un esempio di codice che ne illustra l'uso, vedere le sezioni riportate sotto. Per ulteriori informazioni sull'uso degli oggetti, vedere Riferimento oggetti per Salesforce e Force.com. IN QUESTA SEZIONE: Pagina iniziale Richiesta di registrazione Creazione di una richiesta di registrazione Visualizzazione dei dettagli delle richieste di registrazione 83 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di registrazioni mediante l'API Pagina iniziale Richiesta di registrazione Nota: le registrazioni sono limitate a un massimo di 20 al giorno. Se è necessario effettuare ulteriori registrazioni, registrare un caso nella Partner Community. La scheda Richieste di registrazione visualizza la pagina iniziale delle richieste di registrazione, da cui è possibile effettuare le seguenti operazioni: • Creare una nuova registrazione. Se si usa un modello Trialforce per creare la registrazione, controllare che sia stato approvato. AUTORIZZAZIONI UTENTE Per creare o visualizzare richieste di registrazione: • "API richieste di registrazione" • Visualizzare i dettagli di una precedente registrazione, compresi la cronologia e lo stato di approvazione. • Creare nuove visualizzazioni per visualizzare le registrazioni che corrispondono ai criteri specificati. Creazione di una richiesta di registrazione 1. Selezionare Richiesta di registrazione dall'elenco a discesa Crea nuovo nell'intestazione laterale o fare clic su Nuovo accanto a Richieste di registrazione recenti nella pagina iniziale delle richieste di registrazione. AUTORIZZAZIONI UTENTE 2. Inserire i dati per la richiesta di registrazione. Per creare o visualizzare richieste di registrazione: • "API richieste di registrazione" 3. Al termine, fare clic su Salva o su Salva e Nuovo per salvare la richiesta di registrazione corrente e aggiungerne un'altra. Visualizzazione dei dettagli delle richieste di registrazione Dalla pagina dei dettagli Richiesta di registrazione: AUTORIZZAZIONI UTENTE • Fare clic su Elimina per eliminare la richiesta di registrazione • Fare clic su Clona per creare una nuova richiesta di registrazione con gli stessi attributi. La pagina dei dettagli contiene le seguenti sezioni. • Dettaglio richiesta di registrazione • Cronologia richieste di registrazione Per creare o visualizzare richieste di registrazione: • "API richieste di registrazione" Dettaglio richiesta di registrazione Questa sezione visualizza i seguenti attributi (in ordine alfabetico): Attributo Descrizione Società Il nome della società che richiede l'abbonamento di prova. Paese Il codice paese ISO-3166 maiuscolo di due caratteri. L'elenco completo di questi codici è disponibile in numerosi siti, ad esempio: www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html Org creata L'ID organizzazione di 15 caratteri dell'organizzazione di prova creata. Questo è un campo di sola lettura fornito dal sistema a elaborazione avvenuta della richiesta di registrazione. Email L'indirizzo email dell'utente amministratore per l'abbonamento di prova. 84 Creazione di pacchetti di applicazioni e loro distribuzione Creazione di registrazioni mediante l'API Attributo Descrizione Codice errore Il codice di errore visualizzato se la richiesta di registrazione non viene completata. Questo è un campo di sola lettura fornito dal sistema unicamente a scopo di assistenza. Nome Il nome dell'utente amministratore per l'abbonamento di prova. Cognome Il cognome dell'utente amministratore per l'abbonamento di prova. Versione Il modello Salesforce utilizzato per creare l'organizzazione di prova. I valori possibili sono Partner Group, Professional, Partner Professional, Sales Professional, Professional TSO, Enterprise, Partner Enterprise, Service Enterprise, Enterprise TSO, Developer e Partner Developer. Lingua preferita La lingua dell'organizzazione di prova che si sta creando. Specificare la lingua con uno dei codici lingua elencati in Lingue interamente supportate in "Lingue supportate da Salesforce" nella Guida di Salesforce. Ad esempio, per il cinese semplificato utilizzare zh_CN. Il valore selezionato ha la priorità sulla lingua definita dalle impostazioni internazionali. Se si specifica una lingua non valida, viene impostato automaticamente l'inglese. Compilato durante la richiesta di registrazione e per uso interno da Salesforce. ShouldConnectToEnvHub Se impostato su true, l'organizzazione di prova è collegata all'hub d'ambiente. La registrazione deve avvenire nell'organizzazione principale o in un'organizzazione spoke dell'hub. Org di origine L'ID organizzazione di 15 caratteri dell'organizzazione Trialforce di origine da cui è stato creato il modello Trialforce. Stato Lo stato della richiesta. I valori possibili sono Nuova, In corso, Errore o Operazione riuscita. Il valore predefinito è Nuova. Modello L'ID di 15 caratteri del modello Trialforce approvato che costituisce la base dell'abbonamento di prova. Il modello è obbligatorio e deve essere approvato da Salesforce. Descrizione modello La descrizione del modello Trialforce approvato che costituisce la base dell'abbonamento di prova. Giorni di prova La durata in giorni dell'abbonamento di prova. Deve essere uguale o inferiore ai giorni di prova del modello Trialforce approvato. Se non si specifica alcun valore, l'attributo assume per impostazione predefinita la durata della versione di prova indicata per il modello Trialforce. Nome utente Il nome utente dell'utente amministratore per l'abbonamento di prova. Deve seguire la convenzione per gli indirizzi specificata in RFC822: www.w3.org/Protocols/rfc822/#z10 Cronologia richieste di registrazione Questa sezione mostra la data di creazione della richiesta di registrazione, l'utente che l'ha creata e le azioni che sono state eseguite sulla richiesta. 85 Creazione di pacchetti di applicazioni e loro distribuzione Pubblicazione delle estensioni ai pacchetti gestiti Pubblicazione delle estensioni ai pacchetti gestiti Un'estensione è un pacchetto, un componente o un set di componenti che aggiunge funzionalità a un pacchetto gestito. Un'estensione richiede che il pacchetto gestito di base sia installato nell'organizzazione. Nel caso, ad esempio, di un'applicazione di reclutamento, la relativa estensione può comprendere un componente per la verifica del background dei candidati. La comunità di sviluppatori, utenti e ricercatori che creano e pubblicano applicazioni nella directory Force.com AppExchange è parte integrante di ciò che rende Force.com una piattaforma di sviluppo estremamente fertile. Tale comunità va utilizzata e incoraggiata a creare estensioni alle applicazioni proprie e altrui. Per pubblicare estensioni a un pacchetto gestito: 1. Installare il pacchetto base nell'organizzazione Salesforce che si intende utilizzare per caricare l'estensione. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE 2. Creare i componenti dell'estensione. Nota: per creare un'estensione, installare il pacchetto base e includere nel proprio pacchetto una dipendenza a quel pacchetto base. Questo attributo di estensione diventerà automaticamente attivo. 3. Creare un nuovo pacchetto e aggiungervi i componenti dell'estensione. Salesforce include automaticamente alcuni componenti correlati. 4. Caricare il nuovo pacchetto contenente i componenti dell'estensione. Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti: • "Carica pacchetti AppExchange" 5. Continuare con la normale procedura di pubblicazione. Per ulteriori informazioni sulla creazione di un test drive o sulla registrazione e pubblicazione delle applicazioni, visitare il sito Web http://sites.force.com/appexchange/publisherHome. Nota: non è possibile aggiornare a Gestito - Beta i pacchetti utilizzati nella stessa organizzazione di un'estensione. VEDERE ANCHE: Preparazione delle applicazioni per la distribuzione Descrizione delle dipendenze Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti 86 Creazione di pacchetti di applicazioni e loro distribuzione Pubblicazione degli aggiornamenti ai pacchetti gestiti Pubblicazione degli aggiornamenti ai pacchetti gestiti L'autore della pubblicazione deve innanzitutto verificare che l'applicazione sia aggiornabile convertendola in pacchetto gestito. Le modifiche apportate ai componenti di un pacchetto gestito vengono automaticamente incluse nei caricamenti successivi del pacchetto, con una sola eccezione. Quando si aggiorna un pacchetto, le modifiche all'accesso API vengono ignorate anche se è stato lo sviluppatore a specificarle. Ciò garantisce il controllo totale da parte dell'amministratore che installa l'aggiornamento. È opportuno che gli installatori esaminino con attenzione le modifiche all'accesso dei pacchetti durante l'installazione di ogni aggiornamento e prendano nota di tutte le modifiche accettabili. In seguito, poiché tali modifiche vengono ignorate, l'amministratore deve apportare manualmente tutte le modifiche accettabili dopo l'installazione di un aggiornamento. Per ulteriori informazioni, vedere Informazioni sull'accesso API e Apex dinamico nei pacchetti a pagina 47. Per pubblicare aggiornamenti a un pacchetto gestito: 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Selezionare il pacchetto dall'elenco dei pacchetti disponibili. 3. Visualizzare l'elenco dei componenti del pacchetto. Le modifiche apportate ai componenti in questo pacchetto vengono automaticamente incluse nell'elenco. Se le modifiche fanno riferimento a componenti aggiuntivi, anche questi vengono automaticamente inclusi. Per aggiungere manualmente nuovi componenti al pacchetto, fare clic su Aggiungi. 4. Fare clic su Carica ed eseguire il caricamento seguendo la normale procedura. Nota: dopo aver caricato una nuova versione del pacchetto Gestito - rilasciato, è possibile fare clic su Rendi obsoleto in modo che gli autori dell'installazione non possano installare una versione precedente. L'obsolescenza impedisce nuove installazioni di versioni precedenti senza influire su quelle esistenti. Per ulteriori informazioni, vedere Gestione delle versioni a pagina 88. non è possibile dichiarare obsoleta la versione più recente del caricamento di un pacchetto gestito. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition Le funzioni di caricamento e installazione di pacchetti sono disponibili nelle versioni Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition AUTORIZZAZIONI UTENTE Per configurare le impostazioni sviluppatore: • “Personalizza applicazione” Per creare pacchetti: • "Crea pacchetti AppExchange" Per caricare pacchetti: • "Carica pacchetti AppExchange" 5. Quando si riceve un messaggio email contenente il link al caricamento in Force.comAppExchange, è possibile notificare agli utenti installati che la nuova versione è pronta. Per distribuire questa informazione, utilizzare l'elenco degli utenti installati dell'applicazione di gestione licenze (LMA). L'applicazione di gestione licenze (LMA) memorizza automaticamente il numero della versione installata nelle varie organizzazioni. VEDERE ANCHE: Preparazione delle applicazioni per la distribuzione Descrizione delle dipendenze Gestione delle versioni Creazione e caricamento di patch Pubblicazione delle estensioni ai pacchetti gestiti 87 Creazione di pacchetti di applicazioni e loro distribuzione Gestione delle versioni Gestione delle versioni Dopo aver caricato un pacchetto in AppExchange, è possibile continuare a gestirlo da Salesforce. Per gestire le versioni: EDIZIONI 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Disponibile nelle versioni: Salesforce Classic 2. Selezionare il pacchetto che contiene l'applicazione o i componenti caricati. Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition 3. Selezionare il numero di versione indicato nella scheda Versioni. • Fare clic sul collegamento Cambia password per modificare l'opzione della password. • Fare clic su Rendi obsoleto per impedire nuove installazioni di questo pacchetto pur consentendo alle installazioni esistenti di continuare a funzionare. Nota: non è possibile dichiarare obsoleta la versione più recente di un pacchetto gestito. Quando si dichiara obsoleto un pacchetto, ricordarsi di rimuoverlo anche da AppExchange. Vedere "Rimozione di applicazioni da AppExchange" nella Guida in linea di AppExchange. • Fare clic su Annulla dichiarazione di obsolescenza per rendere una versione obsoleta nuovamente disponibile per l'installazione. Nota: Per creare una versione di prova o scegliere un'Organizzazione di gestione licenze (LMO) per ciò che è stato caricato, fare clic su Continuare in AppExchange nella pagina dei dettagli di caricamento del pacchetto. VEDERE ANCHE: Preparazione delle applicazioni per la distribuzione Descrizione delle dipendenze Creazione e caricamento di patch Pubblicazione degli aggiornamenti ai pacchetti gestiti Pubblicazione delle estensioni ai pacchetti gestiti 88 AUTORIZZAZIONI UTENTE Per caricare pacchetti: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Creazione e caricamento di patch Creazione e caricamento di patch Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. Le versioni patch vengono sviluppate e gestite in un'organizzazione di sviluppo patch. È possibile inoltre consultare la sezione Procedure consigliate per aggiornamenti tramite push e versioni patch a pagina 96. Per creare una versione patch: 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Selezionare il nome del proprio pacchetto gestito. 3. Fare clic sulla scheda Organizzazione patch e quindi su Nuovo. 4. Selezionare la versione del pacchetto per cui si desidera creare una patch nell'elenco a discesa Correzione tramite patch di un rilascio principale. Il tipo di rilascio deve essere Gestito - Rilasciato. 5. Digitare un Nome utente per accedere all'organizzazione patch. 6. Digitare un Indirizzo email associato al proprio nome utente di accesso. EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Per eseguire un aggiornamento tramite push o creare un'organizzazione di sviluppo patch: • "Carica pacchetti AppExchange" 7. Fare clic su Salva. Nota: in caso di perdita dei dati di accesso, fare clic su Reimposta nella pagina dei dettagli del pacchetto sotto Organizzazioni di sviluppo patch per reimpostare le credenziali di accesso alla propria organizzazione di sviluppo patch. Una volta ricevuto un messaggio email di Salesforce che conferma la creazione dell'organizzazione di sviluppo patch è possibile fare clic su Accesso per iniziare a sviluppare la versione patch. Lo sviluppo in un'organizzazione di sviluppo patch è soggetto ad alcuni limiti. Di seguito è riportato un elenco di aspetti da tenere presenti: • Non è possibile aggiungere nuovi componenti al pacchetto. • Non è possibile eliminare componenti esistenti del pacchetto. • Non è possibile modificare i controlli per l'accesso API e per l'accesso Apex dinamico per il pacchetto. • Non è possibile dichiarare obsoleto alcun elemento di Apex code. • Non è possibile aggiungere nuove relazioni di classe Apex quali extends. • Non è possibile aggiungere nuovi modificatori di accesso Apex quali virtual o global. • Non è possibile aggiungere nuovi servizi Web. • Non è possibile aggiungere nuove dipendenze funzioni. Una volta terminato lo sviluppo della patch, caricarla attraverso l'interfaccia utente nella propria organizzazione di sviluppo patch: (È anche possibile caricare un pacchetto utilizzando Tooling API. Per i codici di esempio e per ulteriori dettagli, vedere l'oggetto PackageUploadRequest nella guida Tooling API Developer Guide.) 1. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 2. Fare clic sul nome del pacchetto. 3. Fare clic su Carica nella pagina Carica pacchetto. 4. Immettere un Nome versione. È consigliabile inserire una breve descrizione e la data. 5. Si noti che nel Numero di versione il valore patchNumber è aumentato. 6. Per i pacchetti gestiti, selezionare un Tipo di rilascio: 89 Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push • Scegliere Gestito - Rilasciato per caricare una versione aggiornabile. Dopo il caricamento, alcuni attributi dei componenti di Salesforce vengono bloccati. • Scegliere Gestito - Beta se si desidera caricare una versione del pacchetto a un campione ristretto di pubblico a scopi di testing. Sarà comunque possibile modificare i componenti e caricare versioni beta aggiuntive. Nota: i pacchetti beta possono essere installati soltanto nelle organizzazioni Developer Edition o Sandbox e pertanto non possono essere inviati alle organizzazioni dei clienti. 7. Se necessario, modificare la Descrizione. 8. Se lo si desidera, immettere e confermare una password in modo da condividere il pacchetto privatamente con chiunque disponga della password. Non immettere una password se si desidera rendere il pacchetto disponibile a tutti in AppExchange e condividerlo pubblicamente. 9. Salesforce seleziona automaticamente i requisiti che trova. Selezionare inoltre eventuali altri componenti richiesti dalle sezioni Requisiti pacchetto e Requisiti oggetto per notificare agli installatori i requisiti relativi a questo pacchetto. 10. Fare clic su Carica. Per distribuire la patch, è possibile condividere il link per il caricamento o pianificare un aggiornamento tramite push. VEDERE ANCHE: Pianificazione degli aggiornamenti tramite push Visualizzazione della Cronologia aggiornamenti tramite push Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti Pianificazione degli aggiornamenti tramite push Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. Dopo avere creato una versione patch del pacchetto è possibile distribuirla automaticamente ai clienti con un aggiornamento tramite push. Suggerimento: Salesforce consiglia vivamente di attenersi a questa sequenza per effettuare aggiornamenti tramite push dei pacchetti. 1. Trasmettere l'aggiornamento tramite push alle proprie organizzazioni per poter effettuare test e correggere eventuali errori prima di inviare l'aggiornamento agli abbonati. 2. Quando si è pronti e si è concordato con i clienti il processo di gestione delle modifiche, inviare l'aggiornamento tramite push a un numero ridotto di organizzazioni dei clienti. Se possibile, provare prima con le organizzazioni Sandbox. 3. Una volta soddisfatti dei risultati iniziali, inviare l'aggiornamento tramite push alla base più ampia dei propri clienti, in base al contratto in vigore con ciascuno di essi. 4. Dichiarare obsoleta la versione precedente del pacchetto nella propria organizzazione di sviluppo principale. Se necessario, sostituire la versione di AppExchange e aggiornare la configurazione di Trialforce. 90 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Per effettuare un aggiornamento tramite push: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push 5. Se l'aggiornamento era una patch, dopo aver distribuito correttamente l'aggiornamento alle organizzazioni degli abbonati, reintegrare le modifiche nella propria organizzazione di sviluppo principale. Per ulteriori informazioni sull'integrazione delle patch nell'organizzazione di sviluppo principale, vedere "Uso delle versioni patch" in ISVforce Guide. Per ulteriori informazioni, consultare la sezione Procedure consigliate per aggiornamenti tramite push e versioni patch a pagina 96. Pianificazione di un aggiornamento tramite push tramite l'interfaccia utente 1. Accedere all'organizzazione di sviluppo principale (non all'organizzazione patch utilizzata per caricare la nuova versione). 2. Da Imposta, immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. 3. Fare clic sul nome del pacchetto gestito di cui si desidera eseguire l'aggiornamento tramite push. 4. Nella pagina dei dettagli del pacchetto, fare clic sulla scheda Versioni e quindi su Aggiornamenti tramite push. 5. Fare clic su Pianifica aggiornamento tramite push. 6. Selezionare una versione del pacchetto da inviare tramite push dall'elenco a discesa Versione patch. Nota: Le versioni beta non sono idonee per l'aggiornamento tramite push. 7. Immettere una Data iniziale pianificata per indicare quando deve iniziare l'aggiornamento tramite push. 8. Nella sezione Seleziona organizzazioni di destinazione, scegliere le organizzazioni che dovranno ricevere l'aggiornamento tramite push. Le organizzazioni che hanno già ricevuto un aggiornamento tramite push per la versione del pacchetto selezionata non compaiono nell'elenco. È possibile selezionare le organizzazioni utilizzando i metodi seguenti: • Immettendo un termine di filtro basato sul nome o sull'ID di un'organizzazione. I nomi possono corrispondere in base alla stringa parziale, ma gli ID devono corrispondere esattamente. • Scegliendo tra le organizzazioni di produzione e Sandbox dall'elenco a discesa Organizzazioni. • Scegliendo le organizzazioni che hanno già installato una determinata versione. • Facendo clic sulle singole organizzazioni o sulle caselle di controllo Seleziona tutto e Deseleziona tutto. Questa sezione visualizza le seguenti informazioni sull'organizzazione (in ordine alfabetico): Campo Descrizione Versione corrente La versione corrente del pacchetto installato da un'organizzazione. ID organizzazione L'ID che identifica in modo univoco l'organizzazione in Salesforce. Nome organizzazione Il nome dell'organizzazione.Se si fa clic su questo nome viene visualizzata la cronologia degli aggiornamenti dell'organizzazione. Referente principale Il nome del referente che ha installato il pacchetto. 9. Fare clic su Pianifica. Per arrestare un aggiornamento tramite push in corso è possibile fare clic su Interrompi. Pianificazione di un aggiornamento tramite push tramite l'API Enterprise 1. Autenticarsi nell'organizzazione di sviluppo principale (non nell'organizzazione patch utilizzata per caricare la nuova versione) in funzione dello strumento che si sta utilizzando. 2. Stabilire la versione del pacchetto alla quale si desiderano aggiornare gli abbonati eseguendo una query sull'oggetto MetadataPackageVersion. 91 Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push 3. Raccogliere l'elenco delle organizzazioni abbonate che sono idonee all'aggiornamento eseguendo una query sull'oggetto PackageSubscriber. 4. Creare un oggetto PackagePushRequest. Gli oggetti PackagePushRequest assumono un parametro PackageVersionId e, in via facoltativa, un parametro ScheduledStartTime per specificare il momento di inizio dell'azione push. Se si omette il parametro ScheduledStartTime, l'azione push inizia quando si imposta lo stato del parametro PackagePushRequest su In sospeso. 5. Creare un parametro PackagePushJob per ogni abbonato idoneo e associarlo all'oggetto PackagePushRequest creato al passaggio precedente. 6. Pianificare l'aggiornamento tramite push modificando lo stato del parametro PackagePushRequest su In sospeso. 7. Verificare lo stato degli oggetti PackagePushRequest e PackagePushJob eseguendo una query nei campi Stato. Per il codice di esempio e ulteriori dettagli, vedere le descrizioni degli oggetti in Object Reference for Salesforce and Force.com o nella SOAP API Developer Guide. IN QUESTA SEZIONE: Visualizzazione della Cronologia aggiornamenti tramite push Procedure consigliate per aggiornamenti tramite push e versioni patch VEDERE ANCHE: Visualizzazione dei dettagli degli aggiornamenti tramite push Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti Visualizzazione della Cronologia aggiornamenti tramite push Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. Per visualizzare i dettagli di tutti gli aggiornamenti tramite push inviati dall'organizzazione, da Imposta immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Fare clic sul nome del pacchetto da visualizzare e quindi su Aggiornamenti tramite push. La pagina della Cronologia aggiornamenti tramite push riporta lo stato di tutti gli aggiornamenti tramite push precedenti e in sospeso. Per filtrare la cronologia degli aggiornamenti tramite push: 1. Scegliere una versione dall'elenco a discesa. La mancata selezione di una versione equivale alla selezione di tutte le versioni. 2. Selezionare uno o più stati dall'elenco Stato. La mancata selezione di uno stato equivale alla selezione di tutti gli stati. 3. Fare clic su Aggiorna per filtrare l'elenco. Fare clic su Cancella per rimuovere tutti i filtri. La cronologia visualizza le seguenti informazioni (in ordine alfabetico): Colonna Descrizione Azione Per arrestare un aggiornamento tramite push in corso è possibile fare clic su Interrompi. 92 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Per visualizzare la cronologia degli aggiornamenti tramite push: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push Colonna Descrizione Data iniziale L'ora e la data di inizio pianificate per l'aggiornamento tramite push. Stato Lo stato dell'aggiornamento tramite push, sia che esso sia pianificato, in corso, completato, interrotto o completato con errori. Destinazione Il nome dell'organizzazione a cui è indirizzato l'aggiornamento tramite push. In presenza di più organizzazioni, questo campo mostra solo la prima organizzazione dell'area di attesa, seguita dal totale delle organizzazioni selezionate. Fare clic su questo link per ulteriori informazioni sull'aggiornamento tramite push di destinazione e ogni singola organizzazione. Versione Il numero di versione del pacchetto che è stato aggiornato tramite push. IN QUESTA SEZIONE: Visualizzazione dei dettagli degli aggiornamenti tramite push Visualizzazione della cronologia degli aggiornamenti di un'organizzazione VEDERE ANCHE: Visualizzazione dei dettagli degli aggiornamenti tramite push Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti Visualizzazione dei dettagli degli aggiornamenti tramite push Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. Per informazioni su uno specifico aggiornamento tramite push inviato dall'organizzazione, da Imposta immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Fare clic sul nome del pacchetto da visualizzare e quindi su Aggiornamenti tramite push. Se si fa clic sul nome di una Destinazione viene visualizzata la pagina Dettagli aggiornamenti tramite push, che contiene informazioni sul processo di aggiornamento tramite push e su ogni organizzazione destinataria. La sezione Dettagli processo contiene le seguenti informazioni sull'aggiornamento tramite push complessivo (in ordine alfabetico): Campo Descrizione Data finale L'ora e la data in cui è terminato l'aggiornamento tramite push. 93 EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Per visualizzare i dettagli degli aggiornamenti tramite push: • "Carica pacchetti AppExchange" Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push Campo Descrizione Ignora errori dei test Apex Se gli errori dei test Apex in grado di compromettere il corretto funzionamento dell'applicazione installata sono stati ignorati. Pianificato da Il nome dell'utente che ha avviato l'aggiornamento tramite push. Data iniziale L'ora e la data di inizio pianificate per l'aggiornamento tramite push. Stato Lo stato dell'aggiornamento tramite push, sia che esso sia pianificato, in corso, completato, interrotto o completato con errori. Versione Il numero di versione del pacchetto che è stato aggiornato tramite push. Nella sezione Organizzazioni, è possibile ottenere un elenco di tutte le organizzazioni che hanno ricevuto un aggiornamento tramite push. È possibile filtrare le organizzazioni immettendo nella casella di ricerca un termine di filtro basato sul nome o sull'ID di un'organizzazione. I nomi possono corrispondere in base alla stringa parziale, ma gli ID devono corrispondere esattamente. Dall'elenco a discesa è anche possibile eseguire un filtro in base allo stato dell'aggiornamento tramite push. L'elenco contiene le seguenti informazioni specifiche di ogni organizzazione (in ordine alfabetico): Campo Descrizione Durata Il tempo impiegato per eseguire l'aggiornamento tramite push. Tipo di errore Elenca il tipo di errore che si è verificato (se presente). Se l'aggiornamento tramite push non è riuscito, nella sezione comprimibile viene fornita una possibile spiegazione. Se l'aggiornamento tramite push non è riuscito, fare clic su Riprova per riprovare. ID organizzazione L'ID che identifica in modo univoco l'organizzazione in Salesforce. Nome organizzazione Il nome dell'organizzazione. Se si fa clic su questo nome viene visualizzata la cronologia degli aggiornamenti dell'organizzazione. Inizio L'ora e la data di inizio pianificate per l'aggiornamento tramite push. Stato Lo stato dell'aggiornamento tramite push, sia che esso sia pianificato, in corso, completato, interrotto o completato con errori. VEDERE ANCHE: Visualizzazione della Cronologia aggiornamenti tramite push Pianificazione degli aggiornamenti tramite push Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti 94 Creazione di pacchetti di applicazioni e loro distribuzione Pianificazione degli aggiornamenti tramite push Visualizzazione della cronologia degli aggiornamenti di un'organizzazione Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. Per ulteriori informazioni su una specifica organizzazione che ha ricevuto un aggiornamento tramite push, da Imposta immettere Pacchetti nella casella Ricerca veloce, quindi selezionare Pacchetti. Fare clic sul nome del pacchetto da visualizzare e quindi sul nome di una Destinazione. Facendo clic su un'organizzazione nell'elenco delle destinazioni vengono visualizzati i seguenti dettagli (in ordine alfabetico): EDIZIONI Disponibile nelle versioni: Salesforce Classic Disponibile nella versione: Developer Edition AUTORIZZAZIONI UTENTE Campo Descrizione Versione corrente La versione corrente del pacchetto installato da un'organizzazione. ID organizzazione L'ID che identifica in modo univoco l'organizzazione in Salesforce. Nome organizzazione Il nome dell'organizzazione. Referente principale Il nome del referente che ha installato il pacchetto. Indirizzo email referente principale L'indirizzo email dell'autore pubblicazione del pacchetto. Stato Lo stato dell'aggiornamento tramite push, sia che esso sia pianificato, in corso, completato, interrotto o completato con errori. Per visualizzare la cronologia degli aggiornamenti tramite push: • "Carica pacchetti AppExchange" L'elenco Cronologia aggiornamenti tramite push visualizza le seguenti informazioni (in ordine alfabetico): Campo Descrizione Azione Fare clic su Visualizza dettagli per visualizzare i dettagli del processo di aggiornamento. Data iniziale L'ora e la data di inizio pianificate per l'aggiornamento tramite push. Stato Lo stato dell'aggiornamento tramite push, sia che esso sia pianificato, in corso, completato, interrotto o completato con errori. 95 Creazione di pacchetti di applicazioni e loro distribuzione Domande frequenti sulla pubblicazione di pacchetti Campo Descrizione Versione Il numero di versione del pacchetto che è stato aggiornato tramite push. VEDERE ANCHE: Visualizzazione dei dettagli degli aggiornamenti tramite push Visualizzazione della Cronologia aggiornamenti tramite push Creazione e caricamento di patch Pianificazione degli aggiornamenti tramite push Preparazione delle applicazioni per la distribuzione Gestione delle versioni Pubblicazione degli aggiornamenti ai pacchetti gestiti Procedure consigliate per aggiornamenti tramite push e versioni patch Nota: le versioni patch e gli aggiornamenti tramite push sono disponibili solo per i partner ISV Salesforce. EDIZIONI Quando si pianifica un aggiornamento tramite push, prestare attenzione alle seguenti procedure consigliate: Disponibile nelle versioni: Salesforce Classic • Pianificare gli aggiornamenti tramite push negli orari di attività ridotta dei clienti e non durante le sessioni di rilascio principali di Salesforce per ridurre il più possibile il potenziale impatto sugli abbonati. Disponibile nella versione: Developer Edition • Evitare di apportare modifiche alle regole di convalida, ai campi formula e agli errori rilevati dai trigger Apex, in quanto possono influire negativamente sulle integrazioni degli abbonati. AUTORIZZAZIONI UTENTE • Le pagine Visualforce che vengono aggiornate durante un aggiornamento tramite push possono perdere lo stato di visualizzazione se viene modificata la pagina o il controller. Quando si crea una versione patch, prestare attenzione alla seguente procedura consigliata aggiuntiva: • Non apportare modifiche visibili al pacchetto in una patch. A parte la modifica del numero di versione del pacchetto, gli abbonati non vengono informati degli aggiornamenti tramite push. Per eseguire un aggiornamento tramite push o creare un'organizzazione di sviluppo patch: • "Carica pacchetti AppExchange" Domande frequenti sulla pubblicazione di pacchetti EDIZIONI IN QUESTA SEZIONE: Disponibile nelle versioni: Salesforce Classic Come vengono classificati i pacchetti? Quali tipi di elementi è possibile pubblicare? Disponibile nelle versioni: Group Edition, Professional Edition, Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition 96 Creazione di pacchetti di applicazioni e loro distribuzione Assistenza agli abbonati dell'applicazione Come vengono classificati i pacchetti? Su AppExchange vengono pubblicati commenti e valutazioni analoghi a quelli reperibili sulla maggior parte dei siti Internet per consumatori. Questo consente alla comunità di utenti di Salesforce di determinare il grado di utilità di un pacchetto. Quali tipi di elementi è possibile pubblicare? È possibile pubblicare qualsiasi raccolta di componenti (schede, rapporti e cruscotti digitali) che risponde a una specifica esigenza aziendale. Tali componenti possono essere raggruppati in un pacchetto e pubblicati congiuntamente. . A prescindere dai componenti aggiunti al pacchetto, i dati dell'utente non vengono mai inclusi. Assistenza agli abbonati dell'applicazione Assistenza ai clienti Chi pubblica applicazioni è responsabile dell'assistenza agli utenti finali per tutti i propri elenchi. Quando i clienti si rivolgono all'assistenza clienti Salesforce per porre domande su un determinato elenco, vengono rimandati al contenuto delle schede Informazioni e Assistenza presenti nell'elenco. Verificare che gli elenchi di AppExchange contengano informazioni relative all'assistenza. Se è stata installata l'applicazione di gestione delle licenze (LMA) è possibile accedere all'organizzazione di un cliente e fornire assistenza amministrativa. Questa funzione è disponibile solo per i pacchetti gestiti che hanno superato i controlli di protezione. Per ulteriori informazioni, vedere Accesso alle organizzazioni abbonato. Organizzazioni abbonato Questa pagina mostra un elenco di organizzazioni abbonato con il pacchetto installato. Per trovare rapidamente un'organizzazione abbonato, digitare il nome abbonato o l'ID organizzazione nella casella di ricerca e fare clic su Cerca. Fare clic sul nome di un'organizzazione abbonato per visualizzare informazioni dettagliate su di essa. Nota: in questo elenco compariranno solo gli abbonati che hanno installato almeno un pacchetto gestito e collegato alla propria LMA. AUTORIZZAZIONI UTENTE Per accedere alle organizzazioni abbonato: • "Accedi all'organizzazione abbonato" Visualizzazione dei dettagli degli abbonati La pagina Panoramica abbonati, a cui si accede facendo clic sul nome dell'organizzazione dalla scheda Abbonati dell'LMA, fornisce informazioni dettagliate su ogni organizzazione abbonato. Consente di vedere in dettaglio in che modo un cliente sta utilizzando l'applicazione e può essere utile per la risoluzione dei problemi. In Dettagli organizzazione: • Il nome e le informazioni di contatto sono visualizzabili da Imposta nella pagina Informazioni sulla società dell'organizzazione dell'abbonato. Possono non corrispondere alle informazioni visualizzate nei record lead, account o referente dell'LMA. • L'ID organizzazione è un ID univoco che identifica l'organizzazione Salesforce di questo cliente. 97 AUTORIZZAZIONI UTENTE Per accedere alle organizzazioni abbonato: • "Accedi all'organizzazione abbonato" Creazione di pacchetti di applicazioni e loro distribuzione Richieste di accesso • L'istanza determina in quale centro dati Salesforce risiede l'organizzazione del cliente. Determina inoltre quando il cliente riceverà un aggiornamento a una nuova versione di Salesforce. Vedere trust.salesforce.com durante il periodo di rilascio per stabilire quale versione di Salesforce sta utilizzando il cliente. La pagina include anche questi elenchi correlati. Limiti Informazioni sullo spazio file, lo spazio dati e il numero di richieste API associate a quel cliente, sotto forma di percentuale. Accesso concesso Un elenco di utenti che hanno concesso l'accesso e la data di scadenza dell'accesso. Pacchetti e licenze Un elenco dei pacchetti installati nell'organizzazione e associati a questa applicazione di gestione licenze (LMA). Per ogni pacchetto sono visualizzati la versione dell'applicazione utilizzata attualmente da un cliente, il numero totale di licenze fornite all'abbonato e il numero di licenze che questi ha utilizzato. Queste informazioni devono corrispondere al record licenza dell'abbonato nella LMA. Richieste di accesso Chiedere all'utente di accedere alle proprie impostazioni personali e fare clic su Concedi accesso account o Concedi accesso, a seconda di ciò che viene visualizzato, per concedere l'accesso. Se l'autore della pubblicazione non è indicato in questa pagina, il motivo può essere uno dei seguenti: • Un amministratore di sistema ha disabilitato la facoltà di concedere l'accesso degli utenti non amministratori. • L'utente non dispone della licenza per il pacchetto. • Il pacchetto è concesso in licenza a tutta l'organizzazione. Solo gli amministratori con l'autorizzazione "Gestisci utenti" abilitata nel loro profilo possono concedere l'accesso. • La preferenza dell'organizzazione Gli amministratori possono accedere sotto forma di qualsiasi utente è abilitata. Nota: Se la preferenza dell'organizzazione Gli amministratori possono accedere sotto forma di qualsiasi utente non è abilitata, l'accesso viene concesso per un tempo limitato e l'abbonato può revocarlo in qualsiasi momento. Tutte le modifiche apportate durante la sessione in qualità di abbonato vengono registrate nell'itinerario di controllo. Accesso alle organizzazioni abbonato Disponibile nelle versioni: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition Nota: questa funzione è disponibile solo nelle organizzazioni con licenza Salesforce Completo. Per accedere, dopo che un utente ha concesso il diritto di accesso: AUTORIZZAZIONI UTENTE Per accedere alle organizzazioni abbonato: • "Accedi all'organizzazione abbonato" 1. Nell'applicazione di gestione delle licenze (LMA), fare clic sulla scheda Abbonati. 2. Per trovare rapidamente un'organizzazione abbonato, digitare il nome abbonato o l'ID organizzazione nella casella di ricerca e fare clic su Cerca. 3. Fare clic sul nome dell'organizzazione abbonato. 4. Nella pagina Dettagli organizzazione, fare clic su Accedi accanto al nome di un utente. Tenere presente che si dispone delle stesse autorizzazioni dell'utente con il cui profilo si è effettuato l'accesso. 98 Creazione di pacchetti di applicazioni e loro distribuzione Risoluzione dei problemi nelle organizzazioni di un abbonato 5. Una volta terminate le operazioni di risoluzione dei problemi, da Imposta, fare clic su Torna a Panoramica abbonati per tornare alla propria organizzazione. Nota: In questo elenco compariranno solo gli abbonati che hanno installato almeno un pacchetto gestito collegato alla propria LMA. Procedure consigliate • Quando si accede a un'organizzazione abbonato si viene disconnessi dalla propria LMO (organizzazione di gestione licenze). Per evitare la disconnessione automatica dalla propria LMO quando si accede a un'organizzazione abbonato è possibile impostare un dominio personale. Per impostare un dominio personale, da Imposta, immettere Dominio personale nella casella Ricerca veloce, quindi selezionare Dominio personale. • Concedere l'accesso all'organizzazione di un abbonato solo a personale tecnico e di assistenza affidabile. Poiché questa funzione può prevedere l'accesso completo in lettura/scrittura ai dati e alle configurazioni di un cliente, garantire la sicurezza di queste informazioni è essenziale per tutelare la propria reputazione. • Per controllare gli utenti che possono accedere, assegnare l'autorizzazione utente "Accedi all'organizzazione abbonato" a personale di assistenza specifico tramite un profilo o un insieme di autorizzazioni. Risoluzione dei problemi nelle organizzazioni di un abbonato Quando si accede come utente nell'organizzazione di un abbonato, è possibile generare registri debug Apex che contengono il risultato dei pacchetti gestiti, incluso l'accesso che normalmente non sarebbe esposto all'abbonato. Con queste informazioni di accesso, è possibile risolvere i problemi specifici dell'organizzazione di quell'abbonato. 1. Avvio della Developer Console 2. Eseguire le operazioni e visualizzare il registro debug con il risultato. Se l'utente dispone dell'accesso, impostare un Registro debug: Da Imposta, immettere Registri debug nella casella Ricerca veloce, quindi selezionare Registri debug. Tenere presente che gli abbonati non saranno in grado di visualizzare i registri impostati o generati dall'utente, dal momento che essi contengono l'Apex code non offuscato. Inoltre, è possibile visualizzare e modificare i dati contenuti nelle impostazioni personalizzate protette dai propri pacchetti gestiti quando si è effettuato l'accesso come utente. 99 INDICE ANALITICO A Accesso 97, 99 Accesso API nei pacchetti 47 Aggiornamenti tramite push dettagli 92 dettagli dei processi 93 dettagli dell'organizzazione 95 pianificazione 90 Ambito operativo 53 Apex accesso da pacchetti 47 dipendenze 53 modifica accesso dai pacchetti AppExchange 50 API accesso da pacchetti 47 download di WSDL Enterprise 52 modifica accesso dai pacchetti AppExchange 50 versioni predefinite del pacchetto 46 AppExchange accesso API nei pacchetti 47 aggiunta di componenti 13 assegnazione di autori pubblicazione 72 caricamento di pacchetti 74 caricamento di patch 89 creazione di pacchetti 12, 46, 65–66, 68–71, 74 creazione di patch 89 eliminazione di componenti 44 gestione dei caricamenti 88 gestione dei pacchetti 10 Guida personalizzata 71 immagine aziendale 78–79 immagine aziendale email 80–82 immagine aziendale per accesso 79–80 impostazioni sviluppatore 10 modifica accesso API nei pacchetti 50 pacchetti gestiti 7 progettazione applicazioni 28 sviluppo documentazione applicazioni 71 tipi di rilascio per pacchetti gestiti 11 versioni di pacchetti gestiti 11 Applicazioni caricamento 74 Pacchetti 28 comportamento dei componenti 28 Applicazioni (continua) Pacchetti gestiti 28 comportamento dei componenti 28 Pacchetti non gestiti 28 comportamento dei componenti 28 processo di sviluppo 41 progettazione 28 Assistenza abbonato 97, 99 Assistenza agli utenti 97 Assistenza agli utenti finali 97 C creazione di registrazioni mediante l'API 83 D Dipendenze descrizione 53 Domande frequenti classificazione dei pacchetti 97 pubblicazione 97 G Guida personalizzata applicazioni AppExchange 71 I Impostazioni sviluppatore configurazione 8 License Manager 10 prefisso spazio dei nomi 9 Integrazione download di WSDL Enterprise 52 pacchetti gestiti 46, 52 versioni predefinite del pacchetto 46 P Pacchetti aggiornamenti tramite push, pianificazione 90 aggiunta di componenti 13 assistenza agli utenti 97 caricamento 74 componenti inseribili in pacchetti 13, 18 componenti non utilizzati 45 componenti protetti 18 100 Indice analitico Pacchetti (continua) comportamento dei componenti 21 creazione 12, 46, 65–66, 68–71, 74 dipendenze 53 distribuzione 1 eliminazione di componenti 44 errori dei test, risoluzione 65 immagine aziendale 78–82 impostazioni sviluppatore 10 insiemi di autorizzazioni e impostazioni dei profili 39 non gestiti e gestiti 1 preparazione delle applicazioni 1 script di disinstallazione 69–70 script post installazione 65–66, 68 Pacchetti gestiti abilitazione 6 aggiornamenti tramite push 90 aggiornamenti tramite push, procedure consigliate 96 componenti inseribili in pacchetti 13, 18 componenti protetti 18 comportamento dei componenti 21 conversione 73 download di WSDL Enterprise 52 estensioni 86 informazioni su 7 pianificazione 42 pubblicazione degli aggiornamenti 87 tipi di rilascio 11 versioni 11 versioni patch, procedure consigliate 96 versioni predefinite del pacchetto 46 Pacchetti non gestiti componenti inseribili in pacchetti 18 componenti protetti 18 Prefisso spazio dei nomi 10 Procedure consigliate aggiornamenti tramite push 96 versioni patch 96 R Richiesta di registrazione creazione 84 Richieste di registrazione pagina iniziale 84 visualizzazione dettagli 84 T Trialforce creazione di un'organizzazione di prova 83 registrazione 83 V Versioni patch caricamento 89 creazione 89 Visualforce dipendenze 53 W WSDL download 52 101