Microsoft Dynamics CRM 4.0 | Sitemap – Bereiche “verstecken”

 

Neulich kam im CRM Forum einmal mehr die Frage auf, wie sich bestimmte Bereiche (z.B. nur in Outlook) für einen bestimmten Personenkreis “verstecken” ließen. Nachdem ich diese Frage schon mehrere Male gelesen (und beantwortet) habe, denke ich ist es noch einmal Zeit für einen Artikel hierzu.

Zunächst mal ein paar grundlegende Hinweise zur Bearbeitung der Sitemap. Wer noch nie seine Sitemap bearbeitet hat oder die Möglichkeiten einmal aufgezeigt bekommen möchte, der ist mit diesem Übersichtsartikel auf MSDN bestens beraten.

Bevor ich eine Anpassung an der Sitemap vornehmen, sichere ich mir die aktuelle Sitemap auf jeden Fall gesondert in ein Verzeichnis. Denn im Zweifel wird die gesamte CRM Anwendung bei einem Fehler innerhalb der Sitemap, der vor dem Import nicht validiert wird, unbrauchbar. In einem solchen Fall hilft dann nur noch der Import meiner Sicherungsdatei via dem Link

      http://<CRM_Servername>/<Organization_name>/tools/systemcustomization/ImportCustomizations/importCustomizations.aspx

Doch kommen wir nunmehr zum Wesentlichen. Elemente, auf die der User über eine Rechterolle keine Rechte hat, sind eh für diesen automatisch ausgeblendet. Doch manchmal ist es erforderlich einen Gesamt- oder auch nur einen Teilbereich für eine bestimmte Anzahl an Nutzern nicht verfügbar zu gestalten. Schauen wir uns deshalb einmal ein SubArea-Element etwas genauer an:

<SubArea Id="nav_managekb"
         ResourceId="Homepage_KBManager"
         Icon="/_imgs/ico_18_126.gif"
         Url="/cs/home_managekb.aspx"
         Client="Web">
   <Privilege Entity="kbarticle"
              Privilege="Read,Write,Create" />
</SubArea>

Hier rückt Client="Web" in unseren Fokus. Mit diesem Attribut bestimme ich, ob die SubArea nur im Web-Client oder auch im Outlook-Client eingesehen werden kann. Damit könnte man also einen Teil der o.g. Anforderung bereits erfüllen.

Doch es gibt noch eine elegantere Methodik einen kompletten Bereich für einen bestimmten Personenkreis zu “verstecken”. Wir beachten dazu: Wenn alle Unterbereiche eines Hauptbereiches ausgeblendet sind, so wird auch der Hauptbereich ausgeblendet. Dabei spielt keine Rolle, ob ich die Unterbereiche in Gruppen unterteile oder nicht.

Ein einzelnes Unterelement lässt sich ausblenden, wenn

a) keine Rechte auf die jeweilige Entität dem Nutzer eingeräumt wurden oder

b) keine Zusatz-Rechte auf die so genannte Privilegien-Entität eingeräumt wurden.

Und genau mit letzterem können wir individuell unsere Sitemap ohne ständiges editieren beeinflussen. Wir generieren uns dazu eine neue Hilfs-Entität “new_navigationprivilege” und veröffentlichen diese. In unserer Sitemap arbeiten wir nunmehr mit

<Privilege Entity="new_navigationprivilege"
              Privilege="Read,Write,Create" />

Mit den Stufen “Lesen, Schreiben und Erstellen” können wir nunmehr über die Rechtevergabe innerhalb der Rechterollen an der neuen Entität new_navigationprivilege bestimmen, ob das Unterelement eingesehen werden kann oder nicht, ohne dabei Rechte auf die eigentliche Entität entziehen zu müssen. Sprich: Auch die Ansicht auf Firmen oder Kontakte könnte man entziehen, wenn man nicht entsprechende Zusatzrechte auf der Privilegien-Entität eingeräumt bekommen hat.

Privilegien lassen sich auch auf mehreren Entitäten integrieren. Dies sieht dann so

<SubArea id="ServCal" icon="/_imgs/ico_18_servicecal.gif" url="/sm/home_apptbook.aspx" availableoffline="false">
<Titles>
<Title lcid="1033" title="Scheduling Matrix">
</Titles>
<Privilege entity="activitypointer" privilege="Read">
<Privilege entity="service" privilege="Read">
</SubArea>

aus.

So, nun wünsche ich viel Spass bei der Anpassung/Optimierung Eurer Sitemap.

 

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s