CMS Dotnet Nuke
Eigenes Webportal
Dynamisch und flexibel
CMS Dotnet Nuke
Ein Blick in den PHP-Bereich offenbart eine Vielzahl an freien Content-Management-Systemen (CMS). Dass dies im Microsoft-getriebenen ASP.NET-Umfeld anders ist, überrascht nicht. Und doch gibt es auch dort einige Open-Source-CMS. Das populärste ist Dotnet Nuke.
Dotnet Nuke hat sich aus dem Ibuyspy Portal Solution Kit, kurz IBS, entwickelt. Dieses Portal wurde 2002 von Microsoft als Referenzimplementierung für ASP.NET konzeptioniert. IBS ist bereits ein gutes Beispiel für eine Drei-Schichten-Architektur im Web. Allerdings ist IBS statisch und erlaubt zum Beispiel nicht die Verwaltung mehrerer Websites. Auf eine Initiative von Shaun Walker und seiner kanadischen Firma Perpetual Motion hin entstand aus IBS das Open-Source-Projekt Dotnet Nuke, kurz DNN. Der Hauptvorteil von DNN gegenüber IBS ist dessen Dynamik und Flexibilität: Sie können mehrere Websites verwalten und haben die Möglichkeit, jederzeit eigene Module hinzuzufügen.
Dotnet-Nuke-Versionen
CMS Dotnet Nuke
Das DNN-Projekt finden Sie unter www.dotnetnuke.com. Shaun Walker ist der Chef der ganzen Veranstaltung, dazu gesellen sich dann ein Inner und ein Outer Core Team. Der deutsche Ableger www.dotnetnuke.de fördert das Projekt Dotnet Nuke XXL mit einer mehrsprachigen Version von Dotnet Nuke. Allerdings basiert diese auf einer etwas älteren Basisversion.
Für diesen Artikel dient Version 3.0.7 als Basis. Die 3.x ist zwar aktuell noch Beta, allerdings enthält sie schon viele Neuerungen, die auch bei der Umstellung auf ASP.NET 2.0 eine Rolle spielen werden. Die wichtigsten sind die Umstellung auf das ASP.NET-2.0-Berechtigungskonzept und die Auslagerung von Daten in Ressource-Dateien. Letzteres erleichtert die Lokalisierung von Dotnet Nuke.
Voraussetzungen
CMS Dotnet Nuke
Grundvoraussetzung für die Installation von Dotnet Nuke ist das .NET Framework in der Version 1.1. Vorsicht, ältere Versionen von Dotnet Nuke kommen auch mit 1.0 zurecht, die neue benötigt jedoch 1.1.
Mit der Beta von .NET Framework 2.0 kommt Dotnet Nuke noch nicht zu Rande, da wie schon erwähnt einige Funktionalitäten nachgebaut wurden. Die Übertragung sollte allerdings nach Erscheinen der Final von 2.0 recht schnell bewerkstelligt werden. Als Programmiersprache setzt Dotnet Nuke auf VB.NET.
Um ASP.NET einsetzen zu können, benötigen Sie außerdem den Internet Information Server (IIS). Er ist bei den professionellen Betriebssystemen von Microsoft, Windows 2000 in allen Versionen, XP Professional und 2003 dabei. Der als Open-Source-Projekt zur Verfügung stehende Mini-ASP.NET-Webserver Cassini taugt in diesem Fall leider nicht als Alternative.
Neben dem .NET Framework und dem Webserver benötigen Sie außerdem eine passende Datenbank. Dotnet Nuke arbeitet standardmäßig mit MS SQL Server oder der kostenlosen, abgespeckten Variante MSDE. Außerdem ist noch die Unterstützung für Access integriert. Andere Datenbanken können allerdings nachgerüstet werden. Dieser Artikel verwendet den MS SQL Server beziehungsweise die MSDE.
Installation
CMS Dotnet Nuke
Laden Sie Dotnet Nuke von www.dotnetnuke.com herunter. Sie müssen sich hier ? das ist für ein Open-Source-Projekt recht ungewöhnlich ? registrieren. Dazu geben Sie einige Daten an, wählen einen Nutzernamen und ein Passwort und stimmen natürlich der BSD-Lizenz von Dotnet Nuke zu.
Nach der Registrierung erhalten Sie eine Bestätigungs-Mail und können sich nun einloggen. Jeder registrierte Nutzer wird vom Dotnet-Nuke-Projekt als Mitglied gezählt. Dies erklärt natürlich auch die immense Gesamtzahl von 110000 Projekt-Mitgliedern.
Das ZIP-Archiv mit dem Code ist etwa 6 MByte groß. Entpacken Sie es in ein Verzeichnis auf Ihrem Webserver. Dieses Verzeichnis müssen Sie als virtuelles Verzeichnis beim IIS registrieren.
Wechseln Sie dazu in die Management-Konsole des IIS (Systemsteuerung, Verwaltung, Internet-Informationsdienste), wählen Sie dort das Verzeichnis und klicken Sie mit der rechten Maustaste darauf. Unter Eigenschaften wählen Sie bei den Anwendungseinstellungen die Schaltfläche Erstellen. Damit wird das virtuelle Verzeichnis erstellt. Sie können nun noch einen anderen Namen als den Ordernamen angeben, dies ist aber nicht notwendig.
Rechte einräumen
CMS Dotnet Nuke
Für das Verzeichnis benötigen Sie ansonsten noch Lese- und Schreibrechte. Selbige sollte auch der automatisch für ASP.NET angelegte Nutzer ASPNET haben, da Dotnet Nuke Dateien speichern und erstellen muss. Dies bereitet in einer lokalen Testumgebung keine Schwierigkeiten, kann aber zum Beispiel bei Shared-Hosting-Paketen ein Problem sein. Fragen Sie auf jeden Fall nach, ob Sie virtuelle Verzeichnisse anlegen können und genügend Rechte vergeben sind. Im lokalen Testsystem bietet es sich außerdem an, den anonymen Zugriff im Register Verzeichnissicherheit zu aktivieren.
Im zweiten Schritt müssen Sie die Datenbank für Dotnet Nuke anlegen. Dazu verwenden Sie beim MS SQL Server den Enterprise Manager. Gehen Sie dazu innerhalb Ihrer SQL-Server-Gruppe auf den lokalen SQL-Server, dann unter Datenbanken. Dort können Sie am schnellsten über den Befehl Neue Datenbank aus dem Kontextmenü die gewünschte Datenbank anlegen. Standardmäßig trägt sie den Namen DotNetNuke.
Für die MSDE können Sie eines der vielen verfügbaren Tools wie etwa den ASP.NET Enterprise Manager (sourceforge.net/projects/asp-ent-man) oder den SQL Web Data Administrator (www.microsoft.com/sql) verwenden. Dieser Schritt, nämlich eine leere Datenbank anzulegen, ist die einzige Handarbeit, die notwendig ist. Anschließend ändern Sie noch den String für die Verbindung zur Datenbank. Er ist in der Konfigurationsdatei web.config im Verzeichnis für Dotnet Nuke zu finden. Für eine lokale Datenbank könnte er so aussehen:
Erster Start
CMS Dotnet Nuke
Nun ist es an der Zeit, Dotnet Nuke das erste Mal aufzurufen. Beim Start werden automatisch die Datenbankskripts ausgeführt. Sollte dies nicht klappen, erhalten Sie eine Fehlermeldung. Dann startet das CMS mit der Standardoberfläche für normale Nutzer. Um am Portal selbst etwas verändern zu können, müssen Sie sich zuerst anmelden. Änderungen können bei Dotnet Nuke anfangs von zwei Rollen vorgenommen werden: Der Administrator kann Einstellungen für das Portal vornehmen, der Host ist der Schirmherr über mehrere Portale und besitzt zusätzlich Admin-Rechte.
Das Standardlogin besteht jeweils aus den Nutzernamen admin beziehungsweise host und den gleich lautenden Passwörtern. Wenn Sie sich eingeloggt haben, erhalten Sie zusätzliche Menüs für den Admin oder den Host. Der Administrator kann in seinem Menü unter User Accounts das Passwort ändern. Der Host verwendet dafür das Untermenü SuperUser Accounts.
Klicken Sie jeweils zum Bearbeiten auf das Stift-Symbol vor dem Benutzer. Diese zwei Menüs sind es auch, in denen Sie neue Nutzer anlegen können. Vorsicht, es sollte im Normalfall nur einen Super-User geben, der dann alle verwalteten Portale unter Kontrolle hat.
Aufbau des Portals
CMS Dotnet Nuke
Wenn Sie sich als Admin angemeldet haben, sollten Sie sich zuerst orientieren: In der oberen Leiste finden Sie links die Optionen für die j
eweils aktuelle Seite. Diese können Sie löschen, eine neue hinzufügen oder sich eine Vorschau anzeigen lassen.
In der Mitte haben Sie die Möglichkeit, neue Module hinzuzufügen. Das Modul-Konzept funktioniert folgendermaßen: Eine Portal-Seite besteht aus einzelnen Bereichen, so genannten Panes. Die TopPane ist die obere Leiste, ContentPane die in der Mitte der Seite für den Inhalt, LeftPane die für links und so weiter. Jede dieser Panes kann kein, ein oder mehrere Module aufnehmen.
An Modulen wiederum steht eine Standardauswahl zur Verfügung, Sie können allerdings auch eigene Module entwickeln und hinzufügen.
Dotnet Nuke einrichten
CMS Dotnet Nuke
Auf der rechten Seite finden Sie einige Standardaufgaben. Der Wizard erstellt die Seite mit den wichtigsten Einstellungen. Außerdem haben Sie hier direkten Zugriff auf die Nutzerverwaltung und auf die Dateiverwaltung des Portals. Die meisten Einstellungen finden Sie allerdings im Menü Admin.
Die erste Einstellung, die Sie tätigen sollten, ist die Änderung der Sprache. Dies geschieht entweder über das Menü Admin und dort mit Site, Advanced Settings, Other Settings. Oder auf ähnlichem Weg über Site in der Leiste rechts oben. Für Deutsch ist bis jetzt als einzige Sprache außer Englisch ein Ressourcen-Paket verfügbar. In den Seiteneinstellungen, wie sie nun heißen, gibt es noch einige andere Einstellungen: zuerst einmal natürlich grundlegende wie Portal-Namen und Suchbegriffe.
Für das Portal können Sie nun unter Portal Skin noch ein Skin wählen. Ein Skin ist eine vorgefertigte Oberfläche. Wechseln Sie von Site auf Host und wählen Sie DNN Vertical Menu. Dieser Skin fügt ein vertikales Menü ein. Sie können nun noch ein globales Stylesheet festlegen und damit die Optik ein wenig anpassen. Wenn Sie bei den Seiteneinstellungen alle Änderungen vorgenommen haben, bestätigen Sie mit Update.
Wechseln Sie dann zurück auf die Startseite. Sie sehen dort das neue Menü. Löschen Sie das Modul Links in der LeftPane. Dies geht sehr einfach: Als Administrator erhalten Sie bei jedem Modul links oben einige Optionen. Leider klappt das Löschen in der aktuellen Version nicht mit Modul löschen, sondern nur über die Modul-Einstellungen. Das Vorgehen, um andere Module zu bearbeiten, ist ähnlich. Beispielsweise ändern Sie den Titel des jeweiligen Moduls einfach über die Einstellungen. Wenn Sie ein neues Modul hinzufügen möchten, erledigen Sie das über den mittleren Part der oberen Leiste.
Inhalte pflegen
CMS Dotnet Nuke
Als Nächstes soll eine Unterseite entstehen. Klicken Sie dazu links oben auf den Befehl Zufuegen (die deutsche Übersetzung ist nicht perfekt). Anschließend vergeben Sie den Titel für die neue Seite und legen fest, wo sie hierarchisch aufgehängt ist. Im Beispiel gibt es bisher nur die Homepage. Das heißt, die neue Seite landet direkt darunter. Sie sollten außerdem die Eigenschaften der Homepage übernehmen. Damit verwendet Dotnet Nuke alle dort eingesetzten Module. Sie können aber natürlich nachträglich Module hinzufügen oder löschen. Beispielsweise entfernen Sie das Modul mit den Sponsoren einfach und fügen auf der Unterseite noch ein Bild ein.
Um den Inhalt der neuen Seite zu bearbeiten, navigieren Sie zur Seite und klicken Sie in der ContentPane beim Modul auf Bearbeiten. Daraufhin öffnet sich ein Online-Editor. Die wichtigsten HTML-Tags sind hier per Symbolleiste greifbar, und es gibt auch eine Sofortvorschau. Die Symbolleisten erinnern ein wenig an die Word-Optik. Sie funktionieren nur in der Design-Ansicht. In der HTML-Ansicht müssen Sie die Tags selbst tippen.
Die Design-Ansicht hat auch sonst noch einiges zu bieten. Beispielsweise hilft ein kleines Dialogfeld mit Farbwerten dabei, die richtige Farbe zu finden. Auch sonst wurde alles getan, um einen »echten« Editor zu simulieren: Beispielsweise lassen sich Elemente aus anderen Websites auf den Editor ziehen, und bei einer Grafik wird der dahinter stehende Link eingefügt. Auch Copy and Paste ist natürlich kein Problem. Nach dem hier geschilderten, simplen Muster bauen Sie sehr schnell die eigene Website auf und fügen neue Inhalte hinzu.
Fazit
CMS Dotnet Nuke
Dieser Artikel zeigt, wie Sie Dotnet Nuke installieren und einrichten. Wenn Sie ASP.NET als Technik erwägen, ist Dotnet Nuke sicherlich ein für viele Fälle geeignetes Content-Management-System. Ob es für Ihre spezielle Situation das Richtige ist, ist ? wie immer ? abhängig vom genauen Einsatzzweck. Wollen Sie mit Dotnet Nuke weiterarbeiten, benötigen Sie im nächsten Schritt eine eigene Gestaltung. Diese geschieht nicht nur über das zentrale CSS, sondern auch über eigene Skins. Dazu ist in den meisten Fällen eigene Funktionalität für Ihre Website notwendig. Die zusätzliche Funktionalität entwickeln Sie mit Modulen.