|
|
| Linha 1: |
Linha 1: |
| − | ==='''Conceito'''=== | + | ==='''Exportar e Importar'''=== |
| | | | |
| − | Este é o cadastro das diferentes informações que serão unificadas na exibição da Agenda. Cada registro representa uma origem de compromissos, e a tela da Agenda apresenta todas as origens juntas, no mesmo calendário, como se fossem uma coisa só.
| + | A tela permite levar a configuração de uma Agenda de um ambiente para outro: exportar gera um arquivo com tudo o que a Agenda precisa para funcionar, e importar grava esse arquivo no ambiente atual. É o caminho para publicar em produção uma Agenda montada em homologação, ou para repetir num cliente uma configuração já pronta na base modelo. |
| | | | |
| − | Cada registro aponta para um cadastro do sistema e ensina a Agenda a lê-lo como compromisso: qual campo guarda a data, quais guardam a hora de início e de fim, e qual guarda o recurso responsável. É o que permite informações de naturezas diferentes, lançadas em telas diferentes, dividirem a mesma visão de calendário.
| + | O arquivo leva só a configuração. Nenhum compromisso é exportado, e nenhum é criado na importação. |
| | | | |
| − | Os compromissos de todas as origens aparecem juntos, cada um com a sua cor, e o usuário decide pelo filtro quais deseja enxergar.
| + | O '''Nome''' é a chave. Existindo uma Agenda com o mesmo nome no destino, ela é atualizada; não existindo, uma nova é criada. Importar o mesmo arquivo duas vezes, portanto, não duplica a Agenda. |
| | | | |
| − | ==='''O que é'''===
| + | Tudo o que aponta para outro cadastro viaja pelo '''nome''', nunca pelo código interno, porque os códigos de um ambiente não significam nada no outro. Na importação cada nome é resolvido contra os cadastros do destino: |
| − | | |
| − | É o cadastro que define uma origem de compromissos para a Agenda. Um registro aqui não guarda compromisso nenhum: ele descreve onde os compromissos estão e como devem ser exibidos.
| |
| − | | |
| − | Por isso, incluir uma Agenda nova é trabalho de configuração, não de programação. Cadastros que hoje não aparecem na Agenda podem passar a aparecer desde que tenham data, hora e recurso.
| |
| − | | |
| − | ==='''Para que serve'''===
| |
| − | | |
| − | Serve para dar ao usuário uma visão única da ocupação dos recursos, sem que ele precise abrir cada cadastro para descobrir o que está agendado. A partir dessa visão ele consegue:
| |
| − | | |
| − | * enxergar a ocupação de um recurso por dia, semana ou mês, e comparar recursos lado a lado;
| |
| − | * localizar espaço livre antes de assumir um novo compromisso;
| |
| − | * abrir o registro de origem direto pelo compromisso, sem procurar na tela do cadastro;
| |
| − | * incluir um compromisso novo clicando no espaço vazio da agenda.
| |
| − | | |
| − | ==='''Quais os benefícios e/ou ganhos de uso'''===
| |
| − | | |
| − | O ganho principal é o compromisso deixar de existir só dentro do cadastro em que foi lançado e passar a disputar espaço na agenda do recurso junto com todos os demais. Quem marca passa a ver o que já está marcado, e a sobrecarga de um recurso fica visível antes de virar atraso.
| |
| − | | |
| − | O segundo ganho é a regra de persistência. Um compromisso cuja situação ainda não foi resolvida continua aparecendo na data de hoje mesmo depois de a data original passar, em vez de ficar para trás no calendário. Ele só sai da frente do usuário quando a situação muda para uma que não persiste, o que transforma a agenda também em lista do que está pendente.
| |
| − | | |
| − | O terceiro é a configuração ser por cadastro. Cada empresa decide o que vira compromisso, com que texto, com que cor e sob que condição, sem depender de versão nova do sistema.
| |
| − | | |
| − | ==='''Exemplos'''===
| |
| − | | |
| − | Uma empresa de serviços usa duas Agendas. A primeira lê os apontamentos de ordem de serviço, para o técnico enxergar os atendimentos do dia. A segunda lê as anotações da agenda, usadas para lembretes e retornos a clientes.
| |
| − | | |
| − | Nessa mesma empresa, o apontamento que já virou item de ordem de serviço aparece numa cor própria e não aceita ser arrastado, porque o trabalho já foi registrado. A anotação com situação de pendência continua aparecendo hoje até alguém trocá-la por uma situação concluída.
| |
| − | | |
| − | Uma terceira Agenda pode ser criada para visitas comerciais, apontando para o cadastro de visitas, sem nenhuma alteração de programa.
| |
| − | | |
| − | ==='''Cadastro'''===
| |
| | | | |
| | {| class="wikitable" | | {| class="wikitable" |
| − | !Campo | + | !O que viaja por nome |
| − | !Finalidade | + | !O que precisa existir no destino |
| − | |-
| |
| − | |'''Nome'''
| |
| − | |Identificação da Agenda. É por ele que a Agenda é reconhecida ao exportar e importar a configuração entre ambientes.
| |
| − | |-
| |
| − | |'''Legenda'''
| |
| − | |Texto apresentado ao usuário, inclusive na lista de Agendas do filtro.
| |
| | |- | | |- |
| − | |'''Cadastro''' | + | |Cadastro de origem |
| − | |Cadastro de origem dos compromissos. Define a tabela que a Agenda lê e também qual tela é aberta quando o usuário clica em um compromisso. | + | |O cadastro, apontando para a mesma tabela |
| | |- | | |- |
| − | |'''Campo Data''' | + | |Campo Data, Campo Hora Início, Campo Hora Fim e Campo Recurso |
| − | |Coluna que guarda a data do compromisso. É por ela que a Agenda decide se o registro cai dentro do período exibido. | + | |As colunas, na tabela do cadastro de origem |
| | |- | | |- |
| − | |'''Campo Hora Início''' | + | |Formulário de filtro e o campo dele, em cada filtro |
| − | |Coluna com a hora de início. Define onde o card começa na grade de horas. | + | |O formulário e o campo, com os mesmos nomes |
| | |- | | |- |
| − | |'''Campo Hora Fim''' | + | |Campo comparado, em cada filtro |
| − | |Coluna com a hora de término. Define a altura do card na grade de horas.
| + | |A coluna, na tabela do cadastro de origem |
| − | |-
| |
| − | |'''Campo Recurso'''
| |
| − | |Coluna que liga o compromisso ao recurso responsável. É ela que distribui os compromissos entre as colunas de recurso e que faz valer a permissão de enxergar a agenda de outro recurso.
| |
| − | |-
| |
| − | |'''Título'''
| |
| − | |Expressão que monta o texto principal do card.
| |
| − | |-
| |
| − | |'''Expressão'''
| |
| − | |Expressão que monta o texto complementar, exibido como segunda linha do card quando há espaço.
| |
| − | |-
| |
| − | |'''Condição SQL'''
| |
| − | |Condição adicional aplicada à busca dos compromissos desta Agenda. Serve para restringir o que aparece, por exemplo ignorando registros cancelados.
| |
| − | |-
| |
| − | |'''Expressão Cor''' | |
| − | |Expressão que devolve a cor do card. Em branco, o card assume a cor do recurso.
| |
| − | |-
| |
| − | |'''Expressão Persistir'''
| |
| − | |Condição que, sendo verdadeira, mantém o compromisso visível na data de hoje depois de a data original passar. Em branco, o compromisso aparece apenas na data dele.
| |
| − | |-
| |
| − | |'''Expressão Leitura'''
| |
| − | |Condição que, sendo verdadeira, trava o compromisso: ele não aceita ser arrastado nem redimensionado na agenda. Em branco, nada é travado.
| |
| − | |-
| |
| − | |'''Margem Direita'''
| |
| − | |Espaço reservado à direita do card no aplicativo, útil quando o card precisa conviver com um ícone.
| |
| − | |-
| |
| − | |'''Máximo de Linhas'''
| |
| − | |Quantidade máxima de linhas do texto complementar no card do aplicativo.
| |
| − | |-
| |
| − | |'''Padrão'''
| |
| − | |Marca a Agenda usada quando o usuário pede um compromisso novo sem partir de um compromisso existente. Somente uma Agenda fica marcada: ao marcar uma, as demais são desmarcadas.
| |
| | |} | | |} |
| | | | |
| − | ====Sobre as expressões====
| + | As expressões — Título, Expressão, Condição SQL, Expressão Cor, Expressão Persistir e Expressão Leitura — vão como texto, sem tradução nenhuma. São SQL sobre a tabela do cadastro de origem, que é a mesma nos dois ambientes. |
| − | | |
| − | As três expressões são escritas em SQL e valem sobre o registro do compromisso, que na consulta recebe o apelido '''A'''. Uma coluna do próprio cadastro é referenciada como ''A.NOMEDACOLUNA''. | |
| − | | |
| − | Quando a expressão precisa de informação de outra tabela, ela é escrita como subconsulta, e não como junção. Assim a expressão se basta e a Agenda não exige nenhuma configuração adicional de relacionamento.
| |
| − | | |
| − | Funções de data e outras que mudam de nome conforme o banco de dados são escritas com os marcadores do sistema, como ''@DATA'', que são substituídos no momento da consulta. Isso permite que a mesma expressão funcione em qualquer banco homologado.
| |
| − | | |
| − | ====Filtros====
| |
| − | | |
| − | Cada Agenda aceita uma lista de filtros, que ligam um campo do formulário de filtro da Agenda a uma coluna do cadastro de origem, com o operador desejado. É assim que um campo novo no formulário passa a filtrar os compromissos, sem alteração de programa.
| |
| − | | |
| − | {| class="wikitable"
| |
| − | !Campo
| |
| − | !Finalidade
| |
| − | |-
| |
| − | |'''Formulário Campo'''
| |
| − | |Campo do formulário de filtro que fornece o valor informado pelo usuário.
| |
| − | |-
| |
| − | |'''Operação'''
| |
| − | |Forma de comparação entre o valor informado e a coluna: igual, diferente, maior ou igual, menor ou igual, contém ou em.
| |
| − | |-
| |
| − | |'''Campo'''
| |
| − | |Coluna do cadastro de origem que será comparada.
| |
| − | |}
| |
| − | | |
| − | Campo do formulário deixado em branco pelo usuário não gera filtro, o que permite um formulário com vários campos sem obrigar o preenchimento de todos. Recurso, Agenda e situação das anotações são filtros próprios da tela e não precisam ser configurados aqui.
| |
| − | | |
| − | ==='''Conclusão'''===
| |
| | | | |
| − | Uma Agenda bem configurada resume-se a responder três perguntas: de onde vêm os compromissos, como eles se apresentam e sob que condição continuam exigindo atenção. As duas primeiras são atendidas pelos campos de cadastro e de texto; a terceira, pelas expressões.
| + | A marca '''Padrão''' acompanha a Agenda. Importando uma que esteja marcada, as demais do destino são desmarcadas, do mesmo modo que aconteceria marcando pela tela. |
| | | | |
| − | Vale rever a configuração sempre que o cadastro de origem ganhar um campo relevante, como uma situação nova, já que a cor e a persistência são consequência do que estiver escrito nas expressões.
| + | Os '''filtros''' são regravados por inteiro: a importação descarta a lista que a Agenda tiver no destino e grava a que veio no arquivo. Filtro cujo formulário, campo do formulário ou coluna não existam no destino fica de fora, e o restante da Agenda é gravado normalmente — por isso vale conferir a lista de filtros depois de importar para um ambiente que ainda não tenha o formulário correspondente. |
Exportar e Importar
A tela permite levar a configuração de uma Agenda de um ambiente para outro: exportar gera um arquivo com tudo o que a Agenda precisa para funcionar, e importar grava esse arquivo no ambiente atual. É o caminho para publicar em produção uma Agenda montada em homologação, ou para repetir num cliente uma configuração já pronta na base modelo.
O arquivo leva só a configuração. Nenhum compromisso é exportado, e nenhum é criado na importação.
O Nome é a chave. Existindo uma Agenda com o mesmo nome no destino, ela é atualizada; não existindo, uma nova é criada. Importar o mesmo arquivo duas vezes, portanto, não duplica a Agenda.
Tudo o que aponta para outro cadastro viaja pelo nome, nunca pelo código interno, porque os códigos de um ambiente não significam nada no outro. Na importação cada nome é resolvido contra os cadastros do destino:
| O que viaja por nome
|
O que precisa existir no destino
|
| Cadastro de origem
|
O cadastro, apontando para a mesma tabela
|
| Campo Data, Campo Hora Início, Campo Hora Fim e Campo Recurso
|
As colunas, na tabela do cadastro de origem
|
| Formulário de filtro e o campo dele, em cada filtro
|
O formulário e o campo, com os mesmos nomes
|
| Campo comparado, em cada filtro
|
A coluna, na tabela do cadastro de origem
|
As expressões — Título, Expressão, Condição SQL, Expressão Cor, Expressão Persistir e Expressão Leitura — vão como texto, sem tradução nenhuma. São SQL sobre a tabela do cadastro de origem, que é a mesma nos dois ambientes.
A marca Padrão acompanha a Agenda. Importando uma que esteja marcada, as demais do destino são desmarcadas, do mesmo modo que aconteceria marcando pela tela.
Os filtros são regravados por inteiro: a importação descarta a lista que a Agenda tiver no destino e grava a que veio no arquivo. Filtro cujo formulário, campo do formulário ou coluna não existam no destino fica de fora, e o restante da Agenda é gravado normalmente — por isso vale conferir a lista de filtros depois de importar para um ambiente que ainda não tenha o formulário correspondente.