In Internet-Foren ist es schon seit Jahren Gang und Gebe, Forenbeiträge
der Mitglieder mit einem kleinen Bildchen zu versehen, um den Beiträgen
etwas mehr persönliche Identität zu verleihen. Diese Bilder nennt man
Avatare. Sie sollen die virtuelle
Identität des Besitzers wiederspiegeln und lockern zudem die manchmal sehr
textlastigen Threads etwas auf.
Das Problem mit den Avataren ist nur, dass ein Internet-User in jedem
Forum in das er posten möchte, ein Bild hinterlegen muss, um die
Funktionalität zu nutzen. In vielen Fällen passiert das noch über einen
Upload bei der Anmeldung am Forum. In der Blog-Szene kann man nun ebenfalls
einen Hang zum Bebildern von Beitragskommentare beobachten. Nur gibt es in
Blogs keinerlei Möglichkeit ein Bild auf den Server hochzuladen. Um Avatare
trotzdem zu unterstützen, haben die User oftmals die Möglichkeit die URL des
eigenen Avatars dem Kommentar mitzugeben. State-of-the-Art in Zeiten des
"Web 2.0" ist das allerdings nicht, denn ist die eigene Blog-Roll, d.h. die
Liste der täglich gelesenen Blogs, recht lang und kommentiert man gerne,
zerrt die Eingabe der Avatar-URL mit der Zeit an den
Nerven.

Ähnlich ging es wohl auch Tom Werner, Web-Designer aus Kalifornien. Er
ersann die sog. Gravatare (Globally Recognized Avatar) und bietet einen
entsprechenden Dienst auf www.gravatar.com
an. Sein Ansatzpunkt ist die eMail-Adresse, die ohne Zweifel jeder
Internet-User besitzt und die meist beim Kommentieren von Blogs angegeben
werden kann. Auf gravatars.com kann man nun die eigene eMail-Adresse mit
einem Bild verknüpfen, das man auf den Server hochlädt. Nach ein paar
Stunden, in denen das Bild einem Rating bezüglich Jugendfreiheit et cetera
unterzogen wird, kann man auf das Bild über eine standardisierte URL
zugreifen.
Der Unterschied zum Verlinken des Bildes auf einem eigenen Server ist
nun, dass die Gravatar-URL von Blog-Systemen anhand der von Tom Werner
herausgegeben Spezifikation und der vom Benutzer angegebene eMail-Adresse
automatisch berechnet werden kann und somit das Bild mit Angabe der
eMail-Adresse in einem Blog-Kommentar automatisch angezeigt wird.
Um Spammern nicht Vorschub zu leisten, ist die eMail-Adresse in der
Gravatar-URL mittles des MD5-Algorithmus verschlüsselt.
MD5-Zeichenfolgen (sog. Hashes oder Streuwerte) sind sehr sicher, denn man
kann daraus nicht den Originalwert rekonstruieren.
Der URL können neben der Gravatar-ID, also dem MD5-Hash-Wert der
eMail-Adresse, noch weitere Parameter mitgegeben werden, die für die
Implementierung einer Gravatar-Unterstützung in Blog- oder anderen Systemen
wichtig sind:
| Parameter |
Werte |
Beschreibung |
| rating |
G | PG | R | X |
Rating nach MPAA-Richtlinien |
| size |
Zahl |
Größe des anzuzeigenden Bildes in Pixel |
| default |
URL |
URL zu einem Standardbild, falls zu der angegebenen eMail-Adresse kein Gravatar
gefunden werden konnte |
| border |
Farbcode |
z.B. #000000 für einen schwarzen Rand um das Bild |
Eine gültige Gravatar-URL könnte demnach folgendes Aussehen haben, wenn
man im Blog nur einwandfreie Bilder in der Größe 40x40 Pixel ohen Rand
darstellen möchte (Zeile mehrmals umgebrochen):
Function GetGravatarURL(strEMail)
strHash = GetMD5Hash(strEMail)
strRetVal = "http://www.gravatar.com/avatar.php?gravatar_id=" & strHash
strRetVal = strRetVal & "&size=40"
strRetVal = strRetVal & "&rating=G"
strRetVal = strRetVal & "&default=" & _
Server.URLEncode("http://www.meinserver.de/bilder/unbekannt40.jpg")
End Function
Die Codierung der Default-URL ist empfehlenswert, um nicht Gefahr zu
laufen durch unbeabsichtigt eingefügte Sonderzeichen einer ungültige URL
mitzusenden.
Diese URL kann man nun bei der tabellarischen Darstellung der Kommentare
zu einem Beitrag in das SRC-Attribut des IMG-Tags einfügen.
Beispiel für eine (zugegebenermaßen) sehr simple Kommentartabelle:
'... Daten aus der Datenbank über ein ADO-Recordset auslesen
<table width="300" border="1">
<%
Do Until rs.EOF
strEMail = rs.Fields("EMail")
strName = rs.Fields("Name")
strComment = rs.Fields("Kommentar")
%>
<tr>
<td height="20" width="100%" colspan="2"><%=strName%></td>
</tr>
<tr>
<td width="40"><img src="<%=GetGravatarURL(strEMail)%>" /></td>
<td width="260" valign="top"><%=strComment%></td>
</tr>
<% Loop %>
</table>