Desenvolvimento - ASP. NET
Criando sites em ASP.NET para o Second Life
Aprenda neste artigo como criar páginas em ASP.NET específicas para a nova guia Web da janela de Perfil incluída no cliente do Second Life.
por Cláudio RalhaDesde a versão 1.13.0, o cliente do Second Life passou a suportar um interessante recurso para quem desenvolve sites: a capacidade de visualizar o conteúdo de páginas web a partir de uma janela específica existente no próprio visualizador. Trata-se da janela Profile, que agora dispõe de uma nova guia chamada Web para a qual o usuário pode configurar uma página a ser exibida quando outros usuários visualizarem o seu perfil.
Perceba que ainda não se trata de um suporte total a páginas web, mas já é um bom começo. Através dessa URL pré-definida, podemos disponibilizar informações como, por exemplo, dos posts dos nossos blogs, de artigos ou de vendas de produtos diretamente no seu perfil.
A janela de visualização apresenta as dimensões de 400 x 400 pixels no cliente do Windows e não pode ser redimensionada (pedimos que o pessoal do Linux e do Mac postem comentários informando se esta informação também é válida para os demais sistemas). Isto significa que para evitarmos a indesejável scroll bar horizontal, devemos criar páginas adequadas a largura de 400 pixels que deverão ser exibidas sempre que o user agent (leia-se navegador) em questão for o cliente do Second Life. Para tanto, basta inspecionar a string de identificação do user agent em uso. Compare os resultados obtidos para o Internet Explorer e para o cliente do Second Life:
IE 7
LifeMozilla/4.0
(compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET
CLR 3.0.04324.17; .NET CLR 3.0.04506.590; .NET CLR 3.5.20706)
Cliente do Second Life
Mozilla/5.0 (Windows; U; Windows NT 5.1; chrome://navigator/locale/navigator.properties; rv:1.8.0.12) Gecko/20070605 [Second Life (Second Life Release) - 1.18.2.1]
Vale ressaltar que a string de identificação do cliente do SL irá mudar de acordo
com o sistema operacional, mas sempre encontraremos a palavra Second Life presente.
Criando uma aplicação de teste
Para ilustrar como identificar se o cliente que está requisitando a página é o visualizador do Second Life ou um outro navegador, vamos criar uma pequena aplicação de testes chamada WebSiteSL. Perceba na imagem a seguir que usamos o Visual Studio 2008 para criar o projeto, mas nada impede que você utilize a versão 2005 para este teste.
Após o Visual Studio criar o conjunto de arquivos inicial, tecle F7 para entrar com o código do evento Page_Load da página Default.aspx. Inclua o trecho de código a seguir:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.UserAgent.Contains("Second Life"))
{
Response.Write("Página carregada no cliente do Second Life");
}
else
{
Response.Write("Página carregada fora do cliente do Second Life");
}
}
Tecle F5 para que o Visual Studio execute a página e carregue em segundo plano o servidor web que acompanha a ferramenta. Veja a página de teste carregada no IE:
Nota: caso deseje obter a string de identificação inteira do user agent, utilize a linha de código a seguir:
Response.Write(Request.UserAgent);
Nota 2: este mesmo teste pode ser feito em javascript usando o código a seguir:
if(navigator.userAgent.indexOf("Second Life")!=-1)
{
// Navegador é o cliente do second life
}
Como você já deve saber, o servidor interno que acompanha o VS 2005 e o VS 2008 por padrão sorteia portas aleatórias para escutar. No caso do teste que fizemos, a porta em uso foi a 1906:
http://localhost:1906/Default.aspx
Copie a URL da barra de endereço do navegador para facilitar o seu trabalho. Em seguida, abra o cliente do Second Life e clique com o botão direito do mouse sobre o seu avatar e selecione no menu de contexto a opção Perfil.
A caixa de diálogos Perfil será exibida. Clique na guia Web e entre com a URL copiada do bowser web no campo de endereço. A seguir tecle Enter para carregar a página. Confira na figura a seguir:
Viu como é simples criar páginas com conteúdo específico para o Second Life? Esperamos que este pequeno artigo ajude aos empreendedores em atividade no Second Life a bolarem novas formas de ganhar dinheiro explorando esta nova opção. E tudo indica que em breve teremos suporte total a Web por dentro do Second Life...Vá se preparando!
Abraços e até a próxima!
Cláudio Ralha