Archive for 2007

Bruno Kenj

Tech-Ed Brasil 2007

A Microsoft Brasil já iniciou os preparativos para o Tech-Ed Brasil 2007, que acontecerá no hotel WTC, em São Paulo, nos dias 5, 6 e 7 de dezembro.

O evento terá cerca de 120 sessões técnicas, hands on lab e diversas atividades direcionadas para os Profissionais de TI, Arquitetos e Desenvolvedores.

Me chamou bastante atenção quando observei o René de Paula na parte de Comitê Técnico de Conteúdo. O René é Especialista em UX na Microsoft Brasil. Ele é o responsável pelas sessões de DES - Design e a User Experience. Uau, Muito bom!

Outra sessão que se destaca é a WEB - Desenvolvimento WEB apresentando IIS 7.0, ASP.NET 2.0, ASP.NET AJAX 1.0, Silverlight, Windows LIVE, Visual Studio 2008, Microsoft Expression, etc. Além destas, teremos várias e várias outras sessões… confira!

Para quem comprar o ingresso até o dia 14/10, o preço será de R$ 399,00.

Link para inscrição e Mapa.

abraços,

É isso mesmo! Sábado, enquanto me preparava para dar um pulo ao evento Festival Software Livre - DF (Coincidência?), leio a seguinte notícia no blog do ScottGu (Gerente da Divisão de Desenvolvimento): “Releasing the Source Code for the .NET Framework Libraries“.

Em meio aos vários e vários anúncios de melhorias e novidades dos próximos lançamentos, uma excelente notícia para as equipes de desenvolvimento. Para o próximo lançamento do .NET 3.5 e VS2008, o código-fonte do .NET Framework estará disponível para download e debugging (incluindo comentários).

Em princípio, estarão disponíveis as seguintes Bibliotecas Base do .NET: System, System.IO, System.Collections, System.Configuration, System.Threading, System.nET, System.Security, System.Runtime, System.Text, System.Web (claro!), ADO.NET, System.Data, Syste.Xml. Futuramente, estarão disponíveis do WCF, WF e LINQ.

Os códigos estarão sob a licença Microsoft Reference License (MS-RL).

Maiores informações, como Suporte de Debugging Integrado, acesse o blog do ScottGu.

Quanto ao Festival de Software Livre, vou ainda fazer um post com os comentários sobre a palestra de ODF, ministrada pelo Jomar Silva (Diretor Geral da ODF Alliance Chapter Brasil). Me decepcionou e muito! E ainda teve uma foto com o Jon “Maddog” Hall, sem preconceito.

abraços,

IC08

Pois é, você já fez a inscrição na Imagine Cup 2008? aliás, você conhece a Imagine Cup? Faltam apenas 4 meses e meio para o final da primeira rodada. Corra!

Imagine Cup 2008: Código Referência: MSP18

Para quem quiser maiores detalhes da copa, não perca o evento que vai acontecer na UNIP/DF, dia 26/09, quarta-feira.

Softwares

Após se cadastrar, você poderá estar incluindo um código de referência MSP18 (meu, como Estudante Parceiro Microsoft), e depois ao acessar a(s) categoria(s) cadastradas, você terá acesso ao link My Software Downloads (após aceitar, o pop-up no browser deve estar habilitado).

Imagine Cup Competitors: Get free Microsoft software!

We are delighted to offer you the opportunity to download certain Microsoft software for free to help you develop your Imagine Cup entry. Only registered Imagine Cup competitors qualify for the free software download.

O endereço que abre é do ELMS - E-academy License Management System - um sistema Web desenvolvido com o objetivo de auxiliar o gerenciamento e a distribuição dos softwares.

