Der No-Code-Kalender für Salesforce: 36 Aufgaben, keine Zeile Code
FullCalendar lässt sich anpassen, wenn Sie einen Entwickler haben. MultiDatePick passt der Administrator an, der den Kalender braucht. Hier sind 36 alltägliche Kalenderaufgaben im direkten Vergleich, damit Sie den Sieger auf einen Blick sehen.
„Welcher LWC-Kalender lässt sich am besten anpassen?“ „Kann ich einen Salesforce-Kalender ohne Code anpassen?“ „Gibt es eine No-Code-Alternative zu FullCalendar?“ Hinter all diesen Suchen steckt dieselbe Frage, und die Antwort hängt an zwei Wörtern: anpassbar für wen?
FullCalendar ist eine JavaScript-Bibliothek. Jede Option steckt im Code, also schreibt in Salesforce ein Entwickler die Lightning Web Component, das Apex zum Laden und Speichern der Datensätze, die Tests und das Deployment, und das bei jeder Änderung aufs Neue. MultiDatePick ist ein fertiger Salesforce-Kalender. Jede Option ist eine Einstellung, die ein Administrator im Einrichtungsassistenten oder im Lightning App Builder wählt, auf jedem Standard- oder benutzerdefinierten Objekt. Kein Apex, kein JavaScript, kein Deployment.
Anpassbar für wen?
Anpassbar kann zweierlei heißen. Eine Bibliothek passen die Leute an, die Code dafür schreiben: Alles ist möglich, und alles wird zum Projekt. Eine konfigurierbare Komponente passen die Leute an, die sie nutzen: Jede Option ist schon gebaut, getestet und abgesichert, und Sie wählen die aus, die Sie brauchen.
In Salesforce entscheidet dieser Unterschied, wem Ihr Kalender gehört. Bei FullCalendar sind das ein Entwickler, eine Apex-Testsuite mit 75% Abdeckung und ein Deployment für jede Änderung. Bei MultiDatePick ist es der Administrator, der weiß, wie das Unternehmen seine Räume, Mitarbeiter und Termine bucht, und eine Änderung gilt, sobald er sie speichert.
36 Kalenderaufgaben im direkten Vergleich
Jede Zeile ist eine Aufgabe, die auf dem Tisch eines Administrators landet. Die grüne Zelle gewinnt: per Einstellung erledigt, ohne Code. „Code“ heißt: Ein Entwickler schreibt es in der Lightning Web Component und im Apex für FullCalendar.
Den Kalender dort einsetzen, wo gearbeitet wird
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| Einen Kalender auf einer Datensatzseite einfügen | Die Komponente im Lightning App Builder auf die Seite ziehen und ihren Config Name eintragen | Code: eine Lightning Web Component, FullCalendar als statische Ressource, ein Deployment |
| Einrichtung | Einrichtungsassistent: Er fragt nach der Seite und Ihren Datensätzen, füllt die naheliegenden Felder vor und zeigt eine Live-Vorschau | Code: jede Option eine Eigenschaft in JavaScript |
| Auf der Startseite oder einer App-Seite platzieren | Dieselbe Komponente; Show All Records mit einem Record Filter wie OwnerId=ME | Code: ein zweiter Datenweg für Seiten ohne Datensatz |
| In einem Bildschirm-Flow (Screen Flow) nutzen | Auf einen Flow-Bildschirm ziehen; die gewählten Termine und Uhrzeiten stehen als Flow-Variablen bereit | Code: eine Flow-Bildschirmkomponente mit eigenen Ausgaben |
| Öffentlich auf einer Experience Cloud-Site anbieten | Dieselbe Komponente, mit dem Berechtigungssatz MultiDatePick - Guest für Gastbenutzer | Code: Gastzugriff, Freigaben und Apex für nicht angemeldete Benutzer |
| Die Einrichtung in eine andere Org übernehmen | Die Konfiguration als JSON exportieren und in der anderen Org importieren; Smart Field Mapping ordnet fehlende Felder zu | Code: ein Deployment, samt Apex-Tests, die es bestehen muss |
Ihre eigenen Datensätze anzeigen
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| Datensätze aus einem benutzerdefinierten Objekt anzeigen | Objekt und Datumsfeld wählen | Code: eine Apex-Abfrage, die Felder auf Ereignisse abbildet |
| Aufgaben, Ereignisse oder Opportunities anzeigen | Jedes Objekt mit einem Datums- oder Datum/Uhrzeit-Feld, Standard oder benutzerdefiniert | Code: weiteres Apex für jedes Objekt |
| Verknüpfte Datensätze anzeigen, etwa Aufgaben an den Kontakten eines Accounts | Rollup Field, bis zu fünf Lookups entfernt | Code: Abfragen über Beziehungen hinweg |
| Nur bestimmte Datensätze anzeigen | Record Filter, etwa OwnerId=ME; Status__c=Confirmed | Code: Filterlogik in Apex oder JavaScript |
| Nach Status einfärben | Status Field und Status Colors, als Füllung, Balken oder beides, mit Filter-Pills | Code: jedem Wert in JavaScript eine Farbe zuordnen |
| Eine zweite Auswahlliste hinzufügen, etwa einen Besprechungstyp | Second Picklist Field, mit den Werten, die zur Wahl stehen | Code: die Auswahl, das Speichern und die Anzeige |
| Details beim Hover anzeigen | Hover Popover Fields, auch Lookups, ein Klick zum Datensatz | Code: ein Render-Hook für Ereignisse und ein Tooltip |
| Freigaben und Sicherheit auf Feldebene einhalten | Jede Abfrage und jedes Speichern läuft als der Benutzer, der die Seite ansieht | Code: nur so sicher wie das Apex, das Sie schreiben |
Termine auswählen und Datensätze speichern
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| Einzelne, verstreute Tage auswählen lassen | Integriert: beliebige Tage anklicken oder über einen Zeitraum ziehen | Code: FullCalendar wählt immer nur einen zusammenhängenden Zeitraum |
| Einen Zeitraum als einen Datensatz speichern | End Date Field: Aufeinanderfolgende Tage werden zu einem Datensatz mit Start und Ende | Code: das Gruppieren und das Speichern |
| Ein Wiederholungsmuster hinzufügen, etwa jeden Montag und Mittwoch | Show Recurring Pattern Button: Wochentage, Wochenenden, benutzerdefinierte Tage oder der 2. und 4. Freitag | Code: ein Formular für das Muster und die Datumsberechnung |
| Zeitfenster auswählen | Time Interval (Minutes), Earliest Time und Latest Time | Code: eine Zeitfenster-Auswahl und ihr Speichern |
| Pro Auswahl einen Datensatz speichern | Integriert, mit Default Record Name und Default Field Values | Code: Apex-Inserts, Fehlerbehandlung und Tests |
| Begrenzen, wie viele Termine jemand wählt | Max Dates Allowed, mit eigener Limit Reached Message | Code: in JavaScript zählen und sperren |
| Buchungen an Outlook oder Google Kalender senden | Show Add to Calendar After Saving | Code: die Kalenderdatei selbst erzeugen |
Buchungsregeln
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| Räume, Geräte oder Personen mit Kapazität buchen | Komponente Booking: Resource Object, Capacity Field und Live-Kapazitätsanzeigen | Code: Ressourcenansichten brauchen eine Premium-Lizenz, Kapazität bauen Sie selbst |
| Doppelbuchungen verhindern | Conflict Behavior: blockieren, überspringen oder zulassen | Code: Überschneidungsregeln in JavaScript und eine Prüfung auf dem Server |
| Vorlauf verlangen und begrenzen, wie weit im Voraus gebucht wird | Minimum Notice (Hours) und Book Up To (Days Ahead) | Code: Datumsgrenzen, die Sie berechnen und durchsetzen |
| Einen Puffer zwischen Buchungen lassen | Buffer Between Bookings (Minutes) | Code: die Pufferberechnung |
| Eigene Geschäftszeiten pro Ressource nutzen | Business Hours Start Field und End Field am Ressourcendatensatz | Code: Zeiten pro Ressource, die Sie laden und anwenden |
| Feiertage, Schließtage und Abwesenheiten sperren | Blocked Dates aus jedem Objekt, ganztägig oder für einen Teil des Tages, mit angezeigtem Grund | Code: Hintergrundereignisse, die Sie abfragen und zeichnen |
Ansichten und Aussehen
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| Mehr als ein Monatsraster bieten | Available Views: Kalender, Zeitachse, Woche, Auslastungs-Heatmap und Agenda, pro Seite wählbar | Code: Zeitachsenansichten brauchen eine Premium-Lizenz; eine Auslastungs-Heatmap gibt es nicht |
| Eine Zeitachse nach einem Feld gruppieren, etwa nach Team oder Region | Timeline Group By Field | Code, zusätzlich zur Premium-Zeitachse |
| Viele Datensätze auf einmal ändern | Enable Edit Mode: mehrere Datensätze gemeinsam verschieben, ihren Status ändern oder löschen | Code: Drag-Handler und Apex-Updates |
| Schaltflächen und Titel umbenennen | Button Label, Calendar Title und Save Button Label | Code: Symbolleisten-Optionen in JavaScript |
| An die Seite anpassen | Calendar Size von winzig bis volle Breite, Two-Month View, Week Starts on Monday | Code: Optionen und CSS |
Benutzer, Sprachen und Wartung
| Aufgabe | MultiDatePickOhne Code | FullCalendar LWC |
|---|---|---|
| In der Sprache jedes Benutzers anzeigen | Neun Sprachen integriert: Englisch, Deutsch, Spanisch, Französisch, Italienisch, Portugiesisch, Japanisch, Chinesisch und Hindi | Code: FullCalendar übersetzt seine eigenen Schaltflächen; Ihre Beschriftungen und Meldungen übersetzen Sie selbst |
| Uhrzeiten in der Zeitzone jedes Benutzers anzeigen | Automatisch, aus den Salesforce-Einstellungen jedes Benutzers | Code: Zeitzonen-Optionen und Umrechnungen |
| Barrierefreiheitsvorgaben erfüllen | Unterstützung für Tastatur und Screenreader, mit veröffentlichtem VPAT für WCAG 2.1 AA | Code: eigene Tests und eigene Dokumentation |
| Mit Salesforce-Releases Schritt halten | Updates kommen mit dem Paket | Code: Sie pflegen ihn selbst, Release für Release |
So sieht No-Code-Anpassung aus
Jede dieser 36 Aufgaben ist eine Entscheidung, die ein Administrator an einer dieser Stellen trifft:
Der Einrichtungsassistent
Eine Lightning-Registerkarte, die nach Ihrer Seite und Ihren Datensätzen fragt, die naheliegenden Felder vorausfüllt und den echten Kalender zeigt, bevor Sie speichern.
Lightning App Builder
Jede Einstellung ist auch eine Eigenschaft der Komponente, sodass Sie eine Seite anpassen können, ohne die anderen anzufassen.
Die Config Library
41 fertige Konfigurationen, von Besprechungsräumen bis zu Abwesenheiten, zum Importieren und Anpassen.
Export und Import
Eine Konfiguration ist JSON, das Sie in eine Sandbox oder eine andere Org mitnehmen; fehlende Felder werden für Sie zugeordnet.
Flow Builder
Den Kalender auf einen Flow-Bildschirm ziehen und die gewählten Termine in den nächsten Schritten nutzen.
Experience Builder
Denselben Kalender auf eine öffentliche Website stellen, mit denselben Regeln für Gäste.
Häufige Fragen
Gibt es einen No-Code-Kalender als LWC für Salesforce?
Ja. MultiDatePick ist ein Kalender als Lightning Web Component, den Sie per Klick einrichten: im Einrichtungsassistenten oder im Lightning App Builder, auf jedem Standard- oder benutzerdefinierten Objekt. Er lädt und speichert Ihre Datensätze selbst, Sie schreiben also weder Apex noch JavaScript.
Lässt sich FullCalendar besser anpassen als MultiDatePick?
Nur für Entwickler. FullCalendar ist eine Bibliothek: Alles ist möglich, wenn jemand den Code schreibt und pflegt. Für Administratoren ist MultiDatePick der besser anpassbare Kalender: 36 gängige Aufgaben, von Buchungsregeln bis zu neun Sprachen, sind jeweils eine Einstellung.
Kann ein Salesforce-Administrator MultiDatePick ohne Entwickler einrichten?
Ja. Der Einrichtungsassistent fragt nach der Seite und Ihren Datensätzen, füllt die naheliegenden Felder vor und zeigt eine Live-Vorschau des echten Kalenders. Danach ziehen Sie die Komponente auf die Seite und tragen ihren Config Name ein.
Brauche ich Apex, um Datensätze aus einem Kalender zu speichern?
Mit MultiDatePick nicht. Beim Speichern schreibt MultiDatePick einen Datensatz pro Tag, pro Zeitraum, pro Zeitblock oder pro Ressource, oder gibt die Termine an einen Bildschirm-Flow (Screen Flow) weiter. Jedes Speichern läuft als der Benutzer, der die Seite ansieht, mit Freigaben und Sicherheit auf Feldebene.
Kann ich den Kalender später ohne Deployment ändern?
Ja. Öffnen Sie die Konfiguration im Einrichtungsassistenten, ändern Sie eine Einstellung und speichern Sie; der Kalender übernimmt sie beim nächsten Laden. Konfigurationen sind Benutzerdefinierte Metadaten (Custom Metadata), Sie können sie also weiterhin mit Änderungssets oder der Salesforce CLI verschieben, wenn Sie möchten.
Funktioniert ein No-Code-Kalender in Bildschirm-Flows und auf Experience Cloud-Sites?
Ja. Dieselbe Komponente kommt auf einen Flow-Bildschirm, wo die gewählten Termine zu Flow-Variablen werden, und auf eine öffentliche Experience Cloud-Site, wo Gäste nach denselben Regeln buchen.
Der anpassbare Kalender, ohne Code.
Klicken Sie sich durch die Live-Demo, oder starten Sie mit einer fertigen Konfiguration aus der Config Library.
- $20/Benutzer/Monat, alle Funktionen
- 30 Tage kostenlos, ohne Kreditkarte
- 100 % nativ in Salesforce
- Ohne Apex
- Demnächst auf der Salesforce AppExchange