Presto disponibile su Salesforce AppExchange

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

ElementoCosa fa
Componente DateScegli 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 TimeDate 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 BookingPrenota sale, attrezzature, veicoli o persone (qualsiasi oggetto, compreso User) con capacità, orari lavorativi, giorni bloccati e regole di prenotazione.
Configurazione guidataUna scheda Lightning che scrive le configurazioni, con anteprima dal vivo e importazione ed esportazione in JSON.
Azioni di flussoParse Date Entries from JSON e Format MultiDatePick Time Range, per i flussi che salvano i record da soli.
Set di autorizzazioniMultiDatePick - 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:

OutputTipoContenuto
Selected DatesRaccolta di testoOgni data scelta nel formato YYYY-MM-DD. Cicla su di essa per creare un record per data.
Date Ranges JSONTestoGli intervalli scelti, ciascuno con data di inizio e di fine, quando Output Date Ranges as JSON è attivo.
Dates With Times JSONTestoComponente Date Time: ogni data con la sua ora di inizio e di fine.
Successful Bookings CountNumeroComponente 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 ApexCampi
MultiDatePickEntryCollectiondata (le voci), totalCount, success, errorMessage
MultiDatePickEntryfromDate, 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

  1. Crea e testa in una sandbox con la configurazione guidata.
  2. Sposta la configurazione: distribuisci i suoi record Config__mdt e Config_Extension__mdt con il tuo strumento abituale, oppure esportala in JSON dalla configurazione guidata e importala in produzione.
  3. Sposta la pagina o il flusso che la usa. I posizionamenti fanno riferimento alla configurazione per nome, quindi non cambia nient'altro.
  4. 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.