Nele, conseguiremos acesso aos seguintes softwares:

  • Visual Studio 2005 Professional Edition
  • Visual SourceSafe 2005
  • SQL Server 2005 Developer Edition - 32-bit
  • SQL Server 2005 Developer Edition - 64-bit Extended
  • OneNote 2007
  • Project Professional 2007
  • Visio Professional 2007
  • Windows XP Professional SP2 ISO
  • Windows Vista Business DVD
  • Windows Server 2003 Standard Edition

E mais, para quem participou da Imagine Cup passada e se classificou para a segunda fase em alguma categoria além destes ainda poderão baixar o Office Standard 2007

Faça sua inscrição agora mesmo e inform o código de referência (Referral Code) MSP18!

http://www.imaginecup.com.

Peço que antes de baixar os Softwares e adquirir a licença, leem atentamente o contrato!

abraços,

Bruno Kenj

Evento UNIP: Imagine Cup 2008

Pessoal,

A sonhada Imagine Cup 2008 que vai ocorrer na França já está no ar e as inscriçoes já estão abertas para as 9 categorias. Ainda não entendi o desaparecimento da categoria Web, quando justamente estamos focando em conceitos de acessibilidade, usabilidade e arquitetura de informação, mas tudo bem. Temos muitas outras e várias oportunidades!

Evento UNIP Imagine Cup 2008

Vai acontecer nesta quarta-feira, 26/09, na UNIP/DF, um evento com o tema Imagine Cup 2008. O Lucas fará a abertura do evento com uma introdução à copa. Depois estaremos, Estudantes Parceiros Microsoft, falando sobre as diversas categorias da Imagine Cup e também sobre as inscrições e softwares.

Endereço: Asa sul - SGAS Qd. 913 S/ Nº Conj. B.

Imperdível!

Bruno Kenj

Dominio .ms e HttpHandler

Dia 20/09, quinta, estava navegando pelo GoDaddy.com para renovar um domínio quando vejo uma daquelas propagandas oferecendo desconto no registro de novos domínios. Acabei registrando o domínio brunokenj.ms. Conheci esse dominio através do popfly.ms e refere-se a Montserrat, uma pequena colônia britânica do Caribe. Além do .ms, outro dominio bem interessante é o .mobi por apenas 10U$, pois já estamos com 2.2 bilhões de telefones e o Windows Mobile 6 saindo!

Depois de registrado, modifiquei o name server e adicionei os ponteiros, pronto. Quando acessava brunokenj.ms estava acessando a mesma aplicação que o dominio brunokenj.net.

O problema é que a página (default) apenas direcionava para um endereço específico. Nesse caso, ao acessar, a pessoa é direcionada para o blog do dominio .NET e o ideal seria que se ela acessou pelo dominio .MS, que continue nele.

Código da página Default.aspx

<html>
   <head>
     <title>Bruno Kenj .NET</title>
     <meta HTTP-EQUIV=”REFRESH” content=”0; url=http://www.brunokenj.net/blog/”>
   </head>
</html>

Como resolver então?

Uma maneira bem simples foi utilizar customizar o HttpHandler para essa tarefa. Como não tive tempo de escrever sobre modules e handlers, aqui vai um excelente artigo escrito pelo Israel Aéce (MVP ASP.NET) “ASP.NET INTERNALS“.

A idéia foi simplismente adicionar na aplicação Web um HttpHandler chamado RedirectHandler, onde vamos sobrescrever o método ProcessRequest que recebe o objeto HttpContext, para recuperarmos o host acessado pelo usuário e adicionar o caminho definido, neste caso, /blog/.

RedirectHandler

Adicionei a classe RedirectHandler dentro da pasta App_Code da solução.

using System;
using System.Web;
using System.Configuration;

