Gestão de projectos com RIA nacional

Há uns meses atrás testei uma aplicação de gestão de projectos de uma empresa nacional chamada WEBFUEL, é simples de usar, atractiva e acima de tudo tem bastantes funcionalidades.

Uma breve descrição das funcionalidades desta aplicação:

  • Partilhar tarefas.
  • Configurar as permissões de cada utilizador.
  • Trabalhar simultâneamente em vários projectos.
  • Controlar e monitorizar o progresso dos projectos num dashboard que se actualiza automáticamente.
  • Acompanhar a carga laboral de cada membro da equipa.
  • Planear ao detalhe cada tarefa.
  • Cada tarefa tem o seu próprio fórum de discussão que lhe permitem reforçar a comunicação da sua equipa, ou mesmo com os clientes.
  • Definir ou deixar que os gestores de projecto definam os responsáveis por cada tarefa, e saber exactamente quem está a fazer o quê.
  • Personalizar a conta do Airgile, definindo o logo da empresa, o título da conta, ou requisitar uma skin à medida do branding da empresa.
  • Gestor de documentos.
  • Pré-visualizar imagens e documentos de texto.
  • Suporta multi-linguagem.
  • Pesquisas e filtros instantâneos.
  • Notificações por email.
  • Tarefas confidenciais.
  • Interface com o utilizador intuitivo e elegante.

Vale a pena testar façam login na demonstração, disponível em:

http://airgile.com/lusoprime

User: demo@airgile.com
Pass: password

O site do produto está disponível em http://airgile.com e possui naturalmente todas as informações adicionais sobre a aplicação.

Afinal em portugal fazemos coisas úteis e interessantes, que ajudam a aumentar a produtividade.

Instalar Zend Framework no Ubuntu

Para instalar a Zend framework no ubuntu e puder usar a Zend_Tool automaticamente abrimos o terminal e autenticamo-nos como “root” com o seguinte comando:

sudo su

Vai nos ser pedida a password de administrador, em seguida vamos adicionar aos nossos repositórios o repositório da Zend Framework com o seguinte comando:

sudo add-apt-repository ppa:zend-framework/ppa

Agora que ja temos o repositório instalado vamos actualisar, e instalar a Zend Framework usando so seguintes comandos:

sudo apt-get update
sudo apt-get install zend-framework

E já está. Zend Framework instalada. Vamos usar a Zend Tool para verificar:

zf show version

Deverá aparecer no terminal algo como:

Zend Framework Version: 1.11.2

Nota: Usando este método quando sempre que esteja disponível uma nova versão da Zend Framework a copia local será actualizada.

Para usar a Zend Framework instalada será necessário inclui-la no include_path, ou adicionando o caminho no include_path por defeito a libraria é instalada em “/usr/share/php/libzend-framework-php/“.

Para puder usar multiplas versões da Zend Framework o que sugiro e que no vosso index.php em cada projecto façam um set_include_path() com o caminho para a versão pretendida.

Apresentação AUG Porto – ORM com AIR e SQLite

Os slides:

O código de exemplo

AIR_ORM_demo1

Artigo sobre Zend_amf no AUG – Porto

Já não escrevia aqui á algum tempo, devido a vários projectos tenho estado um pouco afastado do blog.
Vou tentar publicar mais artigos e com mais frequência apartir de agora.

Para começar fica aqui um link para um artigo que escrevi para o AUG-PORTO sobre Zend_AMF a primeira parte o servidor.
http://augporto.groups.adobe.com/index.cfm?event=post.display&postid=31633

Vão dar uma olhadela.

Evento RIAPT Porto

Vai decorrer no dia 6 de Março de 2010, mais um evento da riapt (comunidade portuguesa de Rich Internet Applications)  no porto.

Desta vez e em representação da PHP-PT (comunidade portuguesa de PHP) vou apresentar uma pequena sessão sobre inegração entre a Zend Framework e Flash/Flex.

Não percam registem-se já aqui.

Após a apresentação colocarei online os slides e os exemplos.

Novidades MAX 2009

Hoje vim falar-vos das novidades apresentadas na Adobe Max 2009, gostava muito mas infelizmente não me foi possível estar presente na MAX 2009 no entanto vi a keynote Online.

Este ano os senhores da Adobe presentearam-nos com uma serie de novidades empolgantes, começando com uma demonstração da nova versão do flash player 10.1, passando pelo Photoshop CS5 e Flash Pro CS5, entre outros.

Embora tenha sido abordada a nova versão do coldfusion 9, e a sua integração com o novo Flash builder 4, não vou abordar esse assunto. Vou centrar-me nas novidades do flash player 10.1 e do Flash Pro CS5.

