Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Índice
outlinetrue
stylenone
exclude.*ndice

Formulário Mobile 

No fluig, é possível movimentar solicitações workflow, a partir de aplicativos móveis. Devido a isso, ao salvar um formulários no fluig, automaticamente o formulários mobile é gerado, de acordo com o mapeamento dos campos do formulários do processo.

Apesar do fluig dispor da geração automática, existem diversas particularidades para o desenvolvimento e customização de formulário Mobile, estas serão tratadas no decorrer deste guia.

 

Recomendações para

...

processos com

...

formulário Mobile

...

  1. Formulário Responsivo: Hoje no mercado existem variados tamanhos de telas e resoluções, por isso qualquer formulário desenvolvida para Mobile deve ser responsivo, ou seja, deve se ajustar a qualquer tamanho de tela.

  2. Estética: A aparência visual e design do html devem ser atraentes para os usuários, conseguimos isso através de CSS, por isso recomendamos a utilização do fluig style guide.

  3. Usabilidade: O formulário deve ser fácil de usar, contendo apenas o campos importantes para tarefas ou processo.

  4. Área de clique: Os elementos do HTML devem estar bem posicionados de forma que facilite a área de clique, pois hoje existem dispositivos que as telas são muito pequenas.Segue um exemplo:

     

  5. Posicionamento das ações: As ações mais importantes devem estar posicionadas onde o usuário consegue alcançar facilmente, conforme a figura:

  6. Customizações: As customizações Desenvolvimentos: os desenvolvimentos devem ser feitas feitos dentro dos eventos do processo ou de definições de formulário na Web, todos os eventos que são aplicados nos formulários Web também são aplicados nos formulários Mobile. Para mais informações acesse o guia Desenvolvimento de Formulários.

  7. Acesso a serviços internos: O acesso a serviços interno pode ser feita através de Datasets via xmlRPC. Para mais informações, clique aqui.

  8. Acesso a serviços externos: Recomendamos a utilização de Datasets para acessar serviços externos, esse Datasets são acessados no mobile via xmlRPC conforme descrito acima.

  9. Nem todas informações precisam estar no Formulário Mobile: O grande limitador do Mobile é o tamanho de tela, por isso mapeie os campos que são mais importantes para que tenham prioridade no formulário. Existem campos que são informativos e não tem grande utilidade no processo ou tarefas, estes não precisam ser inclusos no formulário Mobile.

  10. Tipos: Definições de Formulário Mobile suporta os tipos:
    1. text
    2. textArea
    3. radio
    4. select
    5. combobox
    6. checkbox.
    7. email (3)
    8. tel (3)
    9. range (3)
    10. date (3)
    11. time (1)(3)
    12. week (2)(3)
    13. number
    14. hidden
    15. password

...

Nota
titleAtenção

Não está homologada a implementação de evento que utilizem Gestures (swipe, longpress, tap, entre outros) em formulário no fluig Mobile.

 

Benefícios

Porque devo usar formulários no Mobile?

  • Permite iniciar/movimentar solicitações de qualquer dispositivo móvel, independente de sua localização geográfica.
  • Acesso rápido as informações, mostrando apenas as informações mais relevantes.
  • Permite a continuidade do processo, mesmo fora do ambiente empresarial.
  • Através do recurso "Processo Off-line" consigo preencher informações mesmo sem acesso a internet, para futura sincronização.


Criando

...

um formulário Mobile

No fluigé possível criar definições de formulários de diferentes maneiras, utilizando o fluig Studio, através da modelagem de processos workflow ou através de upload de  formulário na navegação de documentos.

...

Deck of Cards
effectDuration0.5
idinstall-windows
historyfalse
effectTypefade
Card
defaulttrue
id1
labelFluig Studio
titleSelecione a linguagem

Fluig Studio

Para incluir um novo formulário com suporte a dispositivos móveis, desenvolva um único formulário que atenda todos requisitos para o funcionamento na web e mobile, e realize o procedimento padrão para exportação de formulário.

 

Card
id2
labelFormulário Mobile em Processos
titleTermo de uso


Configuração de Formulário Mobile em Processos

É possível permitir a criação do Formulário Mobile também através do Gerador de Formulário, conforme passo a seguir:

 