/// <summary>
/// Summary description for RedirectHandler
/// </summary>
public class RedirectHandler : IHttpHandler
{
    /// <summary>
    /// Implementação do Handler sobrescrevendo o método ProcessResquest
    /// </summary>
    /// <param name=”context”></param>
    public void ProcessRequest(HttpContext context)
    {
        // Formata a nova URL, direcionando para o host acessado mais o caminho inicial definido.
        // ex: http:// + host + /blog/
        String urlRedirect = ConfigurationManager.AppSettings[“urlRedirect”];
        String novaURL = string.Format(“http://{0}{1}”, context.Request.Url.Host, urlRedirect);
        // Faz o redirecionamento de acordo com a nova URL
        context.Response.Redirect(novaURL, true);
    }

    /// <summary>
    /// Gets a value indicating whether another request can use the IHttpHandler instance. 
    /// </summary>
    public bool IsReusable
    {
        get { return true; }
    }
}

appSettings no arquivo Web.Config

<appSettings>
  <add key=”urlRedirect” value=”/blog/” />
</appSettings>

httpHandlers no System.Web no arquivo Web.Config

<system.web>
  <httpHandlers>
    <add verb=”*” path=”Default.aspx” type=”RedirectHandler” />
  </httpHandlers>
</system.web>

Nesse caso, nem foi mais necessário os atributos HTTP-EQUIV e CONTENT. Não existe nenhum código adicional no Default.aspx, apenas a nova saída através do handler. Agora, ao acessar brunokenj.ms ou brunokenj.net (arquivo padrão Default.aspx), é feito um redirecionamento para o dominio que acessou + /blog/. Poderia forçar aqui o endereço sempre ter garantir o www, ou não.

Neste cenário específico, eu apenas quero redirecionar a pessoa para o blog, já que não estou com nenhuma aplicação principal. Isso só foi uma pequena demonstração de como o pipeline do ASP.NET é bem definido e extensível.

abraços,

mstrack

NOVAS VAGAS! CADASTRE-SE AGORA MESMO!

Para quem não puder ir ao TechED 2007, que vai ocorrer nos dias 05 à 07 de dezembro em São Paulo, teremos um super evento técnico inédito e de altíssimo nível para TDM, Arquitetos, Desenvolvedores e Profissionais de Infra-estrutura.

O Microsoft Track serão dois dias de evento, onde o conteúdo técnico avançado sobre soluções da plataforma Microsoft é disponibilizado e ensinado, através de palestras dinâmicas, com temas do seu total interesse, usando uma metodologia de cenário para que você tenha uma visão completa da tecnologia.

08 e 09 de Outubro em São Paulo,
10 e 11 de Outubro no Rio de Janeiro,
15 e 16 de Outubro em Belo Horizonte e

17 e 18 de Outubro em Brasília
Local: Sonesta Brasília
Endereço: Setor Hoteleiro Norte, Quadra 5 - Bloco B
Veja o Mapa.

Este evento pode ser uma excelente oportunidade para trazer Brasília novamente para o circuito de eventos Microsoft. Peço que tentem ao máximo liberação para ir ao evento pois será uma oportunidade única de reciclagem! Quem conhece sabe que o time de palestrantes é TOP, imperdível!

LINK PARA O SITE DO EVENTO

Continue Reading »

Bruno Kenj

Dica ASP.NET e Javascript: RadioButtonList

Salve desenvolvedores,

o Félix, brother, me perguntou se já havia feito algum script para validar se algum item de um RadioButtonList estava selecionado.

A função é simples, recupera os itens da coleção (getElementByName) através do ClientID e depois percorre a lista verificando se tem algum item marcado. Se tiver, o retorno é verdadeiro. Além da propriedade checked, poderiamos recuperar o valor selecionado, através do value.

Código JavaScript

function validarRBL()
{
    checkboxList = document.getElementsByName(‘<%=RadioButtonList1.ClientID %>’);

    for (var i=0; i < checkboxList.length; i++)
        if ( checkboxList[i].checked )
            return true;

    return false;
}

abraços,

Bruno Kenj

Visão Geral do Office Open XML

networking… estava em um dos corredores da Microsoft @ São Paulo, no Encontro de Estudantes Parceiros Microsoft (ainda não tive tempo de postar), conversando com o Roberto Prado e o Lucas Campos sobre as possibilidades de um evento em Brasília quando ficamos sabendo de dois eventos sobre o OpenXML voltados para gerentes e desenvolvedores (manhã e tarde, respectivamente). O evento foi especial da Microsoft para as Empresas Partner Microsoft mas acredito que a grande maioria nem ficou sabendo, pois haviam algumas maquinas vazias.

O evento foi ontem (12/09) e conseguimos (Lucas Campos, Luiz Gonzaguinha e eu) a liberação e fomos. O Gonzaguinha foi no período matutino, onde o evento ocorreu para gerentes, dando uma visão de negócio. A tarde, tivemos a mão-na-massa com os desenvolvedores. O evento da tarde teve como instrutor o Leandro Jekimim Goulart (parabéns pela excelente apresentação).

Gostaria de compartilhar com vocês determinados conteúdos. Hoje, conversando com dois desenvolvedores Adobe/Java, ouvi a resposta: “Bruno, entrega esse folder pra alguém de .NET que vai ser melhor” e pensei “Deus, depois de conversar sobre INTEROPERABILIDADE e das possibilidades de se trabalhar com o padrão seja através de .net, asp.net, php, java, flex, etc., vamos lanchar! Depois eu apresento o WordprocessingML mínimo“, kwk.

1. Introdução

O Office Open XML é um padrão aberto proposto para documentos produzidos em processadores de texto, apresentações e planilhas, que pode ser livremente implementado em diversas plataformas e aplicativos. A sua publicação beneficia organizações que pretendem implementar aplicativos que usem o formato, entidades públicas e privadas que compram esse tipo de software, profissionais ou escritores. Por fim, todos s usuários desfrutarão os benefícios do padrão XML nos documentos, como estabilidade, preservação de recursos existentes (legado), interoperabilidade e evolução contínua.

A padronização do OpenXML foi realizada pelo Technical Committee 45 (TC45) da Ecma International, formado por representantes da Apple (Já é suportado no IPHONE da Apple), Intel, Microsoft, NextPage, Novell, Toshiba, etc.

2. Finalidades do Padrão

O OpenXML foi inteiramente projetado para representar com fidelidade o corpus preexistente de documentos de processadores de texto, apresentações e planilhas, codificados em formatos binários definidos pela Microsoft. O processo de padronização consistiu em incorporar de forma precisa, no XML, as capacidades necessárias para representar o corpus existente e apliá-lo, oferecer documentação detalhada e viabilizar a interoperabilidade. Até a elaboração do padrão, é estimado em 40 bilhões de documentos.

As infra-estruturas modernas de redes, hardware e padrões (em especial o XML) permitem um novo projeto que favorece a implementação por vários fornecedores em diversas plataformas e, em outras palavras, abre as portas para a evolução.

Paralelamente aos avanços tecnológicos, s mercados diversificaram-se e passaram a incluir uma nova gama de aplicações não contepladas originalmente pelo universo simples dos programas de edição de documentos. Essas novas aplicações:

