DotNetNuke-Wording

Einige Begriffe rund um das CMS und deren Bedeutung - ganz besonders im Wechsel zwischen Englisch und Deutsch – haben Potential für Verwirrung zu sorgen.

Die logischen Zusammenhänge des Systems im Kontext der Funktionen sowie der wichtigsten Begriffe soll der nachfolgende “Spickzettel” versuchen zu erklären…

DNN-Terms

DotNetNuke – Begrifflichkeiten

 

DNN-Begriff DNN-Begriff  (Deutsch) Beschreibung Speicher
Portal Webseite Ein Portal repräsentiert eine eigenständige Webseite mit eigenem Benutzerverzeichnis, eigenen Alias-Namen (Hostheader; z.B. http://www.mein-dnn.de) und eigenen Seiten (Pages). Das System kann mehrere Webseiten parallel verwalten.

Ebenfalls wird je Portal ein eigenständiger Dateibereich/Ordner innerhalb der DNN-Webanwendung erzeugt, der ausschließlich für das jeweilige Portal und deren Benutzer und nicht Portalübergreifend zur Verfügung steht.

DB
Page Seite Seiten dienen der Strukturierung einer Webseite (Portal). Sie können in beliebiger Anzahl zu einer Webseite hinzugefügt werden und können mehrere Modul-Instanzen aufnehmen, die in den durch das Skin verfügbar gemachten Layoutbereichen (Panes) angeordnet werden können. DB
Module Modul Ein Modul ist eine eigenständige kleine .NET-basierte (Web-)Anwendung, die innerhalb von DotNetNuke auf CMS-/Host-Ebene installiert werden kann und auf Seiten (Pages) in beliebiger Anzahl als Modul-Instanz mit jeweils eigenständigen Konfigurationsdaten eingebunden werden kann.

Ferner ist es möglich das System um eigene Module zu erweitern, die in den .NET-Sprachen C# oder VB entwickelt werden können. DotNetNuke stellt dabei eigene Klassenbibliotheken bzw. eine API bereit, die den Zugriff auf die interne Organisation des CMS zulässt.

Das Konzept der Module wurde im CMS vollständig für die internen Funktionen verwendet. Es gibt zahlreiche freie Module, die ursprünglich mit der Standardversion ausgeliefert wurden und nun separat (für die freie Community-Edition) von CodePlex nachgeladen und installiert werden müssen.

Module werden im System als Erweiterung (Extension) verwaltet.

DB
(Inhalt)
+
FileSystem
(Code/Res.)
Skin Seitenlayout Ein Skin definiert eine Gestaltungsvorlage für Seiten (Pages), welche auf Host-Ebene oder auf Webseiten-Ebene als Erweiterung installiert werden kann.

Es können beliebig viele Skins installiert werden, wobei ein Skin mehr als eine Seitenvorlage enthalten kann. Ebenfalls kann ein Skin Ressourcen-Dateien wie separate CSS-, JavaScript- und/oder Bild-Dateien enthalten.

Im Skin sind der Seitenaufbau, das Layout, die Platzhalter bzw. Layout-Bereiche (Panes) definiert und es können zur Integration von Basisfunktionen Skin-Objekte referenziert werden.

FileSystem (Code/Res.)
SkinObject - Ein Skin-Objekt ist ein Modul für Skins, welches kleinere Funktionen im Skin übernehmen kann (z.B. Navigation, Copyright-Notiz oder die Breadcrumb-Navigation). FileSystem (Code/Res./
Config)
Container Modulrahmen Der Container ist das Pendant zum Skin, jedoch nicht zur Verwendung mit der Seite (Page) sondern ausschließlich für Modul-Instanzen.

Modulrahmen können in das Bereitstellungspaket eines Skins integriert werden und gehören dann direkt zu einem Skin dazu.

FileSystem (Code/Res.)
Pane (Layout-)Bereich Ein im Skin definierter Platzhalter, in welchem eine Modul-Instanz hinterlegt werden kann. FileSystem
(in der Skin-Definition)

Ribbons für WPF in .NET 4.5

Mit der jüngsten Framework-Erweiterung darf der geneigte WPF-Entwickler unter anderem endlich auch direkt ohne zusätzliche Toolkits auf die gängigen Ribbon-Controls zurückgreifen. Leider fehlen die Steuerelemente im Visual Studio 2012 derzeit noch im “Werkzeugkasten”, so dass man diese separat mit Hilfe eines Verweises auf System.Windows.Controls.Ribbon hinzufügen und anschließend im XAML-Code von Hand tippen muss. Im Designer jedoch werden sie unmittelbar angezeigt, auch wenn dort die Bearbeitungs-/Auswahlmöglichkeiten nicht vorhanden bis begrenzt vorhanden sind.

Dennoch lassen sie die Ribbons recht intuitiv und funktional einsetzen, so dass mit dem Ausprobieren der neuen Features unmittelbar eine überarbeitete Version von YAWLT entstanden ist, welche abermals als freie Alpha-Version bei SkyDrive heruntergeladen werden kann

HINWEIS: Wer das Tool auf einem System ohne .NET 4.5 ausführen möchte, sei gewarnt. Der Microsoft Download-Link auf das 4.5er Framework ist offenbar nicht auf dem aktuellen Stand. Der korrekte Link auf den Download der Laufzeitumgebung des .NET Framework 4.5 lautet: http://www.microsoft.com/de-de/download/details.aspx?id=30653.

Yet Another WorkLoad Tracker

YAWLT ist der Prototyp einer Anwendung zur Aufgabennachverfolgung. Die Vereinfachung der Leistungs-/Aufwandserfassung und speziell die Nachverfolgung der Aufgaben in verschiedenen Team- und Kollaborationsplattformen stehen dabei im Vordergrund.

Die Anwendung unterstützt verschiedene Ansätze der Aufgabenerfassung, so dass man unabhängig von externen Systemen ebenfalls lokale Aufgabenlisten führen und verwalten kann. Eine Sammlung von Aufgaben kann als separate Datei gespeichert werden, so dass man diese mit YAWLT z.B. auf Basis von Themen und/oder Projekten getrennt durch mehrere Dateien nutzen kann. Darüber hinaus besteht ebenfalls innerhalb einer solchen Aufgabensammlung die Möglichkeit Gruppierungen zur thematischen Trennung zu verwenden – die sogenannten Data Connectors.

Bei der Verwendung von Data Connectors mit Bindung an ein externes System erweitert sich der Funktionsumfang von YAWLT, so dass nicht nur Aufgaben lokal in Dateien verwaltet werden können, sondern der Abruf sowie das Speichern von Aufgaben aus bzw. in das jeweilige externe System möglich ist. Von Vorteil ist dabei, dass pro Aufgabensammlung nicht nur ein Data Connector genutzt werden kann sondern beliebig viele unterschiedlicher Typen. So ist es zum Beispiel möglich, zu einem Projekt eine Aufgabensammlung zu pflegen, deren zu bearbeitenden Aufgaben verteilt in einem Dynamics CRM System, zwei verschiedenen SharePoint Systemen und parallel dazu noch eigene Aufgaben, die nicht in externen Systemen erfasst sind, geführt werden.

Aktueller Funktionsumfang

  1. Allgemein
    • Laden und Speichern von Aufgabensammlungen als Datei (*.wtt)
    • Laden und Speichern von Aufgaben aus externen Systemen
    • Parallele Pflege von Aufgaben aus mehreren unterschiedlichen externen Systemen
    • Verwaltung von Aufgaben über die Aufgabenliste
    • Kombinieren von Aufgabensammlungen durch Importfunktion
    • Übersichtliche Darstellung von zu bearbeitenden Aufgaben im Arbeitsbereich
    • Pausieren von Aufgaben bei Trennung der Session oder beim Sperren des Bildschirms
  2. Unterstützte externe Systeme (Data Connectors)…
    • Outlook lokal
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011 (Installation von WIF erforderlich!)
    • SharePoint 2010

“YAWLT.zip”

QUELLE: Skydrive

GRÖßE: 1,51 MByte

DATUM: 17.10.2012

CRM Frontend vs. CRM Database

Zugunsten einer einfachen und schnellen Erweiterung des CRM-Systems wird dem Anwender oder Systemanpasser von Dynamics CRM eine vereinfachte, abstrakte Sicht auf das Datenmodell geboten, die nicht der tatsächlichen Abbildung der Datenhaltung in der Datenbank entspricht. Beispielsweise um das Referenzieren via Fremdschlüssel, die Herstellung von Zwischenentitäten bei n:m-Relationen und auch die Auflösung von Listenwerten aus dem MetaData-Schema muss sich der Systemanpasser nicht kümmern.

Die Unterschiede zwischen dem komfortablen Frontend sowie der Datenhaltung auf Datenbankebene in Tabellen und Sichten bis hin zur auf Basis des Sicherheitsmodells des CRM-Systems generierten gefilterten Sichten (FilteredViews) zeigt die folgende Grafik anhand des Beispiels eine Kontaktdatensatzes.

Dynamics CRM Frontend vs. Dynamics CRM Database

lost+found: Regex.Escape() & SharePoint Fehlersuche

C# - RegEx.Escape-Methode geizt mit Escapezeichen
Möchte man in Regular Expressions zu berücksichtigende Zeichen als Metazeichen ausschließen, so ist der Einsatz von Escapezeichen gebräuchlich.
Hat man vor, diese Zeichen aus Eingabefeldern oder Konfigurationsdateien zu verwenden, ist es selten sinnvoll sich selbst um deren korrekten Ausschluss als Metazeichen zu kümmern oder es dem Anwender zu überlassen. Genau für diesen Zweck stellt das .NET-Framework, genauer gesagt die Klasse Regex (System.Text.RegularExpressions), die Methode Escape() zur Verfügung.
Damit jedoch eine evtl. diese Zeichen einschließende, größere Regular Expression danach noch funktioniert, sollte man dringend das Kleingedruckte lesen:
Versieht einen minimalen Satz von Zeichen (\, *, +, ?, |, {, [, (,), ^, $,., # und Leerraum) mit Escapezeichen, indem diese durch die jeweils entsprechende Escapesequenz ersetzt werden.

Schließende Klammern z.B. fehlen hier. Fügt man die via Escape() vermeintlich vollständig und korrekt verarbeiteten Zeichen in eine Gruppe ein und sei eine schließende Klammer enthalten, so wird im ungünstigsten Fall unbeabsichtigt die Gruppe vorschnell geschlossen und folgende Zeichen führen dazu, dass der Ausdruck nicht mehr funktioniert wie geplant.

SharePoint 2010 – Fehlersuche ohne 14-Hive
Wenn bei der Arbeit mit einem SharePoint-System Fehler auftreten, erhält man meist eine Korrelations-Nummer (Correlation-ID), mit der man sich daraufhin auf die Suche nach der Ursache machen kann. Geeignet um mit der Suche zu beginnen, ist nicht selten der Ort, an welchem die Laufzeit-Protokolle hinterlegt werden: der 14-Hive und das Log-Verzeichnis (C:\ProgramFiles\Microsoft Office Servers\14.0\Logs), in welchem sich zahlreiche Log-Dateien finden.

Die Suche nach der besagten Correlation-ID oder anderen Fehlermerkmalen kann man sich jedoch mit der PowerShell noch etwas vereinfachen, verwendet man Get-SPLogEvent an der SharePoint 2010 Management Shell:
Get-SPLogEvent | ?{$_.Correlation -eq "26f73116-3241-a33c-b139-ff13f3176b28"}
…liefert…
Timestamp   Area                      Category                  EventID  Level      Message
---------   ----                      --------                  -------  -----      -------                           
11:00:58.32 SharePoint Foundation     Logging Correlation Data  xmnv     Medium     Name=Request (POST:https://proje...
11:00:58.32 SharePoint Foundation     Logging Correlation Data  xmnv     Medium     Site=/                            
11:00:58.72 SharePoint Foundation     SPRequest                 90im     High       Failed to cache schema for 4-00B...
11:00:58.72 SharePoint Foundation     General                   tkpk     High       VtemplateManager::loadUncustomiz...
11:00:58.72 SharePoint Foundation     General                   tkoq     High       CFormWebPartXmlFromRowSetData::P...
11:00:58.72 SharePoint Foundation     General                   tkof     High       CWebPartXmlBuilder::Add failed w...
11:00:58.72 SharePoint Foundation     General                   8kh7     High       Der Vorgang kann nicht erfolgrei...
11:00:58.74 SharePoint Foundation     General                   ev0l     Monitor... SPSolutionExporter: Microsoft.Sh...
11:00:58.74 SharePoint Foundation     Runtime                   tkau     Unexpected System.Runtime.InteropServices.C...
11:00:58.74 SharePoint Foundation     Template Cache            fo1v     Monitor... Leaked record detected with addr...
11:00:58.74 SharePoint Foundation     Monitoring                b4ly     Medium     Leaving Monitored Scope (Request...
Werden nur bestimmte Spalten in der Ausgabe benötigt, kann man die Ausgabe seinen Wünschen, z.B. mit ft anpassen:
Get-SPLogEvent | ft Category, Message -Autosize

Struktur-Analyse für SharePoint 2010

Egal, ob es um einen schnellen Überblick der Gesamtstruktur einer SharePoint 2010 SiteCollection geht, ob man auf einen Blick alle SharePoint-Benutzer mitsamt ihren Gruppenzuweisungen anzeigen möchte oder ob man die zu einer Site zugewiesene Besitzergruppe (AssociatedOwnerGroup) ändern möchte: Der SharePoint Analyzer hilft weiter.

SharePoint Struktur-Ansicht

Das Tool, welches aus der ein oder anderen Fehleranalyse in SharePoint-Umgebungen heraus entstand, steht frei zum Download zur Verfügung. Bei Interesse lade ich die Anwendung auf Codeplex hoch.

Aktueller Funktionsumfang

  1. Darstellung der SharePoint Site-Struktur einer SiteCollection
    • ID/Anzeigename/Pfadname
    • Berechtigungen bzw. verknüpfte Gruppen
    • AssociatedMemberGroup, AssociatedOwnerGroup, AssociatedVisitorGroup
    • Unterbrechung der Vererbung von Berechtigungen
    • Listen und Bibliotheken
    • Benachrichtigungen
    • Metadaten/Eigenschaften (SPPropertyBag)
  2. SharePoint Gruppen…
    • Gruppenbesitzer
    • Gruppen-ID
    • Gruppen-Berechtigungen
  3. SharePoint Benutzer…
    • Zugewiesene Gruppen

“SharePointAnalyzer.zip”

QUELLE: Skydrive

GRÖßE: 65 KByte

DATUM: 19.06.2011

OData Query Designer als xRM-Lösung

Neben dem altbekannten SOAP-basierten Webservice nun noch schneller und einfacher mittels REST/OData auf Inhalte in Dynamics CRM 2011 zugreifen können - nur eine der zahlreichen neuen Möglichkeiten im aktuellen CRM-System.
Wem das Formulieren von OData-Queries nicht geschmeidig genug von der Hand geht, sollte sich den CRM 2011 OData Query Designer von Rhett Clinton anschauen.

Das Tool wurde als Silverlight-Anwendung entwickelt und steht frei (unter CodePlex) in Quellen oder als verwaltete Lösung für die Installation in CRM 2011 zur Verfügung.

Follow

Bekomme jeden neuen Artikel in deinen Posteingang.

Schließe dich 54 Followern an