Exportação em LEC
Esta opção permite que estruturas de canais (com páginas; instâncias de serviços; grupos locais; arquivos XSL; e referências a arquivos CSS, workflows, serviços customizados, usuários ou grupos globais e controle de acesso) e conteúdos sejam exportados em um arquivo compactado com extensão .lec (Lumis Exported Channel) para o diretório “lumisdata/data/exporteddata”.
Na exportação, são verificadas todas as dependências externas, ou seja, objetos exportados que dependem de objetos que não estão sendo exportados, de forma a alertar o administrador que tais objetos deverão estar presentes no destino, para que a importação ocorra com sucesso. No entanto, algumas dependências impedem a importação, outras não.
Exemplos de dependências externas:
- template de canais ou páginas criados fora do escopo do canal exportado e que estão aplicados em canais e páginas deste canal;
- instâncias de serviços que utilizam outras instâncias de serviços. Ex: instância do serviço de Notícias que pode utilizar instâncias dos serviços de Documentos e Imagens,que por sua vez estão instanciados fora do escopo da estrutura a ser exportada;
- workflow customizado pertencente ou não ao escopo da exportação;
- usuários e grupos globais do controle de acesso de um objeto pertencente ao escopo da exportação.
Considere o seguinte cenário: Exportação do canal “Agenda de Eventos”.
A estrutura "Agenda de Eventos" possui dois canais: "Agenda de Eventos" e "Administração"; e quatro páginas: "Lista Rápida", "Lista" e "Detalhes" pertencentes ao canal "Agenda de Eventos", e "Administração" pertencente ao canal de mesmo nome. Nestas páginas, estão instanciadas as interfaces de mesmo nome das páginas citadas. Estas interfaces são da instância de serviço "Agenda de Eventos" que está no canal de mesmo nome.
As páginas possuem o template “templ_interna” aplicado. Este template localiza-se no canal “templates” que está no mesmo nível do canal “Agenda de Eventos”. A interface Logoutinstanciada neste template, pertence à instância de serviço de Logindo canal com o mesmo nome, que por sua vez, também está fora do escopo do canal a ser exportado.
A estrutura “Agenda de Eventos”, bem como suas interfaces possuem um XSL customizado (“intranetJava.xsl") e além disso, a instância de serviço “Agenda de Eventos” utiliza um workflow customizado (“workflow2”).
No controle de acesso do objeto a ser exportado, está adicionado o usuário local "Lumis.bruno". Estão adicionados também grupos globais padrão do produto.
Enfim, com o right-click no canal “Agenda de Eventos”, selecione a opção Exportar. Em seguida, informe no formulário de exportação:
Aba Geral:
Respectivamente:
- o nome para o arquivamento da estrutura a ser exportada. Recomenda-se nomear o arquivo com o nome do canal a ser exportado;
- Incluir sub-canais recursivamente: permite escolher se os sub-canais da estrutura serão exportados ou não. As vezes faz-se necessário exportar apenas as páginas, templates de página, grupos locais, instâncias de serviços, entre outros; sem exportar os sub-canais. Na importação, por sua vez, os sub-canais não seriam alterados. Nestes casos, deve-se desmarcar esta opção que vem selecionada por default. Por sua vez, os elementos globais, como XSL, por exemplo, são exportados e importados independente dessa opção;
- Incluir conteúdo: se deseja exportar o conteúdo (com seu versionamento, informações de publicação e workflow) da instância de serviço;
- Incluir referência a membros do tipo usuário: permite incluir ou não na exportação a relação de "membro de" entre usuário e grupo.
No cenário em que há usuário local pertencente a grupos locais, esta opção é indiferente, já que usuários e grupos locais são exportados.
Já no cenário em que há usuários globais pertencentes a grupos locais é útil selecionar essa opção, já que usuários globais não são exportados, e eles podem não existir no destino, ou existir mas com IDs diferentes, acarrentando problemas futuros na importação.
Há ainda o caso em que usuários globais são membros de grupos globais. Grupos globais do tipo padrão podem ser exportados ou não, dependendo do que for configurado na aba "grupos globais". Mas como usuários globais não são, pode-se não incluir na exportação suas referências de "membro de" com tais grupos. A não ser que aqueles usuários globais existam no destino (cadastrados com o mesmo ID), pode-se incluir suas referências para que no destino tenham a mesma relação de "membro de" entre usuários globais e seus grupos;
Quando os grupos globais a serem exportados são do tipo dinâmicos, não há necessidade de incluir referências do tipo usuário, uma vez que os usuários desses grupos serão incluídos no destino através de um cálculo dinâmico.
- Exibir alertas sobre dependências externas: se deseja exibir os alertas sobre as dependências externas no relatório sobre a exportação. Caso contrário, serão exibidas apenas as informações sobre a quantidade de dependências externas e se o canal foi ou não exportado com sucesso.
Grupos globais
Uma forma de exportar grupos globais, é informá-los no formulário de exportação do canal, mesmo que eles não façam parte do controle de acesso daquele canal. Se os grupos não existem no destino, eles serão criados.
Para isso, basta clicar em adicionar, que são exibidos todos grupos globais do portal, menos os grupos padrão (Administradores do Portal, Desenvolvedores, Usuários Cadastrados e Todos os Usuários). Isso porque, os grupos globais padrão do produto são sempre exportados.
Os motivos para a exportação de grupos globais foram explicados anteriormente na opção de incluir referência a membro do tipo usuário.
De acordo com as informações do formulário da aba geral, o arquivo a ser gerado no diretório “lumisdata/data/exporteddata” será “Agenda de Eventos.lec”, e nele conterá o conteúdo da instância de serviço presente no canal a ser exportado.
O administrador será notificado se a exportação ocorreu com sucesso, e, no caso de haver dependências externas, essas serão exibidas em um relatório de exportação, e os objetos envolvidos nas dependências externas poderão ser visualizados ao clicar nas setas ao lado de cada um deles.
A figura a seguir é um exemplo de relatório gerado a partir da exportação do canal “Agenda de Eventos”, e que informa que os quatro conteúdos cadastrados para a instância "Agenda de Eventos" foram exportados com sucesso, e que a página "Lista" depende do "templ_interna" localizado no canal "Portal/templates":
Outro trecho do relatório:
Objeto dependente:
Instância de Serviço
Nome: Agenda de Eventos
ID: 8A488ACB0F71632D010F72EF8C2A164F
Serviço
Nome: Agenda de Eventos
ID: lumis.service.event
Canal
Nome: Portal/Agenda de Eventos
ID: 8A488ACB0F71632D010F72EF8BDC164D
Objeto do qual se depende:
Workflow
ID: workflow2
Objeto dependente:
Instância de Interface de Serviço
Área: 2
Coluna: 1
Linha: 1
Célula: 1
ID: 8A488ACB0F71632D010F730A398E1977
Página
Nome: Administração
ID: 8A488ACB0F71632D010F72EF8F841669
Canal
Nome: Portal/Agenda de Eventos/Administração
ID: 8A488ACB0F71632D010F72EF8EA91667
Interface de Serviço
Nome: Logout
ID: lumis.service.login.logout
Objeto do qual se depende:
Instância de Serviço
Nome: Login
ID: 8A488ACB0F71632D010F7257F36905E9
Serviço
Nome: Login
ID: lumis.service.login
Canal
Nome: Portal/Login
ID: 8A488ACB0F71632D010F7257C56B058D
O trecho do relatório acima informa que:
A instância de serviço “Agenda de Eventos” pertencente ao canal com o mesmo nome, depende do objeto customizado “workflow2” que pode estar ou não registrado no portal destino.
A instância de interface “Logout” que está localizada na página “Administração” do canal “Portal/Agenda de Eventos/Administração”, DEPENDE da instância de serviço “Login” que está localizada no canal não pertencente à estrutura exportada “Portal/Login”.
Para cada um dos objetos citados são informados o seu ID e outras informações que podem ajudar na identificação do objeto como nome e título, etc. Além disso, as setas localizadas ao lado de todos os objetos listados no relatório, remetem para sua localização no portal.
Caberá ao administrador tomar uma das seguintes decisões em relação às dependências externas, para que não haja problemas durante a importação :
- Exportar as dependências externas, preservando os IDs, para que as referências sejam mantidas;
- Excluir os objetos dependentes e exportar novamente o canal, agora, sem dependências. Dessa forma, esses objetos terão que ser adicionados no portal destino, caso se queira que a estrutura seja como a original;
- Registrar workflows e serviços customizados inexistentes no portal destino. Como o ID de workflows e serviços estão localizados nos arquivos que serão registrados, ele sempre será igual ao ID registrado na origem.
É importante atentar para os alerts do relatório de exportação, que podem ser:
- Informação sobre o andamento do processo da exportação e sobre o sucesso da exportação do conteúdos da(s) instância(s) de serviço, representado pelo ícone:;
- Avisos em geral, tais como restrições em relação às dependências externas, representados pelo ícone:;
- Possíveis erros não esperados na exportação, representado pelo ícone: . Tais erros podem ocorrer, por exemplo, quando há insuficiência de memória, de espaço em disco, etc;
- Resultado da exportação com sucesso, representado pelo ícone:
A exportação pode ser cancelada, a qualquer momento, antes do seu término, selecionando o botão "Cancelar".