  • Automaticamente geram documentos de dados empresariais
  • Extraem dados empresariais de documentos e alimentam aplicações
  • Fornecem acesso a populações de usuários com necessidades especiais
  • São executadas em uma variedade de hardware

Talvez a questão mais importante seja a preservação de longa duração. A preservação do investimento financeiro e intelectual nesses documentos (existentes e novos) tornou-se uma prioridade premente.

Existem diversos padrões e especificações para documentos: HTML, XHTML, PDF, ODF, DocBook, RTF. O OpenXML responde à necessidade de criar um padrão que abranja os recursos existentes no corpus atual de documentos.

3. Propriedades do Padrão

  • Interoperabilidade: O OpenXML independe de formatos, recursos e ambientes de execução priprietários, deixando aos desenvolvedores uma ampla gama de opções.
  • Internacionalização: Maneiras representativas pelas quais o OpenXML é compatível com cada grupo principal de linguagem (orientação do texto, fluxo do texto, representação de números, etc).
  • Facilidade de adoção pelo desenvolvedor e Modularidade: Pequena curva de aprendizagem e gama de opções
  • .

  • Migração de alta fidelidade: O OpenXML cumpre a vasta meta de preservar as informaçõs, nos documentos existentes e novos/
  • Integração com dados empresariais: O OpenXML incorpora as informações empresariais em esquemas (schemas) personalizados, para permitir a sua integração e reutilização entre aplicativos de produtividade e sistema de informações.
  • Espaço para inovação: prepare-se para o futuro. Mecanismos adicionais de extensibilidade e a disponibilização da interoperabilidade aos aplicativos com conjuntos de recursos diferentes.

A explosiva diversificação das demandas do mercado, incluindo os significativos investimentos existentes em sistemas de missão crítica, torna o padrão essencial.

Esse foi um texto bacana falando um pouco do que é o OpenXML e eu termino aqui com a demonstração de um documento WordprocessingML Mínimo:

Arquivo nome: .rels (sem extensão)

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>

<Relationships xmlns=”http://schemas.openxmlformats.org/package/2006/relationships”>
  <Relationship Id=”MyRelationship” Type=”http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument” Target=”document.xml”/>
</Relationships>

Arquivo nome Content_Types.xml:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>

<Types xmlns=”http://schemas.openxmlformats.org/package/2006/content-types”>
  <Default Extension=”rels” ContentType=”application/vnd.openxmlformats-package.relationships+xml”/>
  <Override PartName=”/document.xml” ContentType=”application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml”/>
</Types>

Arquivo nome document.xml:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<w:wordDocument xmlns:w=”http://schemas.openxmlformats.org/wordprocessingml/2006/main”>

<w:body>
  <w:p>
    <w:r>
      <w:t>Interoperabilidade OpenXML!</w:t>
    </w:r>
  </w:p>
</w:body>

</w:wordDocument>

Instruções:

1. Crie os três arquivos citados.
2. Crie uma pasta chamada “_rels” e adicione o arquivo “.rels” dentro dela.
3. Compacte os três arquivos (content type, document.xml e a pasta _rels) para zip
4. renomeie para DOCX

Para saber mais:

http://www.openxmlcommunity.org/
http://www.openxmldeveloper.org/
http://www.codeplex.com/NDOS/Wiki/View.aspx
http://www.porta25.com.br/
http://www.microsoft.com/opensource/

até a próxima dica de OpenXML apresentando uma visão mais técnica,

Bruno Kenj

DONTCLICK.IT, você resiste?

Ao clicar, você recebe a mensagem “OOOPS!” e 371.706 pessoas já reportaram que foi acidental.

DontClick.IT

O projeto de conclusão de um alemão foi a construção de site conceitual onde podemos navegar e interagir sem fazer NENHUM clique no mouse. No começo, pode até parecer muito estranho mas dá pra ver que resolveram o problema de uma forma simples e muito eficiente. Devemos navegar com mais cautela ao movimentar o mouse, pois o evento ‘mouseover’ dispara as ações.

DontClick.IT

Muito bom! abraços,

Bruno Kenj

Dica ASP.NET: WCSF

Web Client Software Factory

saiu um artigo (traduzido) bem interessante na MSDN Magazine, falando e demonstrando um pouco do WCSF, um guia de boas práticas demonstrando uma excelente arquitetura utilizando ASP.NET 2.0, Workflow Foundation, MVP com Controlador, etc.

Muito interessante utilizar o PageFlow (WF) para controlar o fluxo, como uma maquina de estado, junto com o padrão Presentation.

Leia o artigo completo aqui.

O projeto está no Codeplex. Para saber mais, acesse o site.

wcsf

boa leitura.

abraços,

Next »