Saturday 23 January 2010

Módulos do OlimpoCMS

Um dos pontos fortes do Olimpo CMS é a sua capacidade de adaptabilidade a novos módulos (ou plugins). Usando um conjuntos de interfaces base que definem o comportamento dos módulos, estes passam a ser parte integrante do OlimpoCMS.

O olimpo.Web.Core é o namespace responsável pelo carregamento dinâmico dos vários módulos configurados nas posições definidas pelo template. O template é uma lista de módulos a serem carregados numa determinada página e está guardada em base de dados.
Podem ser carregados módulos para a MasterPage ou para uma página normal.

Em http://code.google.com/p/olimpotools tem a última versão (0.3) do Olimpo CMS em formato VS2010.
Com esta versão é possivel definir zonas na MasterPage (serão tags DIV) e nessas zonas podemos carregar um ou mais módulos ou ainda mais zonas.
NOTA: na versão 0.3 ainda não existe ligação a uma base de dados. Os templates estão definidos no DataProvider da aplicação.

Para que um módulo seja carregado para uma zona, é necessário que tenha um WebUserControl chamado Index.ascx e que implemente a interface IWebControl. Este interface é que define como o motor de carregamento de páginas entrega parametros ao módulo.
Na versão 0.3 tenho um projecto chamado olimpo.BasicModule onde podem ver como funciona.

Neste momento estou focado na forma como podemos colocar um módulo na página principal sem que este seja o módulo principal, por exemplo: um menu, um calendário, etc. Ao clicar nesse módulo, o site deve colocar na área de destaque as funcionalidades do módulo.
isso fica para outro post.

No comments: