ASP.NET Sitemap Editor

ASP.NET Sitemap english Version 

Der Inhalt dieser Seite hat recht wenig mit Exchange zu tun und viel mehr mit ASP.NET und dem Sharepoint Designer (ExpressionsWeb / Sharepoint Designer) bzw. Frontpage. Sie beschreibt, wie Sie die Funktion der Sitemaps in ASP.NET einfach mit dem grafischen Designer von Frontpage oder Sharepoint Designer erstellen können. Bislang gibt es nach meinem Wissen kein anderes Hilfsprogramm, so dass vermutlich sehr viele ASP.NET-Entwickler ihre Sitemap mühsam manuell mit Notepad oder einem XML-Editor erstellen.

Navigation und Sitemap

Frontpage als auch der neue Sharepoint Designer 2007 kennen eine Funktion, die logische Struktur einer Webseite grafisch zu pflegen, ohne auf die physikalische Struktur auf dem Webserver oder dem Dateisystem Rücksicht nehmen zu müssen.

Frontpage/SPD Sitemap

Leider ist diese Funktion nicht in Expression Web enthalten, welches aber laut Microsoft die Anwendung zur Erstellung von ASP.NET-Webseiten sein soll. Vielleicht ändert das später einmal. Die Navigation wird aber leider nicht direkt als ASP.NET-Sitemap abgespeichert sondern in einer etwas kryptischen Datei Structure.cnf. (Siehe auch FrontPage Struktur).

ASP.NET und Sitemaps

Eine ganz nette Funktion bei der Entwicklung einer Webseite mit ASP.NET ist die Möglichkeit mit Sitemaps zu arbeiten. Diese XML-Dateien tragen die Erweiterung ".sitemap" und werden vom Webserver nicht an den Client zugestellt. Statt dessen kann man mit den entsprechenden ASPX-Komponenten daraus dynamisch eine "Breadcrumb", ein Tree-Menü oder auch ein dynamisch aufklappendes Menü in seine Webseiten einbauen.

Leider überlässt es Microsoft den Webseitenentwicklern, dieses Menü manuell zu erstellen. Einen Editor dafür habe zumindest ich noch nicht gefunden. Wer aber etwas grafisch anspruchsvollere Webseiten pflegen will, wird allein mit Visual Studio nicht zufrieden sein und den eigentlichen HTML-Code mit Programmen wie Frontpage 2003, Expression Web oder den Sharepoint Designer entwerfen. Aber nur Frontpage und der Sharepoint Designer erlauben auch die Pflege von "Navigationsstrukturen", die Allerdings in der Datei "_vti_pvt\structure.cnf" abgespeichert werden und damit nicht von ASP.NET genutzt werden können.

ASP-Sitemap-VBA Makro Download und einrichten

DA sowohl Frontpage als auch der Sharepoint Designer eigene VBA-Programme unterstützen, lag der Schritt auf der Hand, über ein VBA-Makro und das Navigationsobjekt und dem XML-Objekt ein kurzes Makro zu schreiben, welches aus der Navigation eine "web.sitemap" erstellt. Laden Sie sich einfach die folgende TEXT-Datei herunter und speichern diese auf der Festplatte ab.

aspnetsitemap.bas.txt

Ändern Sie dann die Erweiterung von .TXT auf .BAS. Wie mit VBA-Makros üblich ist der Code "lesbar" und natürlich auch veränderbar. Dies ist immer dann notwendig, wenn die Standardeinstellungen nicht für ihre Umgebung passen. Das VBA-Makro legt immer in der Wurzel des aktuell geöffneten Webs eine neue Datei "web.sitemap" an. Eine bestehende Datei wird ohne Rückfrage überschieben.

Starten Sie nun den Makro Editor (ALT-F11) und importieren Sie die BAS-Datei über das Menü "Datei - Datei importieren"

VBA-Makroeditor

Das Makro erscheint nun im Fenster als neues Modul. Zum Start stellen Sie den Cursor einfach auf den Eintrag "Sub ASPSiteMap()" und drücken in der Taskleiste das "PLAY"-Symbol.

Run Makro

Wenn alles korrekt läuft, dann sehen Sie unten im "Direktbereich" die Aktivitäten des Makros mit der Bestätigung, dass die web.sitemap geschrieben wurde.

Hinweis:
Das Makro ist nicht an eine Webseite gebunden sondern an Frontpage bzw. Sharepoint Designer. Sie können das Makro mit jeder geöffneten Webseite aufrufen.

Zur Geschwindigkeit: Diese Webseite MSXFAQ hat über 900 Seiten in bis zu 4 Ebenen, wie Sie auf Sitemap einfach einsehen können. Das Makro erstellt die XML-Datei auf einem langsamen Notebook in wenigen Sekunden, wenn die Navigation bereits im Speicher geladen ist. Aber selbst im ungünstigsten Fall dauert der Prozess weit unter einer Minute. Allerdings müssen Sie bei der Änderung ihrer Navigation natürlich daran denken, das Makro erneut zu starten

Ablauf einer Weberstellung

Wenn ich aktuell mit ASP.NET an einem Web arbeite, dann durchlaufe ich folgende Schritte.

Letztlich muss natürlich jeder selbst wissen, wie er seine Webseite pflegt.  Wie die MSXFAQ gepflegt wird, können Sie auf Backstage nachlesen. Mir helfen einige VBA-Skripte bei der automatischen Erstellung und Pflege der Seiten und Links

Wünsche für die nächste Version

Wenn ein Produktmanager von Microsoft diese Seite nun gelesen hat, dann wird er sich sicher vorstellen können, was ich mir wünsche.

Weitere Links

Keywords:Backstage Frontpage VBA Script Skript Sitemap ASP.NET