Passo 1: Criar ou editar um processo existente e acionar o item Formulário.

 

Passo 2: Selecionar a pasta destino onde esse formulário será publicada, também atribua um título e descrição. Após isso, clique em Criar Formulário.

 

Passo 3:  Inclua os campos e em cada um deles, selecione se este será também adicionado ao formulário para dispositivos móveis, clicando na opção Formulário Mobile?.

 

Informações
iconfalse
titleInformação

Nem todos os campos mapeados no formulário do processo, podem ser mapeados para o formulário para dispositivos móveis. Os campos que podem ser mapeados exibem a opção "Formulário Mobile?".



Card
id3
labelUpload via Navegação de Documentos
titleInstalação do fluig


Upload via Navegação de Documentos

No upload via navegação de documentos é feito com uma publicação de um formulário único, que deve atender os requisitos de funcionamento para web e Mobile.

 

Nota
titleAtenção

As Definições de Formulários geradas pelos métodos de criação acima elencados, precisam ser editados caso necessite de alguma customização algum desenvolvimento especial, eles são gerados automaticamente contendo os itens básicos para seu funcionamento.

 

...

Desenvolvimento de

...

formulário Mobile

Com a inclusão de formulários que suportem a visualização em dispositivos móveis, é possível movimentar solicitações Workflow e realizar o preenchimento das informações de formulários com maior mobilidade e agilidade.

jQuery Mobile

O jQuery Mobile é um framework de interface para dispositivos móveis que visa dar um layout responsivo para as definições de formulários. Ele facilita muito no desenvolvimento, pois você não precisa ficar criando um CSS próprio para cada elemento e pode ser utilizado no fluig Mobile. É  É possível acompanhar exemplos no link: http://demos.jquerymobile.com/1.4.2/.

 

Este pode ser incorporado no HMTL Mobile de forma simples:

...

Nota
titleAtenção

Referências aos arquivos externos, como por exemplo o JQuery mobile, não devem ser utilizados em processos que tenham o uso off-line, pois quando a utilização é feita de forma off-line apenas o formulário é armazenado.

 

Pai Filho e Zoom para dispositivos móveis

A partir do fluig 1.5.2 (server), temos uma nova técnica para utilização de Pai e Filho e Zoom no fluig que vai facilitar em muito o desenvolvimento sob nossa plataforma. Usando o fluig Style Guide tudo ficará mais responsivo, e esses dois componentes se adequam a web e ao mobile.

...

Comece a usar hoje mesmo lendo detalhes na nossa documentação: Desenvolvimento de Formulários - Zoom e Desenvolvimento de Formulários - Pai x Filho. 
 

Informações

Essas técnicas ainda não funcionam para Windows Phone e também para utilização off-line em qualquer plataforma móvel, em breve teremos novidades!

...

Insira anexos da solicitação diretamente do

...

formulário

Existe uma forma bem simples para salvar anexos upload através de um botão no formulário. Para isso é necessário inserir no evento onclink do button o método showCamera:

...

O parâmetro nome_do_anexo é uma String e corresponde ao nome do anexo que será salvo na listagem de anexos daquela solicitação.

 

Como identificar que estou usando o Mobile nos eventos?

Com esse recurso é possível aplicar uma customização ou/e um desenvolvimento e/ou restrição somente no Formulário Mobile, independente da Web. Assim posso definir que um processo ou atividade vai receber um valor diferenciado ou que determinada atividade não pode ser executada pelo Mobile via customizaçãodesenvolvimento. 

Existe duas formas de fazer tal customizaçãodesenvolvimento:

    • Eventos do Formulário
      Todos os eventos que recebem no método o form podem fazer uma customização exclusiva um desenvolvimento exclusivo para o Formulário Mobile, são os eventos:
      • AfterProcessing
      • AfterSaveNew
      • BeforeProcessing
      • DisplayFields
      • EnableFields
      • InputFields
      • ValidadeForm

      Para utilizar o evento é necessário fazer a seguinte chamada: form.getMobile(), onde retornará um booleano indicando se é um formulário mobile ou não. Exemplo:

      Bloco de código
      languagejavascript
      function displayFields(form, customHTML) {
         if ( form.getMobile() != null && form.getMobile()) {
           form.setValue('mtr_usuario', new java.lang.Integer(123456));
         }
      }



    • Eventos do Processo
      Nos eventos de processo, a propriedade WKMobile identifica se a ação foi realizada pelo dispositivo móvel. Ela pode ser utilizada nos eventos do processo conforme exemplo:

      Bloco de código
      languagejavascript
      function beforeStateEntry(sequenceId){
      	var isMobile = getValue("WKMobile");
      	if (isMobile!=null && isMobile==true){ 
      		throw "Esse processo não pode ser executado pelo mobile."; 
      	}
      }

