Open the menu

    Versão 4.0.7

    Novidades

    • Portlets JSR-168 , Reindexação de Conteúdos, Pastas Públicas e Funcionalidades em Export/Import.

    Alterações/melhorias que afetam a compatibilidade

    • Alterações no douidefinition:
      • Alterado elemento className para elemento dataProviderClassName. Este elemento permite definir o nome da classe que implementa IDataProvider;
      • Alterado elemento sourceClassName para atributo className. Este elemento permite definir o nome da classe que estende Source. No padrão usado pelo produto, isto deve ser feito por um atributo className;
    • As alterações realizadas, para esta versão, nas funcionalidades Exportação e Importação de canais, não permitem importação de arquivos XML de estruturas geradas em versões anteriores;
    • Tipo de retorno do método IServiceInstanceManager.getCustomProperties(SessionConfig, String, ITransaction) foi alterado de HashMap para Map;
    • Todos atributos e conteúdos de elementos no douidefinition.xml podem possuir EL (Expression Language), e são processados durante uma requisição, exceto se o elemento douiDefinition possuir o atributo isElIgnored="true”;

      Há novos objetos implícitos disponíveis em expressões EL de controles que podem comprometer a compatibilidade com as versões anteriores do produto. Portanto, caso algum field com o identificador igual a um desses objetos seja referenciado diretamente em um EL, o objeto implícito será referenciado em seu lugar. Nesse caso a expressão precisa ser ajustada para source.data.

      Como o default é processar o EL, caso exista algum conteúdo no douidefinition.xml com a sintaxe de EL, ele será processado. Para evitar isso, pode-se especificar isElIgnored="true" no elemento <douiDefinition/>;

    • Acréscimo das novas permissões no serviço E-Mail Marketing: Administrar e Assinar. No momento do upgrade, as permissões correntes serão atualizadas e os usuários que possuírem a permissão de "Gerenciar instância de serviço" receberão automaticamente aquelas permissões. Entretanto, a permissão "Assinar" não será concedida automatica e diretamente a nenhum usuário. A atribuição dessa permissão deverá ser feita manualmente;
    • Portlets:
      • Para funcionamento de portlets deve-se utilizar no mínimo a versão 5.5.20 do Tomcat;
      • Deletar o arquivo: www/WEB-INF/lib/xercesImpl.jar;
      • O contexto do portal precisa ter acesso aos contextos onde são realizados os deployments dos portlets no servidor de aplicação. Para isso, nos arquivos portal.xml e server.xml do diretório do tomcatdeve ser acrescentado crossContext="true" na tag <context path/>;
      • Também no arquivo server.xml, na tag <conector/>, especificar emptySessionPath="true";
      • O arquivo www/WEB-INF/web.xml foi alterado para suportar portlets. Portanto, deve-se comparar o arquivo com o novo e acrescentar os novos itens;
      • As seguintes interfaces e suas implementações foram ajustadas para terem um comportamento de acordo com a especificação JSR-168:
        • IServiceInterfaceRequest
        • IServiceInterfaceRenderRequest
        • IServiceInterfaceActionRequest
        • IServiceInterfaceResponse
        • IServiceInterfaceRenderResponse
        • IServiceInterfaceActionResponse
        • IServiceInterfaceUrl

        Com esses ajuste, alguns métodos dessas interfaces tiveram suas assinaturas alteradas.

      • IServiceInterfaceUrl agora não permite colocar parâmetro com valor null. Esta alteração é devido a compatibilidade com a especificação JSR-168;
      • Cada servidor de aplicação agora pode ter somente uma instalação do Lumis Portal;
      • A partir dessa versão, em ambientes em cluster, o servidor de aplicação deve ser configurado de forma que a sessão seja replicada entre os nós do cluster;
      • Reestruturação de bibliotecas (*.jar) utilizadas pelo portal estão separadas em três categorias:
        • shared: as bibliotecas devem ser instaladas em um classloader shared do servidor de aplicação. Elas estão em "lib/shared";
        • portal war: localizam-se em "/www/WEB-INF/lib".
        • standalone: necessárias para execução do portal fora do servidor de aplicação, mas que não devem ser instaladas no servidor de aplicação. Estão localizadas em "/lib";
    • Tag href ,em arquivos XSL, que representa link para download de arquivo, foi alterada para downloadHref.

      Ex:

      <a href="{file/@href}" ...

      foi alterado para:

      <a href="{file/downloadHref}" ..

    • Devido a estruturação da lógica utilizada pra criação de sessão de usuários, os seguintes métodos foram deprecated:
      • ControllerHtml :
        • getCookie(String)
        • setCookie(String, String)
        • deleteCookie(String)
      • PortalUtil :
        • getCookie(String, HttpServletRequest)
    • Mudou a forma de definir a implementação de ISourceSearchContentFiller a ser utilizado na indexação de conteúdos. Antes:
      • A classe ProcessActionHandler (ou derivada), através do método getDefaultSourceSearchContentFillerClassName, definia qual o nome da classe default, que implementa ISourceSearchContentFiller, a ser utilizada.
      • Podia-se redefinir o nome da classe no douidefinition.xml através do atributo //processAction/search/@sourceSearchContentFillerClassName
      Agora:
      • A classe TabularSource determina o nome da classe através do novo método getDefaultSourceSearchContentFillerClassName. Este método é protected, logo pode ser sobrescrito pelas classes derivadas de TabularSource, para redefinir o nome default da classe que implementa ISourceSearchContentFiller.
      • Pode-se redefinir o nome da classe no douidefinition.xml através do atributo //source/search/indexer/@sourceSearchContentFillerClassName
      Alterações:
      • Excluído método getDefaultSourceSearchContentFillerClassName das classes:
        • ContentTableAddDataProcessActionHandler
        • ContentTableUpdateDataProcessActionHandler
        • ContentTableDeleteDataProcessActionHandler
        • BaseTableDataProcessActionHandler
    • Controle de input com id="action" dá erro de javascript. No Internet Explorer, o form.action deveria retornar o action do form quando há um input com id="action", pois neste caso está retornando o objeto do input. Para contornar este problema, a princípio sem solução, deve-se usar outro id para o controle ou input.