Wie die Fotografie-Informationen strukturiert sind

Diese Seite wurde entfernt aus den Fotografie-Informationen und steht nun hier. Datum der Veröffentlichung: 04.04.2007.

Dieser Artikel ist vielleicht interessant für Webseitenentwickler. Er hat nichts mit Fotografie zu tun, sondern hilft mir, wenn ich die Fotografie-Informationen in ein Content-Management-System überführen will. Aktuell bestehen die Fotografie-Informationen aus vielen einzelnen Dateien, die durch Links so verbunden sein sollen, dass jeder sich gut zurechtfindet und die Informationen gut aufnehmen kann. Die Links bilden eine hierarchische Struktur und diese soll im Content-Management-System identisch sein.

Struktur

Rang und Reihenfolge der HTML-Seiten (-Dateien)

Eine HTML-Seite kann hierarchisch eingeordnet werden als Kapitel (chapter), Abschnitt (section) oder Unterabschnitt (subsection) durch das rel-Attribut eines Links. 3 Ebenen sind für mich nicht ausreichend präzise, sodass ich auf eine Unterscheidung verzichte und jede Seite als einen Abschnitt (section) einer übergeordneten Seite betrachte. So kann ich beliebig tiefe Hierarchien erzeugen.

Beispiel: Die Seite mit dem Titel Das Objektiv ist eine übergeordnete Seite für die Seiten Die Brennweite, Die Abbildung, Der Bildwinkel und so weiter.

Zusammenhängende Seiten haben Nachfolger (next) und Vorgänger (prev). Der Nachfolger von Die Brennweite ist Die Brennweite: Vergleichsfotos und deren Nachfolger Die Abbildung (Das Bild). Der Vorgänger von Die Abbildung (Das Bild) ist Die Abbildung (Das Bild), deren Vorgänger Die Brennweite.

So entsteht eine Hierarchie: Jede Seite mit section-Links (rel=”section”) ist den verlinkten Seiten übergeordnet. Die Reihenfolge untergeordneter Seiten ist definiert durch prev und next-Links, ansonsten durch die Reihenfolge der section-Links in der übergeordneten Seite. Ein Programm kann alleine anhand der Startseite die komplette Hierarchie auslesen. Auf diese Weise wird mein Inhaltsverzeichnis (Sitemap) erzeugt.

Linkseiten

Linkseiten strukturieren umfangreiche Themen. Sie sind Inhaltsverzeichnisse für untergeordnete Seiten und enthalten nur Links auf diese. Ein Beispiel ist die Seite Das Objektiv.

Linkseiten sind identifiziert durch eine Link-Liste der Klasse sections. Die Liste ist das Inhaltsverzeichnis. Alle Links in der Liste haben das Attribut rel=”section”.

Abbildung: Seitenstruktur. Jede Seite verweist mit einem next-Anker auf die nachfolgende, mit einem prev-Anker auf die vorhergehende und mit einem contents-Anker auf die übergeordnete. Die übergeordnete Seite – ich bezeichne sie als Linkseite – verweist mit section-Ankern auf ihre untergeordneten Seiten.

Inhalt

Der Inhalt – das was interessiert – ist im Abschnitt (div) mit der ID content. Alle anderen Abschnitte einer Seite dienen dazu, Inhalte aufzufinden und anzuzeigen. Sie sind unten beschrieben (Navigation).

Navigation

Der Inhalt ist von 6 Navigationsabschnitten umgeben (in Klammern stehen die Abschnitts-IDs oder Klassen):

  • Site-Navigation (sitenav)
  • Pfad-Navigation (pathnav)
  • Artikel-Navigation vor dem Artikel. Der Artikel ist der Inhalt bzw. Content. (articlenav before)
  • Artikel-Navigation nach dem Artikel (articlenav after)
  • Abschnitts-Navigation (sectionnav)
  • Site-Links (sitelinks)

Site-Navigation

