Das Dynamics 365 CRM Portal individuell anpassen
Ein attraktiver Bestandteil von Microsoft Dynamics 365 ist die Portalfunktionalität. Einst von einem Partner (Firma Adxstudio) übernommen, ist die Portalfunktionalität heute Standardbestandteil jeder Dynamics 365 Cloud-Instanz und muss nur administrativ eingerichtet werden. Nach der administrativen Einrichtung steht allerdings nur ein musterhaftes Portal für die fiktive Firma „Contoso“ bereit. Zu einem firmenspezifischen Portal ist es oft noch ein weiter Weg, sei es bezüglich visueller Gestaltung, Funktionalität oder Berechtigungssystem – siehe beispielhaft hier den Übergang vom Portal der Musterfirma Contoso zum individuellen Portal der Firma Team4:
Positiv muss an dieser Stelle vermerkt werden, dass Dynamics 365 vorgefertigte Portale für einzelne CRM-Zielgruppen bereit stellt, insbesondere:
Für Kunden
- Kunden-Self-Service-Portal
- Community-Portal
Für Partner
- Partnerportal für gemeinsames Management von Verkaufschancen
- Partner Project Service
- Partner Field Service
Ferner für Alle ein Marketing-Portal mit
- komplettem Event Management von der Anmeldung bis zur Raumverwaltung
- Landing Pages
- Befragungen
Nun müssen Portale für Kunden oder Partner hohen Ansprüchen an Bedienbarkeit, individueller Funktionalität und Zugriffsschutz genügen, um erfolgreich zu sein. Dies hat auch Microsoft erkannt und bietet – zur Anpassung der Standard-Portale als auch für individuelle Portale – einige Konfigurationsmöglichkeiten. Wie weit diese Möglichkeiten tragen und wie man Portale darüber hinaus individualisieren kann, soll dieser Beitrag erläutern.
Die erste Aussage seitens Microsoft, dass das Dynamics 365 Portal auch ohne Entwicklerkenntnisse betrieben werden kann, ist bestenfalls mit einem „jein“ zu beantworten. Bewegt man sich im „Portalstandard“ und belässt neben ein paar Bildern und Texten die Contoso-Vorlage (Contoso = Beispielportale von Microsoft) weitestgehend unverändert, kann man dieser Aussage zustimmen. Möchte man jedoch, angefangen beim Layout, ein auf die Firma zugeschnittenes Portal zu entwickeln, ist man doch recht schnell gefordert sich auch technisch mit dem Portal auseinander zu setzen.
Guter struktureller Ansatz
Einer der größten Vorteile ist die Integration des Portals in Dynamics 365. So muss man sich über Backend- und Datenbankfunktionalitäten keinerlei Gedanken machen. Alle Datenbankaktivitäten werden über das Dynamics 365 durch Anlage und Pflege von Entitäten sowie deren Formulare und Ansichten gesteuert. Die Kommunikation zwischen Dynamics 365 und dem Portal funktioniert einwandfrei. Der Zugriff auf einige Webressourcen (z.B. aspx-Seiten, Javascript-Dateien) ist jedoch nicht möglich. Somit wird es deutlich schwieriger über solche Vorlagen z.B. ein eigenes Layout zu legen. Möchte man entsprechende Ressourcen nutzen, muss man in Bezug auf Layout-Anpassungen kompromissbereit sein oder versuchen, die Ressource mit Portalmitteln nachzubauen (Abb. 1).
Abb. 1 Nachbau der Profilvorlage
Da man keinen direkten Zugriff auf den Webserver hat, ist auch der Umgang mit Webdateien und deren Datenhaltung auf dem Webserver gewöhnungsbedürftig. Möchte man Dateien auf den Server laden oder diese von dort löschen, geht dies nur als angemeldeter Portaladministrator über das Webportal. Dazu ruft man auf einer Webseite die Bearbeitungssymbolleiste (Abb. 2) auf und folgt dort unter „Neu > Untergeordnete Datei“ den geforderten Angaben im angezeigten Dialog.
Abb. 2 Bearbeitungssymbolleiste
Eine Alternative zur Dateiverwaltung auf dem Webserver stellt der sogenannte „filebrowser“ (Abb. 3) dar. Dieser wird aufgerufen, wenn man über die Frontside-Bearbeitung den Inhalts-Editor öffnet, dort auf das Icon „Grafik“ und im dann angezeigten Dialog auf den Button „Server durchsuchen“ klickt.
Abb. 3 filebrowser.html
Portal auch für mobile Geräte
Microsoft setzt auch im Portal auf den Ansatz „Mobile first“. So sind im Standard u.a. das jQuery-Framework, eine bootstrap.css und eine theme.css als Designvorlage vorhanden. Die gelieferten Vorlagen sind somit auch über ein Mobilgerät sofort nutzbar. Die css-Dateien sind über den Webserver frei zugänglich und können den eigenen Wünschen angepasst werden. Zudem kann jede Webseite mit jQuery bzw. Javascript-Code und CSS-Elementen individuell angepasst werden. Innerhalb von Webvorlagen wird „Liquid“ als Vorlagensprache genutzt, wodurch dynamischer Inhalt aus Dynamics 365 CRM zu benutzerdefinierten Vorlagen hinzugefügt werden kann. Doch spätestens jetzt sind tiefere Entwicklerkenntnisse erforderlich. Setzt man sich mit den o.g. Technologien auseinander ist man in der Lage eigene, dem Corporate Design entsprechende, Webseiten zu gestalten (Abb. 4).
Abb. 4 Supportanfrage
Durch Entitätsformulare und Listen können gewünschte Informationen aus dem Dynamics 365 innerhalb eines Portals angezeigt und teilweise bearbeitet werden (Abb. 5. und 6.)
Abb. 5 Entitätsliste Supportanfrage
Abb. 6 Entitätsformular Kontakt
Benutzerverwaltung und Zugriff auf das Portal
Über Inhaltszugriffsebenen, Entitätsberechtigungen, Webseiten-Zugriffssteuerungsregel, Webrollen und Websitezugriffsberechtigungen besitzt man umfangreiche Möglichkeiten einem Portalbenutzer Zugriff auf Webseiten zu gewähren. Der Zugriff kann bei Entitätsberechtigungen bis auf Datensatzebene definiert werden. Da jedoch Regeln und Berechtigungen ggf. von einander Anhängig sind oder auf nachfolgende Ebenen vererbt werden können, sollte man sich zuvor eingehend mit einem Berechtigungs- und Rollenkonzept auseinandersetzen. Um im Rollen- und Regelkonstrukt nicht den Überblick zu verlieren, sollte der Grundsatz lauten: „Weniger ist mehr!“ Die von Microsoft im Portalstandard definierten Rollen und Regeln sind für einen sicheren Portalstart durchaus ausreichend.
Ein Portalbenutzer muss keine Dynamics 365 CRM Lizenz besitzen. Die standardmäßige Portalkonfiguration ist Kontakt-basiert. Das heißt, dass zu einer Kontoanmeldung ein Kontakt angelegt wird, dem dann der Portalzugang ermöglicht wird. Es gibt mehrere Möglichkeiten das Kontoanmeldeverhalten zu steuern. Die sogenannte „offene Registrierung“ ist die am wenigsten einschränkende Anmelde-Konfiguration, mit der die Registrierung eines Benutzerkontos ermöglicht wird. Hierzu wird eine einfache Benutzeridentität bereitgestellt und ein Benutzerkonto sofort beim Portal registriert und authentifiziert. Möchte man jedoch eine restriktivere Methode verwenden, kann einem künftigen Portalbenutzer z.B. nach einer Kontaktanfrage durch zusenden eines Einladungscodes der Portalzugriff gewährt werden. Diese Methode kann durch eine zweistufige Authentifizierung und einer dadurch zusätzlich angeforderten Bestätigung der angegeben E-Mail-Adresse weiter abgesichert werden.
Je nach Gestaltung des Anmeldeszenarios, kann eine Anmeldung am Portal dann über ein lokales oder externes Konto auf Grundlage der ASP.NET Identity erfolgen. Die unterstützten Anbieter sind: Microsoft-Account, Twitter, Facebook, Google, LinkedIn und Yahoo.
Abb. 7 Login-Dialog
Fazit
Das Dynamics 365 Portal bietet zusätzliche und vielfache Möglichkeiten mit Kunden zu kommunizieren und Informationen aus Dynamics 365 CRM zur Verfügung zu stellen, ohne dass der Kunde ein aktiver Benutzer innerhalb von Dynamics 365 CRM sein muss. Durch die noch junge Zusammenführung beider Systeme (Dynamics 365 und Adxstudio) gibt es im Detail sicherlich noch Verbesserungspotenzial, dennoch kann man diesen Schritt als gelungen bezeichnen. Mit entsprechendem technischem Wissen ist man in der Lage auch ohne den Contoso-Stil ein ansprechendes Portal zu erzeugen.