Formulários Dinâmicos

De DTI Wiki

Ir para: navegação, pesquisa

Tabela de conteúdo

Objetivo

 Este projeto tem por objetivo disponibilizar a criação de formulários de preenchimento dinâmico. Ocorre de que em alguns projetos/solicitações é necessária a criação de um formulário simples de preenchimento para ser disponibilizado tanto na internet como na intranet. Com isto foi criado este projeto para que estes formulários básicos e sem muitos controles possam ser criados e gerenciados pelos próprios usuários com o auxílio do suporte da DTI.
 Considera-se porém que alguns controles não são possíveis neste formulário devido ao desconhecimento da identificação(ID) de cada campo por estes serem criados dinamicamente.

Peculiaridades

 As tabelas, FRMTIPOCAMPO, FRMVALIDACAO, serão de responsabilidade da DTI, ou seja, quando da necessidade de um novo dado a ser incluído, dependerá de um usuário da DTI para que não sejam inseridos/alterados dados incorretos.
 Caso este formulário seja chamado da intranet será necessário o usuário estar autenticado, caso seja na internet não será solicitado autenticação.

Projeto

 O usuário poderá criar formulários de preenchimento e estes chamados de qualquer lugar da internet ou intranet, poderão ainda ser referenciados por outros formulários ou apenas disponibilizados individualmente, porém cabe salientar que estes formulários são para dados adicionais(sem muito controle).
 Para que possa ser utilizado este projeto, o usuário deverá criar um formulário onde deverá informar alguns dados (Título, Descrição, Usuário responsável, Data início, Data fim, Tipo de acesso, Logo). Ainda é possível controlar a geração de versões de cada formulário. Abaixo estão descritas as tabelas e comentários de cada campo.
 Após o cadastro do formulário, o usuário precisará inserir os campos a serem disponibilizados no formulário para preenchimento do usuário. Neste momento deverá informar os dados (Nome exibição, Utilização, Cod tipo campo, Cod aba, Ordem, Obrigatório, Quantidade, Ajuda, Data início, Data fim). Ainda é possível controlar a geração de versões de cada campo(aqui houve um questionamento se não ficará muito complexo para o retorno dos dados, sugestão: cada alteração num campo, gerar nova versão do formulário como um todo).
 No momento da inserção dos campos alguns dados serão advindos de outra.

Detalhamento MER

Este documento visa apresentar o modelo entidade relacionamento modelado para o sistema de formulários,descrevendo suas tabelas e atributos bem como o proposito destes.

* Indica os campos que necessitam de atenção, sendo estes campos importantes no contexto da aplicação.

Tabelas

FRMTIPOCAMPO
Tabela criada para armazenar os tipos de campos que estarão disponíveis para uso nos formulários.
    Exemplo : texto longo,texto curto,data,checkBox,radioButton,imagem estática , etc .
 CODTIPOCAMPO   Identificador único da tabela,gerado automaticamente através de sequence. 
 NOME   Atributo com o nome do campo,utilizado para exibição.
 DESCRICAO   Descrição opcional, podendo ser utilizado para informar como e ou onde o campo pode ser utilizado,qual a finalidade do mesmo.

