logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Ago 25

Bubble chart com efeito Pan e Zoom

Escrito por Pablo Souza em 1, 2.0, Air, app, AR, arte, blog, browser, C#, código, código fonte, dados, Download, exemplo, Flex, fonte, Gráfico, if, O, on, painel, RIA, Ria’s Geral, S+S, Twitter, UI @ 08 25th, 2011 | via http://rectius.com.br/blog | Sem comentários
Pablo Souza
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Recentemente tive a necessidade de criar um painel para acompanhamento de tarefas e me lembrei de um projeto do @ccoenraets que poderia me ajudar.

Veja no exemplo abaixo um exemplo de como utilizar um gráfico de bolhas dinâmico, onde você pode atualizar seus dados de acordo com o local onde as bolhas são posicionadas.

Your browser does not support iframes.

Download do código fonte.

Espero que gostem! Até a próxima.

Jul 29

Busca por controles na árvore visual de aplicações Silverlight e WPF

Escrito por Kelps Sousa em .NET, 1, 2.0, 4, 6, AR, bar, Behavior, Behaviors, Blend, blog, busca, C#, camp, class, classe, código, Componente, Componentes, control, Controles, Dica, Dicas, DRE, event, Evento, Eventos, exemplo, expression, Expression Blend, for, galeria, Google, IE, if, int, layout, map, mg, Microsoft, mousewheel, MSDN, News, O, on, padrão, painel, problema, problemas, procura, pt, RIA, Ria’s Geral, S+S, Scroll, silverlight, Silverlight 3, Silverlight 4, site, social, TAT, template, Tree, UI, window, WPF, XAML, XP @ 07 29th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Ontem eu vi uma pergunta no fórum de Silverlight do MSDN sobre como achar todos os campos TextBox que existem dentro de uma ChildWindow. Já havia algumas respostas para a pergunta mas elas eram bem pontuais para aquele problema específico e necessitavam de várias suposições sobre a estrutura da aplicação para funcionar sem problemas (por exemplo, saber quais tipos de Panel estão sendo usados). Alguns anos atrás, quando eu comecei a fazer uma das minhas primeiras behaviors para publicar na galeria do Expression Blend, eu descobri uma classe do Silverlight (também existe no WPF) que serve justamente para permitir navergarmos na árvore visual de uma aplicação, tanto procurando controles filhos quanto pais de um determinado controle.

A behavior em questão é a que permitia que se fizesse scroll com a wheel do mouse (a rodinha) em controles que apresentassem scrollbar para aplicações feitas em Silverlight 3. Hoje essa behavior praticamente não é mais necessárias pois o Silverlight 4 já implementa esse comportamento nativamente, mas não era esse o caso na época. Para poder implementar essa função eu precisei criar um código que fosse capaz de ler toda a hierarquia visual do controle (vasculhando todos os componentes do qual o template do controle era composto), procurando por algum ScrollViewer. Se eu o encontrasse, a behavior assinava os eventos necessários do controle para que o scroll funcionasse como esperado.

Para navegar pela árvore visual, a classe que utilizei foi a VisualTreeHelper. Voltando ? dúvida do fórum, eu decidi criar um método genérico que fosse capaz de encontrar todos os controles de um determinado tipo em uma hierárquia utilizando essa classe, assim estaria garantindo que não precisaria ficar colocando “if”s para cada tipo de painel diferente que aparecesse na minha frente. Sem mais delongas, segue abaixo o método que eu fiz.

public static T[] SearchUIElements(UIElement root, int maxlevel = int.MaxValue, int level = 0)     where T : UIElement 

    var result = new List();

    if (root != null)         if (root is T)             result.Add(root as T);

        if (level < maxlevel)             var childrencount = VisualTreeHelper.GetChildrenCount(root);            DependencyObject child;            for (var i = 0; i < childrencount; i++)                 child = VisualTreeHelper.GetChild(root, i);                if (child is UIElement)                     result.AddRange(SearchUIElements(child as UIElement, maxlevel, level + 1));

            }        }    }

    return result.ToArray();}

Como vocês podem ver o método não é grande e é bem simples. Ele aceita 3 parâmetros:

  • root: controle raiz a partir de onde será iniciada a busca. Por exemplo: LayoutRoot.
  • maxlevel: número máximo de níveis que a busca irá “descer” nos descendentes. Este parâmetro é opcional e o seu valor padrão é int.MaxValue, garantindo que será lida a hierarquia inteira a partir do ponto inicial.
  • level: nível atual da busca. Esse parâmetro é utilizado apenas pela própria função para controlar quando a busca atingirá o nível máximo solicitado pelo usuário.

A função é genérica. O parâmetro T serve para indicar qual tipo de controle será procurado, assim como permitir que o retorno sejá tipado corretamente. A é executada de forma recursiva, chamando a si mesma para cada novo ítem na hierarquia.

O resultado da função é sempre um array do tipo de controle solicitado. Esta função sempre retorna uma array, mesmo que seja vazio (não será retornado null).

Abaixo temos um xaml de exemplo e algumas chamada ? função com a descrição do que será encontrado em cada caso.

<Grid x:Name="LayoutRoot">    <TextBox />    <TextBox />    <Grid>        <TextBox />        <TextBox />        <Grid>            <TextBox />        Grid>    Grid>Grid>
//acha TODOS os 5 campos TextBox var textboxes = SearchUIElements<TextBox>(LayoutRoot);

//acha apenas os 2 campos TextBox de LayoutRoottextboxes = SearchUIElements<TextBox>(LayoutRoot, 1);

//acha 4. Os 2 acima e os 2 que estão no primeiro Grid filhotextboxes = SearchUIElements<TextBox>(LayoutRoot, 2);

//acha TODOS os Grids a partir de LayoutRoot, inclusive ele mesmo var grids = SearchUIElements<Grid>(LayoutRoot);         

Agora que eu já mostrei como faz, você acha que consegue fazer uma função semelhante que navegue ao contrário na hierárquia? (procurando nos pais de um controle até chegar na raíz da aplicação…). Fica o desafio. Winking smile



Abr 18

Membase – Banco de dados “chave-valor” distribuído

