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.
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
1 comment:
Post a Comment