Consumo de Datasets via xmlRPC

Agora o acesso de datasets pelo Mobile está muito mais fácil, com o xmlPRC é possível trocar de informações com fluig via AJAX.

...

 

Bloco de código
languagejavascript
 <script src="http://URL_DO_SERVIDOR/webdesk/vcXMLRPC-mobile.js"></script>
<script src="http://URL_DO_SERVIDOR/portal/resources/js/jquery/jquery-1.7.2.js"></script>

 

O acesso aos Datasets é igual à Web, a seguir são apresentados dois exemplos:

 

1) Built-in Datasets: este tipo de Dataset permite navegar em dados das entidades do próprio fluig, como usuários, grupos, processos ou tarefas por exemplo. Esses datasets são pré-definidos no produto e não podem ser alterados pelo usuário;

 

Bloco de código
languagejavascript
var filter = new Object();
filter["colleaguePK.colleagueId"] = "john"; 
var colleagues = getDatasetValues("colleague", filter);
if(colleagues.length > 0){       
	document.getElementById("colleagueName").value = colleagues[0].colleagueName;
	document.getElementById("login").value = colleagues[0].login;
}else{
	alert("Nenhum Usuário Encontrado");
}

 

2) CardIndex Datasets: este tipo de Dataset permite navegar nos dados existentes em formulários de uma determinada definição de formulário publicada no fluig. Para que uma definição de formulário seja disponibilizada como Dataset, é necessário preencher o campo Nome Dataset na publicação da definição de formulário. O valor informado será utilizado para a busca do Dataset no fluig;

 

Bloco de código
languagejavascript
var c1 = DatasetFactory.createConstraint("cod_area", "2", "2", ConstraintType.MUST); 
var constraints = new Array(c1);
			
var area = DatasetFactory.getDataset("areas", null, constraints, null);
			
if(area.values.length){
	document.getElementById("cod_area").value = area.values[0].cod_area;
	document.getElementById("area").value = area.values[0].area;
}else{
	alert("Area não encontrada") ;
}

 

Para baixar um exemplo de formulário utilizando xmlPRC clique aqui.

 

Geolocalização em formulário

Para utilizar a Geolocalização em formulários é bem simples, basta incluir esse script no html:

...

Para baixar um exemplo de formulário com geolocalização clique aqui

Formulário único

A partir da versão 1.5 do fluig os formulários da web e do mobile devem ser criados de forma única. Sendo assim, o formulário deve atender tanto o mobile quanto a web.

Para criar formulários com este novo padrão verifique o fluig style guide.

Anexos de formulário

  1. Download de anexos: este procedimento será automático, porém apenas os anexos do formulário são baixados.  
  2. Download de anexos em processos offline: durante o download dos processos offline os anexos do formulário são baixados e estarão disponíveis para utilização de maneira offline.

...

Nota
titleImportante
Para o funcionamento de anexos do formulário, o caminho dos arquivos devem ser relativos e não podem ser externos.

 

Versão minimas dos browsers suportados

...

Cada uma das plataformas utiliza um browser diferente para a renderização dos formulários. Esta informação deve ser considerada durante o desenvolvimento para evitar problemas de compatibilidade com os arquivos JavaScript/CSS. A tabela abaixo apresenta a versão minima dos browsers de cada plataforma que deve ser considerada durante o desenvolvimento:

Versão minima da plataformaVersão minima do browser
Windows Phone 8Internet Explorer 10
Android 4.0 (Ice Cream Sandwich)Webkit 534.30
iOS 7Mobile Safari 9537.53

 

...