Escrito por Igor Musardo em .NET, 1, 4, 6, abas, Adobe, apache, Aplicativos, app, AR, Asp.Net, back, Banco de Dados, BI, browser, busca, cache, class, cliente, código, configuração, couchdb, dados, Desenvolvedor, desenvolvedores, Dica, dll, Download, empresas, exemplo, Exemplos, Flex, for, IE, if, image, instalação, int, Java, library, mg, Microsoft, monitor, MSDN, O, on, painel, Partilha, Password, PHP, POO, programação, pt, relatório, Relatórios, RIA, Ria’s Geral, ruby, SDK, server, serviço, servidor, socket, Software, SQL Server, Sun, Tech, Tecnologia, Tema, Teste, UI, uint, Vários, Ved, Visual Studio, web, window, windows, XML, XP @ 04 18th, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

O Membase é um sistema de gerenciamento de banco de dados chave-valor distribuído, otimizado para aplicações web interativas.

O Membase é utilizado em produção em milhares de aplicativos no mundo, entre as grandes empresas que utilizam temos Zynga e NHN. E já também disponível no host compartilhado Heroku.

Infelizmente hoje os hosts brasileiros nos planos compartilhados é dificil encontrar suporte à tecnologias noSQL como o Membase, CouchDb, MongoDb, etc, e com isso forçam os desenvolvedores fazerem software utilizando bancos de dados relacionais que não são aderentes à programação orientada a objetos.

Banco de dados relacional é muito recomendado para persistência de dados que não são utilizados com muita frequência e também para aplicações cujo objetivo é gerar relatórios. Então uma ótima sacada é utilizar as duas tecnologia juntas. Para os dados que são constantemente utilizados por sua aplicação utilize o Membase, para os dados utilizados com menos frequencia use banco de dados relacional.

Porém adotar o modelo chave-valor traz consigo uma pequena “dor”, pois você será forçado a mudar a forma como os dados serão gravados e buscados em sua aplicação, pois o Membase é uma estrutura de dicionário, ou seja, as operações de busca e remoção dependem diretamente de você saber de ante-mão a chave de onde está o registro.

Download

Escolha a versão que mais se adequa a sua necessidade: Enterprise Edition ou Community Edition, eu recomendo a versão Enterprise.

Disponível para Windows, Red Hat e Ubuntu.

O arquivo de instalação tem em média 80MB.

http://www.couchbase.com/downloads

Instalação

A instalação é bem simples seguindo o modelo AVANÇAR, AVANÇAR, …, CONCLUIR.

Após a conclusão da instalação o browser é aberto com a página de SETUP do Servidor Membase.

Membase01

A primeira etapa da configuração do servidor é definir o local onde serão persistidos os dados, escolher se essa instância será um novo cluster ou se juntará a um cluster existente.

Caso for criar um novo cluster, defina a quantidade máxima de memória você deixará disponível para o Membase utilizar. Ele só alocará a memória quando necessário.

Membase02

Agora é hora de criar o Bucket Default, container isolado de dados, a área onde ficarão os dados.

Você pode escolher entre os tipos Memcached e Membase as diferenças entre os dois são muitas, mas as mais importantes são: Membase persiste no disco e Memcached não, o Memcached possui o limite de 1MB por valor em cada registro, no Membase o limite são 20MB.

Uma dica, como você pode criar vários Buckets, sugiro você separar os assuntos de dados do seu sistema em Buckets distintos, isso facilitará sua vida quando precisar definir qual o modelo de chave utilizar para guardar os dados, acredite em mim. :-)

Membase03

Defina um usuário e senha para acessar o serviço, esses dados também serão utilizados para acessar o painel administrativo do Membase.

Membase04

Esse é o painel administrativo do Membase.

Membase05

Assim concluimos a etapa de instalação e configuração do Membase. Simples né?!

Cliente

Agora vamos trabalhar com a integração entre o .NET e o Membase, para isso antes de mais nada é necessário utilizar um client para a linguagem que a sua aplicação foi ou será escrita, no nosso caso .NET.

Hoje as linguagens que já possuem cliente são:

  • .NET
  • Java
  • Perl
  • PHP
  • Ruby
  • C

Para fazer o download do cliente acesse: http://techzone.couchbase.com/downloads

Como configurar sua aplicação para usar o Membase

Primeiro copie as DLL’s Enyim.Caching.dll e Membase.dll para a pasta BIN do seu projeto e adicione a referência dessas DLL’s no projeto.

No web.config ou app.config da sua aplicação acrescente as seguintes configurações:



  

Código de exemplo

Client

Para utilizar o Membase você precisa criar uma instância do MembaseClient passando como prâmetros o nome e senha do bucket:

var membaseClient = new MembaseClient("default", "senha_bucket");

Set

Para armazenar os dados no Membase utilize o método SET:

membaseClient.Set(StoreMode.Set, “key01”, “value01”);

Para o valor o membase aceita qualquer tipo de objeto. O método SET adiciona uma chave inexistente ou substitui uma chave existente.

Get

Para resgatar um valor amazenado utilize o método GET:

var valor = membaseClient.Get(“key01”); // Retorna “value01”

Agora que você foi apresentado ao Membase pode já começar a brincar a fazer testes para aumentar o throughput e a escalabilidade da sua aplicação.

Até o próximo post.

Divita-se.

Mar 9

Iniciando um projeto utilizando Gaia Framework

Escrito por Lucas Marçal em 1, 2.0, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Adobe, Air, Animação, Apresentação, AR, as3, auto, BI, blog, botão, camp, class, classe, classes, código, configuração, contextMenu, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Destaque, developer, Download, dynamic, exemplo, Exemplos, facebook, flash, Flash Player, for, framework, gaia, game, IE, if, image, imagens, Iniciando, int, library, Linha de Código, Links, lista, menu, mg, O, on, Outros, painel, Pessoal, PHP, player, processo, Projetos, pt, RIA, Ria’s Geral, SEO, site, Software, Sun, swf, tag, TAT, template, Tutoriais, Tutorial, Twitter, UI, uint, Ved, Vídeo, Vídeos, window, XML, XP @ 03 9th, 2011 | via http://www.lucasmarcal.com.br/blog/ | Sem comentários
Lucas Marçal
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Salve pessoal
Estou voltando à ativa nesse blog, espero que agora eu encontre tempo para criar os tutoriais.