Die Site-Navigation enthält Links zur Startseite und den Hauptabschnitten der Fotografie-Informationen sowie ein Texteingabefeld für Suchbegriffe nebst Suchen-Button. Sie ist am Anfang jeder Seite (Kopfbereich) und enthält den den Site-Titel, hinter dem ein Link zur Startseite steckt (Fotografie-Informationen).

Pfad-Navigation

Die Pfad-Navigation zeigt an, wo man ist als den (kürzesten) Weg von der Startseite zur aktuellen Seite. Durch sie gelangt man schnell zur übergeordneten Seite mit dem Inhaltsverzeichnis (Überblick) oder einer noch weiter übergeordneten Seite. Die Pfad-Navigation ist unter der Site-Navigation.

Artikel-Navigation vor dem Artikel

Die Artikel-Navigation vor dem Artikel führt zu vorhergehenden und folgenden Artikeln des gleichen Themas sowie zur Inhaltsseite.

Artikel-Navigation nach dem Artikel

Die Artikel-Navigation nach dem Artikel ist identisch mit der vor dem Artikel. Der Leser erspart sich nach dem Lesen das Hochblättern und kann gleich zum nächsten/vorhergehenden Artikel wechseln oder in das Inhaltsverzeichnis.

Abschnitts-Navigation

Die Abschnitts-Navigation ist eine Kopie des Inhaltsverzeichnisses für Artikel mit dem gleichen Thema. Sie ist rechts vom Artikel und erspart das Aufrufen des Inhaltsverzeichnisses in der übergeordneten Seite.

Das Inhaltsverzeichnis lasse ich automatisch in die übergeordnete Seite schreiben anhand eines Artikels: Durch die prev- und next-Links erhalte ich alle Artikel in der richtigen Reihenfolge, die übergeordnete Seite eines Artikels – sie enthält das Inhaltsverzeichnis – ist bekannt durch den contents-Link. Ins Inhaltsverzeichnis, das ist die Liste der Klasse sections, werden alle Dateien mit dem gleichen contents-Link geschrieben. Aus dem Inhaltsverzeichnis wiederum wird automatisch in allen untergeordneten Artikeln die Abschnittsnavigation erzeugt.

Site-Links

Die Site-Links sind nützliche Verweise am Ende jeder Seite, zum Beispiel auf das Inhaltsverzeichnis, das Stichwortverzeichnis und meine E-Mail-Adresse.

Abbildung: Seitenbereiche.

Überführen in ein Content-Management-System

Ich unterstelle, ein gutes Content-Management-System (CMS) hat eine Programmierschnittstelle (API) zum Einfügen von Content. Die statische HTML-Seiten könnten folgendermaßen übernommen werden (Pseudocode):

Füge alle Inhalte hierarchisch ein:
1. Ergänze Hierarchiebaum mit Seite
       Seite = Startseite
       Elternseite = Wurzel des Baums
2. Füge in das CMS leere Seiten ein in gleicher Hierarchie
3. Schreibe den Content der Seiten in das CMS

1. Ergänze Hierarchiebaum mit Seite: (Parameter: Seite, Elternseite)
    Füge Seite ein als Unterseite von Elternseite
    Für alle Anker der Seite mit rel="section"
        Ergänze Hierarchiebaum mit Seite // 1. rekursiv
            Seite = href des Ankers
            Elternseite = Seite (1. Parameter)

2. Füge in das CMS leere Seiten ein in gleicher Hierarchie:
    Für jede Seite des Hierarchiebaums
        Lege im CMS neue Seite an in gleicher Hierarchie

3. Schreibe den Content der Seiten in das CMS:
    Für jede Seite des Hierarchiebaums
        Lies Inhalt des divs mit id="content"
        Parse ausgelesenen Inhalt
            Schreibe diesen CMS-API-spezifisch in
            korrespondierende Seite angelegt in 2.
                Konvertiere Links auf alte Seiten in Links
                auf CMS-Seiten, angelegt in 2.
                Behandle Links auf weitere Ressourcen (Bilder etc.)

Zu diesem Artikel können keine Kommentare mehr geschrieben werden.