Open the menu

    Versão 7.0.0

    A versão 7.0.0 possui todas as modificações incluídas até a versão 6.2.1. Abaixo seguem os destaques das demais funcionalidades não existentes na versão 6.2.1.

    Novidades

    • Nova camada de apresentação para controles DOUI e administração em serviços DOUI, disponibilizando uma melhor usabilidade aos publicadores de conteúdo;
    • Novo modo Dashboard disponível na visão do publicador, onde é disponibilizada uma administração de conteúdos sem necessidade de montagem das interfaces administrativas;
    • Funcionalidade de Temas;
    • Novas formas de abrir uma interface não montada em página. Além de poder abrir em um popup, agora é também possível abrir em um lightbox ou substituindo na página original a interface que requisitou a abertura. A forma de abertura padrão é configurável através de temas, e também é possível explicitar a forma de abertura na definição do controle que a efetua (em <onClick>). A abertura por substituição também pode ser utilizada em interfaces expostas pelo Produtor WSRP;
    • Nova forma de autenticação integrada utilizando SPNEGO/Kerberos;
    • Funcionalidade de Contexto de Negócio;
    • Disponibilizando opção de expiração por tempo no mecanismo de cache de interface;
    • Possibilitando customização da chave utilizada no mecanismo de cache de interface. Com isto é possível utilizar o cache de interface mesmo em interfaces que variam sua renderização conforme alguma característica da requisição que compõe a chave do cache;
    • Novo controle lum_include que permite incluir um recurso da aplicação web (seja estático ou dinâmico - por exemplo: JSP ou Servlet) como parte do HTML final ou do XML de renderização da interface;
    • Novo serviço de Álbum de Mídias;
    • Incluindo suporte ao servidor de aplicação Oracle Glassfish e ao servidor web Nginx. Para maiores informações sobre os servidores suportados consulte os requisitos do sistema.

    Melhorias

    Administração do portal e Portal Studio

    • Criada a permissão padrão de editar conteúdo de instância de serviço nos controles de acesso de canal e de instância de serviço;
    • Atualização de serviço também expira o cache de seus textos localizáveis;
    • Atualização de serviço também dispara evento de expiração em massa de suas interfaces e páginas correspondentes;
    • O provedor de dados do canal raiz quando configurado para herdar passou a ser o de conteúdo;
    • Possibilitando uso de elementos embed e param não propriamente fechados em arquivos de layout;
    • Nova opção em Filas de Cache para indicar se deve fazer parte das expirações em massa automática;
    • No Gerenciador de Web Resources, melhoria na mensagem exibida ao tentar excluir todos os web resources;
    • Possibilidade de definir um template de página como sendo o padrão do canal durante a adição ou edição do template de página;
    • Possibilitando uso da funcionalidade de Server-Side Include em páginas com URL amigável;

    Desenvolvimento de serviços

    • Possibilitando uso de Expression Language (EL) em arquivos XSL de interface;
    • Inclusão, no HTML renderizado de uma interface, de classes CSS representativas de características da interface, pelo XSL padrão DOUI;
    • Novo elemento indicativo de função da interface isSummary, por padrão true para interfaces de lista rápida;
    • Mantendo estado de interface renderizadas em client-side quando é executado um processAction na página;
    • No XML de renderização de uma interface DOUI, é disponibilizado em /renderData/douiContext/interfaceType os tipos da interface sendo renderizada;
    • Possibilitando interfaces a contribuir com fragmentos HTML para o <head> da página utilizando IServiceInterfaceRenderResponse.getBeforeWriter ou a função EL lum_beforeWrite;
    • Possibilitando ler dados com Data Provider genérico efetuando GROUP BY sobre campos de source (ver novo atributo groupBy do elemento field);
    • Possibilitando adicionar botões extras nos controles lum_autoAdminListButtons e lum_autoContentAdminListButtons;
    • Adicionado nos arquivos armazenados pelo IFileManager metadados de macrotipo (macroType), profundidade de cor, frame rate, duração de áudio ou vídeo, taxa de bits de áudio, taxa de amostragem de áudio e número de canais de áudio. Para recalcular os metadados em arquivos pré-existentes deve-se executar a operação de atualizar metadados disponível no Gerenciador de Arquivos;

    Serviços nativos

  • Melhorias na exibição do calendário do serviço de Agenda de Eventos;
  • Serviço de repositório de imagens foi substituído pelo novo serviço de Repositório de Mídias;
  • Outros

    • Possibilitando acúmulo de valores herdados com valores locais na Property Bag (por API);
    • Maior paralelismo no processamento de transformações de arquivos, que antes havia apenas uma fila por instância de serviço. Um erro em uma transformação de arquivo não mais interrompe as demais transformações daquela instância de serviço;
    • Arquivos de layout, além de poderem ser colocados em lumisdata/def, agora também podem ser colocados no classpath (incluindo em módulos do portal) e em temas;
    • Novas funções e variáveis disponíveis em Expression Language (EL). Para a lista completa, veja os Recursos disponíveis em EL.

    Defeitos

    Administração do portal e Portal Studio

    • Corrigido defeito no Portal Studio, durante a diagramação de uma página, onde ao acrescentar uma interface em uma página com arquivo de layout, a interface não aparecia renderizada;
    • Corrigido defeito no Portal Studio, durante a diagramação de uma página, onde ao acrescentar uma interface em uma página, sua renderização não incluía elementos incluídos por beforeWriter;
    • Corrigido defeito no Portal Studio, durante a diagramação de uma página, onde ao acrescentar uma interface em uma página utilizando Internet Explorer, em alguns casos a interface não aparecia renderizada;
    • Corrigido defeito na exportação de estrutura para sistema de arquivos onde propriedades do property bag ficavam repetidas no arquivo exportado;
    • Corrigido defeito na exportação e importação da estrutura para sistema de arquivos onde papéis de workflow e configuração de workflow de instância de serviço não estavam sendo exportados ou importados;
    • Corrigido defeito na edição de Website ao mover URL adicional para principal;
    • Corrigido defeito no Assistente de Criação de Conteúdo que não completava em alguns casos;
    • Corrigido defeito na atualização de serviço quando usuário não possui permissão em alguma instância;

    DOUI e Content

    • Corrigido defeito no controle de lum_multiFileUpload na geração de seus sub-controles;
    • Corrigido defeito no controle de lum_multiFileUpload onde não era possível usar lum_fileUpload como seu sub-controle;
    • Corrigido defeito no controle de lum_dynamicList que não exibia seu título em algumas interfaces;
    • Corrigido defeito em algumas ferramentas do editor HTML FCKEditor (agora no tema clássico) no Internet Explorer 9;
    • Corrigido defeito na Visualização de Conteúdo, que exibia outros conteúdos não aprovados;
    • Corrigido defeito na indexação padrão de conteúdo em que informações de publicar para usuários e grupos não eram armazenadas corretamente;

    Serviços nativos

    • Corrigido defeito na alteração de foto no serviço de Perfil Social;
    • Corrigido defeito no serviço de Microblog ao postar mensagem com mais de uma hashtag com mesmo nome;
    • Corrigido defeito no serviço de Avaliação de Acessibilidade onde as opções selecionadas não eram mantidas preenchidas após efetuar a avaliação;
    • Corrigido defeito no serviço de Selecionador de Localização ao alterar idioma atual em uma página padrão home;
    • Corrigido defeito no serviço de Integração com Redes Sociais Públicas, na adição na administração de mensagens;
    • Corrigido defeito no serviço de Páginas Personalizadas que poderia causar conflito com jQuery existente na página;
    • Corrigido defeito no serviço de Barra de Navegação que limitava o menu a no máximo 50 itens;
    • Corrigido defeito no serviço de Gerenciador de Grupos ao tentar configurar um grupo dinâmico;
    • Corrigido defeito no redirecionamento após efetuar login pelo serviço de Login;

    Outros

    • Corrigido defeito onde extensão de arquivos de cache HTML não eram atualizados ao habilitar ou desabilitar Server-Side Include;
    • Corrigido defeito no acesso à página em cache HTML, quando ela não está gerada e o website possui caminho mais profundo que o contexto da aplicação;
    • Corrigido defeito no cache de páginas HTML, que não funcionava se o hostname da URL de geração possuísse caracteres não alfanuméricos (e.g.: '-');
    • Corrigido defeito na extração de metadados de arquivos, para que falha na extração de metadados não impeça o processamento do arquivo;
    • Corrigido defeito na visão de edição em contexto, ao navegar para os detalhes de um conteúdo não aprovado;
    • Corrigido defeito no pós-processamento de HTML que causava erro com alguns fragmentos específicos;
    • Corrigido defeito em que referências a arquivos públicos de outro website não estavam sendo renderizadas corretamente;
    • Corridigo defeito na coleta do evento de lumis.portal.presentation.ev.pageview;
    • Corrigido defeito na renderização client-side quando página é acessada pela URL do canal;
    • Corrigido defeito ao criar web resource com cache HTML habilitado, quando há outro web resource com mesmo caminho em outro website;
    • Corrigido defeito no envio de E-mails contendo referências com URLs relativas.

    Observações

    • Os requisitos do sistema foram atualizados;
    • O atalho F12 para mudança de perspectiva foi substituído por F2;
    • A nova camada de apresentação de controles DOUI e administração de serviços DOUI traz um impacto bem significativo no resultado da renderização das interfaces DOUI. Para manter um comportamento mais próximo da versão anterior, pode-se aplicar o tema clássico do portal nos canais ou páginas desejados. Ao efetuar uma atualização do portal para esta versão, o tema clássico será automaticamente aplicado no canal raiz do portal. Ele pode ser desaplicado se desejado. Impactos da nova camada de apresentação (mas que não impactam o tema clássico) incluem:
      • O controle de editor HTML utiliza o CKEditor ao invés do FCKEditor. Observe que os plugins do FCKEditor não são compatíveis com o CKEditor. A customização da barra de ferramentas do editor deve ser feita no XSL;
      • Os templates name="lum_buttonList" e name="lum_headerButton" deixaram de existir. Observe que o template match="control[@type='lum_buttonList']" continuou existindo;
      • O template name="buttonList" foi alterado para name="lum_buttonList".
    • Nova permissão de editar conteúdo na instância de serviço pode ser requerida por algumas operações. Durante a atualização para esta versão, há uma tentativa de deduzir se esta nova permissão deve ser atribuída de acordo com as permissões já atribuídas. Em alguns casos pode ser necessário atribuir manualmente esta permissão para usuários ou grupos que não puderam ser detectados automaticamente que deveriam ganhar esta permissão;
    • Interfaces administrativas sem definição de permissões explícita (pelo elemento <permissions>) passarão a requerer a permissão de editar conteúdo quando o serviço for registrado;
    • Com a inclusão da funcionalidade de Expression Language (EL) em arquivos XSL de interface, XSLs que contenham ${ serão impactados. Neste caso deve-se utilizar ${$}{ como forma de escapar a sintaxe de abertura de EL;
    • Alterada instruções de configuração de Apache com Tomcat ou JBoss para usar mod_proxy + mod_proxy_ajp ao invés de mod_jk;
    • lumis.doui.control.pagination.PaginationControl: Semântica do parâmetro doui_startAt alterada. Anteriormente era considerado o número do item a ser exibido, agora significa o número da página a ser exibida;
    • Para recalcular os metadados em arquivos pré-existentes deve-se executar a operação de atualizar metadados disponível no Gerenciador de Arquivos;
    • O serviço de Repositório de Imagens foi substituído pelo serviço de Repositório de Mídias. Ao efetuar a atualização para esta versão, as instâncias de serviço e instâncias de interface do serviço de Repositório de Imagens serão automaticamente substituídas por correspondentes do serviço de Repositório de Mídias, assim como seus conteúdos ajustados. O dataType image e o controle lum_imagePicker foram substituídos pelo dataType media e controle lum_mediaPicker, mas os primeiros continuam funcionando (utilizando o serviço de Repositório de Mídias) afim de manter compatibilidade com a versão anterior;
    • XMLs de renderização dos controles lum_autoLayoutFields, lum_workflowSendTo e lum_propertyPage sofreram alteração;
    • lumis.doui.control.IClientSideReadableControl e lumis/doui/client/script/LumisDouiClientSideReadable.js: Elementos removidos. Anteriormente o portal utilizava-se da infraestrutura de controles que poderiam serem lidos no client-side para fazer sua leitura para passagem de parâmetros e para validações client-side. Tal infra deixou de existir (com a remoção dos dois artefatos citados) e agora um framework Javascript foi feito de forma que todos os controles possam registrar suas funções necessárias em client-side.

      Controles que implementavam lumis.doui.control.IClientSideReadableControl deveriam implementar os seguintes métodos:

      public String getScriptGetValuesRegistration(): Método que possuia o registro da função de leitura do valor client-side do controle.

      public String getScriptGetValues(): Método que fazia a leitura client-side do controle.

      Controles que utilizavam o Javascript lumis/doui/client/script/LumisDouiClientSideReadable.js possuiam acesso às seguintes funções:

      function LumisDouiAddValueFunction(strControlClassName, pFunction): Registrava uma função de leitura client-side para uma dada classe de controle.

      function LumisDouiGetValues(strControlClassName, strFormName, strControlName): Obtia o valor do controle utilizando a função previamente registrada ou a função padrão caso não haja função customizada registrada.

      function LumisDouiGetValuesByName(formName, controlId): Função padrão para obter o valor de um controle no client-side .

      Agora, o script lumis/doui/client/script/LumisDoui.js disponibiliza, no objeto LumisDoui , as seguintes funções:

      function registerGetValueFunction(formName, controlId, pFunction): Registra uma função de um dado controle em um dado formulário para obter o valor do controle.

      function registerGetDisplayValueFunction(formName, controlId, pFunction): Registra uma função de um dado controle em um dado formulário para obter o valor de exibição do controle.

      function registerClearValueFunction(formName, controlId, pFunction): Registra uma função de um dado controle em um dado formulário para limpar o valor do controle.

      function getControlValue(formName, controlId): Retorna o valor do controle utilizando a função previamente registrada ou a função padrão.

      function getControlDisplayValue(formName, controlId): Retorna valor de exibição do controle utilizando a função previamente registrada ou a implementação padrão.

      function clearControlValue(formName, controlId): Limpa o valor do controle utilizando a função previamente registrada ou a implementação padrão.

      function getFormElementValue(formName, controlId): Função padrão de obtenção do valor do controle em um dado formulário.

    • Elementos de API pública (@Stable) deprecated (consulte o javadoc correspondente para maiores detalhes):
      • lumis.portal.serviceinterfaceinstance.IServiceInterfaceInstanceManager.setInterfaceInstanceHtmlCache(SessionConfig, String, Locale, String, ITransaction)
      • lumis.portal.serviceinterfaceinstance.IServiceInterfaceInstanceManager.getInterfaceInstanceHtmlCache(SessionConfig, String, Locale, ITransaction)
      • lumis.util.FileUtil.extractZip(InputStream, File)
    • As seguintes bibliotecas foram atualizadas no WEB-INF/lib:
      commons-compress-1.1.jar commons-compress-1.4.1.jar
    • O tipo de retorno do método lumis.portal.serviceinterface.IServiceInterfaceRenderResponse.getWriter() foi alterado de lumis.portal.PortalPrintWriter para java.io.PrintWriter.