Inicialmente gostaria de deixar claro que o foco desse blog não é o público que eu chamo de “Hard ActionScript Developer” o meu foco são aqueles desenvolvedores que estão iniciando ou que são intermediários no mundo do Actionscript 3.0, então nem sempre vamos focar no “melhor código” para os exemplos, mesmo porque eu nem teria tempo para fazer isso, na verdade a minha intenção e abordar superficialmente algumas coisas que vejo no meu dia-a-dia e apresentar coisas realmente usuais para todos.

Dito isso, fica claro que não tenho a intenção de criar uma metodologia definitiva para desenvolvimento, então pegue leve nas críticas =)

Hoje vamos falar sobre a utilização do Gaia Framework para desenvolvimento de pequenos projetos (games, hotsites etc…)

O que é o Gaia Framework?

O Gaia Framework é um projeto Open-Source para Actionscript 2.0 e 3.0 que visa facilitar sua vida na hora de desenvolver projetos em Flash, ele reduz drasticamente o tempo que você leva desenvolvendo, pois cria automaticamente alguns dos processos comuns a qualquer site em Flash.
Com o Gaia Framework é possível criar sites usuais em flash em pouco tempo com características que você levaria horas para fazer tais como:

1. Navigation
2. Transitions
3. Preloading
4. Asset Management
5. Dynamic Font Loading
6. SEO
7. DeepLinks

Para maiores informações e detalhes sobre o que é o Gaia Framework acesse o site

Instalando o Gaia Framework

Acesse o site e faça download do arquivo MXP do Gaia Framework, feito isso clique duas vezes no arquivo para instalar. Abra o Adobe Flash Cs5 e vá na aba Help > Manage Extentions ,certifique-se que o Gaia Framework esteja instalado corretamente como na imagem abaixo:

Pronto, agora o seu Adobe Flash Cs5 já está pronto para trabalhar com o Gaia Framework.

Instalando Gaia Site Creator

O Gaia Site Creator é um aplicativo AIR que facilita ainda mais o desenvolvimento com Gaia Framework ele irá nos ajudar na hora de criar o arquivo “site.xml” que define as “paginas” que nosso site em Flash vai ter, sobre esse arquivo XML vamos falar nas próximas aulas, por hora apenas acesse o site e instale o Gaia Site Creator.

Criando 1º projeto com Gaia Framework

Com o Adobe Flash Cs5 aberto vá na aba Window > Other Panels > Gaia Framework
Uma janela como essa vai se abrir para você:

1. Criar um novo projeto em Actionscript 3.0
2. Criar um novo projeto em Actionscript 2.0 (sai fora, credo!)
3. Importar um projeto existente
4. Fazer uma doção para o Steven Sacks =)
5. Lista de projetos criados (ainda em branco)

Esse é o painel que você vai trabalhar durante todo o tempo de desenvolvimento com o Gaia Framework aconselho você a deixar ele em um lugar de fácil acesso durante o desenvolvimento.
Agora é a hora de começarmos realmente a desenvolver utilizando o Gaia Framework, com o painel do Gaia Framework aberto clique no botão “Create AS3″ e configure como a imagem abaixo:

1. Nome do projeto que vamos desenvolver
2. Pasta raiz do projeto
3. Versão do Flash Player que esse projeto vai ser compilado
4. Versão do Gaia Framework e do Greensock (motor de animação) utilizado
5. Tamanho do Stage, Framerate e cor
6. Estrutura de pastas criada pelo Gaia Framework aconselho a deixar dessa forma
7. Tipo de projeto utilizado, nesse exemplo vamos usar o FlashDevelop para desenvolver

Com todos esses requisitos preenchidos clique no botão “Create New Project” para criar o projeto do Gaia Framework.
Pronto, o Gaia Framework acabou de criar a estrutura básica para trabalharmos o projeto veja como ficou nossa estrutura:

1. Arquivo de configuração do Gaia Framework
2. Arquivo de projeto do FlashDevelop
3. Pastas com arquivos publicáveis (swf, imagens, XML…)
4. Pasta com os arquivos FLAs
5. Pasta com os arquivos .as
6. Pasta com os templates (não vamos usar mais não delete)

Agora é hora de configurar o arquivo “site.xml” que determina quais “paginas” serão criadas em nosso projeto, lembra do nosso amigo Gaia Site Creator? Então é hora de iniciar ele, com o Gaia Site Creator aberto importe o arquivo “site.xml” que se encontra dentro da pasta “bin>xml” o arquivo deve aparecer como na imagem abaixo:

Essa é a estrutura básica que o Gaia Framework cria para o projeto, porém, não é a estrutura que vamos usar para esse projeto inicial siga os próximos passos para configurar corretamente o arquivo “site.xml”
Clique no item “home” e no item “id:nav” e arraste eles para o campo vermelho chamado “drop here to delete” como mostra a figura abaixo:

Configurando um projeto de portfólio dentro do Gaia Site Creator