Assim temos no novo player as seguintes novidades:

  • A maior e mais significativa novidade é trazida em conjunto com o projecto Open Screen e é o suporte para equipamentos moveis, como smart Phones, com esta nova funcionalidade vamos ser capazes de distribuir conteúdo numa grande variedade de dispositivos, e sistemas operativos. Na versão 10.1 são suportados os seguintes novos sistemas operativos, Android, Microsoft Windows Mobile, Palm webOS , Symbian S60, Windows 7 e Mac OS X 10.6 (“Snow Leopard”).
    A adobe em conjunto com o Projecto Open Screen, está a trabalhar com um conjunto de parceiros por forma a disponibilizar o flash player no maior numero de dispositivos possível. Entre esses parceiros encontram-se empresas como:

    Paramount
    Qualcomm
    QNX Software Systems
    Research in Motion
    RTL Interactive
    Samsung
    Sony Ericsson
    STERN
    Texas Instruments
    The New York Times
    Palm
    Tomorrow Focus Technologies
    Verizon Wireless
    ZiiLABS

    Com estas parcerias, teremos o Flash Player a correr numa variedade muito maior de dispositivos que vão desde Computadores, telemóveis, televisões, media center’s, etc…
    Com a introdução destes novos dispositivos são introduzidas funcionalidades que até ao momento não tínhamos como Multi-touch e gestos, o que nos permite tirar partido de uma maior interacção com sistemas operativos e hardware que suportam este tipo de tecnologia como por exemplo o windows 7, interacção simultânea com múltiplos objectos, atravez de toque, rotação, escalamento (scale), toques multiplos etc.

  • Outra das grandes novidades, é o suporte expandido a conteúdos de alta definição, mas adaptado para correr de forma optimizada nos vários tipos de dispositivos. Vai suportar igualmente o Adobe Flash Access 2 que vai permitir as empresas que distribuem conteúdos multimédia, utilizar encriptação de conteúdos e estabelecer pré requisitos para acesso ao conteúdo baseado numa serie de regras como por exemplo limitar a visualização a um determinado tempo de aluger, assim como protecção contra gravações não autorizadas se conteúdos em streamming, etc.
  • Tratamento global de erros, as novas API’s de actionscript 3 permitem que um programado possa capturar erros que ocorrem durante a execução de uma aplicação, e que não se encontram contemplados dentro de estruturas do tipo try/catch, de forma global, capturando esses erros de forma global e apresentando mensagens de erro personalizadas de forma a melhorar a experiência do utilizador.
  • Suporte para globalização, isto vai permitir de uma forma simples e de acordo com as preferências que o utilizador definiu no seu sistema operativo, apresentar conteúdos adaptados as suas preferências, e não me refiro apenas ao idioma mas também, formato de datas, tempo, moeda, e formatações numéricas.

Quanto ao Flash Pro CS5, não revelaram muito ainda mas vai incluir uma grande funcionalidade que é exportar conteúdo como uma aplicação nativa de iPhone. Sim é verdade vamos puder desenvolver as nossas aplicações em flash e exporta-las para o iPhone, no entanto note-se que não se trata de um player de flash no iPhone, o que acontece é que o novo Flash Pro CS5 vai exportar aplicações como IPA ou seja vai converter tudo para uma aplicação nativa de iPhone. No entanto não deixa de ser uma funcionalidade muito interessante, pois vamos puder criar conteúdos para iPhone usando as tecnologias habituais mas tirando partido de funcionalidades como a orientação do ecrã, o acelerómetro, entre outras.

Vamos esperar por amanha para ver o que mais os senhores da adobe têm na manga para nós.

Data Binding bi-direccional com Flex 4

Ligação de dados bi-direccional é algo que dá bastante jeito ter sempre à mão.

Pois bem com as novas funcionalidades no flex 4 ficou ainda mais simples, basicamente existem 2 formas de o fazer, usando a tag mxml ou usando o operador ‘@’.

Exemplo usando MXML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
 xmlns:s="library://ns.adobe.com/flex/spark"
 xmlns:mx="library://ns.adobe.com/flex/halo"
 minWidth="1024"
 minHeight="768">
 
 <s:layout>
 <s:VerticalLayout />
 </s:layout>
 
 <fx:Binding source="campo1.text"
 destination="campo2.text"
 twoWay="true" />
 
 <s:TextInput id="campo1" />
 <s:TextInput id="campo2" />
</s:Application>

Exemplo usando o operador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
 xmlns:s="library://ns.adobe.com/flex/spark"
 xmlns:mx="library://ns.adobe.com/flex/halo"
 minWidth="1024"
 minHeight="768">
 
 <s:layout>
 <s:VerticalLayout />
 </s:layout>
 
 <s:TextInput id="campo1" />
 <s:TextInput id="campo2" text="@{campo1.text}" />
</s:Application>

Pessoalmente apenas uso o ultimo método se estiver a fazer um protótipo pois quero definir rapidamente as funcionalidades, mas nunca em versões finais ou para produção, porque dificulta a leitura do código. Sendo assim preferível sempre que a aplicação saia da fase de prototipo usar o primeiro método, pois no topo da aplicação vemos logo o que está ligado a quê.

Fica assim mais uma dica.

Divirtam-se.

Guia de referência para a Adobe Flash Platform

Foi lançado ontem dia 30 de Setembro a versão beta de actionscript 3.0 para a “flash platform”, esta release contém elementos para lidar com todas as ferramentas, runtimes, serviços e servidores da flash platform.

A documentação ainda em versão BETA pode ser encontrada em Beta ActionScript 3.0 for Flash Platform.

