Edite esta página no GitHub

Visão Geral do docassemble

docassemble é uma plataforma para criação de aplicações web mobile-friendly chamadas Entrevistas. Estas perguntam uma questão de cada vez de até atingirem seu objetivo. O objetivo pode ser a apresentação de um parecer, a criação de um documento assinado, o envio de um cadastro, ou outra coisa. Execute a Demonstração (Demonstração) para ter uma ideia de como aplicações docassemble são.

Você pode executar docassemble na sua máquina, mas a maior parte das pessoas executa “na nuvem”, em serviços de hospedagem como Amazon Web Services, Digital Ocean, ou outros. A página de Deploy descreve uma variedade de formas pelas quais você pode ter a sua própria instância do docassemble funcionando. VocÊ pode instalar docassemble num servidor usando Docker ou, se for um expert, seguir as instruções detalhadas de Instalação. Na maioria dos casos, a Administração e Configuração do docassemble podem ser gerenciados pela interface web.

Introdução ao docassemble

Desenvolvedores de entrevistas escrevem-nas em YAML, um formato puro texto que é legível por seres humanos e por máquinas. Em nosso texto iremos nos referir às entrevistas por este nome, para manter a coerência com o texto original. Entretanto, achamos mais fácil pensar nas entrevistas como questionários ou formulários web.

Uma entrevisa consiste de múltiplos “blocos”. Blocos são pedações de texto separados por ---, que é um separador de registro em YAML. Por exemplo:

question: Do you like turnips?
yesno: likes_turnips
---
question: When did you stop idolizing worms?
fields:
  - Date: worm_idolizing_stop_date
    datatype: date
Screenshot of turnips-worms example

Você pode clicar na imagem acima para ver a entrevista em ação. Se você passar o mouse sobre o código fonte, reticências aparecerão no canto inferior direito; se você clicar nas reticências, você verá o YAML completo da entrevista.

Alguns blocos são Blocos de Questão que representam as telas que o usuário irá de fato ver, como nos exemplos acima. A estrutura básica de um bloco de questões é simples, mas existem vários Question Modifiers possíveis, que podem fazer com que suas telas realizem diferentes tarefas.

A informação recolhida do usuário é armazenada em “variáveis”, e o propósito da maioria dos blocos de questão é Setting Variables. Você pode usar quaisquer nomes de variável que quiser, exceto alguns nomes de Special Variables que possuem seu valor pré definido.

docassemble suporta many different types de variáveis – mesmo file uploads e touchscreen signatures. Uma das características mais poderosas é a habilidade de armazenar informações numa forma estruturada usando Objetos. Quando você quer coletar um ou mais pedações de informações relacionadas, você pode fazê-lo em Grupos tais como listas e dicionários.

Existem outros tipos de blocos além de blocos de question.

Blocos Iniciais definem opções para toda a entrevista, tais como funcionalidades especiais do questionário ou as screen parts padrão.

Blocos de Código permitem que variáveis sejam definidas mediante computação. O código é escrito em Python. Para escrever uma entrevista, você não precisa de saber muito sobre Python, além de como escrever instruções “if/then/else”.

code: |
  if autor.municipio == reu.municipio:
    foro_competente = True

Você pode mesmo usar lógica fuzzy com a funcionalidade de Machine Learning do docassemble.

docassemble decide quais questões fazer, e a ordem na qual eles são feitas, de acordo com a Lógica da Entrevista. Você pode especificar a ordem das questões com grande detalhamento se quiser, ou pode apenas definir o objetivo final e deixar o docassemble descobrir a melhor ordem de execução.

Um uso popular das entrevistas é a montagem de Documentos, daí o nome docassemble - document + assembly (montagem). Você pode redigir templates de documentos em DOCX ou PDF. Você também pode escrever documentos do mesmo modo que escreve questões, em texto puro usando Markup para indicar formatação.

Na medida em que suas entrevistas se tornam mais sofisticadas, você vai achar útil invocar Funções para fazer coisas tais como conjugar verbos, computar diferenças entre datas, ou oferecer ao usuário links que realizam ações especiais.

docassemble possui um sistema de User Login que permite usuários criarem contas, salvarem suas respostas e reiniciarem suas entrevistas posteriormente.

Como docassemble é uma aplicação livre e em código aberto, ela foi projetada para ser interoperável com outras aplicações. Existem várias formas de se trabalhar com Dados Externos; você pode facilmente movimentar informação para dentro ou para fora do de uma seção de entrevista docassemble. Também existe uma completa API para interação com o docassemble programaticamente. Você pode também desenvolver seu próprio Front End Customizado.

Desenvolvedores podem prototipar e testar suas entrevistas no navegador, usando o Playground para desenvolvedores.