O item “id:index” funciona como uma “Main page” ele é o root do nosso aplicativo(existe ainda uma classe chamada “Main.as” mas vamos falar sobre ela depois. Nesse projeto todas as paginas serão filho da pagina “índex.fla”

Para criar um novo “filho” no arquivo “site.xml” você deve clicar na aba “assets” do Gaia Site Creator e arrastar o item “New Page” para dentro do item “id:index” e depois configurar algumas propriedades como mostra na figura abaixo:

1. Nome utilizado posteriormente para acessar essa pagina
2. Nome do arquivo swf que será criado quando o Gaia Framework for compilado
3. Titulo da “pagina” quando esse arquivo for acessado

A descrição para as outras configurações desse arquivo não serão abordadas nesse momento e podem ser encontradas nesse link

Antes que eu esqueça de dizer esse projeto vai ser um portfólio de um Flash Developer como eu e você então a estrutura de paginas vai ser como mostra a imagem abaixo:

1. Pagina de apresentação
2. Perfil do desenvolvedor
3. Portfólio
4. Fotos
5. Vídeos
6. Contato

A minha intenção com esse tutorial é que posteriormente eu mostre como trabalhar com algumas classes que utilizo então podemos explorar integrações com Twitter, Flickr, Youtube etc… Esse projeto vai servir como base para outros tutoriais.

Criada essa estrutura dentro do Gaia Site Creator clique na aba “file > Export > ExportSiteXML” e sobrescreva o arquivo “site.xml” com essa nova configuração, abra esse arquivo dentro do software Flash Develop (imagino que você já esteja utilizando ele para desenvolver seus projetos) a estrutura do arquivo “site.xml” ficou da seguinte forma:

Se você seguiu todos os passos que descrevi acima, abra novamente o Adobe Flash Cs5, com o painel do Gaia Framework aberto vá até a aba “scaffold” e clique em “scaffold project”.

Ele vai criar todos aqueles arquivos que configuramos no “site.xml” dentro da pasta de projeto, aguarde os arquivos serem criados/compilados, ao final desse processo ele vai abrir uma aplicação como na figura abaixo:

Agora no painel do Gaia Framework a aba que ficou marcada é “Publish” clique no botão “save” que fica no canto direito superior para salvar esse projeto. Agora na lista de projetos criados você tem todos os projetos que está trabalhando no Gaia Framework como mostra uma visão dos meus projetos na figura abaixo:

Clique duas vezes sobre o projeto que estamos trabalhando, vá até a aba “publish” clique na pasta “lib” e veja que todos os arquivos configurados no “site.xml” foram criados dentro do projeto como mostra a figura abaixo:

1. Esse botão deve ser usado sempre que você fizer alterações nos arquivos, não adianta apenas dar um CTRL+Enter no arquivo é preciso clicar nesse botão para compilar os arquivos marcados na lista, caso algum arquivo não esteja marcado ele NÃO vai compilar o arquivo
2. Botão abre a pasta raiz do projeto
3. Lista de arquivos do projeto
4. Esse botão sincroniza as modificações feitas no arquivo “site.xml” e vamos tratar disso nos próximos tutoriais

Clique no botão “Test Project” para ver o resultado desse tutorial, lembrando que essa tela preta que aparece é fruto de uma configuração inicial feita pelo Gaia Framework, se você abrir por exemplo a pagina “home.fla” não vai ver nenhum “asset” dentro dela ou da library, não se assuste vamos tratar desses e de outros assuntos no próximo tutorial.

Nesse tutorial não vamos abordar o desenvolvimento do menu do site, então para navegar no projeto feito até aqui utilize o botão direto do mouse e clique no ContextMenu para navegar entre as paginas.

Conclusão

Nesse tutorial eu abordei os aspectos básicos para desenvolver usando o Gaia Framework, veja que não fizemos nenhuma linha de código, mas não se engane existem muitas coisas para aprender ainda.

No próximo tutorial vou falar sobre a estrutura de pastas criadas pelo Gaia Framework e como iniciar nosso projeto com as modificações em Actionscript 3.0 ou seja, prepare-se para programar no próximo tutorial.

Arquivos utilizados no tutorial

Baixar

Resultado desse tutorial

Link

Meu perfil no Facebook
Meu Twitter

Uma abraço a todos, divulguem esse tutorial!

Fev 28

Componente de Destaque – Flex 4

Escrito por DClick Team em 1, 2009, 4, 6, action, Actionscript, Adobe, Air, app, AR, back, BI, blog, boolean, class, classe, Componente, Componentes, components, control, Destaque, efeito, exemplo, Flex, Flex Components, function, fundo, IE, if, int, interface, library, MXML, O, on, painel, pt, Ria’s Geral, spark, TAT, Twitter, UI, UX, XML @ 02 28th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

aqui a biblioteca que contém o componente, e adicioná-la na pasta libs do seu projeto.

2. Agora precisamos incluir a classe principal do componente no Application do nosso projeto Flex.

PLAIN TEXT
ACTIONSCRIPT:

  1. xml version=“1.0″ encoding=“utf-8″?>
  2. “http://ns.adobe.com/mxml/2009″
  3. ? ? ? ? ? ?? ? xmlns:s=“library://ns.adobe.com/flex/spark”
  4. ? ? ? ? ? ?? ? xmlns:mx=“library://ns.adobe.com/flex/mx”
  5. ? ? ? ? ? ?? ? xmlns:zoom=“br.com.dclick.components.zoom.*”>
  6. ? ?
  7. ? ? ? ?
  8. ? ?
  9. ? ?

3. Devemos extender os objetos que desejamos destacar e implementar a interface br.com.dclick.components.zoom.IZoomItem, no meu exemplo, eu extendi a classe Panel que ficou assim.

PLAIN TEXT
ACTIONSCRIPT:

  1. package
  2. {
  3. ? ? /**
  4. ? ?? * @author Bruno Sales
  5. ? ?? * Created: 28/02/2011
  6. ? ?? */
  7. ? ? import br.com.dclick.components.zoom.IZoomItem;
  8. ? ?
  9. ? ? import spark.components.Panel;
  10. ? ?
  11. ? ? public class PanelZoom extends Panel implements IZoomItem
  12. ? ? {
  13. ? ? ? ? public function PanelZoom()
  14. ? ? ? ? {
  15. ? ? ? ? ? ? super();
  16. ? ? ? ? }
  17. ? ? ? ?
  18. ? ? ? ? public function useBackgroundZoomContainer():Boolean
  19. ? ? ? ? {
  20. ? ? ? ? ? ? return false;
  21. ? ? ? ? }
  22. ? ? }
  23. }

4. Observe o método useBackgroundZoomContainer():Boolean da interface IZoomItem, ele serve para auxiliar quando estamos tentando destacar um componente com fundo transparente, como no caso apresentado o meu Panel não tem um background transparente, então eu retorno false no método.

5. Aplicar a minha nova classe PanelZoom ao meu Application.

PLAIN TEXT
ACTIONSCRIPT:

  1. xml version=“1.0″ encoding=“utf-8″?>
  2. “http://ns.adobe.com/mxml/2009″
  3. ? ? ? ? ? ?? ? xmlns:s=“library://ns.adobe.com/flex/spark”
  4. ? ? ? ? ? ?? ? xmlns:mx=“library://ns.adobe.com/flex/mx”
  5. ? ? ? ? ? ?? ? xmlns:zoom=“br.com.dclick.components.zoom.*”
  6. ? ? ? ? ? ?? ? xmlns:local=“*”>
  7. ? ?
  8. ? ? ? ?
  9. ? ?
  10. ? ?
  11. ? ? width=“200″ height=“200″/>
  12. ? ?

6. Executar o projeto e clicar no novo painel segurando o SHIFT para testar o efeito.

Agora já podem abusar do componente e extender qualquer tipo de componente visual. Espero que tenham gostado!

Fev 28

Componente de Destaque – Flex 4

Escrito por DClick Team em 1, 2009, 4, 6, action, Actionscript, Adobe, Air, app, AR, back, BI, blog, boolean, class, classe, Componente, Componentes, components, control, Destaque, efeito, exemplo, Flex, Flex Components, function, fundo, IE, if, int, interface, library, MXML, O, on, painel, pt, Ria’s Geral, spark, TAT, Twitter, UI, UX, XML @ 02 28th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

aqui a biblioteca que contém o componente, e adicioná-la na pasta libs do seu projeto.

2. Agora precisamos incluir a classe principal do componente no Application do nosso projeto Flex.

PLAIN TEXT
ACTIONSCRIPT:

  1. xml version=“1.0″ encoding=“utf-8″?>
  2. “http://ns.adobe.com/mxml/2009″
  3. ? ? ? ? ? ?? ? xmlns:s=“library://ns.adobe.com/flex/spark”
  4. ? ? ? ? ? ?? ? xmlns:mx=“library://ns.adobe.com/flex/mx”
  5. ? ? ? ? ? ?? ? xmlns:zoom=“br.com.dclick.components.zoom.*”>
  6. ? ?
  7. ? ? ? ?
  8. ? ?
  9. ? ?

3. Devemos extender os objetos que desejamos destacar e implementar a interface br.com.dclick.components.zoom.IZoomItem, no meu exemplo, eu extendi a classe Panel que ficou assim.

PLAIN TEXT
ACTIONSCRIPT:

  1. package
  2. {
  3. ? ? /**
  4. ? ?? * @author Bruno Sales
  5. ? ?? * Created: 28/02/2011
  6. ? ?? */
  7. ? ? import br.com.dclick.components.zoom.IZoomItem;
  8. ? ?
  9. ? ? import spark.components.Panel;
  10. ? ?
  11. ? ? public class PanelZoom extends Panel implements IZoomItem
  12. ? ? {
  13. ? ? ? ? public function PanelZoom()
  14. ? ? ? ? {
  15. ? ? ? ? ? ? super();
  16. ? ? ? ? }
  17. ? ? ? ?
  18. ? ? ? ? public function useBackgroundZoomContainer():Boolean
  19. ? ? ? ? {
  20. ? ? ? ? ? ? return false;
  21. ? ? ? ? }
  22. ? ? }
  23. }

4. Observe o método useBackgroundZoomContainer():Boolean da interface IZoomItem, ele serve para auxiliar quando estamos tentando destacar um componente com fundo transparente, como no caso apresentado o meu Panel não tem um background transparente, então eu retorno false no método.

5. Aplicar a minha nova classe PanelZoom ao meu Application.

PLAIN TEXT
ACTIONSCRIPT:

  1. xml version=“1.0″ encoding=“utf-8″?>
  2. “http://ns.adobe.com/mxml/2009″
  3. ? ? ? ? ? ?? ? xmlns:s=“library://ns.adobe.com/flex/spark”
  4. ? ? ? ? ? ?? ? xmlns:mx=“library://ns.adobe.com/flex/mx”
  5. ? ? ? ? ? ?? ? xmlns:zoom=“br.com.dclick.components.zoom.*”
  6. ? ? ? ? ? ?? ? xmlns:local=“*”>
  7. ? ?
  8. ? ? ? ?
  9. ? ?
  10. ? ?
  11. ? ? width=“200″ height=“200″/>
  12. ? ?

6. Executar o projeto e clicar no novo painel segurando o SHIFT para testar o efeito.

Agora já podem abusar do componente e extender qualquer tipo de componente visual. Espero que tenham gostado!

Jan 20

RabbitMQ, AMQP e Spring-AMQP

Escrito por DClick Team em 1, 4, 6, Air, api, AR, arte, BI, class, classe, comparação, condicional, configuração, dados, demo, Desenvolvimento, err, event, Evento, Eventos, Experiências, Ferramenta, filtra, for, framework, git, html, ide, IE, if, image, instalação, int, interoperabilidade, Java, Linux, mg, O, on, padrão, painel, Partilha, RIA, Ria’s Geral, screen, Screencast, server, serviço, Serviços, servidor, site, Spring, Spring Framework, SpringFramework, string, strings, tag, TAT, Tema, template, Tutorial, Twitter, UI, UX, window, windows, XP @ 01 20th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

RabbitMQ e AMQP


Quem programa em Java a algum tempo já deve ter cruzado com JMS (Java Message Service) e também deve ter percebido que trabalhar com JMS apesar do conceito ser fácil, não é uma das tarefas mais agradáveis e simples. Isso porque a API possui muitas exceções que devem ser tratadas e as configurações das filas e do sistema são específicas de cada broker.
Mas afinal, pra quê usar JMS então? A resposta é simples, para programar de maneira assíncrona, e portanto mais voltado a reação do que a ação, ou seja, deixar a aplicação orientada a eventos (EDA – Event Driven Architeture) e conseguir distribuir melhor a carga entre servidores aumentando escalabilidade.
Já que mensageria é uma ferramenta poderosa, e JMS não colabora muito com sua utilização, foi criado o AMQP – Advanced Message Queuing Protocol. Diferente de JMS que define uma API Java, AMQP define um protocolo, ou seja, uma descrição de como os dados das mensagens trafegam pelo broker. Com isso qualquer aplicação que entenda esse protocolo consegue se comunicar com o broker independente de sua implementação, facilitando sua configuração e até mesmo a interoperabilidade de brokers.
Atualmente o broker mais utilizado que é open source e suporta tal protocolo é o RabbitMQ. Por isso veremos algumas características do mesmo. Outro fato a favor do RabbitMQ, é que agora faz parte do Springsource e portanto possui um bom suporte do spring-framework.


Começando com o RabbitMQ



Como vimos, uma das maiores vantagens de trabalhar com AMQP, é que a configuração independe do broker que estamos usando, portanto nosso trabalho com o RabbitMQ se resume a instalação e execução do serviço, tarefas as quais são muito simples.
Eu já instalei o RabbitMQ em máquinas com windows e com Linux (CentOS), por isso vou compartilhar ambas as experiências.
No Windows: Comece baixando o bundle completo do RabbitMQ que inclui todas as dependências para que o server funcione: Site oficial do RabbitMQ. Em seguida descompacte o conteúdo em uma pasta do seu sistema e rode o instalador que está dentro da pasta. Pronto! Ao sair do instalador, o serviço estará pronto pra uso, mas ainda não estará executando. Para isso basta abrir o painel de serviços do windows e iniciá-lo.
No CentOS: Pra variar, instalar o RabbitMQ no CentOS é simples com digitar no terminal:

sudo yum install rabbitmq-server



E pronto! O server está instalado, e basta iniciá-lo com:

sudo /sbin/service rabbitmq-server start


Configurando o broker AMQP



Repare que não estou especificando que iremos configurar o RabbitMQ, isso porque as cofigurações servem para qualquer broker AMQP.
Um broker JMS trabalha com filas sendo compartimentos para mensagens. Portanto é necessário configurar tais filas no broker. Para escutar as mensagens que são postadas nas filas, podemos utilizar selectors para filtrar algum tipo específico de mensagem baseado no cabeçalho da mensagem. Ainda podemos escolher o tipo de fila, sendo um modo ponto-a-ponto e um modo publish/subscribe. No primeiro modo, apenas um consumidor de mensagens escuta a fila, sendo que este receberá todas as mensagens enviadas não necessariamente no momento em que são postadas. No segundo modo múltiplos consumidores escutam a fila, sendo que a mensagem é entregue para todos os consumidores que o selector satisfazer as condições.
Com o AMQP é um pouco diferente. A primeira diferença notável, é que as mensagens não são publicadas diretamente nas filas, mas sim em uma nova estrutura chamada de Exchange. Exchanges recebem as mensagens encaminham para as filas baseados em routing keys, que especificam as filas que as mensagens pertencem. Portanto precisamos criar as filas também em um broker AMQP, mas dessa vez associando-as aos exchanges através de Bindings que são definidos pelas routing keys.





Note na imagem que um exchange pode rotear mensagens para mais de uma fila, e uma fila pode receber mensagens de mais de um exchange.
Em AMQP também temos o conceito de ponto-a-ponto chamdo de direct, sendo que nesse caso temos um exchange publicando apenas para uma fila, e também temos o conceito de Topic ou publish/subscribe, onde um exchange pode mandar para mais de uma fila. Nesse segundo caso, se for definida uma routing key, então o exchange irá encaminhar a mensagem para a fila com o binding referente a routing key. Caso não tenha sido definido uma routing key, as mensagens serão distribuídas para as filas de maneira igualitaria baseada em Round Robin.
Em AMQP ainda existe um terceiro modo: Fanout. Nesse modo o exchange pode estar associado a várias filas como em um topic, porém quando uma mensagem for postada no exchange, este replicará a mensagem em todas as filas que estiverem associadas a ele, sem levar em conta a routing key.


Bindings



Bindings entre exchanges e filas podem ser definidos apenas para explicitar uma ligação entre os dois, ou explicitando uma ligação condicional.
A condição para que o binding seja válido é definido pela routing key e pode ser definido de algumas maneiras:
- uma string fixa;
- uma string usada como padrão para fazer o match com as routing keys;
- múltiplas strings definindo mais de uma routing key;
- múltiplos strings usadas como padrão para match;
- comparação algorítmica baseada em uma SQL executada sobre o cabeçalho da mensagem;
- inspeção de conteúdo, verificando se o conteúdo da mensagem atende a uma determinada condição.

Spring AMQP



O RabbitMQ agora é um projeto da springsource, portanto existe já em desenvolvimento e inclusive com milestones publicados e disponíveis em um repositório do maven:

1
2
3
4
5
? ? >
? ? ? ? ? ? >repository.springframework.milestone>
? ? ? ? ? ? >Spring Framework Maven Milestone Repository>
? ? ? ? ? ? >http://maven.springframework.org/milestone>
? ? ? ? >



Todo o projeto está desenvolvido com o ideal do spring e portanto os conceitos básicos e já conhecidos como injeção de dependência e facilidade de configuração e uso estão muito bem empregados no projeto.
Seguindo essa linha existe um classe que serve de template para um broker AMQP.
Veremos no screencast a seguir como adotar utilizar o Spring-AMQP em seu projeto e algumas facilidades e dificuldades.

Por @Gust4v0_H4xx0r

Dez 2

Neve no mundo inteiro

Escrito por Silva Developer em 1, 6, actualizar, AR, auto, blog, facebook, IE, if, Links, menu, mg, Novidades, O, on, painel, problema, problemas, pt, RIA, Ria’s Geral, site, Sun, TAT, Twitter, UI, Wordpress @ 12 2nd, 2010 | via http://silvadeveloper.wordpress.com | Sem comentários
Silva Developer
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

A primeira queda de neve não é só um acontecimento, é um acontecimento mágico. Vamos dormir num mundo e acordamos noutro completamente diferente. Se isto não é um encanto, então o que é?
J. B. Priestley

O mês de Dezembro faz-nos pensar em férias e é difícil não pensar em neve, mesmo que ela não apareça no seu clima. Uma vez mais, queremos espalhá-la pelo mundo, através do WordPress.com.

Para fazer nevar no seu site:

  1. Vá ao painel.
  2. Escolha o menu Aparência ? Extras.
  3. Seleccione a opção “Mostrar neve neste blog.”
  4. Clique em Actualizar Extras.

Se usou esta opção no ano passado, ela será automaticamente ligada. Se quiser desligá-la, siga as instruções acima, mas verificando que a opção não está seleccionada.

E aqui vai uma versão latin jazz de Let it Snow para ir ouvindo enquanto activa a opção:

Computadores mais antigos podem ficar lentos ou parar de responder por causa da neve. Use os links abaixo se por acaso estiver a ter problemas:

Não mostrar neve
Mostrar neve

Nov 30

O seu blog em movimento nestas férias

Escrito por Silva Developer em 1, 2009, 4, 6, actualizar, Air, Android, api, app, app store, AR, auto, BI, blog, Blogs, carregar, class, Diversos, Download, DRE, email, err, estatísticas, facebook, Flex, for, fotografia, galeria, grátis, IE, if, image, iphone, menu, mg, movimento, Notícias, O, on, painel, pt, Redes Sociais, RIA, Ria’s Geral, screen, serviço, Serviços, site, SmartPhone, social, Sun, TAT, Twitter, UI, update, Wordpress @ 11 30th, 2010 | via http://silvadeveloper.wordpress.com | Sem comentários
Silva Developer
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

As férias estão a chegar muito rapidamente e a partir de agora, até o próximo ano a ocasião é a melhor para se encontrar com as pessoas que são importantes para si, para dar e receber presentes, para relaxar e para pensar mais em si. No entanto, não se esqueça do seu pobre e negligenciado blog nesta época festiva.

Blog in the snow, all alone

Esta pode ser a mais solitária época do ano para um blog, aquela em que os seus posts ficam paralisados e os seus leitores caem a pique. Não se preocupe, existe uma solução.

Publique do seu telefone!

É claro que a última coisa que quer fazer é sentar-se atrás de um computador com a comida festiva a sair do forno, os embrulhos a serem rasgadas e a avó a comandar as operações na cozinha. As boas notícias são que não tem que o fazer – não só o WordPress.com tem a opção de publicar textos ou fotos por email a partir de qualquer dispositivo móvel, como também oferecemos aplicações fáceis de usar para os mais diversos smartphones.

Vamos dar uma olhada em cada uma dessas opções, começando com as aplicações.

Smart phone collage

Aplicações móveis para WordPress

Se tem um Nokia, Blackberry, iPhone, Android ou iPad, pode descarregar uma aplicação grátis de WordPress para escrever e editar posts e páginas, ver estatísticas e até moderar seus comentários. Isto dá-lhe tudo o que precisa para gerir o seu blog, em movimento. Pode encontrar as aplicações na loja ou app store do seu telefone e também nestes sites:

  • WordPress para iOS (iPhone/iPad)
  • WordPress para Android
  • WordPress para Nokia
  • WordPress para Blackberry

Publicar por email

Ama o email e utiliza-o muito – até no seu telefone? Então vai gostar também da nossa funcionalidade de Publicação-por-email. É verdade que não oferece tanta flexibilidade como as aplicações para smartphones, mas é mesmo assim uma forma rápida e acessível para publicar, a partir de qualquer lugar. Para activar a funcionalidade, só precisa fazer alguns ajustes simples:

  1. No seu painel, visite o meu Meus blogs:
    Screenshot: dashboard, my blogs
  2. Active a funcionalidade para o seu blog ou blogs:
    Screenshot: enable post-by-email
  3. Copie e cole o endereço de email secreto (ou faça download do vCard) e envie-o para o seu endereço de email móvel, para uso posterior:
    Screenshot: Secret email address

Agora, publique via e-mail

  1. A partir do seu tablet, telefone, laptop ou outro dispositivo qualquer que suporte email, basta escrever uma mensagem. A linha do assunto será o título do post.
  2. Se o dispositivo o suportar, anexe foto(s) à mensagem. Fotografias individuais aparecem numa só linha, enquanto várias são “automagicamente” transformadas numa galeria.
  3. Indique o email secreto como recipiente da mensagem,
  4. Clique em Enviar e o seu post está publicado!

Bónus: Publicação automática nas suas redes sociais preferidas

Para quê dar-se ao trabalho de enviar várias actualizações, quando pode fazer tudo de uma vez só? Antes de partir para férias, não se esqueça de configurar esta funcionalidade. Assim, cada vez que publicar no seu blog com o seu dispositivo móvel, isso será automaticamente enviado para o seu Twitter, Facebook e outras contas de mídia social.

Illustration: 5 status updates from 1 phone

  1. Volte ao painel, ao menu Meus blogs:
    Screenshot: dashboard, my blogs
  2. Seleccione o blog ou blogs que deseja activar, na coluna Divulgar, e escolha os serviços para os quais pretende enviar actualizações:
    Screenshot: activate publicize
  3. Terá que autorizar as contas para sincronizar com o WordPress:
    Screenshot: Publicize Facebook authorization message
  4. Feito! Se quiser mais detalhes, confira o nosso documento de suporte sobre divulgação.

Portanto, sim, isto significa que com apenas uma mensagem, pode actualizar cinco serviços, no espaço de um ou dois segundos, deixando-o mais à vontade para se descontrair nestas férias.

Tudo pronto

Esperamos que com as aplicações, a publicação por email e as actualizações automáticas, as suas necessidades estejam abrangidas nesta temporada de férias. Boas festas, móveis!

Nov 23

Novidades: Links, ordenamento e paginação

Escrito por Silva Developer em 1, 4, 6, Ajax, AR, auto, Beta, BI, blog, botão, Botões, browser, carregar, chrome, class, css, Curso, Cursos, demo, Desenvolvimento, Dica, err, erro, Estilo, exemplo, Exemplos, explorer, facebook, falha, Ferramenta, firefox, for, Formação, game, Google, ide, IE, ie7, IE8, if, image, int, internet, Java, Links, lista, Mac, mg, Microsoft, NaN, Notícias, O, on, Opinião, Outros, padrão, painel, Plugin, problema, problemas, procura, pt, Review, RIA, Ria’s Geral, site, TAT, Tema, Teste, Twitter, UI, window, windows, windows 7, Wordpress, XP @ 11 23rd, 2010 | via http://silvadeveloper.wordpress.com | Sem comentários
Silva Developer
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Já?

Chegou aquela altura do ano em que do lado do WordPress.org se começam a dar os retoques finais na próxima versão do WordPress (a 3.1, neste caso). Os utilizadores do WordPress.com são automaticamente incluídos na versão beta, dando-lhe todo o acesso a novas funcionalidades, um mês antes de estas serem lançadas oficialmente. Isto é bom, não só porque lhe dá um acesso antecipado ao que aí vem, mas como também a sua opinião nos ajuda a melhorar ainda mais. Estou muito animada, tanto pelos os novos recursos que acabámos de implementar, como por serem adições que já desejava há muito tempo. Aqui estão as novas funcionalidades que já pode ver no seu painel:

Criação mais fácil de links internos

Fi.nal.mente. :)

