Tuesday 13 January 2009

Para quando o sumaríssimo ao Bruno Alves?

Há já algum tempo que estou a juntar diversos vídeos deste defesa do futebol clube do porto, mas, esta semana foi demais.
É incrível que nenhuma destas entradas foi sequer falta, pois, vejamos:



Nota-se que nesta situação, ele tenta claramente pisar o adversário, pois, o movimento do pé está a afastar-se e ele, propositadamente volta atrás para pisar o colega de trabalho.



Nestas imagens, podemos ver com clareza que o que o Bruno Alves tenta fazer é cotovelar o adversário, mesmo antes da bola chegar.



Estas imagens são conhecidas do ultimo jogo com o Sporting, onde o Bruno Alves, mais uma vez, com toda a força pisa um colega de profissão. Desta vez é o João Moutinho do Sporting. Quando será que os senhores da arbitragem começam a ver isto?


Nesta o engraçado não é a entrada à Kung-fu, mas, o facto de ele se contorcer de dores no final. Coitado do adversário que ficou com uma bela marca nas costelas.


Mais uma vez pergunto: Se as imagens tem ajudo a abrir muitos sumarissimos, porque é que não se abre um a este jogador que faz tudo dentro de campo, menos jogar à bola.

Denunciem esta situação!
Saudações Benfiquistas
Paulo Aboim Pinto

Sunday 4 January 2009

Participar no denvolvimento do Olimpo CMS

Há já algum tempo que ando a trabalhar neste projecto e apesar de muitos se terem interessado no projecto, desde sempre que trabalhado sozinho. Tenho a certeza que não é porque o código não está disponível, pois, desde sempre que o código está disponível (Inicialmente no Source Forge e agora no Google Code).

Para fazer o download do projecto é necessário instalar um cliente de SVN (para windows pode usar o TortoiseSVN Client). O SVN é um gestor de versões que evolui do CVS que é conhecido por toda a Internet, pois, ela praticamente foi desenvolvida por milhares de programadores ao longo do globo usando o CVS.

Neste momento uso o MonoDevelop como IDE de desenvolvimento. Escolhi este IDE porque está num estado de maturação suficiente para suportar o desenvolvimento de um produto como o Olimpo CMS. Outra razão pela escolha é porque eu uso como sistema operativo um Ubuntu. Este sistema operativo é baseado no kernel linux e o Visual Studio não corre neste num sistema operativo. Assim, tive que encontrar uma solução para desenvolver em .NET num ambiente Linux e o Mono e MonoDevelop são a alternativa certa.

O Olimpo CMS está desenvolvido usando diversas camadas com especificidades diferentes:
  • olimpoTools.DataAccess - Camada de acesso a dados. Esta camada é responsável pelas acções directas a um repositório de dados (MySQL, SQL Server, etc.). Tem diversas funcionalidades de persistncia de dados que usa System.Reflection nas transposições dos dados "de e para" objectos e listas de objectos.
  • olimpo.Common.Theme - esta camada é responsável pelo carregamento de um OlimpoTheme. O OlimpoTheme é uma tema gravado na base de dados do Olimpo CMS que é representa e carrega todo o site e nas zonas definidas.
  • olimpo.WebUI - Ponto de entrada do Olimpo CMS. Usa do olimpo.Common.Theme para carregar o site.
  • Modules - Tudo no Olimpo CMS são módulos. Apesar de haver módulos transversais a toda a aplicação (Membership, Globals, Language, etc.), a maior parte dos módulos encerram em si as suas funcionalidades. Existe um conjunto de Interfaces que definem como um módulo deve ser construido e o que deve implementar para que o olimpo.Common.Theme o possa carregar no lugar correcto da página.
    Cada módulo é um projecto Web isolado que está dentro da árvore de directório do Olimpo CMS, cujo binário compilado é colocado na directória bin do projecto principal. Desta forma, não necessitamos de compilar o Olimpo CMS quando efectuamos uma alteração num módulo.
