Atualização 9.23.10
Antes da instalação é recomendado que entre em contato com o nosso suporte para acompanhamento, através do e-mail suporte@gozuri.com.
Melhorias
Fizemos algumas melhorias que estão sendo implementadas neste pacote:
1 – Mudanças na forma de configuração e melhoria de performance para o módulo “Preenche Formulário”
Nas versões anteriores do módulo ‘Preenche formulário’, quando um formulário era selecionado todos os seus campos eram refletidos no módulo, carregando todas as opções da caixa de seleção campo a campo, o que causava lentidão no módulo para formulários com uma grande quantidade de campos.
Além disto, era preciso definir corretamente o ID do registro para fazer uma atualização ou então deixar este ID em branco para criar um registro, isso acabava induzindo a muitos erros na configuração do módulo.
Ambas as situações podem ser vistas no exemplo da Figura 1.
2 – Novas possibilidades de configurações no campo seção do formulário
A partir desta versão, o campo seção do formulário passa a ter a opção de grupos que editam. Em versões passadas este campo somente permitia definir os grupos que possuíam acesso. Esta melhoria facilita no momento de criação do formulário, já que é possível ter vários campos dentro de uma seção e todos eles terem a mesma configuração dos grupos que editam através da seção, não sendo necessário configurar campo a campo.
3 – Novas configurações nos campos do formulário
Para todos os campos que possuem a configuração de grupos que acessam, que editam e que excluem foi inserida a possibilidade de se configurar dinamicamente estes campos, ou seja, através de uma fonte de dados.
A opção de configuração através de uma fonte de dados só aparecerá para o usuário caso já exista alguma fonte de dados criada no formulário.
Importante: Para que a fonte de dados funcione neste campo, o valor do campo utilizado deve ter o formato booleano (true/false).
4 – Inserção de API para início ou atualização de item ao longo do processo
Nas versões anteriores, para iniciar uma solicitação através de API REST existia o endpoint: https://[site]/zuriservices/startitem. Este endpoint continua nesta versão, mas se tornou obsoleto. Sendo assim, está sendo substituído por: https://[site]/ api/zuri/startitem.
A primeira grande mudança para o novo endpoint é que ele passa a utilizar a autenticação comum de todas as outras API’s REST expostas pela ferramenta, necessitando de uma autenticação prévia e a passagem do token no header da chamada.
Esta nova API tem várias melhorias, entre elas a possibilidade de processar um item já existente (passando a identificação do item) ou de iniciar um item novo. Também é possível realizar a chamada de um ponto de entrada (se informado a identificação) ou a partir do início (se a identificação do ponto de entrada for 0).
Para identificar o ponto de entrada ou o processo pode ser passado o ID ou o GUID, qualquer um dos dois valores é interpretado corretamente.
Os parâmetros desta API são:
Para parâmetro ‘StartType’, segue abaixo os tipos possíveis:
5 – Inclusão de variáveis no body para chamadas de serviços REST
As variáveis criadas para chamadas de serviços REST passam a ser suportadas no corpo (body) da mensagem dentro do módulo de integração (workflow) ou na fonte de dados do formulário.
6 – Mudanças na forma de configuração e melhoria de performance para o módulo ‘Gerador PDF’
Nas versões anteriores do módulo ‘Gerador PDF’, quando um arquivo era selecionado todos os seus campos eram refletidos no módulo, carregando todas as opções da caixa de seleção campo a campo, o que causava lentidão no módulo para formulários com uma grande quantidade de campos.
Ambas as situações podem ser vistas no exemplo da Figura 10.
Após as modificações, quando selecionado um arquivo, aparecerá a opção de o usuário escolher o campo o qual deseja utilizar, sendo assim não ocorre mais o carregamento de todos os campos do formulário. Além disto, foi implementado cache para este módulo. Ambas as melhorias contribuem para a melhoria de performance do ‘Gerador PDF’.
7 – Melhoria de performance na listagem de etapas na área de trabalho
Foi incluído um tratamento de cache para a listagem de etapas no filtro da área de trabalho. Para ativar o cache a tag a seguir deve ser adicionada ao web.config.
Esta habilitação é recomendada para casos em que existem muitos itens ativos na área de trabalho (>100K) a fim de diminuir o processamento no servidor para a montagem destas etapas possíveis para o filtro e melhorar a performance da aplicação como um todo. Caso seja ativado é respeitado o tempo definido na tag de cache estático (WFFramework.Cache.Static) para a atualização deste filtro.
8 – Desativação do auto formatação dos campos do relatório de marcadores
Em versões anteriores, durante a montagem de relatórios de marcadores, o tipo do campo era inferido a partir do seu conteúdo (por exemplo: texto, número e data), porém esta auto formatação estava causando alguns problemas, principalmente quando havia números armazenados com separadores de milhar ou decimal.
Para que a auto formatação seja desativada é necessário inserir a tag abaixo no web.config.
Sendo assim, a inserção da tag ocasionará a não formatação das opções não configuradas (selecionadas como ‘Nenhuma’), sendo tratadas como texto simples.
9 – Restrição de inserção manual de itens duplicados em tabela do banco de dados
A tabela ‘FFXI_FORMULARIO_ITEM_PROCESSO’ relaciona um item com um código automático do formulário, antes desta melhoria era possível inserir manualmente na base de dados itens duplicados, o que gerava elementos iguais em relatórios. Foi inserido um índice único no banco que impossibilita que estes tipos de caso ocorram.
10 – Reativação do módulo ‘Exporta formulário’
O módulo ‘Exporta formulário’ havia sido descontinuado na versão 6681 para todos os ambientes que não o utilizavam em seus processos. Sendo que, os ambientes que possuíam este módulo configurado permaneceram com ele ativo.
A partir desta versão este módulo passa a estar ativo novamente em todos os ambientes, independentemente de estar ou não configurado em algum processo.
11 – Exclusão do campo login das telas ‘Meus dados’
Nas versões anteriores era possível que um usuário fizesse a edição do seu login através da tela ‘Meus dados’, como visto na Figura abaixo:
A partir desta versão, este campo não está mais disponível para edição, podendo ser alterado apenas pelo administrador dentro de acessos.
12 – Definição de tempo mínimo para atualização de marcadores
Os marcadores podem ser configurados individualmente para que sua atualização ocorra em tempo real, porém isto pode impactar na performance do ambiente quando se tem muitos marcadores configurados desta forma. Sendo assim, foi instituído um tempo mínimo de 1 hora, para ocorrer a atualização da informação de um marcador mesmo que ela esteja configurada para ser realizada em tempo real, o que impacta diretamente na performance do ambiente. Este tempo mínimo pode ser alterado através de uma tag no web.config, como na Figura abaixo:
13 – Melhoria de performance no relatório de marcadores
Os filtros de busca do tipo blocos ou seleção no relatório de marcadores (mostrados na Figura 18) passam a respeitar a tag que define o tempo de cache para marcadores (Figura 19), localizada no web.config.
Para se definir o tempo de atualização basta editar a tag com o valor desejado. Esta melhoria impacta diretamente na performance do relatório de marcadores.
14 – Restrição de configurações de prazo de ‘Etapa’
Foi inserida a restrição de definição de prazo igual a zero de uma etapa para casos de decisão, finaliza item e desvio.
Os prazos com valor 00:00:00 para finalizar um item, tomar uma decisão ou desviar a etapa configuram um erro. O propósito da entrada em uma etapa é a parada da solicitação na mesma. Para a decisão no prazo 00:00 deve ser utilizada a opção de execução encadeada, para finalizar o item em 00:00 só é necessário conectar o processo ao fim e para executar um desvio para outra etapa no prazo 00:00 o correto é conectar diretamente na etapa de destino.
15 – Padronização do tempo de expiração para link de download
Foi inserida uma padronização de 1 hora para o tempo de expiração para links salvos de downloads de arquivo. Este tempo pode ser alterado através da tag da Figura 22, localizada no web.config. Para tempos iguais a ’00:00:00’ este link não irá expirar.
16 – Tratamento de problemas no relacionamento entre etapas na geração da documentação do processo
Para casos em que existem etapas cujo responsável deve ser o executor de outra etapa, gera-se uma dependência entre elas. Em algumas situações, caso a etapa que tinha dependentes fosse excluída a documentação deixava de funcionar, pois ao tentar resgatá-la, ela não era encontrada.
Foi feito um tratamento para este tipo de situação e a documentação passa a apresentar uma mensagem de alerta nestes casos.
17 – Inserção de botão de visualização na documentação do processo
Quando se clicava na documentação de um determinado processo, a página já era exibida com as informações abertas. Para processos muito grandes, esta experiência era dificultada quando o usuário precisava exportar ou imprimir a documentação, pois a página ficava muito carregada no navegador. Sendo assim, foi inserido um botão de ‘Visualizar’, como na imagem abaixo, ou seja, o usuário não enxerga a documentação do processo assim que abre a página, mas sim precisa clicar neste botão para que eles sejam exibidos. E a exportação da documentação pode ser realizada mesmo sem ser exibida na página.
18 – Tratamento do funcionamento da seção para padrão não visível
Até as versões anteriores, quando um módulo de seção era definido com o padrão visível igual a ‘Não’, o seu conteúdo não era carregado no formulário, sendo assim os campos não existiam no browser, o que impossibilitava a criação de campos que deviam ficar invisíveis para tratamentos através de Javascript, por exemplo, ou para a passagem de parâmetros em integrações.
A partir desta versão as seções definidas com padrão visível igual a ‘Não’ passam a sempre serem carregadas no formulário, se localizando em um painel escondido (display:Hidden) ficando disponíveis para integrações ou para manipulação através de Javascript.
A única forma de não renderizar estes campos (como no comportamento anterior) é não dar permissão de acesso para o usuário que irá preencher o formulário, sendo assim, o comportamento que ocorrerá será a exclusão do conteúdo do formulário renderizado.
19 – Tratamento para eliminar loop de dependências
Se eventualmente fosse configurada uma dependência circular entre dois campos do formulário, o mesmo entrava em um loop que inviabilizava o seu uso. Este comportamento passou a ser tratado pelo formulário, sendo que para estes casos a dependência circular será ignorada.
20 – Suporte ao PWA
A partir desta versão inserimos no pacote o suporte ao Progressive Web Application. Mais informações podem ser conferidas nos materiais informativos enviados junto ao pacote e no manual de utilização do PWA.
Importante: Não deixe de conferir as premissas para se obter esta feature no manual de utilização.
Ajustes
Além das melhorias, também trabalhamos em diversos ajustes do produto. Confira a seguir:
Processo
1 – Subprocesso com utilização de processo externo
Realizado um ajuste na criação de contextos de subprocesso que, em algumas situações, quando havia uma chamada de subprocesso usando uma etapa com decisão automática chamando um processo externo, fazia com que o processamento parasse. Nesta versão, este ajuste foi realizado.
2 – Módulo ‘Download Anexo’
Quando configurado o módulo ‘Download Anexo’ no processo, no momento de inserção de um arquivo durante a execução do item, a janela do módulo se fechava rapidamente, dando a impressão de que o download havia sido concluído, porém o arquivo não era salvo na máquina do usuário. Esta inconsistência foi corrigida.
3 – Módulo ‘Condensador’ no processo
Quando havia uma etapa ligada ao condensador, que estava em um subprocesso que rodava no mesmo contexto, o módulo não aguardava a execução da mesma para prosseguir. O ajuste foi realizado.
4 – Gravação de anexos de formulários
Foi realizada a padronização na gravação dos anexos de formulários, pois havia uma inconsistência caso o formulário tivesse filhos e fosse preenchido diretamente na tela ou através do preenche formulário. Para o preenchimento do formulário direto na tela, ocorria a gravação das informações dos filhos no próprio anexo do pai. Agora cada anexo gerado possui os dados do formulário que gerou o anexo.
5 – SLA da ‘Etapa’
A etapa não respeitava o SLA inserido em sua configuração para horas úteis quando o valor completava um dia inteiro, por exemplo: 24, 48 e 72 horas. A partir desta versão qualquer valor pode ser inserido.
6 – Configuração de prazo da ‘Etapa’
Quando era definido um horário de corte na configuração de prazo da etapa, o efeito funcionava somente para D+1, mesmo que o evento ocorresse antes do horário de corte. O ajuste foi realizado.
Item de processo
7 – Anexos de formulário no módulo ‘Mensagem’
Quando um item estava parado na mesma etapa em múltiplos contextos de subprocessos e a mensagem da etapa continha um formulário que era preenchido em cada um dos contextos, ao exibir o formulário na mensagem da etapa ele guardava um “cache” do último formulário aberto, sendo necessário abrir duas vezes o item para ver o valor correto. Este problema era somente na mensagem, se o formulário fosse aberto para edição o comportamento funcionava corretamente. O problema foi corrigido.
8 – Itens no início de um processo
Em alguns momentos, a aplicação estava disparando o início de processo em duplicidade, o que ocasionava a geração de dois itens ao invés de somente um. Esta inconsistência foi corrigida.
9 – Dados sensíveis no subformulário
Quando um formulário possui um subformulário com seus campos configurados como sensíveis, no momento de exibição das informações no acompanhamento do item, os dados não eram desencriptados. O ajuste foi realizado e os valores encriptados estão visíveis a partir desta versão.
10 – Layout do subformulário na execução do item
Estava ocorrendo a quebra de layout de um formulário filtro quando inseridos muitos caracteres numa coluna, pois a barra de rolagem horizontal não existia. Com a inserção deste componente, a experiência está funcionando conforme o esperado.
11 – Impressão de anexo com campo de seleção simples
No momento de impressão de um anexo localizado no acompanhamento do item, para campos de seleção simples, a opção marcada pelo usuário não era mostrada. O ajuste foi realizado e agora a mesma seleção que aparece no anexo é exibida também na impressão.
12 – Download de anexos encriptados
Anexos encriptados que não podiam ser vistos diretamente no browser eram baixados com um nome encriptado e sem a extensão correta. Este problema foi ajustado e os arquivos passaram a ser gravados com seus nomes originais.
13 – Informações de subprocessos no acompanhamento do item
Na aba de acompanhamento do item durante a execução do mesmo, as informações dos itens de subprocesso não eram exibidas corretamente na mensagem de etapa para casos em que havia um módulo de ‘Preenche formulário’ dentro deste subprocesso e seus itens eram iniciados utilizando parâmetros de um subformulário ou via importação de excel. Agora as informações necessárias são exibidas da forma correta.
Formulário
14 – Exibição de seção
Para casos de processos em que existiam 2 ou mais módulos de ‘Preenche formulário’ configurados no desenho, a etapa referente ao segundo preenchimento estava configurada para ser executada automaticamente e o formulário em questão possuía uma exibição de seção atrelada as opções de um campo de seleção simples, na execução do 2º preenchimento do formulário a seção estava sendo exibida sem ser acionada. Esta inconsistência foi ajustada.
15 – Layout para utilização de tabelas
Para a nova experiência do formulário, quando utilizadas 3 ou mais tabelas no desenho do mesmo, havia perda de configuração. Além disto, ao se utilizar uma fonte de dados em um campo o qual era atualizado de acordo com a utilização do usuário, havia quebra de layout para quando estes campos estavam dentro de uma tabela. Estas experiências foram ajustadas.
16 – Layout do grid formulário
Quando existia um grid formulário configurado, após realizado um postback o header da 1ª coluna do campo mudava de cor. Além disto, este mesmo campo, quando exibido nos anexos do acompanhamento do item, apresentava desalinhamento do texto do header de suas colunas e ausência de uma barra de rolagem horizontal, o que ocasionava quebra de layout quando inseridos muitos caracteres. Os ajustes foram realizados e a experiência do usuário está ocorrendo conforme o esperado.
17 – Campo de listas conectadas
Para casos em que um formulário apresentava um campo de lista conectada configurado como obrigatório e um campo de subformulário configurado com a opção ‘Sim’ para ‘Salvar ao abrir subformulário’, a obrigatoriedade do campo não estava sendo respeitada. Ou seja, era possível abrir o subformulário sem preencher a lista conectada.
Em situações de um formulário que possui uma lista conectada e um subformulário com uma outra lista conectada configurada com uma procedure que retorna os itens selecionados na 1ª lista conectada, quando os itens do campo eram selecionados uma única vez, a fonte de dados retornava os valores corretamente, porém para uma 2ª seleção os outros valores não eram exibidos pela procedure.
Além disto, as seleções já realizadas no campo de lista conectada estavam sendo restauradas para o estado inicial quando o formulário em questão era reaberto dentro de um processo.
Após os ajustes, os comportamentos deste campo passaram a ocorrer conforme o esperado.
18 – Restrição de acesso e edição de campos
O campo de upload de arquivo do formulário não estava respeitando a restrição de acesso e de edição. Além disto, os campos de seleção simples, seleção múltipla e classificação respeitam a restrição de edição, porém são exibidos no formulário como se fossem editáveis. Todas as configurações foram ajustadas.
19 – Casas decimais na utilização de fórmulas
Na utilização das fórmulas de soma e multiplicação do formulário, as casas decimais configuradas não eram respeitadas, sendo que estavam sendo exibidas somente 2 casas. Esta inconsistência foi ajustada.
20 – Campos monetários
Para formulários configurados com um subformulário que possui campos com formatação do tipo monetário, depois de inseridos valores esta formatação era desconsiderada, sendo que somente as casas decimais estavam sendo exibidas. O ajuste foi realizado.
21 – Omissão de propriedades do campo texto
Ao se utilizar um formulário com os campos texto e grid formulário, algumas das propriedades do campo texto estavam desaparecendo a partir do 2º clique no mesmo. A partir desta versão todas as propriedades são exibidas corretamente.
22 – Exibição de valor de fonte de dados Webservice REST para campos com mesmo nome
Foi solucionada a inconsistência que ocorria quando o resultado do formulário REST tinha uma estrutura com objetos e eles tinham propriedades iguais, mesmo selecionando uma propriedade do segundo objeto sempre era devolvido o valor da propriedade que tinha o mesmo nome do primeiro objeto.
23 – Fonte de dados do tipo Webservice REST
Ao configurar uma fonte de dados do tipo Webservice REST no formulário, os valores configurados não eram reexibidos quando o tipo de conteúdo não é o padrão, isto ocorria para qualquer método (POST, PUT, personalizado) que possua uma opção de tipo de conteúdo. O ajuste foi realizado nesta versão.
24 – Execução de fontes de dados dependentes de listas conectadas
Quando havia uma fonte de dados que dependia de um valor vindo de uma lista conectada, o evento de executar a fonte de dados não era processado ao se trazer o dado do banco (no caso de edição ou visualização do form já preenchido). A inconsistência foi corrigida.
25 – Upload de anexo em formulário
Quando havia um recarregamento do formulário por qualquer motivo (um postback de formulário filho, por exemplo), o arquivo carregado era perdido (tanto o nome quanto o conteúdo) e existia a necessidade de recarregar o arquivo.
26 – Restauração de seleções de campos do formulário
Para um formulário que possua campos de caixa de seleção, seleção simples, listas conectadas e subformulário e, além disto, quando este último campo estiver configurado com a opção ‘Sim’ para ‘Salvar ao abrir subformulário’, depois de preenchidos os campos e já inseridas informações no subformulário, ao mover um item na lista conectada, a caixa de seleção e seleção simples perdia as suas seleções já realizadas pelo usuário. A partir desta versão este comportamento passou a funcionar conforme o esperado.
27 – Digitação de campos do tipo data
Quando um campo definido como data no formulário era utilizado como parâmetro para uma fonte de dados, o fato deste campo ter um postback automático impedia que ele fosse digitado. Foi criada uma tag de configuração que ajusta este comportamento específico:
Relatório de formulário
28 – Edição de dados
Ao editar dados dos campos de seleção simples ou seleção múltipla no módulo de relatório de formulário em uma página, na qual existe o campo seção com dependências dentro do formulário, existia um atraso ao exibir as informações. Esta demora ao se mostrar os campos foi ajustada.
29 – Filtro do relatório
O resultado do filtro do relatório de formulários não estava sendo refletido, apresentando a mensagem de que não existiam registros cadastrados. Após esta versão, todas as informações são exibidas de acordo com o esperado.
Relatório de marcadores
30 – Busca de dados para exibição de agrupamento
A visão gráfica do relatório de marcadores não estava sendo carregada quando havia uma busca de dados no mesmo. A partir desta versão, as informações são exibidas corretamente.
31 – Tratamento de caracteres especiais para nomes de etapa
O relatório de marcadores não listava seus itens quando o processo possuía uma etapa com caracteres especiais em seu nome. O tratamento foi realizado e os itens são exibidos normalmente para estes casos.
32 – Paginação do resultado de busca
Quando era realizada uma busca por qualquer um dos campos do relatório que possuísse em seu resultado mais de uma página, o filtro realizado se perdia quando alterada a página. Esta inconsistência foi corrigida.
33 – Duplicação de itens
Quando um item percorre mais de um processo e tem marcadores comuns nestes 2, 3 ou n processos e o relatório de marcadores era selecionado para este marcador que era comum, porém trazendo dados de somente um dos processos, ele acabava trazendo linhas duplicadas correspondendo às ocorrências do marcador em cada um dos processos percorridos. O ajuste foi realizado.
34 – Omissão de registros
Quando existiam informações de marcadores em um mesmo relatório para itens ativos e inativos, em algumas situações, alguns dos itens inativos eram omitidos do relatório devido à chave primaria ser duplicada, forçando a recriação dos registros de marcadores para resolver o problema. Esta inconsistência foi corrigida.
35 – Geração do relatório de marcadores
Ao acessar o relatório de marcadores, ele era gerado proporcionalmente ao número de pessoas que o estavam acessando, o que causava impactos na performance do ambiente. A partir desta versão, o relatório é gerado apenas uma vez e o cache da aplicação é utilizado para apresentar o resultado aos demais.
Relatório de procedures
36 – Busca de dados
O módulo de relatório de procedures estava apresentando erro quando uma busca era realizada. Além disto, após a ação, o relatório duplicava algumas de suas colunas. O relatório passou a funcionar conforme o esperado nesta versão.
Portal
37 – Visualização de grupos especiais
A exibição dos grupos especiais administradores do site, administradores do subportal, administradores da área e administradores da homepage na listagem de grupos para o administrador não estava sendo realizada. A partir desta versão todos os grupos podem ser visualizados por este tipo de usuário.
38 – Páginas públicas
Quando configuradas como públicas, as páginas não estavam permitindo o acesso de usuários anônimos. Esta inconsistência foi ajustada.
Informações do usuário
39 – Alterações na tela de ‘Meus dados’
Na tela de ‘Meus dados’, o usuário estava sendo induzido a pensar que havia efetuado a troca de sua senha quando esta ação era realizada, juntamente com a inserção de alguma informação não válida, pois a mensagem de erro não era apresentada ao usuário e o mesmo era direcionado à tela inicial quando em ‘Ok’. A partir desta versão a mensagem de erro está sendo exibida, não dando a impressão de que as alterações foram realizadas.
Configuração
40 – Republicação de formulários
Ao republicar formulários diretamente através da página configuration.aspx, que impossibilitava a republicação de formulários que continham form grid, e como consequência acabavam apagando formulários que já estavam publicados, mas o problema não era exibido. Além deste ajuste, foi corrigida a mensagem de retorno para mostrar que houve um erro na republicação (caso outros tipos de problema ocorram) e o formulário publicado anteriormente não é mais apagado.