FRMFORMULARIO
Tabela criada para armazenar os formulários, um formulário poderá ser composto por vários campos.Estes formulários serão montados no sistema de Formulários Dinâmicos e ficarão disponíveis para utilização em outros sistemas mediante adaptação de integração do sistema terceiro para o de formulários dinâmicos.
 CODFORMULARIO   Identificador da tabela gerado automaticamente por sequence,atributo que juntamente com VERSAOFORM servirá para identificar tal formulário como único. 
 VERSAOFORM   Juntamente com CODFORMULARIO compõem o identificador da tabela, atributo que identificará qual é a versão do formulário.No momento em que um novo formulário for criado ele terá o seu identificador "CODFORMULARIO" incrementado, a sua versão inicial será 1. A versão do formulário será modificada no momento em que o usuário utilizar a opção de copiar o formulário, ao executar esta ação será gerado um novo formulário idêntico ao copiado,porém uma versão diferente.
 TITULO   Atributo que corresponde ao titulo do formulário,usado como referência para a utilização do formulário.
 DESCRICAO   Atributo utilizado para inserir informações adicionais sobre a utilização deste formulário, bem como observações sobre o mesmo.
 * USUARIORESP   Armazena o usuário que criou o formulário este será o responsável,dono do formulário podendo alem de alterar a estrutura do formulário dar permissões de acesso para outros usuários realizarem o mesmo. Armazenado automaticamente após a criação do formulário.
 *DATAINI   Atributo que identifica a partir de qual data o formulário estará disponível para visualização e preenchimento do usuário.
 *DATAFIM   Opcionalmente armazenado para mostrar até que data o formulário estará disponível para visualização e preenchimento.
 *TIPOACESSO   Guarda a informação sobre qual o tipo de usuários que irão acessar este formulário, podendo ser utilizadores com acesso a intranet ou sem acesso a intranet.(AJUSTAR APÓS DEFINICAO)
 LOGO   Armazena uma imagem que poderá ser inserida para exibição no formulário.
 * ACAO   Identifica quais são as ações que estarão disponíveis na manipulação dos dados formulário define se o usuário poderá Adicionar Dados (D),Alterar Dados (A),Exluir Dados(E),Não fazer nada(N).


FRMABA
Tabela que armazena as abas cadastradas para um formulário.
Para facilitar a navegação e preenchimento dos campos em um formulário ele pode ser utilizado abas,quando utilizado os campos estarão disposto em "páginas" agrupados por assuntos em comum.

 CODFORMULARIO    Um dos atributos chave composta.Identifica a qual formulário que será vinculado.
 VERSAOFORM   Um dos atributos chave composta, guarda qual é a versão do formulário selecionado,obtido da frmformulario.
 *TITULO   Texto que será exibido na aba para sua identificação.
 DESCRICAO   Texto opcional para inserir alguma informação a respeito, por exemplo da utilização desta aba.


FRMACESSO
Tabela que armazena os usuários que terão acesso a determinado formulário, bem como suas permissões na manipulação da estrutura do formulário.

 CODFORMULARIO   Um dos atributos chave composta, guarda qual é o formulário que o usuário terá acesso,obtido da frmformulario.
 VERSAOFORM   Um dos atributos chave composta, guarda qual é a versão do formulário escolhido acima que o usuário terá acesso,obtido da frmformulario.
 MATRICULA   Um dos atributos chave que compõem a chave composta indica qual será o usuário que terá acesso ao formulário referenciado,matricula obtida de RHDESENV.EMPREGADO.
 TIPOPERMISSAO   Atributo que indica quais são as permissões que o usuário terá sob o formulário.

* Alterar (A): Possibilita a opção de alterar a estrutura do formulário.
* Visualizar (V): Possibilita a opção de somente visualizar o formulário, não podendo mudar a estrutura do mesmo.
* Copiar (C): Possibilita a opção de realizar cópia deste formulário, ou seja, o usuário com esta permissão poderá criar um novo formulário a partir da estrutura deste.

* Gerar Nova Versão (G): Possibilita a opção de gerar uma nova versão do formulário, ou seja, o usuário com esta permissão poderá gerar uma nova versão a partir da estrutura deste.