Praticamente todo o desenvolvimento usa a metodologia MVC (Model View Controller) e já existem alguns testes unitários que tentam garantir a qualidade das alterações.

Agora já sabem como está estuturado o Olimpo CMS no alto nível. Mais tarde irei começar a explicar os seus componentes.


Abraços
Paulo Aboim Pinto
Odivelas - Portugal

Friday 2 January 2009

Olimpo - Content Manager System

Quase um ano depois, resolvi pegar no Olimpo - Content Manager System e termina-lo. Este software é tem como objectivo ser a base de trabalho para o desenvolvimento de sites Web (Intranet / Extranet).

Desde há alguns anos que ando a brincar ao desenvolvimento de sites e a 1º versão do Olimpo foi desenvolvida em ASP 1.0 + Access em 1999 quando comecei a pensar em desenvolver o site para a Tusófona - Real Tuna Lusóna (tuna que fundei em 1996).
Por diversos motivos, rapidamente o site passou a ser desenvolvido em PHP + MySQL. Um desses motivos foi que o Data Center era em minha casa e manter a estrutura de servidores com máquina Windows dava imenso trabalho a manter (ao contrário que muitos pensam, manter um Windows é um trabalho diário extenuante).

Há cerca de 6 ou 7 anos resolvi que era a altura para o Olimpo evoluir e começei de migrar tudo para .NET 1.1, mas, como eu não uso windows em casa tudo ficou complicado.
Com o amadurecimento do Mono e MonoDevelop pude retormar o projecto e mesmo usando Linux como sistema operativo, posso desenvolver em C# .NET.

Ao longo destes anos por causa do excesso de trabalho e um casamento falhado não tenho tido muito tempo para dedicar-me ao Olimpo CMS, ou, a minha dedicação não tem sido estável.

Hoje o Olimpo está totalmente desenvolvido usando .NET 2.0, apesar de estar compilado com Mono 2.3.
Os data center que tenho trabalhado não tem o mono instalado nas suas máquinas linux, pelo que tenho recorrido a máquinas Windows com o .NET 2.0 intalado e até agora não tenho tido problemas entre o .NET e Mono.

Existem diversos concorrentes que já estão instaurandos e com provas dadas no merdado à vários anos como: DotNetNuke, Mojo Portal em .NET e um infindável número de CMS desenvolvidos em PHP, mas, o Olimpo CMS tem as suas virtudes / vantagens que são:

  • Equipa de desenvolvimento portuguesa (o que é nacional é bom e para já a equipa é só uma pessoa).
  • Uso do C# .NET (e não VB.NET como o DotNetNuke).
  • Pensado para ser totalmente modular desde o início.
  • É completamente grátis. Licenca Free Software.
  • Tenta usar as novas motodologias de desenvolvimento (MVC, Singleton, etc).
Da mesma forma que o projecto Tusófona.com foi o impulsionador do Olimpo, este projecto voltou a ser de novo a razão do avanço. Depois de quase 5 anos com o mesmo site, foi-me pedido para fazer um novo e qual a melhor plataforma? O Olimpo CMS claro. Assim, nas últimas semanas tenho trabalhado com afinco para começar a ter algo online. A primeira versão deste novo site foi colocada online em 31/12/2008 e quase todos os dias algo novo é colocado online.

O Olimpo CMS não pretende ser o melhor CMS do mercado, nem sequer pretende ser considerado. É um projecto pequeno com a ambição académica e não comercial. Claro que alguém pode achar que pode ser usado comercialmente. Nesta situação só posso desejar boa sorte.
Claro que já pensei em tranformar o Olimpo num produto que possa ser vendido, mas, isso fica para outro post.

Para que usar software de CMS como DotNetNuke, Jomla, WordPerfect, etc. Se és português, tenta usar o Olimpo CMS e verás que não é assim tão diferente dos outros.
Dentro em breve terei processos de instalação / configuração / administração para que qualquer pessoa posso instalar / usar o Olimpo CMS. Até lá, vão vendo a implementação de tal em http://www.tusofona.com

Abraços
Paulo Aboim Pinto
Odivelas - Portugal