Korzystając z różnych portali w sieci staramy się być jednoznacznie identyfikowani – stosując ten sam nick, czy dodając awatara. Jednak posiadanie kont na wielu portalach znacznie utrudnia zarządzanie nimi (np. gdy postanowimy nasze zdjęcie uaktualnić lub usunąć).
Z pomocą przychodzi Gravatar (globally recognized avatar). Jest to taka globalna przechowalnia awatarów. System ten kojarzy awatary z adresami e-mail. Tak więc zakładając konto na jakimś portalu i podając naszego maila, portal ten może pobrać naszego gravatara. Jeżeli postanowimy uaktualnić zdjęcie – robimy to tylko w jednym miejscu.
Dodanie gravatara do naszej strony jest niezwykle proste i polega na stworzeniu odpowiedniego urla , który podajemy jako źródło dla obrazka.
Każdy url zaczyna się od adresu
> http://www.gravatar.com/avatar/
Następnie dodajemy adres e-mail shashowany algorytmem MD5
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802
Dodatkowo możemy podać kilka opcjonalnych parametrów:
s – rozmiar awatara w pikselach
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?s=80
r – “kategorię” awatara – pozwala na filtrowanie zawartości awatara
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?r=g
d – domyśne zdjęcie – wysyłane jeżeli dla danego adresu e-mail nie ma zarejestrowanego gravatara. Jako domyślne zdjęcie podajemy url konkretnego zdjęcia lub podajemy typ automatycznie wygenerowanego zdjęcia. Do wyboru mamy identicon, monsterid oraz wavatar.
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=http%3A%2F%2Fexample.com%2Fimages%2Fexample.jpg
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=monsterid
> http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=wavatar
Dodając naszego gravatara ustawiamy jego kategorię (oznaczoną literą). I tak:
- G – może być wyświetlany na wszystkich stronach
- PG – może zawierać nieprzyjemne treści
- R – treści nieerotyczne, ale nie dla dzieci
- X – dostępny na stronach z treścią erotyczną
A oto jak można wygenerować gravatara w C#:
[sourcecode language=”csharp”]
protected string GetGravatarUrl(string email) {
var hash = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(email, "MD5");
var gravatarUrl = new StringBuilder();
gravatarUrl.Append("http://www.gravatar.com/avatar/");
gravatarUrl.Append(hash.ToLowerInvariant());
gravatarUrl.Append("?s=60");
gravatarUrl.Append("&r=g");
gravatarUrl.Append("&d=mavatar");
return gravatarUrl.ToString();
}
[/sourcecode]
Z metody korzystamy w następujący sposób:
[sourcecode language=”xhtml”]
<asp:DataList ID="dlUserList" runat="server">
<itemTemplate>
<img alt='<%# Eval("UserName") %>' src="<%# GetGravatarUrl(Eval("EmailAddress")) %>" />
</itemTemplate>
</asp:DataList>
[/sourcecode]
Można też skorzystać z gotowej kontrolki. Można ją pobrać pod adresem: http://www.freshclickmedia.com/wp-content/uploads/2008/02/gravatar.zip
Opis implementacji kontrolki: http://www.freshclickmedia.com/blog/2008/02/gravatar-aspnet-control/