Assim que você obtiver seu servidor docassemble em execução, percorra o tutorial Olá, Mundo! para aprender os primeiros passos de como funcionam as entrevistas. Na medida em que você adquirir mais experiência, você deve explorar outros Fluxos de Desenvolvimento diferentes do Playground.

Uma das funcionalidades mais poderosas do docassemble é sua capacidade de executar entrevistas multi-usuário por meio de sua funcinonalidade de Papéis. Por exemplo, um usuário poderia preencher uma entrevista e um advogado poderia acessá-la para avaliar a informação e fornecer aconselhamento jurídico, que o usuário veria da próxima vez que acessasse o sistema.

A funcionalidade de Tarefas em Background você pode programar que a entrevista realize tarefas no servidor em momentos distintos da entrada de dados pelo usuário. Tarefas que requerem tempo pode ser executadas em background. A entrevista pode avaliar entradas do usuário antes de o usuário submetê-la. Entrevistas podem realizar tarefas quando o usuário não estiver logado, tais como enviar um e-mail para um usuário quando um prazo estiver prestes a se esgotar.

docassemble é uma plataforma multi-propósito, mas foi particularmente desenhada para Aplicações Legais, e possui funcionalidades especiais para este propósito.

Se você precisar de disponibilizar uma entrevista em mais de um idioma, as funcionalidades de Suporte a Idiomas podem auxiliá-lo a gerenciar traduções. docassemble também possui várias funcionalidades para Acessibilidade por pessoas com deficiências.

docassemble foi desenvolvido de acordo com o modelo do mundo do software livre. Entrevistas podem ser transformadas em Packages, que podem ser compartilhados no GitHub ou transportadas entre servidores como arquivos ZIP.

A interface web mobile-friendly é a forma principal que os usuários terão acesso ao executar entrevistas, mas também existe a opção de realização de entrevistas por meio de SMS.

Quando você implantar suas entrevistas, existem várias formas de oferecer suporte ao usuário. A funcionalidade de Live Help permite que operadores comuniquem-se com os usuários usando um chat on-line. Operadores podem ver as telas dos usuários e podem assumir o controle se necessário. Se a comunicação por telefone dor necessária, operadores pode fornecer ao usuário um número de telefone e um código especiais que transmite a ligação para outro número sem revelar o número real do operador.

docassemble possui excelente Escalabilidade quando implantado na nuvem. Deste modo, você não precisa se preocupar quando suas entrevistas receberem muito tráfego.

Se suas entrevistas forem processar informação sensível, docassemble possui diversas funcionalidades de Segurança que mantém os dados seguros, tais como criptografia no servidor.

Desenvolvedores invariavelmente cometem e encontram Erros. docassemble tenta fornecer mensagens de erro úteis no navegador ou em logs armazenados no servidor.

Se você ficar empacado, você pode procurar Suporte da comunidade docassemble, particulamente postando uma questão no Slack - apenas em inglês.

Para suporte em português entre em contato com a equipe da Sílex Sistemas.

Você também pode encontrar exemplos úteis nas nossas Receitas.

docassemble é um software livre disponibilizado de acordo com a licença em código MIT, que é muito permissiva Licença. O software é atualizado frequentemente, e você pode acompanhar as novas funcionalidades pelo Change Log.

Observe que se você tiver usado o docassemble por muito tempo, você precisa de Atualização do Python.

Usando a Documentação

A documentação do docassemble deve ser entendida mais como uma referência do que como um manual que deve ser integralmente lido antes de se iniciar o trabalho.

A melhor forma de aprender sobre o docassemble é criar sua própria entrevista. Comece por seguir o tutorial “Olá, Mundo!” que explica comom criar uma entrevista simples. Superada esta etapa, tente adicionar mais questões a esta entrevista.

A melhor forma de aprender sobre tópicos mais avançados do docassemble é estudar os exemplos fornecidos. As seções desta documentação contém diversos exemplos que comparam lado a lado imagens do sistema e código fonte. Você pode clicar nas imagens para executar as entrevistas. O código ao lado da imagem é normalmente apenas um excerto da entrevista completa. Para ver o código fonte da entrevista inteira, passe o mouse sobre o código fonte e clique no botão que aparece no canto direito inferior. Além disso, enquanto estiver desenvolvento entrevistas no Playground, você pode pesquisar os diversos exemplos.

Também está disponível uma entrevista completa na página de demonstração. Enquanto você estiver usando a entrevista, você pode clicar em “Source” na barra de navegação para ativar a exibição do código fonte para a questão e uma explicação do porquê o docassemble usou aquele caminho para fazer a questão.

Seções da Documentação