MultiDatePick per sviluppatori e architetti Salesforce
Come si inserisce il calendario nella tua organizzazione: dove vivono le impostazioni, cosa restituisce un flusso su schermo, i tipi Apex su cui i tuoi flussi possono ciclare, come funziona la sicurezza e come spostare le configurazioni tra organizzazioni.
MultiDatePick è pensato perché gli amministratori non abbiano mai bisogno di uno sviluppatore. Questa pagina è per le volte in cui uno sviluppatore o un architetto è coinvolto comunque: per valutare il pacchetto, costruire flussi attorno al calendario o portarne la configurazione da una sandbox all'altra.
Cosa contiene il pacchetto
| Elemento | Cosa fa |
|---|---|
| Componente Date | Scegli più date, trascina intervalli, aggiungi schemi ricorrenti. Salva un record per data o per intervallo, oppure restituisce le date a un flusso su schermo. |
| Componente Date Time | Date più fasce orarie, condivise o diverse per ogni data, con controllo dei conflitti. Salva un record per data, per blocco orario, oppure un record padre con sub-block. |
| Componente Booking | Prenota sale, attrezzature, veicoli o persone (qualsiasi oggetto, compreso User) con capacità, orari lavorativi, giorni bloccati e regole di prenotazione. |
| Configurazione guidata | Una scheda Lightning che scrive le configurazioni, con anteprima dal vivo e importazione ed esportazione in JSON. |
| Azioni di flusso | Parse Date Entries from JSON e Format MultiDatePick Time Range, per i flussi che salvano i record da soli. |
| Set di autorizzazioni | MultiDatePick - Setup, MultiDatePick - User, MultiDatePick - All Access e MultiDatePick - Guest per i siti pubblici. |
Dove vivono le impostazioni
Ogni configurazione salvata è un record di metadati personalizzati (Custom Metadata): Config__mdt contiene le impostazioni, e Config_Extension__mdt contiene quelle più recenti in formato JSON in Settings__c. Un posizionamento su una pagina o su una schermata di flusso indica la sua configurazione in Config Name; qualsiasi proprietà impostata anche sul posizionamento sostituisce i valori di testo e numerici della configurazione.
- Distribuibili: le configurazioni sono metadati, quindi si spostano con i set di modifiche, la Salesforce CLI o la tua pipeline CI/CD come qualsiasi altro metadato.
- Portabili: la configurazione guidata esporta una configurazione in JSON e la importa in un'altra organizzazione, mappando ogni oggetto o campo che lì manca.
- Verificabili: un record per configurazione, leggibile in Imposta, così ogni modifica compare in un diff.
I tuoi dati restano tuoi
Il calendario legge e scrive i tuoi oggetti. Non c'è un modello dati MultiDatePick da sincronizzare, nessun servizio esterno e nessun callout: le scelte diventano normali record sull'oggetto che scegli, con i campi che mappi (data, data di fine, ora di inizio e di fine, stato, nome, risorsa). Trigger, flussi, regole di convalida e report su quegli oggetti continuano a funzionare come sempre.
Output dei flussi su schermo
Inserisci un componente in una schermata di flusso, imposta Config Name e leggi questi valori dopo la schermata:
| Output | Tipo | Contenuto |
|---|---|---|
| Selected Dates | Raccolta di testo | Ogni data scelta nel formato YYYY-MM-DD. Cicla su di essa per creare un record per data. |
| Date Ranges JSON | Testo | Gli intervalli scelti, ciascuno con data di inizio e di fine, quando Output Date Ranges as JSON è attivo. |
| Dates With Times JSON | Testo | Componente Date Time: ogni data con la sua ora di inizio e di fine. |
| Successful Bookings Count | Numero | Componente Booking: quante prenotazioni ha creato il salvataggio. |
Passa un record in Parent Record Id e il calendario mostra le date già presenti su quel record e può salvarne di nuove da solo. Se preferisci che sia il flusso a salvare, scegli Il mio flusso le salva nella configurazione guidata: il calendario nasconde il proprio pulsante Salva e passa le scelte al flusso.
Ciclare sulle scelte in un flusso
Per gli output JSON, l'azione Parse Date Entries from JSON trasforma il testo in una raccolta su cui il flusso può ciclare, senza scrivere Apex:
| Tipo definito da Apex | Campi |
|---|---|
MultiDatePickEntryCollection | data (le voci), totalCount, success, errorMessage |
MultiDatePickEntry | fromDate, toDate, startTime, endTime, resourceId, resourceName, bookingStatus, relatedRecordId, label |
La guida ai flussi su schermo spiega il ciclo passo per passo, e l'articolo sui cicli nei flussi include tre flussi di partenza che puoi distribuire con VS Code.
Modello di sicurezza
- Ogni query e salvataggio viene eseguito in modalità utente: autorizzazioni sugli oggetti, protezione a livello di campo e condivisione si applicano alla persona che usa il calendario, compresi gli utenti guest sui siti pubblici.
- Nulla esce dall'organizzazione: nessun callout, nessun server esterno, nessun subresponsabile del trattamento.
- Ha superato la Salesforce Security Review. Dettagli nella pagina Affidabilità e sicurezza.
- Accessibilità: un report VPAT 2.5 rispetto a WCAG 2.1 A e AA, nella pagina Accessibilità.
Portare una configurazione dalla sandbox alla produzione
- Crea e testa in una sandbox con la configurazione guidata.
- Sposta la configurazione: distribuisci i suoi record
Config__mdteConfig_Extension__mdtcon il tuo strumento abituale, oppure esportala in JSON dalla configurazione guidata e importala in produzione. - Sposta la pagina o il flusso che la usa. I posizionamenti fanno riferimento alla configurazione per nome, quindi non cambia nient'altro.
- Assegna i set di autorizzazioni alle persone che lo usano, e MultiDatePick - Guest sui siti pubblici.
Le domande degli sviluppatori
Devo scrivere Apex per usare MultiDatePick?
No. I componenti caricano e salvano i record da soli, e i flussi che salvano per conto proprio usano l'azione inclusa nel pacchetto Parse Date Entries from JSON al posto di codice Apex personalizzato.
Le configurazioni possono passare per una pipeline CI/CD?
Sì. Ogni configurazione è un record di metadati personalizzati (Config__mdt, più Config_Extension__mdt per le impostazioni più recenti), quindi si distribuisce come qualsiasi altro metadato.
MultiDatePick aggiunge oggetti per i miei dati?
No. Salva sugli oggetti che scegli tu, quindi record, automazioni e report restano dove sono.
Come gestisce fusi orari e lingue?
Date e orari seguono il fuso orario e le impostazioni internazionali Salesforce di ciascun utente, e l'interfaccia è tradotta in nove lingue.