FRMCAMPO
Tabela que representa os campos de um formulário,armazena as informações sobre os campos que o formulário possui.
 CODFORMULARIO    Identifica a qual formulário o campo pertence.Um dos atributos que será utilizado como chave composta desta tabela,será obtido da frmformulario.
 VERSAOFORM   Um dos atributos chave composta, guarda qual é a versão do formulário escolhido,será obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta,identificador do campo. Gerado automaticamente por sequence.
 VERSAOCAMPO   Um dos atributos que compõem a chave composta,representa qual a versão do campo que está sendo criada.
 NOMEEXIBICAO   Identifica o nome descritivo do campo,texto que será exibido para se referir ao campo.
 UTILIZACAO   Utilizado opcionalmente para que seja informado por exemplo qual deve ser a finalidade deste campo, por qual motivo foi criado.
 CODTIPOCAMPO   Atributo chave estrangeira, armazena qual o tipo deste campo,será buscado os dados da tabela FRMTIPOCAMPO.
 *CODABA   Para facilitar a navegação e preenchimento dos campos de um formulário pode ser utilizado abas, quando utilizado os campos estarão disposto em "páginas" agrupados por assuntos em comum.
Este atributo armazena opcionalmente o código da aba em que este campo será exibido no formulário.
 *ORDEM   Guarda qual será a ordem de exibição deste campo dentro de formulário, quando mais baixo o valor antes o campo será mostrado.
 OBRIGATORIO  Guarda a informação se este campo será ou não de preenchimento obrigatório.
*QUANTIDADE   * Em caso de campos texto servirá para delimitar a quantidade máxima de caracteres que podem ser digitados.
* Em caso de campos do tipo checkbox funcionará para definir o máximo de opções que podem ser selecionadas.
* Caso o campo for do tipo arquivo defini a quantidade máxima de arquivos que podem ser enviados como resposta.
 AJUDA   Atributo que deverá ser utilizado para ajudar o usuário no preenchimento do campo,informações aqui registradas serão visíveis ao o usuário, ao passar o mouse sobre o ícone "?" por exemplo.
 *DATAINI   Informa a partir de qual data este campo estará disponível para visualização e preenchimento no formulário.
 DATAFIM   Opcionalmente utilizado para informar até que data o campo estará disponível para visualização e preenchimento no formulário.

FRMITEMCAMPO
Tabela responsável por armazenar informação a respeito da existência de outros campos associado a um determinado campo,por exemplo,podemos ter um campo do tipo rádio com várias opção,este campo irá guardar quais são estas opções.
*Quando temos um campo do tipo "radioButton" poderá ocorrer situações onde exista diversas opções,a possibilidade de associar uma opção a um campo, por exemplo, digamos que tenhamos dentre as opção que uma delas seja "OUTROS", ao selecionar esta opção abra um campos texto para o usuário digitar a resposta dele.
 CODFORMULARIO    Um dos atributos que compõem a chave composta identifica a qual formulário este item pertence.Será obtido da frmformulario.
 VERSAOFORM   Um dos atributos que compõem a chave composta guarda qual é a versão do formulário que está sendo utilizado, será obtido da frmformulario.
 CODCAMPO    Um dos atributos que compõem a chave composta armazena qual é o campo que possui itens.Será buscado da tabela FRMCAMPO.
 VERSAOCAMPO    Um dos atributos que compõem a chave composta da tabela armazena qual é a versão do campo associada.Será buscado da tabela FRMCAMPO.
 CODITEMCAMPO    Um dos atributos que compõem a chave composta da tabela.Identificador do item , o valor para este campo é gerado por sequence.
 NOMEEXIBICAO   Representa o texto que será exibido acima do campo.

FRMRESPITEMCAMPO
Tabela responsável por armazenar a resposta dos campos que possuem itens.Será salvo nesta tabela, por exemplo o value do radio selecionado ("O") referente a opção outros, o conteúdo do campo texto será armazenado em uma das tabelas de resposta do campo.Podendo ser FRMRESARQUIVO,FRMRESPTEXTO.
 CODFORMULARIO  Um dos atributos que compõem a chave composta identifica a qual formulário a reposta pertence.Será obtido da frmformulario.
 VERSAOFORM   Um dos atributos que compõem a chave composta guarda qual é a versão do formulário utilizada, será obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta armazena qual o campo respondido.Será buscado da tabela FRMCAMPO.
 VERSAOCAMPO    Um dos atributos que compõem a chave composta da tabela armazena qual é a versão do campo associada.Será buscado da tabela FRMCAMPO.
 CODITEMCAMPO    Um dos atributos que compõem a chave composta da tabela.Identificador do item respondido, referencia a tabela itemcampo.
 CHAVERESP   Utilizado para registrar quem está respondendo o campo. Ficará a cargo do sistema terceiro definir qual será o identificador utilizado para diferenciar os usuários, caso o mesmo deseje saber quem está respondendo tal questão. Se o sistema terceiro não necessitar da identificação de quem respondeu o campo será gerado um número sequencial sem vinculo com usuários.