Está a escrever um post (ou uma página) no WordPress. Menciona algo que tenha escrito antes, e pensa: “Já sei, vou criar uma ligação para esse post!” O que é que fazia? Pode ser que abrisse um novo separador ou janela e que procurasse no seu conteúdo na sua lista de posts, ou ainda que visitasse o seu blog e procurasse esse post. Seja como for, teria que encontrar esse conteúdo, obter a respectiva URL, de modo a ao clicar no botão de link no editor de posts, poderia colá-la. Certo? Isso são o quê? Entre 5 a 8 passos, dependendo de como o fazia? Não mais!

Internal linking preview

Posts e páginas existentes podem ser encontrados e ligados com uma pesquisa dinâmica.

Com a nova funcionalidade de links internos, pode agora indicar qualquer URL para criar um link, como costumava fazer, ou então procurar nos seus posts e páginas existentes logo ali, na janela de inserção de links. Uma combinação de pré-carregamento, preenchimento previsivo e alguma magia Ajax tornam o uso da ferramenta de criação de links numa alegria (e confira quão mais rápida está a janela!). Esperamos que isto o incite a fazer mais conexões entre o conteúdo do seu site, o que tornará mais fácil para os seus visitantes encontrar mais conteúdo relacionado. Agora todos juntos: Viva! (Certo?)

