Componentes
Componentes são partes de uma aplicação instaláveis (através de módulos), ou até mesmo de uma aplicação completa, que podem conter:
- Serviços
- Temas
- Contextos de negócio
- Observadores
- Arquivos públicos
- Estrutura
Um componente deve, necessariamente, pertencer a um módulo. Dada uma estrutura de pastas e arquivos pertencentes a um dado módulo, um componente é demarcado por um arquivo de definição de componente. Toda a árvore a partir da pasta que contém o arquivo pertence a esse componente, a menos as subpastas que também contém arquivos de definição de componente. Nesse último caso, um outro componente é definido.
Arquivos Públicos
Um componente pode possuir arquivos públicos (como imagens, CSSs, javascripts etc) que serão distribuídos pelos diretórios estáticos dos websites do portal. Os arquivos públicos de um componente devem, necessariamente, estar em uma pasta chamada componentfiles/www, dentro da mesma pasta que contém a definição do componente. Caso o elemento publicFilesChannelId esteja especificado com um identificador de um canal, os arquivos públicos do componente serão copiados somente para o website do canal especificado, caso contrário, esses arquivos serão distribuídos por todos os diretórios públicos dos websites existentes no portal e serão mantidos no portal quando uma alteração nos websites do portal ou uma alteração nos componentes do portal for realizada.
Estrutura de canais
Um componente pode possuir uma estrutura de canais que será importada na implantação do componente. A estrutura de canais de um componente deve, necessariamente, estar em uma pasta chamada componentfiles/structure, dentro da mesma pasta que contém a definição do componente. Esses arquivos serão utilizados para a importação da estrutura do componente quando o mesmo for registrado. Para detalhes de como criar a estrutura de um componente, veja a seção Criação da estrutura de um componente.
Serviços
Um componete pode possuir serviços que serão disponibilizados pelo portal enquanto o componente estiver disponível. Os serviços podem estar localizados em qualquer local da árvore de pastas do componente, exceto nas pastas componentfiles/www e componentfiles/structure, pertencentes aos arquivos públicos e estrutura de canais, respectivamente.
Temas
Um componete pode possuir temas que serão disponibilizados pelo portal enquanto o componente estiver disponível. Os temas podem estar localizados em qualquer local da árvore de pastas do componente, exceto nas pastas componentfiles/www e componentfiles/structure, pertencentes aos arquivos públicos e estrutura de canais, respectivamente.
Contextos de negócio
Um componete pode possuir contextos de negócio que serão disponibilizados pelo portal enquanto o componente estiver disponível. Os contextos de negócio podem estar localizados em qualquer local da árvore de pastas do componente, exceto nas pastas componentfiles/www e componentfiles/structure, pertencentes aos arquivos públicos e estrutura de canais, respectivamente.
Observadores
Um componente pode conter observadores que serão automaticamente registrados durante o deployment e desregistrados duranto o undeployment. Os contextos de negócio podem estar localizados em qualquer local da árvore de pastas do componente.
Disponibilidade dos recursos de um componente
Os recursos de um componente são mantidos enquanto o mesmo existe no portal. O portal efetuará as alterações dos recursos adequadamente quando há alterações (incluções, atualizações e excluções) de componentes.
Versão de um componente
A versão de um componente deve ser declarada em seu arquivo de definição. É importante notar que um componente de versão menor não pode ser instalado em um ambiente com uma versão maior (o portal não permite o downgrade de um componente).
Identificador de um componente
O identificador de um componente é calculado de forma implícita e não pode ser definido manualmente. O identificador é obtido a partir da pasta que contém o arquivo de definição do componente. O identificador é o caminho completo dessa pasta dentro do módulo substituindo o separador de caminho ("\" ou "/", dependendo do tipo de módulo e do sistema operacional) pelo caractere ".".
Exemplo: se um componente pertence a um módulo JAR e está na pasta br/com/lumis/intranet, isto é, seu arquivo de definição é br/com/lumis/intranet/componentdefinition.xml, o identificador desse componente será br.com.lumis.intranet.
Scripts de deployment de componente
Um componente pode incluir scripts para fornecer passos de instalação, atualização e desinstalação. O portal decidirá que script usar, de acordo com a operação do usuário e estado atual do componente, e quais partes desse mesmo script serão executadas.
Para maiores informações sobre scripts veja a seção Scripts de instalação, atualização e desinstalação.
Restrições de instalação
Um componente pode definir restrições de instalação. Essas restrições serão validadas toda vez que um deploy ou undeploy for realizado.
Para maiores informações sobre restrições, veja a seção Restrições de instalação.
Substituição de componentes
Um componente pode substituir um ou mais componentes. Para isso, o portal utiliza um mecanismo de substituição de componentes, descrito na seção Substituição de componentes.
Para exemplos de criação de componentes, veja a seção Exemplos.