FrontPage und Sharepoint Designer Struktur

Archiv:
Diese Seite wird nicht mehr weiter gepflegt, da beim Zugriff über das Objektmodell von Sharepoint Designer bzw. Frontpage kein direkter Dateizugriff mehr erforderlich ist.

Eine wichtige Funktion bei allen Skripten ist die Nutzung der Frontpage Navigationsstruktur. In Frontpage kann sehr einfach die logische Abfolge der Seiten definiert werden. Diese Informationen nutzt normalerweise die Frontpage Navigationskomponente zur Erstellung der Navigation.

Da mit das nicht reicht, musste ich das Format der Datei "structure.cnf" analysieren und dann mit einem VBScript verarbeiten. Vermutlich wäre das auch mit VBA in Frontpage gegangen, aber mir war ein VBScript dann doch flexibler. Außerdem kenne ich mich damit erst mal besser aus. Auch andere Autoren wie http://www.arsharpe.co.uk/personal/Software/FrontPage/navFileFmt.htm haben ähnliches gemacht.

Die Datei liegt immer im Verzeichnis  "\_vti_pvt\structure.cnf" und ist UTF-8 codiert.

Zukünftig könnte die ASP.NET-Sitemaps eine neue Option darstelle. Details finden Sie dazu unter "ASP.NET  ASP.NET-Siteübersichten" http://msdn2.microsoft.com/de-de/library/yy2ykkab(VS.80).aspx

Dateiaufbau

Früher habe ich die Datei per VBScript ausgelesen und die HTML-Dateien gepatched. Das mache ich mittlerweile nicht mehr, da ich entsprechende VBA-Makros habe.

Die Datei hat einen einfachen Aufbau:

Die sieben Felder haben wiederum eine eigene Bedeutung:

  1. Nummer der Seite
    Jede Seite hat eine eigene Nummer und beginnt bei 1000
  2. Relative URL
    Der Pfad zu der Datei relativ vom Web
  3. unbekannt
    Ich weiß noch nicht, wozu dieses Feld dient
  4. Titel
    Dies ist nicht zwingend der Titelseite im HTML. sondern in der Navigation. Details siehe weiter unten
  5. Parentpage
    Dies ist die Nummer der übergeordneten Seite Ist dies eine "0", dann ist es eine der höchsten Seiten.
  6. vermutlich Checksumme oder Version/Zeittempel
    Der genaue Aufbau ist mir nicht bekannt
  7. Folgezeilen
    Zu einer Seite kann es weitere Definitionen geben, z.B. ob die Seite in der Navigation "unsichtbar" ist oder ob es eine globale Startseite ist. In diesem Feld ist definiert, wie viele Folgezeilen noch zu dieser Seite gehören. Mögliche Inhalte sind z.B. "vti_nonnavpage:BW|false" oder "vti_globalpage:BW|false"

Das wird sehr einfach sichtbar, wenn man eine Musternavigation betrachtet

3.0.0.507
1016
1000,default.htm,0,Homepage,0,1088363818,1
vti_globalpage:BW|true
1001,bereich1/default.htm,0,B1D,1000,1088363818,0
1002,bereich2/default.htm,0,B2D,1000,1090698284,0
1003,bereich3/default.htm,0,B3D,1000,1088363770,0
1009,bereich1/b1s2.htm,0,B1S2,1001,1090697626,0
1014,bereich1/b1s3.htm,0,B1S3,1001,1090697626,0
1008,bereich1/b1s1.htm,0,B1S1,1001,1090697675,0
1013,bereich2/b2s1.htm,0,B2S1,1002,1090697626,0
1015,bereich2/b2s2.htm,0,B2S2c,1002,1090698284,0
1010,bereich3/b3s1.htm,0,B3S1,1003,1090697626,0
1011,bereich3/b3s2.htm,0,B3S2,1003,1090697626,0

Die Reihenfolge der Seiten in der Datei ist vorgegeben:

Dabei ist die physikalische Struktur der Dateien irrelevant.

Titelbesonderheiten

Wenn Sie eine HTML-Seite in Frontpage erstellen, geben Sie meist auch den Titel mit ein. Wird diese Seite nun in die Navigation addiert, dann übernimmt Frontpage den Titel der Seite in die Navigation. Sie können nun nachträglich sowohl in der Seite als auch in der Navigation den Titel ändern. Frontpage versucht unter bestimmten Umständen, die beiden Einträge synchron halten.

Daraus habe ich für mich gefolgert

ACHTUNG: Diese Beschreibung ist noch vorhanden, aber ist nicht erforderlich, wenn ich die Verarbeitung in Frontpage mit VBA durchführe. Ich benutze die hier genannten Informationen nicht mehr.

API für Sitemaps

Eine direkter Zugriff auf die Textdatei ist natürlich nicht die ideale Variante. Die Struktur einer Webseite wird sowohl in Frontpage als auch im Sharepoint Designer kann man in VBA-Makros sehr bequem auf die die Navigationsstruktur zugreifen. Ich nutze selbst diese Schnittstelle sowohl in MSXFAQ-Skripte um meine Webseite zu pflegen.

Mittlerweile gibt es auf ASP.NET Sitemap auch ein VBA-Makro, welches die Sitemap von Frontpage/Sharepoint Designer in einer ASPX-kompatible Struktur überführt.

Keywords:Frontpage Backstage