Os elementos de Actionscript na Flash Platform suportam:

Alem dos produtos acima, inclui ainda, classes para Text Layout Framework (TLF), entre outras novidades.

Espreitem vale a pena.

HTML 5 e XHTML 5

Muito bem como todos sabem, ultimamente fala-se muito do HTML5, mas afinal o que é que trás de novo? quais as vantagens?
Anteriormente falou-se também do XHTML 2 mas afinal acabou… e agora?

Pois bem caros amigos vou tentar responder a estas questões da melhor maneira possivel.

Começo pela segunda questão pois é a mais simples de responder, o XHTML 2 acabou de vez é verdade, mas mesmo assim não se preocupem aqueles que estão habituados aos “coding Standards” do XHTML pois temos o XHTML 5. XHTML 5 ? o que é?
É basicamente o o HTML5 mas com as mesmas restrições do strict XHTML 1.1, tem todas as funcionalidades do HTML 5 mas continua a exigir que todas as tags abertas sejam fechadas ex: <img />, continua a ser possivel o uso de namespaces, e não são permitidos document.write, basicamente as regras são as mesmas que no XHTML 1.1, as funcionalidades são mais, mas já vamos falar nisso.

Convém no entanto relembrar que se desejarem servir paginas em puro XML elas não irão funcionar o IE.

Vamos então a segunda parte, o que é o HTML 5, o HTML 5 será a nova versão de HTML que deverá ser suportada por todos os browsers e equipamentos segundo a W3C até 2022, esta nova versão permite uma maior separação no código dos vários elementos principais de um site, inserção directa de áudio e vídeo, etc.
Além de novas tags o HTML5 trás também um conjunto de novas API’s além do já muito conhecido DOM, são elas:

  • A tag canvas para desenho de gráficos 2D em “Immediate mode” istosignifica que o simples facto de chamar a tag canvas fará com que o browser automáticamente renderize o seu conteudo como uma imagem do tipo bitmap.
  • Timed media playback: fará com que elementos de vídeo e áudio sejam automaticamente reproduzidos.
  • Offline Storage database ou DOM_Storage: isto permitirá guardar informações no browser em modo offline de forma a que possam ser usadas. Um pouco á semelhança do que fazemos com os coockies, mas com algumas diferenças chave, os coockies podem ser acedidos quer pelo lado do cliente quer pelo servidor, o DOM_Storage apenas poderá ser acedido pelo cliente, tem uma maior capacidade de armazenamento (5MB nos browsers com motor Mozilla, 10MB no Internet Explorer), não é enviado para o servidor via HTTP em todos os pedidos efectuados, e o servidor não pode escrever dados directamente no DOM_Storage do cliente. O DOM_Storage pode ser armazenado de 2 maneiras diferentes Local ou Session o que faz variar o seu alvo e durabilidade, sendo que nas Sessions assim que fechar a janela do browser, a session perde a sua validade.
  • Existe também uma API para edição de documentos.
  • Drag and Drop: Sim é verdade suporte arrastar e largar através de uma API.
  • Envio de mensagens entre documentos, esta funcionalidade é bastante boa pois permite que possamos passar mensagens com informação sente 2 ou mais janelas.
  • Api para gestão de Históricos do browser, podemos andar com o estado de um documentos para trás e para a frente, mas até agora era apenas 1 estado anterior e um posterior, pois bem isso vai mudar, vamos poder retroceder numa aplicação para por exemplo 3 ecrãs atrás, bastante útil não?

Bastante bom não é? vamos rapidamente ver algumas das novas tags exclusicas do HTML5 e XHTML5

  • <article>
  • <aside>
  • <audio>
  • <bb>
  • <canvas>
  • <command>
  • <datagrid>
  • <datalist>
  • <details>
  • <dialog>
  • <embed>
  • <figure>
  • <footer>
  • <header>
  • <hgroup>
  • <mark>
  • <meter>
  • <nav>
  • <output>
  • <progress>
  • <ruby>
  • <rp>
  • <rt>
  • <section>
  • <source>
  • <time>
  • <video>

Não vou neste momento descrever pormenorizadamente o que faz cada uma destas novas tags mas deixarei isso para futuros posts sobre este HTML5, onde irei descrever uma a uma estas tags e os seus atributos bem como os valores que aceitam.

NOTA: Uma vez que o HTML5 ainda não está numa versão final e ainda está a sofrer alterações este artigo poderá ser actualizado sempre que se justifique de forma a manter uma maior paridade com o estado da linguagem.

PHP SUMMER SCHOOL 2009

Mais uma vez uma grande iniciativa por parte da DRI e da Caixa Mágica que promove a formação de PHP em portugal e não apenas para iniciantes, todos os que quiserem aprofundar os tópicos desenvolvidos no PHP Summer School poderão frequentar, entre 15 e 23 de Setembro, o curso PHP Summer School – Advanced Topics.

Já é o terceiro ano consecutivo que estas empresas promovem este evento.

Aproveitem já para se inscreverem:
Pré-inscrições através do site http://phpsummerschool.org

NOTA: no preço está incluido o valor do exame de certificação PHP