Ordem por colunas

Ordenamento
Quando visita a página de Posts (ou de Páginas, ou de Media ou de qualquer outra informação em lista), alguma vez desejou poder clicar no nome da coluna para alterar a visualização, ordenando por exemplo a informação por data, por ordem alfabética, por autor ou por outro critério? Eu sei que eu quis, desde sempre. Já temos! Este recurso é o resultado de um bem-sucedido projecto de um aluno do Google Summer of Code, demonstrando ainda que o programa é uma ótima maneira de se envolver com o desenvolvimento do WordPress. A pequena seta ao lado do título da coluna (na minha imagem de exemplo, a coluna Data) mostra a coluna pela qual a informação está ordenada, e se a ordenação é ascendente ou descendente. Basta clicar no cabeçalho de qualquer coluna para ordenar por essa coluna ou para inverter a ordem.

Paginação melhorada

A nova paginaçãoSe tem muito conteúdo, pode ser que tenha tido uma experiência levemente irritante ao navegar as páginas posts, media ou outros. Clicar para a frente e para trás é fácil, tal como saltar para a primeira ou última página, mas então e o meio? Imaginemos que tem 23 páginas de posts; está na página 6 e, com base nas datas, acha que o que está à procura deve estar por volta da página 15. Teria que clicar várias vezes para avançar algumas páginas, até chegar à página desejada. Não mais! Com o novo estilo de paginação, os botões para a frente/fim e para trás/início continuam lá, mas agora pode ir directamente para qualquer página, alterando apenas o número editável mostrado na área de paginação (e carregar em Enter).

