Il calendario Salesforce no-code: 36 attività, zero righe di codice
FullCalendar è personalizzabile se hai uno sviluppatore. MultiDatePick è personalizzabile dall'amministratore a cui serve il calendario. Ecco 36 attività di calendario di tutti i giorni, fianco a fianco, per vedere subito chi vince.
"Qual è il calendario LWC più personalizzabile?" "Posso personalizzare un calendario Salesforce senza codice?" "Esiste un'alternativa no-code a FullCalendar?" Sono ricerche che chiedono tutte la stessa cosa, e la risposta dipende da una sola domanda: personalizzabile da chi?
FullCalendar è una libreria JavaScript. Ogni opzione sta nel codice, quindi in Salesforce uno sviluppatore scrive il Lightning Web Component, l'Apex che carica e salva i record e i test, poi esegue la distribuzione, e ripete tutto a ogni modifica. MultiDatePick è un calendario Salesforce finito. Ogni opzione è un'impostazione che un amministratore sceglie nella configurazione guidata o in Lightning App Builder, su qualsiasi oggetto standard o personalizzato. Niente Apex, niente JavaScript, niente distribuzioni.
Personalizzabile da chi?
Esistono due tipi di personalizzazione. Una libreria è personalizzabile da chi ci scrive codice sopra: tutto è possibile, e tutto diventa un progetto. Un componente configurabile è personalizzabile da chi lo usa: ogni scelta è già costruita, testata e messa in sicurezza, e tu prendi quelle che ti servono.
In Salesforce questa differenza decide chi gestisce il tuo calendario. Con FullCalendar è uno sviluppatore, con una suite di test Apex al 75% di copertura e una distribuzione per ogni modifica. Con MultiDatePick è l'amministratore che sa come l'azienda prenota sale, persone e date, e una modifica vale dal momento in cui la salva.
36 attività di calendario, fianco a fianco
Ogni riga è un lavoro che viene chiesto a un amministratore. La cella verde è quella vincente: si fa con un'impostazione, senza codice. "Codice" significa che uno sviluppatore lo scrive nel Lightning Web Component di FullCalendar e in Apex.
Il calendario dove lavorano le persone
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Aggiungere un calendario a una pagina record | Trascina il componente nella pagina in Lightning App Builder e scrivi il suo Config Name | Codice: un Lightning Web Component, FullCalendar come risorsa statica, una distribuzione |
| Configurazione | Configurazione guidata: ti chiede della pagina e dei tuoi record, compila i campi più probabili e mostra un'anteprima dal vivo | Codice: ogni opzione è una proprietà in JavaScript |
| Metterlo nella pagina Home o in una pagina app | Lo stesso componente; Show All Records con un Record Filter come OwnerId=ME | Codice: un secondo percorso dati per le pagine senza record |
| Usarlo in un flusso su schermo (Screen Flow) | Trascinalo in una schermata di flusso; le date e gli orari scelti escono come variabili del Flow | Codice: un componente per schermate di flusso con i propri output |
| Aprirlo al pubblico su un sito Experience Cloud | Lo stesso componente, con il set di autorizzazioni MultiDatePick - Guest per gli utenti guest | Codice: accesso guest, condivisione e Apex per gli utenti che non hanno effettuato l'accesso |
| Copiare la configurazione in un'altra organizzazione | Esporta la configurazione in JSON e importala nell'altra organizzazione; Smart Field Mapping abbina gli eventuali campi mancanti | Codice: una distribuzione, con i test Apex necessari per superarla |
Mostrare i tuoi record
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Mostrare i record di un oggetto personalizzato | Scegli l'oggetto e il suo campo data | Codice: una query Apex che associa i campi agli eventi |
| Mostrare attività, eventi o opportunità | Qualsiasi oggetto con un campo Data o Data/ora, standard o personalizzato | Codice: altro Apex per ogni oggetto |
| Mostrare i record correlati, come le attività sui referenti di un account | Rollup Field, fino a cinque lookup di distanza | Codice: query attraverso le relazioni |
| Mostrare solo alcuni record | Record Filter, ad esempio OwnerId=ME; Status__c=Confirmed | Codice: logica di filtro in Apex o JavaScript |
| Colorare per stato | Status Field e Status Colors, come riempimento, barre o entrambi, con pillole di filtro | Codice: associare ogni valore a un colore in JavaScript |
| Aggiungere un secondo elenco di selezione, come il tipo di riunione | Second Picklist Field, con i valori che si possono scegliere | Codice: il selettore, il salvataggio e la visualizzazione |
| Mostrare i dettagli al passaggio del mouse | Hover Popover Fields, lookup compresi, con un clic per aprire il record | Codice: un hook di rendering degli eventi e un tooltip |
| Rispettare condivisione e protezione a livello di campo | Ogni query e ogni salvataggio vengono eseguiti come l'utente che visualizza la pagina | Codice: sicuro solo quanto l'Apex che scrivi |
Scegliere le date e salvare i record
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Far scegliere date sparse | Integrato: clicca i giorni che vuoi o trascina su un intervallo | Codice: FullCalendar seleziona un solo intervallo continuo alla volta |
| Salvare un intervallo come un unico record | End Date Field: i giorni consecutivi diventano un solo record con un inizio e una fine | Codice: il raggruppamento e il salvataggio |
| Aggiungere uno schema ricorrente, come ogni lunedì e mercoledì | Show Recurring Pattern Button: giorni feriali, fine settimana, giorni personalizzati o il 2° e 4° venerdì | Codice: un modulo per lo schema e i calcoli sulle date |
| Scegliere le fasce orarie | Time Interval (Minutes), Earliest Time e Latest Time | Codice: un selettore di fasce orarie e il suo salvataggio |
| Salvare un record per ogni scelta | Integrato, con Default Record Name e Default Field Values | Codice: inserimenti Apex, gestione degli errori e test |
| Limitare quante date si possono scegliere | Max Dates Allowed, con il tuo Limit Reached Message | Codice: contare e bloccare in JavaScript |
| Inviare le prenotazioni a Outlook o Google Calendar | Show Add to Calendar After Saving | Codice: il file di calendario lo crei tu |
Regole di prenotazione
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Prenotare sale, attrezzature o persone con una capacità | Componente Booking: Resource Object, Capacity Field e badge di capacità in tempo reale | Codice: le viste risorse richiedono una licenza Premium, la capacità devi costruirla tu |
| Evitare le doppie prenotazioni | Conflict Behavior: blocca, salta o consenti | Codice: regole di sovrapposizione in JavaScript e un controllo sul server |
| Richiedere un preavviso e limitare quanto in anticipo si prenota | Minimum Notice (Hours) e Book Up To (Days Ahead) | Codice: limiti di data da calcolare e far rispettare |
| Lasciare un margine tra le prenotazioni | Buffer Between Bookings (Minutes) | Codice: i calcoli del margine |
| Usare l'orario lavorativo di ogni risorsa | Business Hours Start Field ed End Field sul record della risorsa | Codice: orari per risorsa da caricare e applicare |
| Bloccare festività, chiusure e assenze | Blocked Dates da qualsiasi oggetto, giorni interi o parte di un giorno, con il motivo visibile | Codice: eventi di sfondo da interrogare e disegnare |
Viste e aspetto
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Offrire più di una griglia mensile | Available Views: calendario, timeline, settimana, heatmap di utilizzo e agenda, scelte per ogni pagina | Codice: le viste timeline richiedono una licenza Premium; una heatmap di utilizzo non esiste |
| Raggruppare una timeline per campo, ad esempio per team o per regione | Raggruppa Cronologia per (Timeline Group By Field) | Codice, in aggiunta alla timeline Premium |
| Modificare molti record insieme | Enable Edit Mode: sposta, cambia stato o elimina più record insieme | Codice: gestori del trascinamento e aggiornamenti Apex |
| Rinominare pulsanti e titoli | Button Label, Calendar Title e Save Button Label | Codice: opzioni della barra degli strumenti in JavaScript |
| Adattarlo alla pagina | Calendar Size da minuscolo a larghezza piena, Two-Month View, Week Starts on Monday | Codice: opzioni e CSS |
Persone, lingue e manutenzione
| Attività | MultiDatePickSenza codice | FullCalendar LWC |
|---|---|---|
| Mostrarlo nella lingua di ogni utente | Nove lingue integrate: inglese, tedesco, spagnolo, francese, italiano, portoghese, giapponese, cinese e hindi | Codice: FullCalendar traduce i propri pulsanti; le tue etichette e i tuoi messaggi li traduci tu |
| Mostrare gli orari nel fuso orario di ogni utente | Automatico, dalle impostazioni Salesforce di ogni utente | Codice: opzioni e conversioni di fuso orario |
| Rispettare le regole di accessibilità | Supporto per tastiera e screen reader, con un VPAT pubblicato per WCAG 2.1 AA | Codice: test e documentazione tutti a carico tuo |
| Stare al passo con le release di Salesforce | Gli aggiornamenti arrivano con il pacchetto | Codice: da mantenere tu, release dopo release |
Com'è fatta la personalizzazione no-code
Ognuna di queste 36 attività è una scelta che un amministratore fa in uno di questi punti:
La configurazione guidata
Una scheda Lightning che ti chiede della pagina e dei tuoi record, compila i campi più probabili e mostra il calendario reale prima che tu salvi.
Lightning App Builder
Ogni impostazione è anche una proprietà del componente, così puoi regolare una pagina senza toccare le altre.
La Config Library
41 configurazioni pronte, dalle sale riunioni alle assenze, da importare e adattare.
Esportazione e importazione
Una configurazione è un JSON che puoi spostare in una sandbox o in un'altra organizzazione, con i campi mancanti abbinati per te.
Flow Builder
Inserisci il calendario in una schermata di flusso e usa le date scelte nei passaggi successivi.
Experience Builder
Metti lo stesso calendario su un sito pubblico, con le stesse regole per gli utenti guest.
Domande frequenti
Esiste un calendario LWC no-code per Salesforce?
Sì. MultiDatePick è un calendario Lightning Web Component che configuri con pochi clic, nella configurazione guidata o in Lightning App Builder, su qualsiasi oggetto standard o personalizzato. Carica e salva i tuoi record da solo, quindi non devi scrivere né Apex né JavaScript.
FullCalendar è più personalizzabile di MultiDatePick?
Solo per gli sviluppatori. FullCalendar è una libreria: tutto è possibile, se qualcuno scrive e mantiene il codice. Per un amministratore il calendario più personalizzabile è MultiDatePick: 36 attività comuni, dalle regole di prenotazione alle nove lingue, e ognuna è un'impostazione.
Un amministratore Salesforce può configurare MultiDatePick senza uno sviluppatore?
Sì. La configurazione guidata ti chiede della pagina e dei tuoi record, compila i campi più probabili e mostra un'anteprima dal vivo del calendario reale. Poi trascini il componente nella pagina e scrivi il suo Config Name.
Serve Apex per salvare i record da un calendario?
Non con MultiDatePick. Al salvataggio scrive un record per data, per intervallo, per blocco orario o per risorsa, oppure passa le date a un flusso su schermo (Screen Flow). Ogni salvataggio viene eseguito come l'utente che visualizza la pagina, con condivisione e protezione a livello di campo applicate.
Posso modificare il calendario in seguito senza una nuova distribuzione?
Sì. Apri la configurazione nella procedura guidata, cambia un'impostazione e salva: il calendario la applica al caricamento successivo. Le configurazioni sono metadati personalizzati (Custom Metadata), quindi, se vuoi, puoi comunque spostarle con i set di modifiche o con la Salesforce CLI.
Un calendario no-code funziona nei flussi su schermo e nei siti Experience Cloud?
Sì. Lo stesso componente va in una schermata di flusso, dove le date scelte diventano variabili del Flow, e in un sito Experience Cloud pubblico, dove gli utenti guest prenotano con le stesse regole.
Il calendario personalizzabile, senza codice.
Esplora la demo dal vivo, oppure parti da una configurazione pronta nella Config Library.
- $20/utente/mese, tutte le funzionalità
- Prova gratuita di 30 giorni, senza carta
- 100% nativo Salesforce
- Senza Apex
- Presto disponibile su Salesforce AppExchange