FRMRESPTEXTO
Tabela responsável por armazenar as respostas digitadas nos campos do tipo texto.
 CODFORMULARIO   Um dos atributos que compõem a chave composta identifica a qual formulário esta resposta pertence. Código do formulário que será obtido da frmformulario..
 VERSAOFORM   Um dos atributos que compõem a chave composta,guarda qual é a versão do formulário utilizada, será obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta, armazena qual o campo respondido.Será buscado da tabela FRMCAMPO.
 VERSAOCAMPO    Um dos atributos que compõem a chave composta da tabela,armazena qual é a versão do campo associada.Será buscado da tabela FRMCAMPO.
 CHAVERESP   Utilizado para registrar quem está respondendo o campo. Ficará a cargo do sistema terceiro definir qual será o identificador utilizado para diferenciar os usuários, caso o mesmo deseje saber quem está respondendo tal questão. Se o sistema terceiro não necessitar da identificação de quem respondeu o campo será gerado um número sequencial sem vinculo com usuários.
 RESPTXTCURTO   Conteúdo da resposta.A resposta ficará armazenada neste campo caso a quantidade de caracteres da resposta seja inferior ou igual a 4000.
 RESPTXTLONGO   Conteúdo da resposta.A resposta ficará armazenada neste campo caso a quantidade de caracteres da resposta seja maior que 4000.


FRMCAMPOIMAGEM
Existem casos em que o usuário deseja mostrar imagens estáticas no formulário, somente para visualização, esta armazenará esta imagem para um campo do formulário.

 CODFORMULARIO    Um dos atributos que compõem a chave composta, identifica a qual formulário a validação está associada.Obtido de frmformulario
 VERSAOFORM   Um dos atributos que compõem a chave composta, refere-se a qual versão do formulário a versão está associada.Obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta,identifica a qual campo do formulário que possuirá imagem.
 VERSAOCAMPO   Um dos atributos que compõem a chave composta refere-se a qual versão do campos possui a imagem.Obtido de frmcampo.
 CODVALIDACAO   Atributo que compõem a chave composta se refere a qual validação o registro esta associado. Obtido de FRMVALIDACAO.
 ARQUIVO   Guarda a imagem que esta vinculada ao campo.

FRMRESPARQUIVO
Tabela responsável por armazenar as respostas que possuem arquivos, imagens.
 CODFORMULARIO   Um dos atributos que compõem a chave composta, identifica qual formulário a resposta pertence. Código do formulário que será obtido de frmformulario.
 VERSAOFORM   Um dos atributos que compõem a chave composta guarda qual é a versão do formulário utilizado, será obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta, armazena qual o campo respondido.Será buscado da tabela FRMCAMPO.
 CHAVERESP   Utilizado para registrar quem está respondendo o campo. Ficará a cargo do sistema terceiro definir qual será o identificador utilizado para diferenciar os usuários, caso o mesmo deseje saber quem está respondendo tal questão. Se o sistema terceiro não necessitar da identificação de quem respondeu o campo será gerado um número sequencial sem vinculo com usuários.
 ARQUIVO    Resposta dada para o campo na forma de arquivo, podendo ser qualquer tipo de arquivo desde que não exceda o tamanho de 16 mb .
 NOMEARQUIVO    Nome do arquivo escolhido para ser utilizado como resposta a um determinado campo do tipo file.

