Projekt Meta
Inventur im Content-Universum auf yeebase.com

Martin Brüggemann, 18.06.2009 - 22:33 | 2 Kommentare |  |  Teilen

yeebase_opensource_sucheWirft man einen Blick auf unsere ganzen Online-Portale, wird man schnell feststellen, dass es ziemlich schwierig ist, den Überblick zu behalten. Da ich - wahrscheinlich aufgrund meiner Rolle als technischer Geschäftsführer - die Angewohnheit habe, komplexe Dinge in Objekte und Objekttypen zu gliedern, möchte ich das hier mal nutzen, um alle Portale und Inhalte von yeebase media für die spätere Indexierung zu analysieren.

Wie machen wir Inhalte auffindbar?

Über allem steht der Namespace. Da unsere Unternehmung yeebase media heißt und jedes Portal unter *.yeebase.com läuft, steht über allen Inhalten der Namespace 'yeebase', den ich zukünftig gerne auf drei Stellen (yee) begrenzen würde. Dadurch, dass wir bei der Indexierung und dem Aufbau der Global-Unique-IDs eine Ebene höher ansetzen, als man es zum Beispiel bei Machine-Tags/Triple Tags machen würde, haben wir später die Möglichkeit auf einfache Weise Fremdcontent zu indexieren: zum Beispiel Tweets.

Content Models: Um welchen Inhaltsart handelt es sich?

Auf allen Portalen unter yeebase.com gibt es 4 verschiedene Inhaltsmodelle (Content Models):

1. Redaktioneller Inhalt (Editor Content: z.B. t3n Artikel, t3n News)
2. User-Content (User Content: z.B. Kommentare und hype!-Beiträge)
3. Verzeichnis-Inhalte (Directory Content: z.B: Startups, Open-Source-Software)
4. Bezahlte Inhalte (Payed Content: z.B. Dienstleister/Freelancer-Einträge, Stellenanzeigen)

Die Unterscheidung der Content Models ist wichtig, um später zum Beispiel bei der Ausgabe von Suchergebnissen gezielt inhaltstypen getrennt voneinander dastellen zu können.

Content Types: Wofür steht der Inhalt?

Einzelne Portale können wieder verschiedene Inhaltstypen (Content Types) haben. Im Startups-Portal gibt es zum Beispiel sowohl Startup-Einträge (ContentType = startup) als auch Investoren-Einträge (ContentType = financing) und redaktionelle News (ContentType=news).

Local Unique ID: Die spezifische lokale ID eines Inhalts im Portal-Context

Jedes Inhaltselement hat in seinem Portal eine eindeutige ID, unter der es angesprochen wird. Das ist wichtig, um sicherzustellen, dass die verschiedenen Systeme weitgehend autonom funktionieren, also auch dann, wenn später mal die übergeordnete Indexer-Logik ausfallen sollte oder gerade gewartet wird.

GUID: Die globale, eindeutige ID

Eine globale, eindeutige ID, macht Inhalte von außen zugänglich und enthält in unserem Fall zudem Meta-Informationen. GUIDs im yeebase-Meta-Projekt könnten  wie folgt aussehen:

Namespace + Portal + ContentType + Local Unique ID

Ein Beispiel am Artikel "Amazon AWS: Keine Mehwertsteuer für EC2 zahlen" aus unserem Unternehmensblog:

Namespace = yee
Portal = blog
ContentType = news
localUniqueId = 235366

Daraus resultiert die folgende GUID:

yee:blog:news:235366

Und warum soll das jetzt cool sein?

Nehmen wir an, wir hätten unseren Indexer im täglichen Betrieb und planen ein neues Portal zu launchen. Nach unserem GUID-Schema, wäre es relativ leicht, neue Inhalte strukturiert zu erfassen und semantisch zu verknüpfen. Auf der anderen Seite könnten wir über eine zentrale yeebase API anderen Leuten ermöglichen unsere Inhalte weiterzuverwenden bzw. Zusammenhänge zwischen Fremd- und yeebase-Content zu definieren.

Ein Beispiel am fiktiven Portal bio.yeebase.com mit den ContentTypes (store und product = Bioläden und Produkte). Eine mögliche GUID für einen Bioladen um die Ecke würde dann ungefähr so aussehen:

yee:bio:store:28732

Man könnte natürlich auch sagen, dass GUIDs einfach fortlaufende Nummern sein sollen, aber dann könnte man nicht auf einen Blick darauf schließen, um welchen Inhalt es sich handelt. Das macht aber zum Beispiel bei der Vergabe von Machine Tags sinn. Also z.B. dann, wenn ich einen Artikel auf t3n explizit mit einer Firma aus dem Marktplatz "taggen" möchte. Ganz interessant ist das zum Beispiel bei flickr gelöst, wo man Bilder mit Geokoordinaten oder sogar mit einem Verweis zu einem Flickr-User taggen kann. Das Ganze nennt sich dann Machine Tags bzw. Triple Tags.

Welche Inhalte sollen vom Indexer erfasst werden?

t3n newsticker

http://t3n.yeebase.com

Key: t3nnews
ContentTypes: news,comments,blogs

t3n heftarchiv

http://t3n.de/news/magazin

Key: t3narchive
ContentTypes: articles,comments,issues

hype

http://hype.yeebase.com

Key: hype
ContentTypes: news,comments

startups

http://startups.yeebase.com

Key: startups
ContentTypes: startups,comments,news,financings

it-jobs

http://jobs.yeebase.com

Key: jobs
ContentTypes: jobs

marktplatz

http://marktplatz.yeebase.com

Key: marketplace
ContentTypes: entries,articles,news

opensource

http://opensource.yeebase.com

Key: opensource
ContentTypes: entries,comments,articles,news

unternehmen & blog

http://yeebase.com

Key: blog
ContentTypes: news,comments

account

https://www.yeebase.com/account

Key: users
ContentTypes: account

shop

https://www.yeebase.com/shop

Fazit

Das hier skizzierte GUID-Prinzip als Basis für den Aufbau eines Indexers ist sicherlich nicht die pragmatischste Lösung, bietet aber im weiteren Verlauf einige Vorteile. Insbesondere wenn wir uns überlegen auf Basis der "semantischen GUIDs" später Inhalte mit einander zu verknüpfen oder eine automatisierte vokabularbasierte Kategoriesierung beim Indexierungs-Vorgang vorzunehmen.

Aktuelle News:

2 Antworten zu “Projekt Meta: Inventur im Content-Universum auf yeebase.com”

  1. #1 PechGehabt

    Uh, coole Idee - macht Sinn - auch für Google...

    Schön, wenn man die Kontrolle über den eigenen Content hat - bei Kunden-Content ist das ja oft leider nicht so bzw. nur schwer zu vermitteln/durchzusetzen...

  2. #2 michael

    Klasse Idee. Das macht die ganze Sache schon leichter zu überschauen. bin mal gespannt wie sich das entwickelt.