hotti: Vanity URLs

Beitrag lesen

Moin,

In jedem Fall hat jeder meiner URLs ein Attribut isa=folder wenn es sich um einen Folder (virtuellen Ordner) handelt, das isa-Attribut ist nach außen hin nicht sichtbar und macht zum Anderen den Aufbau einer Hierarchie unabhängig vom URL

Warum einfach, wenn man's sich schwer machen kann?  ;)

Genau ;)
Es sind gerade die Attribute einer Unterseite, wo das Alles zusammen so einfach machen. Meine Unterseiten haben .html aus zwei Gründen:

  1. Ich erstelle eine Unterseite.html lokal mit TextPad, da wird der Syntax hervorgehoben
  2. Jede Unterseite bekommt das Attribut url=/dateiname.html automatisch, es sei denn, ich vergebe url=/anderer_name dann wird das url-Attribut damit überschrieben.

Alle Unterseiten liegen lokal in einem Verzeichnis, so ist auch der Dateiname eindeutig. Die Attribute sind als HTML-Kommentar eingebaut, die Datei wird einem Webservice-Client übergeben, der parst die Datei, Attribute samt Body ergeben einen Hash, die HTML-Kommentare werden entfernt und der Hash (Array) geht, strukturiert und serialisiert, per HTTP zum Server. Dieser Webservice haut die zukünftige Ressource entweder in die Objekts-Datei oder in MySQL ein. Das Alles gleich aus dem TexPad heraus, Seite erstellen, [Strg][3] und sie ist online.

Darüber hinaus gibt es eine Backend-Lösung, da werden die Inhalte im Browser editiert.

Ich denke nicht in Ordnern, dass ist wohl das Problem.

Denke abstrakt ;)

Für mich sind Links in einem Menu lediglich Pfade zu Inhalten.

Das ist bei mir genauso. Abstrakt: Ein virtueller Ordner ist, genau wie jede Unterseite ein URL mit Attributen wie title, descr, jedoch ohne body-Attribute, aber mit einem Attribut, was den virtuellen Ordner als Ordner kennzeichnet (isa=folder).

Sitemap, Menu, Breadcrumb, das geht dann alles automatisch übers Framework.

Wofür brauchst du eigentlich virtuelle Ordner, kannst du da was ablegen, so wie in echten Verzeichnissen? Wenn ja, wie und wo werden diese Daten gespeichert?

Ein virtueller Ordner ist nur ein Eintrag in der Haupt-Konfigurationsdatei. Beispiel:

[/kissen]
 short=Kissen
 title=Romantische Landhaus-Kissen
 descr=Stuhlkissen, Sofakissen, Kissen für Schlafzimmer, Küche und Wohnzimmer in Handarbeit gefertigt.
 isa=folder
 class=Folder
 parent=/shabbychic

Unterseiten liegen derzeit in einer Objekt-Datei, alle zusammen als Binary serialisiert. Haupt-Konfigurationsdatei und ein Teil der Objekt-Datei (nur die Route, die sich aus dem Request ergibt) werden vom Bootstrap (das ist das Framework-CGI, die main) jeweils zu Hashes deserialisiert, die dann gemischt werden. Komplett im RAM liegt jedoch nur die Haupt-Konfigurationsdatei, somit hat der Singleton Zugriff auf alle Attribute, die gebraucht werden für die Navigation, Sitemap, Breadcrumb usw. Bis dahin spielt sich alles ohne URL-Parameter ab.

Naja, in einer Sitemap erwartet man alle Seiten,

Google empfiehlt _zwei_ Sitemaps, eines für die Suchmaschine und eines für den Besucher. War schon immer so ;)

Horst