Pesquisas com Ajax

Os resultados de pesquisas são agora mais rápidos e não requerem actualizações do painel no seu browser graças à adição de Ajax. Rápido!

Esquema de cores revisto

Nas opções do seu perfil, tem uma escolha de esquemas de cores do painel, cinza ou azul (o padrão é cinza). Actualizamos o esquema de cores cinza há algum tempo, mas não actualizamos o azul. (Lembra-se quando mudamos do cabeçalho do escuro para o mais claro? Bons velhos tempos.) O novo esquema de cores azul é mais leve, mais limpo e com base nos mesmos tons que o esquema de cor cinza, mas com uma tonalidade azul, para que o foco possa permanecer firmemente na criação de conteúdo, sem distrações. Se você nunca experimentou o esquema de cor azul, agora seria um óptimo para experimentar e ver se gosta! Existem outras cores que gostaria de ter como opções? Diga-nos nos comentários!

Suporte melhorado para IE9

Para aqueles que têm tido problemas em usar arrastar e largar no painel ou ainda algum problema com o editor visual na criação de posts, com o Internet Explorer 9, foram feitas melhorias para funcionem agora sem problemas no mais recente browser da Microsoft.

A ter em conta: estas funcionalidades são novas e embora tenhamos trabalhado nelas durante bastante tempo, poderá encontrar um erro que nos tenha escapado. Se alguma delas lhe estiver a causar problemas, pode deixar um comentário neste post durante as próximas duas semanas, falar sobre isso nos fóruns, ou contactar o suporte através dos canais habituais.

Espero que apreciem estas notícias, tanto quanto nós gostamos de as desenvolver. Bom blogging!

Actualização

Graças aos vossos comentários, conseguimos já detectar e corrigir alguns erros que escaparam nos nossos testes.

  • Corrigimos um conflito com o plugin de CSS usado no WordPress.com (a incompatibilidade causava comportamentos estranhos no editor). Assim, se tinha problemas tais como ver texto a ser sublinhado ou em negrito inesperadamente, isto não deve acontecer mais.
  • Corrigimos uma falha do IE8 com a janela de inserção de links, mas ainda estamos a trabalhar em alguns problemas no IE7. (Agora a sério, usar browser antigos não é uma boa ideia. Actualize-o!)

Se mesmo assim continuar com problemas com as novas funcionalidades, quando deixar um comentário ou contactar o suporte, por favor indique o sistema operativo e browser que está a usar, para nos ajudar a resolver o problema mais depressa. Exemplos: “Estou a usar Firefox 3.9 com Mac OSX 10.5.”  ”Estou a usar Google Chrome em Windows 7.”

Obrigado!

« Entradas anteriores |

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2795 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com