Versão 10.4.0
A versão 10.4.0 possui todas as modificações incluídas até a versão 10.3.2. Abaixo seguem os destaques das demais funcionalidades não existentes na versão 10.3.2.
Novidades
-
Árvore de navegação configurável no serviço de Auto Administração
-
Inserção de widgets no valor de campos tipo HTML usando o editor HTML
-
Configuração de cache de memória de interface REST
Nova API de para adição, atualização e remoção de dados de Source
Visa tanto facilitar a execução destas operações programaticamente, como também permite centralizar a lógica de negócio correspondente em uma extensão customizada de Source.
ContentTableSource source = (ContentTableSource)SourceFactory.createSource("default", newsServiceInstanceId); ContentVersion addedVersion = source.addData(Maps.of( "title", "my news", "content", "news html content", ContentTableSource.TRANSITION_PARAMETER_NAME, "authoring.approve")) .getContentVersion(); ContentVersion updatedVersion = source.updateData(Maps.of( "id", addedVersion.getItemId(), "title", "updated title")).getContentVersion(); source.deleteDataByItemIds(updatedVersion.getItemId());
-
API REST para invocar process action handlers
-
Testes automatizados de navegação
Melhorias
Núcleo do Portal
- Evolução da API de conversão (lumis.util.converter) para aumentar possibilidades de conversões envolvendo java.util.Collection e array;
- A largura máxima padrão de lightboxes abertas foi aumentada de 850 para 1045 pixels;
- Melhoria na instalação de módulos, gerando checksum compatível entre módulos editáveis e fechados, desta forma evitando um reprocessamento completo ao atualizar um módulo alterando entre editável e fechado;
- Melhorias estéticas na página padrão do modo de administração de conteúdo.
DOUI / Content
- Tela padrão de ordenação de campo especial de posição exibe no título o nome da instância de serviço correspondente;
- Melhoria na tela padrão de ordenação de campo especial de posição para funcionar com source que utiliza lookup;
- Controles DOUI que estendiam a classe DataControl (direta ou indiretamente) mas que não representam entrada de dados foram ajustados e não mais a estendem;
- Controle
lum_propertyPage
agora não adiciona maislum_interfaceHeader
caso já tenha um filho dele; - Controle
lum_list
agora possui mais um sub-controlelum_inputHidden
que pode ser usado por estilo customizado para alterar o número de linhas a serem exibidas por ele; - Adicionando controle
lum_filesPicker
; - Renderização de campo metadado de idioma não mais inclui em seu XML informações voltadas para uso em interface de administração quando está sendo renderizado em interface não administrativa;
- Melhoria na configuração de filtro para publicadores para reconhecer campos que fazem lookup e com options.
Serviços Nativos
- Número máximo de caracteres em mensagens de Twitter no serviço de Integração com Redes Sociais Públicas aumentado para 280;
- Melhoria nos serviços de Gerenciador de Usuários e Gerenciador de Grupos para a configuração de domínio ficar disponível nas propriedades de instância de serviço ao invés do menu de contexto de instância de interface;
- Configuração de domínio no serviço de Login;
- Melhorias estéticas nos serviços de Gerenciador de Usuários e Gerenciador de Grupos nas telas de adicionar e editar;
- Serviço de Injetar HTML agora por padrão não processa página tipo bloco de página. Este comportamento padrão pode ser alterado cadastrando a nova propriedade lumis.service.htmlinjector.ignore nas páginas.
- Disponibilizando no serviço de Injetar HTML operação para ordenar os itens cadastrados em sua interface de administração;
- Disponibilizando no serviço de Construtor de Formulários operação para ordenar campos em sua interface de administração;
- Melhoria no serviço de Construtor de Formulários incluindo novo tipo de campo Agrupador de Campos que pode ser usado para agrupar campos do formulário quando forem exibidos ao usuário final;
- Disponibilizando no serviço de Construtor de Formulários configuração de filtros na interface de formulário para publicador e montador;
- Melhoria no serviço de Repositório de Widgets incluindo opção de editar estilo na interface de Holder de Widgets;
- Melhoria no serviço de Repositório de Widgets nas telas de adicionar e editar widget exibindo o caminho do canal da instância de serviço no dropdown de seleção de instância de serviço;
- Melhoria no serviço de Conteúdo HTML incluindo opção de filtros no menu de contexto de instância de interface ;
- Removido do serviço de Conteúdo HTML o item Adicionar conteúdo do menu de contexto de instância de interface no Portal Studio;
- Melhoria no serviço de Conteúdo HTML incluindo interface de lista e campo posição no cadastro de seus conteúdos;
- Melhoria no serviço de Links, nas interfaces de lista e lista rápida, incluindo no XML href correspondente ao link para facilitar customização de estilo;
- Melhoria no serviço de HTML para permitir definir trechos do HTML que só serão renderizados para idioma específico;
- Melhoria no serviço de Busca, a interface de resultados agora utiliza a nova
propriedade
lumis.doui.search.termsaggregation.size
para definir o número máximo de agregações geradas nas sugestões de filtros, sendo o valor padrão 10 (que era o comportamento padrão na versão anterior); - Melhoria no serviço de Busca, a interface de resultados agora possui um controle
lum_inputHidden
que pode ser usado por estilo customizado para alterar o número de resultados a serem exibidos; - Melhoria no serviço de Busca permitindo configuração da ordenação padrão na interface de resultados no Portal Studio;
- Melhoria no serviço de Gerador de Canais para permitir escolher o template de canal a ser utilizado durante a adição de um canal a ser gerado.
Outros
- Atualizando versão do Java incluído nas distribuições standalone, que traz mais estabilidade no consumo de memória.
Correções
Núcleo do Portal
- Quando ocorre um erro ao aplicar um estilo a uma interface, não mais é renderizado
Código de estilo inválido
, e passa a ter o mesmo comportamento de outros erros na renderização de interface, que renderiza um comentário HTML indicando a ocorrência de um erro; - Filtro de requisições cross-site agora responde 404 ao invés de 403 ao bloquear uma requisição;
- Correção em erro na renderização de página quando a mídia cadastrada como sua imagem de SEO tenha sido excluída;
- Correção no controle interno de transações em cenários de falha durante inicialização ou rollback de transação;
- Correção na atualização de módulo contendo observadores que por engano excluía do registro observadores não modificados;
- Correção em
UserConfig.getLastLogin()
que podia retornar um valor desatualizado; - Correção no redirecionamento de volta após efetuar login que foi aberto ao acessar URL com caminho amigável e query string com acesso negado;
- Correção nas transformações padrões de de arquivos que em alguns casos de erro, ao invés de gerar uma cópia do arquivo original, podia gerar um arquivo corrompido.
Administração do Portal e Portal Studio
- Correção no Portal Studio na configuração de filtro de instância de interface, que aparecia preenchido por engano com filtro cadastrado por publicador (que esteja armazenado no nível de preferência compartilhada);
- Correção no Portal Studio no menu de contexto de canal/página que exibia título incorreto quando o item clicado possuía certos nomes;
- Correção no rótulo do filtro na tela de adicionar membro ao grupo no gerenciador de usuários;
- Correção nas ações de ordenação das listas nas telas de membros e grupos nos gerenciadores de usuários e grupos;
- Correção em erro ao desvincular componente de canal quando o componente não possui os arquivos de estrutura.
DOUI / Content
- Correção no filtro de tags e categorização para não serem exibidos quando a instância de serviço atual não estiver configurada com o respectivo repositório de tags ou categorização;
- Correção no controle lum_requiredValueWhenVisibleValidator para reconhecer elementos escondidos por CSS;
- Correção no carregamento padrão de algumas interfaces de conteúdo quando o usuário atual possui muitos grupos;
- Correção na geração automática de maxLength em campos de source em banco de dados Oracle quando a coluna é NCHAR ou NVARCHAR;
- Correção no controle de ação de workflow que não utilizava corretamente as strings de tradução próprias do workflow para traduzir os nomes das transições;
- Correção no erro ao executar REST de interface quando o retorno é do tipo XML e o conteúdo contém campo de categorização;
- Correção na configuração de filtro para publicadores na tela de selecionar conteúdo;
- Correção em NullPointerException aparecendo no log ao excluir conteúdo que tenha cadastro correspondente em outro idioma;
- Correção na ordenação padrão de lista de conteúdo que possui campo especial de posição para ordenar em segundo lugar pela data de publicação decrescente;
- Correção de erro de javascript ao adicionar/editar conteúdo com metadado de SEO sem repositório de mídia vinculado;
- Inclusão do controle
lum_positionFieldOrderButton
no XSD do douidefinition.
Serviços Nativos
- Correção no serviço de Análise de dados no período utilizado na renderização dos gráficos ao entrar na página;
- Correção no serviço de Análise de dados no rótulo exibido para o eixo horizontal de tempo para ser mais genérico;
- Correção no serviço de Auto Administração para que quando usado em template de canal, para que a referência à página de administração dentro do mesmo template seja remapeada à página correspondente no canal gerado a partir do template;
- Correção no serviço de Construtor de Formulários para o link para voltar após a submissão da resposta não gerar outro web resource;
- Correção no serviço de Conteúdo HTML onde widget deste serviço não renderizava no modo Portal Studio;
- Correção no serviço de Conteúdo Hierárquico onde na administração não estavam disponíveis as ações de Versões e Visualizar;
- Correção no serviço de Links onde um link do tipo link para conteúdo referenciado não direcionava corretamente ao seu destino quando utilizado;
- Correção no serviço de Curtir conteúdo onde podia ser gerado log de erro quando um usuário curtia e descurtia um conteúdo repetidamente rapidamente;
- Correção no monitoramento das ações de curtir e comentar nos serviços de Curtir conteúdo e Comentar conteúdo, que preenchia na coleta o identificador da instância de serviço do conteúdo comentado/curtido com valor errado;
- Correção no serviço de Repositório de Mídias no erro ao executar a ação de reprocessar, que aparece disponível para as mídias com erro na transformação;
- Correção no serviço de Visualizador de bloco de página quando usado em template de canal, para que a referência a um bloco de página dentro do mesmo template seja remapeada à página correspondente no canal gerado a partir do template;
- Correção no serviço de Repositório de Widgets quando nos holders há widgets de diferentes idiomas;
- Correção no serviço de Repositório de Widgets quando um widget é arrastado para posição posterior no mesmo holder;
- Correção no serviço de Repositório de Widgets quando um holder personalizado para usuário possui widget não mais disponível;
- Correção no serviço de Busca para que a coleta de termo buscado só ocorra quando ele for alterado, e assim não seja contabilizado por interações que não o modifique, como paginação por exemplo;
- Correção no serviço de Busca onde efetuar uma busca na interface de Busca não funcionava quando a interface de Busca com resultados era a primeira de um canal e com caminho amigável desabilitado.
Outros
- Correção na API REST usado pelo aplicativo móvel para efetuar login, que podia falhar caso informação sobre o usuário não esteja em cache de memória;
- Correção no processo de atualização proveniente de versão anterior a 10.2 quando há utilização de widgets.
Observações
- Com a nova API de adição, atualização e remoção de dados de source, a lógica de tais operações foram
centralizadas nas implementações de source. Anteriormente process action handlers padrões para
tais operações continham essa lógica. As implementações de tais process action handlers padrões foram mantidas como
deprecated para fins de compatibilidade passada com quem os estendia, mas podem não ser compatíveis com o uso de novas
funcionalidades. Novas classes de process action handlers, que chamam a API do source, são por
padrão utilizadas para type padrões correspondentes a tais operações, desta forma já sendo atualizado
automaticamente os usos sem classes customizadas.
- Classes deprecated (vide javadoc de cada classe para mais detalhes e alternativas de uso):
lumis.doui.table.BaseTableDataProcessActionHandler
lumis.doui.table.TableDeleteDataProcessActionHandler
lumis.doui.table.TableAddDataProcessActionHandler
lumis.doui.table.TableUpdateDataProcessActionHandler
lumis.content.table.ContentTableAddDataProcessActionHandler
lumis.content.table.ContentTableDeleteDataProcessActionHandler
lumis.content.table.ContentTableUpdateDataProcessActionHandler
lumis.content.table.ContentTableAddFileMultiRowDataProcessActionHandler
- Classes removidas:
lumis.doui.search.common.ParametersSourceDataWrapper
(que estava deprecated desde 8.1.0)
- Interfaces afetadas:
- Método
containsParameter(String)
adicionado emlumis.util.parameter.IParameters
(implementações desta interface devem ser ajustadas de acordo) lumis.doui.processaction.IProcessActionHandler
agora estendelumis.util.parameter.IParameters
. Implementações diretas de IProcessActionHandler devem se adequar de acordo.lumis.doui.processaction.ProcessActionHandler
já foi adequado mas suas extensões, mas uma extensão dele sobrescrevagetParameter
, pode precisar também sobrescrevercontainsParameter
para manter consistência.
- Método
- Métodos removidos:
lumis.util.parameter.IParameters.setParameter(String, Object)
lumis.content.service.ContentService.deleteRelatedData(SessionConfig, ServiceInstanceConfig, Collection, Node, String, ITransaction)
lumis.content.service.ContentService.deleteData(SessionConfig, ServiceInstanceConfig, List, Node, ITransaction)
- Retirado
throws PortalException
da assinatura dos seguintes métodos para compatibilização comIParameters
:lumis.doui.processaction.IProcessActionHandler.setParameter(String, Object)
lumis.doui.processaction.IProcessActionHandler.getParameter(String)
lumis.doui.processaction.IProcessActionHandler.getParameter(String, Class)
lumis.doui.processaction.ProcessActionHandler.getParameter(String, Class)
- Classes deprecated (vide javadoc de cada classe para mais detalhes e alternativas de uso):
lumis.doui.control.DataControl.setProcessActionHandlerParameter(IProcessActionHandler, String)
agora faz seu processo normalmente quando o valor do controle énull
. Anteriormente neste caso não era adicionado o parâmetro com valornull
aoIProcessActionHandler
.- A property bag
lumis.service.channelgenerator.channeltemplateid
, previamente utilizada no serviçolumis.service.channelgenerator
, passou a ser ignorada. Agora o serviço possui campo durante a adição para a seleção do template. - A partir dessa versão, o serviço Injetar HTML, por padrão, não faz injeção HTML em bloco de página, porém esse funcionamento pode ser alterado configurando a property bag
lumis.service.htmlinjector.ignore
como "false". - A largura máxima padrão de lightboxes abertas foi aumentada de 850 para 1045 pixels;
- O serviço de Personalização de Páginas foi renomeado para Repositório de Widgets, mas mantém as funcionalidades existentes.