FRMTPVALIDACAOTPCAMPO
Armazena quais os tipos de validações disponíveis para um determinado campo.
 CODTIPOCAMPO    Campo que armazena qual será o tipo do campo que possuirá a validação.Chave primária que referencia a tabela frmtipocampo.
 CODTIPOVALIDACAO   Campo que armazena qual será o tipo de validação que o campo possuirá.

FRMTIPOVALIDACAO
Tabela responsável por armazenar os tipos de validações para os campos, armazena as chamadas das funções que estarão previamente cadastradas em um arquivo mantido pelo DTI. Estas funções podem ser em JavaScript ou PHP.
 NOME   Nome dado para a validação, será usado como referencia descritiva.
 DESCRICAO   Informação opcional sobre a utilização,por exemplo oque faz,como faz para que serve a validação.
 MENSAGEM   Texto informativo que será mostrado ao usuário conforme a regra de validação da função.
 NOMEPHP   Nome da função PHP que será chamada para realizar a validação dos valores.
 NOMEJS   Nome da função JavaScript que será chamada para realizar a validação dos valores.
 CONFIGPARAM   Armazena o valor da configuração do parâmetro que indica se a função de validação usará ou não a passagem de parâmetros, passando por exemplo o valor a ser comparado.Este atributo poderá assumir os seguintes valores :
S(Sim)  : Obriga a passagem de parâmetro para a função
N(Não)  : Não é permitida a passagem de parâmetro para a função de validação
O(Opcional)  : A passagem de parâmetro torna-se opcional, dependendo da situação o mesmo poderá ou não ser passado,de acordo com a necessidade do usuário.


FRMTPVALIDACAOCAMPO
Tabela responsável por armazenar a associação entre uma validação e um determinado campo pertencente a um formulário.
 CODFORMULARIO    Um dos atributos que compõem a chave composta, identifica a qual formulário a validação está associada.Obtido de frmformulario
 VERSAOFORM   Um dos atributos que compõem a chave composta, refere-se a qual versão do formulário a versão está associada.Obtido da frmformulario.
 CODCAMPO   Um dos atributos que compõem a chave composta,identifica a qual campo do formulário a validação pertence. Obtido de frmcampo.
 VERSAOCAMPO   Um dos atributos que compõem a chave composta refere-se a qual versão do campo a validação pertence. Obtido de frmcampo.
 CODVALIDACAO   Atributo que compõem a chave composta se refere a qual validação o registro esta associado. Obtido de FRMVALIDACAO.
 CODTIPOVALIDACAO  Atributo que registra qual será o tipo de validação utilizada para validar o campo.
 ORDEM   Representa em que sequencia a validação deverá ser executada, quanto menor o valor primeiro a validação será executada.
 VALORPARAM  Atributo que armazena qual será o valor a ser utilizado como parâmetro para a função seja ela PHP ou JAVASCRIPT cadastrada na tabela FRMTIPOVALIDACAO.Por exemplo:Diga-se que o valor do atributo parâmetro para o campo idade por exemplo seja 78, e que tenhamos uma validação de idade vinculada a este campo.A função de validação irá comparar o conteúdo digitado no campo com o valor do parametro.


Ações pensadas e não implementadas:

  As ações descritas abaixo foram pensadas/questionadas na construção do projeto, porém devido a intenção de não criarmos algo muito complexo ou ainda possibilidade de não ser utilizado, pensou-se no simples e, com a colaboração de todos, irmos construindo algo mais complexo.

    -> Cadastros de máscaras a serem utilizadas nos campos; Cabe salientar que algumas já estão contempladas no sistema, como por exemplo: máscaras de data, valores, etc...;
    -> Possibilidade de ter subitens em item de campo,por exemplo, ao selecionar um radio abrir várias caixas de texto para preenchimento destes campos;
    -> Validações entre dois campos de um mesmo formulário,por exemplo, comparar se o campo de Data Inicial é maior que o campo de Data Final;

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas