iflow 4.2.0 workflow developer's guide pt
DESCRIPTION
IFlow 4.2.0 Workflow Developer's Guide PTTRANSCRIPT
-
Verso 4.2.0
Manual de Utilizador iFlow Editor Verso portuguesa 1.0
Escrito por:
Paulo Ponte
Tiago Velho
Ekaterina Hilrio
Revisto por:
Joo Costa
Lanamento:
2013-01-02
Veja a informao actualizada em:
http://wiki.iflowbpm.com/do/view/IFlowProducts/DevelopersGuide
http://wiki.iflowbpm.com/do/view/IFlowProducts/UserManuals
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
ndice de contedos
1 Introduo ........................................................................................................................ 2 2 Conceitos Bsicos .............................................................................................................. 2 2.1 Fluxos .............................................................................................................................. 2 2.2 Blocos Funcionais .............................................................................................................. 2 2.2.1 Portos .............................................................................................................................. 2 2.2.1.1 Tipos de Portos de Sada .................................................................................................. 3 2.2.2 Blocos Como Plugins .......................................................................................................... 3 2.3 Conectores de Blocos ......................................................................................................... 3 2.3.1 Ligao de Blocos atravs de conectores .............................................................................. 3 2.4 Variveis de Processo ......................................................................................................... 4 2.4.1 Variveis Pr-definidas ....................................................................................................... 4 2.5 Sintaxe de Parametrizao .................................................................................................. 4 2.5.1 Sintaxe do tipo varivel ...................................................................................................... 4 2.5.2 Sintaxe do tipo condio ..................................................................................................... 5 2.5.2.1 Operadores .................................................................................................................... 5 2.5.2.2 Exemplo de utilizao ...................................................................................................... 5 2.5.3 Sintaxe do tipo expresso ................................................................................................... 5 2.5.3.1 Exemplo de utilizao ...................................................................................................... 5 3 Utilizao do Editor ............................................................................................................ 6 3.1 Edio de Blocos ................................................................................................................ 6 3.1.1 Parametrizaes Comuns .................................................................................................... 6 4 Bibliotecas e os seus principais Blocos .................................................................................. 6 4.1 Biblioteca Bsica ................................................................................................................ 6 4.1.1.1 Bloco Incio .................................................................................................................... 7 4.1.1.2 Bloco Fim ....................................................................................................................... 8 4.1.1.3 Bloco Beanshell (Tarefa) .................................................................................................. 8 4.1.1.4 Bloco SubFluxo (Subprocesso) .......................................................................................... 9 4.1.1.5 Bloco Condio (Gateway Exclusiva) ................................................................................ 11 4.1.1.6 Bloco Bifurcao (Gateway Paralela Bifurcao) ................................................................ 12 4.1.1.7 Bloco Sincronizao (Gateway Paralela Sincronizao) ....................................................... 12 4.1.1.8 Bloco Juno Exclusiva (Gateway Exclusiva Sincronizao) ................................................. 13 4.2 Biblioteca Perfis ............................................................................................................... 13 4.2.1.1 Bloco Obter Info Utilizador ............................................................................................. 14 4.2.1.2 Bloco Enviar Para .......................................................................................................... 14 4.2.1.3 Bloco Escalar Hierarquicamente ...................................................................................... 16 4.2.1.4 Bloco Obter Superior Hierrquico .................................................................................... 17 4.2.1.5 Blocos Est nos Perfis .................................................................................................... 17 4.2.1.6 Blocos Est nos Perfis e Est nos Perfis Texto ................................................................... 18 4.2.1.7 Bloco Obter Info Unidade Orgnica .................................................................................. 19 4.2.1.8 Bloco Obter Unidade Orgnica Acima ............................................................................... 20 4.2.1.9 Bloco Verificar Autenticao ........................................................................................... 20 4.2.1.10 Bloco Obter Utilizadores do Perfil .............................................................................. 21 4.2.1.11 Bloco Obter Perfis do Utilizador ................................................................................ 22 4.2.1.12 Bloco Obter Dono da Delegao ............................................................................... 23 4.2.1.13 Bloco Obter Substituto da Delegao ........................................................................ 24 4.3 Biblioteca Utils ................................................................................................................ 25 4.3.1.1 Bloco Formulrio ........................................................................................................... 25 4.3.1.2 Bloco Atribuio ............................................................................................................ 31 4.3.1.3 Bloco Validaes ........................................................................................................... 32 4.3.1.4 Bloco Data ................................................................................................................... 33 4.3.1.5 Bloco Importar Dados .................................................................................................... 34 4.3.1.6 Bloco Sries ................................................................................................................. 35 4.3.1.7 Bloco Criar Documento .................................................................................................. 36 4.4 Biblioteca Processo .......................................................................................................... 37 4.4.1.1 Bloco Abrir Processo ...................................................................................................... 37 4.4.1.2 Bloco Pesquisa Processo ................................................................................................ 38 4.4.1.3 Muda Processo ............................................................................................................. 40
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
4.4.1.4 Bloco Muda Processo com Utilizador ................................................................................ 41 4.4.1.5 Bloco Guarda em BD ..................................................................................................... 41 4.4.1.6 Bloco Limpa Erros Processo ............................................................................................ 42 4.4.1.7 Bloco Detalhe de Processo ............................................................................................. 42 4.5 1.5. Biblioteca Base Dados ................................................................................................ 43 4.5.1.1 Blocos SQLSelect, SQLInsert, SQLUpdate e SQLDelete ................................................................ 44 4.5.1.2 Bloco SQLBatchInsert ........................................................................................................ 47 4.5.1.3 Bloco SQLBatchUpdate ...................................................................................................... 48 4.6 Biblioteca Notificao ....................................................................................................... 49 4.6.1.1 Bloco Email .................................................................................................................... 49 4.6.1.2 Bloco Email para Perfil ....................................................................................................... 50 4.6.1.3 Bloco Email para Intervenientes ........................................................................................... 52 4.6.1.4 Blocos SMS e SMS para Perfil .............................................................................................. 52 4.6.1.5 Bloco Notificao ............................................................................................................. 54 4.7 Biblioteca Eventos ............................................................................................................... 54 4.7.1.1 Bloco NOP ..................................................................................................................... 55 4.7.1.2 Bloco Evento .................................................................................................................. 55 4.8 Biblioteca WebServices ..................................................................................................... 56 4.8.1.1 Bloco Web Services .......................................................................................................... 56 4.9 Biblioteca Relatrios ......................................................................................................... 59 4.9.1.1 Bloco Relatrio ................................................................................................................ 59 4.10 Biblioteca FlowDocs ......................................................................................................... 59 4.10.1.2 Bloco Obter Documento .......................................................................................... 60 4.10.1.3 Bloco Inserir Documento ......................................................................................... 61 4.10.1.4 Bloco Listar Documentos ......................................................................................... 61 4.10.1.5 Bloco Listar Pastas .................................................................................................. 63 4.10.1.6 Bloco Apagar Documento ........................................................................................ 64 5 Particularidades na Definio dos Blocos ............................................................................. 64 5.1 Biblioteca Bsica .............................................................................................................. 64 5.2 Biblioteca Perfis ............................................................................................................... 66 5.3 Biblioteca Utils ................................................................................................................ 66 5.4 Biblioteca Processo .......................................................................................................... 66 5.5 Biblioteca Base de Dados .................................................................................................. 67 5.6 Biblioteca Notificao ....................................................................................................... 67 5.7 Biblioteca Evento ............................................................................................................ 68 5.8 Biblioteca WebServices .................................................................................................... 68 5.9 Biblioteca Relatrios ......................................................................................................... 68 5.10 Biblioteca FlowDocs ......................................................................................................... 68 6 Activar um Fluxo ............................................................................................................. 68 6.1 FlowEditor ...................................................................................................................... 68 6.2 iFlow .............................................................................................................................. 69 7 Anexos ........................................................................................................................... 71 7.1 Grficos .......................................................................................................................... 71 7.1.1.1 Pie Chart ....................................................................................................................... 71 7.1.1.2 Bar Chart e Stacked Chart .................................................................................................. 73
-
ndice de ilustraes
Ilustrao 1: Alguns Blocos do Editor .............................................................................................. 6 Ilustrao 2: Exemplo do uso do bloco Beanshell .............................................................................. 9 Ilustrao 3: Edio de Atributos do bloco SubFluxo (parte 1) ........................................................... 9 Ilustrao 4: Edio de Atributos do bloco SubFluxo (parte 2) ......................................................... 10 Ilustrao 5: Edio de Atributos do bloco SubFluxo (parte 3) ......................................................... 10 Ilustrao 6: Edio de Atributos do bloco Condio ........................................................................ 11 Ilustrao 7: Edio de Atributos do bloco Sincronizao ................................................................. 13 Ilustrao 8: Edio de Atributos do bloco Obter Info Utilizador ........................................................ 14 Ilustrao 9: Edio de atributos por Utilizador ............................................................................... 15 Ilustrao 10: Edio de atributos por Perfil ................................................................................... 15 Ilustrao 11: Edio de atributos por Perfil Texto ........................................................................... 16 Ilustrao 12: Obter Superior Hierrquico ...................................................................................... 17 Ilustrao 13: Edio de Atributos do bloco Est nos Perfis .............................................................. 18 Ilustrao 14: Edio de Atributos do bloco Est nos Perfis Texto ...................................................... 19 Ilustrao 15: Edio de Atributos do bloco Verificar Autenticao .................................................... 21 Ilustrao 16: Edio de Atributos do bloco Obter Utilizadores do Perfil ............................................. 22 Ilustrao 17: Edio de Atributos do bloco Obter Perfis do Utilizador ................................................ 23 Ilustrao 18: Edio de Atributos do bloco Obter Dono da Delegao ............................................... 23 Ilustrao 19: Edio de Atributos do bloco Obter Substituto da Delegao ........................................ 24 Ilustrao 20: Bloco Formulrio .................................................................................................... 25 Ilustrao 21: Lista de Seleco ................................................................................................... 28 Ilustrao 22: Atribuio de variveis ............................................................................................ 32 Ilustrao 23: Validaes ............................................................................................................. 33 Ilustrao 24: Edio de Atributos do bloco Data ............................................................................ 34 Ilustrao 25: Edio de Atributos do bloco Importar Dados ............................................................. 35 Ilustrao 26: Edio de Atributos do bloco Sries .......................................................................... 36 Ilustrao 27: Edio de Atributos do bloco Criar Documento ........................................................... 37 Ilustrao 28: Edio de Atributos do bloco Abrir Processo ............................................................... 38 Ilustrao 29: Edio (tipo 1) de Atributos do bloco Pesquisa de Processo .......................................... 39 Ilustrao 30: Edio (tipo 2) de Atributos do bloco Pesquisa de Processo .......................................... 39 Ilustrao 31: Edio de Atributos do bloco Muda Processo .............................................................. 40 Ilustrao 32: Edio de Atributos do bloco Muda Processo com Utilizador ......................................... 41 Ilustrao 33: Edio de Atributos do bloco Detalhe de Processo ...................................................... 43 Ilustrao 34: Edio de Atributos do bloco SQLSelect ..................................................................... 45 Ilustrao 35: Edio de Atributos do bloco SQLInsert ..................................................................... 45 Ilustrao 36: Edio de Atributos do bloco SQLUpdate ................................................................... 46 Ilustrao 37: Edio de Atributos do bloco SQLDelete .................................................................... 46 Ilustrao 38: Edio de Atributos do bloco SQLBatchInsert ............................................................. 47 Ilustrao 39: Edio de Atributos do bloco SQLBatchUpdate ........................................................... 48 Ilustrao 40: Edio de Atributos do bloco Email (mensagem) ........................................................ 49 Ilustrao 41: Edio de Atributos do bloco Email (template) ........................................................... 50 Ilustrao 42: Edio de Atributos do bloco Email (parte 1) .............................................................. 51 Ilustrao 43: Edio de Atributos do bloco Email (parte 2) .............................................................. 51 Ilustrao 44: Edio de Atributos do bloco Email para Intervenientes ............................................... 52 Ilustrao 45: Edio de Atributos do bloco SMS para Perfil.............................................................. 53 Ilustrao 46: Edio de Atributos do bloco SMS para Perfil.............................................................. 53 Ilustrao 47: Edio de Atributos do bloco Notificao ................................................................... 54 Ilustrao 48: Edio de Atributos do bloco NOP ............................................................................. 55 Ilustrao 49: Edio de Atributos do bloco Evento ......................................................................... 56 Ilustrao 50: Edio de Atributos do bloco WebServices (Propriedades) ........................................... 57 Ilustrao 51: Edio de Atributos do bloco WebService (Mapeamento Input) ..................................... 58 Ilustrao 52: Edio de Atributos do bloco WebService (Mapeamento Output) .................................. 58 Ilustrao 53: Edio de Atributos do bloco Report .......................................................................... 59 Ilustrao 54: Edio de Atributos do bloco Obter Documento .......................................................... 60 Ilustrao 55: Edio de Atributos do bloco Inserir Documento ......................................................... 61 Ilustrao 56: Edio de Atributos do bloco Listar Documentos (parte 1) ........................................... 62 Ilustrao 57: Edio de Atributos do bloco Listar Documentos (parte 2) ........................................... 62 Ilustrao 58: Edio de Atributos do bloco Listar Pastas (parte 1) .................................................... 63 Ilustrao 59: Edio de Atributos do bloco Listar Pastas (parte 2) .................................................... 63 Ilustrao 60: Edio de Atributos do bloco Apagar Documento ........................................................ 64 Ilustrao 61: Envio de Fluxo ....................................................................................................... 69 Ilustrao 62: Download de Fluxo ................................................................................................. 69
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
Ilustrao 63: rea de Administrao do iFlow ............................................................................... 70 Ilustrao 64: Inicializao das variveis para o grfico do tipo Pie ................................................... 72 Ilustrao 65: Edio de atributos do campo Grfico para o tipo Pie .................................................. 72 Ilustrao 66: Exemplo de Pie Chart.............................................................................................. 73 Ilustrao 67: Inicializao das variveis para o grfico do tipo Bar ................................................... 74 Ilustrao 68: Edio de atributos do campo Grfico para o tipo Bar ................................................. 74 Ilustrao 69: Bar Chart .............................................................................................................. 75 Ilustrao 70: Stacked Chart ........................................................................................................ 75
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 2
1 Introduo
O FlowEditor a ferramenta associada ao iFlow que permite criar e editar os fluxos de processo.
Um fluxo composto por um conjunto de blocos funcionais, interligados entre si, no qual os dados do
processo circulam e so processados.
Este documento um manual de utilizador do FlowEditor, com o objectivo de apoiar o utilizador na
construo e manuteno de fluxos iFlow.
2 Conceitos Bsicos
Para se utilizar o FlowEditor necessrio dominar alguns conceitos bsicos da sua utilizao, que sero
descritos seguidamente.
2.1 Fluxos
Um fluxo uma sequncia de blocos funcionais organizados para executar as tarefas de um processo. Um
fluxo o desenho de um processo.
No editor compem-se os fluxos que sero executados (instanciados em processos) no iFlow.
2.2 Blocos Funcionais
Um bloco funcional a representao de uma funcionalidade que ser executada quando o processo
passar pelo estado que lhe corresponde. Os blocos podem ter ou no interaco com o utilizador, ou seja,
corresponder a tarefas manuais ou automticas. Um exemplo de um bloco com interaco o Bloco
Formulrio e um exemplo de um bloco sem interaco o Bloco Notificao. Os blocos podem ser
entendidos como estados de uma mquina de estados.
Os blocos so caracterizados por um conjunto de parametrizaes, uma funcionalidade intrnseca e um
conjunto de portos de entrada, sada ou evento.
2.2.1 Portos
Os portos podem so de 3 grandes tipos distintos:
Entrada o porto de entrada o ponto onde o processo transita para o bloco dando incio ao seu
processamento;
Sada um porto de sada serve como ponto de transio de um bloco para o bloco seguinte no
fluxo ou estado seguinte na mquina de estados quando aquele termina o processamento;
Evento associado a um conjunto restrito de blocos, um porto evento um porto que serve para
alterar o fluxo normal de um processo pela ligao a um bloco evento. Quando o evento do bloco
despoletado, o fluxo desviado por esse porto, em vez de utilizar a sada normal;
Normalmente os blocos tm um porto de entrada, um ou nenhum porto de evento e um ou mais portos
de sada, que dependem do resultado da execuo do bloco. Existem excepes a estas regras que so
explicadas mais adiante no documento.
Os portos de entrada esto sempre do lado esquerdo dos blocos, os portos de sada do lado direito e os
portos de evento em baixo (na verdade podem ser definidos blocos com outra configurao, mas a boa
prtica utilizar a regra definida, como o caso em todos os blocos das bibliotecas base entregues com
o iFlow).
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 3
2.2.1.1 Tipos de Portos de Sada
Existem vrios tipos de blocos se sada que podem coexistir num determinado bloco. Os trs tipos de
sada mais tpicos so:
Porto de Sada Normal - porto por onde sai o processo quando a execuo do bloco termina como
esperada. Num processo a funcionar normalmente ser o tipo de portos mais activados;
Porto de Sada Vazia em alguns blocos como por exemplo o SQL Select ou o Escalar
Hierarquicamente h situaes que se pretendem distinguir como excepes, mas que no so
erro. No primeiro caso temos por exemplo uma query que no retorna resultados e no segundo o
caso em que o utilizador j est no topo da hierarquia. Nestes blocos existe uma sada vazia,
para indicar estas situaes;
Porto de Sada de Erro quando a execuo de um bloco no ocorre como esperado por motivo
de erro interno, ou porque foi mal parametrizado, ou porque no foi possvel estabelecer algum
tipo de ligao externa, como por exemplo a uma base de dados, ou por qualquer outro motivo, a
sada de um bloco d-se pelo porto de sada de erro;
A distribuio dos portos de sada nos blocos varia, mas h uma regra que utilizada de forma genrica,
a saber:
Nos blocos com 1 porto de sada, a sada a normal;
Nos blocos com 2 portos de sada:
o A primeira a normal e a segunda de erro (caso mais comum);
o Ou a primeira e a segunda so normais alternativas (caso do Bloco Condio);
Nos blocos com 3 portos de sada:
o A primeira normal, a segunda vazia e a terceira de erro (caso mais comum);
o Ou as duas primeiras so normais e a terceira de erro (caso do Bloco Bifurcao);
2.2.2 Blocos Como Plugins
Os blocos so plugins do FlowEditor, ou seja, possvel acrescentar novos blocos desenvolvidos com base
na API iFlowBlocks e carregados no repositrio da aplicao. O desenvolvimento de blocos uma
funcionalidade avanada que est fora do mbito deste documento.
2.3 Conectores de Blocos
Os blocos interligam-se atravs de conectores. Na lgica do iFlow, os conectores no tm estado nem
propriedades, apenas servindo para indicar o caminho a seguir pelo processo entre os blocos. Um
conector liga sempre um porto de sada de um bloco a um porto de entrada de outro bloco ou um porto
de evento a um bloco Evento (neste caso o conector indicado a tracejado para se distinguir dos
conectores ditos normais).
2.3.1 Ligao de Blocos atravs de conectores
Para ligar um bloco a outro basta simplesmente pressionar o boto esquerdo do rato em cima de um
porto de sada ou evento de um bloco, arrastar o rato e largar em cima de um porto de entrada.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 4
2.4 Variveis de Processo
Um processo caracterizado por um estado, representado em cada momento pelo bloco em execuo e
pelos dados que o compe. No iFlow, aos dados de processo d-se o nome de variveis. Cada varivel
representa um pedao de informao do processo. Existem variveis de vrios tipos como texto,
numricas ou documentos, cada um dos tipos com as suas caractersticas.
As variveis de processo so declaradas e configuradas no Catlogo de Variveis que existe no bloco
Incio, disponvel em todos os fluxos.
2.4.1 Variveis Pr-definidas
Existe um conjunto de variveis pr-definidas que esto disponveis no catlogo assim que um fluxo
criado. Estas variveis podem ser utilizadas em conjunto com as que forem definidas pelo utilizador, com
a nica distino que no podem ser removidas nem alteradas.
2.5 Sintaxe de Parametrizao
Um dos conceitos mais importantes no desenho de fluxos para o iFlow o tipo de sintaxe que deve ser
utilizada na parametrizao dos blocos, nomeadamente nos campos de preenchimento livre.
Os campos de preenchimento livre, na maioria dos casos comportam um conjunto limitado de tipos de
contedo, discriminados da seguinte forma:
Varivel Nos campos do editor de formulrios ou no Bloco Cpia, por exemplo, h campos cujo
contedo deve ser simplesmente uma varivel do processo, necessariamente definida no catlogo
de variveis;
Texto Alguns campos devero ser preenchidos com texto que ser apresentado tal e qual for
escrito. So exemplos o campo cabealho no formulrio ou o nome de uma coluna nas tabelas do
formulrio;
Condio Os campos condio so campos cujo contedo deve ser uma expresso que se avalia
como verdadeira ou falsa;
Expresso O tipo expresso permite a utilizao de texto, variveis e at condies na sua
construo, cujo resultado deve ser um texto dinmico, por substituio das variveis e condies
na execuo. Este de longe o tipo mais comum na parametrizao de blocos do editor. Em caso
de no ser expressa ou bvia a utilizao de outro tipo, este deve ser considerado;
Os tipos: varivel, condio e expresso tm uma sintaxe prpria.
2.5.1 Sintaxe do tipo varivel
As variveis so sempre referenciadas pelo nome que est no catlogo. Existe apenas uma situao
especial, que so os tipos Lista. Neste caso h situaes em que se pretende a utilizao de toda a lista,
como no caso das colunas nas tabelas, mas h situaes em que se pretende aceder a um elemento da
lista. Neste caso devem ser utilizados parnteses rectos [ e ] com indicao da posio na lista, que
comea em 0. Por exemplo, se existir uma varivel do tipo TextArray com o nome lista_de_nomes e
pretendermos aceder 3 posio na lista a sintaxe :
lista_de_nomes[2]
O valor obtido sempre do tipo simples equivalente, neste caso, Text.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 5
2.5.2 Sintaxe do tipo condio
A sintaxe do tipo condio a de uma expresso booleana Java. A sua utilizao normal apenas exige um
conhecimento bsico que permita comparar valores.
Nos tipos numricos a comparao faz-se usando os operadores == ou !=, para testar a igualdade ou
diferena respectivamente ou os operadores >, = ou 20
2.5.3 Sintaxe do tipo expresso
As expresses de texto tm uma sintaxe prpria baseada no Java. Uma expresso, no contexto do
FlowEditor, um texto associado a variveis cuja substituio em tempo de execuo produz um
resultado especfico.
A combinao de texto e variveis utiliza expresses de texto delimitadas por aspas, variveis
representadas pelo seu nome e o operador de concatenao +, semelhana da sintaxe Java para
concatenao de Strings.
2.5.3.1 Exemplo de utilizao
Num exemplo prtico de utilizao em que existe a varivel nome e pretendemos criar como resultado o
texto: O nome do cliente seguido do valor de nome, deve ser usada a expresso:
O nome do cliente + nome
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 6
3 Utilizao do Editor
3.1 Edio de Blocos
A edio de blocos faz-se por duplo clique do rato em cima do bloco. Esta aco abre para cada bloco um
editor de parametrizao especfico ao tipo de bloco.
Atravs de um menu contextual, pressionando com o boto direito do rato h ainda as opes de alterar
o nome do bloco (nome de apresentao no editor), remover o bloco, duplicar o bloco ou copiar para
outro fluxo.
3.1.1 Parametrizaes Comuns
Grande parte dos blocos tem no topo dois campos para preenchimento livre:
Descrio;
Descrio do Resultado;
Ambos os campos podem ser preenchidos (opcional mas recomendado) com expresses para gerao de
um texto dinmico.
O texto do campo Descrio ser usado para apresentao do estado actual do processo na interface do
iFlow, como por exemplo na gesto de tarefas pendentes ou na pesquisa. A utilizao de expresses
dinmicas permite apresentar em formato texto dados relevantes do processo para quem v as listagens,
como por exemplo o nome de um cliente, ou um nmero de contribuinte.
O texto do campo Descrio do Resultado ser usado no histrico do processo. A utilizao de
informao relevante permite ter mais informao na consulta de histrico.
4 Bibliotecas e os seus principais Blocos
Para utilizar o FlowEditor essencial uma boa compreenso do funcionamento dos blocos funcionais.
Os blocos esto agrupados em bibliotecas de acordo com as suas caractersticas.
Na Ilustrao 1: Alguns Blocos do Editor esto representados os principais blocos disponveis.
Ilustrao 1: Alguns Blocos do Editor
4.1 Biblioteca Bsica
Na biblioteca bsica agrupa-se o conjunto de blocos das funcionalidades bsicas, tipicamente os mais
usados num fluxo, desde os blocos de inicio e fim do fluxo, aos blocos para introduo de dados e
validao dos mesmos, passando pelos blocos lgicos.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 7
4.1.1.1 Bloco Incio
Configurao
O Bloco Incio o bloco no qual todos os processos se iniciam. Nele possvel criar propriedades e
variveis do fluxo. Este bloco especial no sentido em que apenas pode existir um em cada fluxo e a sua
parametrizao a parametrizao de todo o fluxo.
Catlogo de Variveis: no Catlogo de Variveis possvel definir novas variveis para utilizar ao
longo do ciclo de vida do fluxo, sendo definidas por: designao, valor inicial, tipo de dados,
pesquisvel, nome pblico e formato. A declarao das variveis obrigatria no catlogo antes
de poderem ser utilizadas, sob pena de ocorrerem erros na execuo dos processos.
O catlogo apresenta tambm variveis de sistema com potencial utilidade para o
desenvolvimento dos fluxos (estas variveis no podem ser removidas), tais como o identificador
do utilizador que se encontra a executar o processo, o seu nome, o identificador do fluxo em
execuo, o identificador do processo, o nmero do processo, entre outras.
As variveis podem ser do tipo: Text, Integer, Float, Date, TextArray, IntegerArray, FloatArray,
DateArray e Document. O valor inicial dependente do tipo configurado. As variveis podem ser
inicializadas no catlogo.
Propriedades Fluxo: configurveis a posteriori na aplicao iFlow (rea de Administrao), que
podem ser utilizadas nos diversos blocos. Estas propriedades podem ser simples (par
propriedade/valor), funcionando na prtica como uma varivel do processo, ou listas. A grande
diferena entre as propriedades e as variveis que as propriedades so inicializadas com os
valores configurados na plataforma/instalao (run-time), ao passo que as variveis so
inicializadas com valores definidos no fluxo (design-time), o que permite executar o mesmo fluxo
em duas instalaes distintas com valores diferentes para as suas propriedades;
Incio Mail: permite configurar o mapeamento dos atributos presentes no email para inicio
automtico de processos (a configurao efectuada nas propriedades dos fluxos);
Detalhe: permite configurar se o fluxo tem detalhe e qual o nvel de detalhe pretendido: default,
em que o detalhe consiste na apresentao das variveis com nome pblico configurado no
catlogo e formulrio, em que o detalhe totalmente parametrizado atravs de um formulrio
dedicado. Em tempo de execuo, o detalhe de um processo pode ser consultado atravs das
pesquisas ou da utilizao do bloco Detalhe de Processo.
De referir que, sendo este o ponto de partida para cada fluxo, s poder existir um bloco inicio e este j
est presente quando se cria um novo processo.
Entradas
O Bloco Incio no tem portos de entrada.
Sadas
Bloco Incio tem apenas uma sada que corresponde ao incio do fluxo.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 8
4.1.1.2 Bloco Fim
Configurao
O Bloco Fim serve para terminar o processo. Ao contrrio do Bloco Incio, pode existir mais que um Bloco
Fim. possvel configurar a mensagem (expresso) a apresentar ao utilizador quando o processo
termina.
Entradas
O Bloco Fim tem uma entrada normal.
Sadas
O Bloco Fim no tem sadas. Ao terminar o seu processamento o processo termina.
4.1.1.3 Bloco Beanshell (Tarefa)
Configurao
O bloco BeanShell representa uma tarefa e permite efectuar processamento de cdigo Java arbitrrio
sobre o processo, usando uma biblioteca ligeiramente alterada da biblioteca BeanShell
(http://www.beanshell.org). Neste bloco, a nica configurao necessria corresponde ao cdigo Java
que se pretende executar. De notar que as variveis de processo definidas no catlogo devem ter o
prefixo _, ou seja, se se pretender usar a varivel do processo telefone no cdigo deste bloco, deve-
se utilizar _telefone. Para variveis definidas apenas no mbito do bloco no necessrio o uso do
mesmo prefixo. O tipo da varivel na execuo do beanshell o tipo definido no catlogo no bloco Incio
(por exemplo, java.util.Date para variveis do tipo Date, java.lang.String para variveis do tipo Text,
java.lang.String[] para variveis do tipo TextArray, pt.iflow.connector.document[] para variveis do tipos
Document, etc).
Relativamente ao tipo Document, existente s no iFlow, existe a seguinte interface que pode ser utilizada
para obter informao de um documento:
public int getDocId();
public String getFileName();
byte[] getContent();
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 9
Ilustrao 2: Exemplo do uso do bloco Beanshell
Entradas
O Bloco BeanShell tem uma entrada normal.
Sadas
O Bloco BeanShell tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.1.1.4 Bloco SubFluxo (Subprocesso)
Configurao
O bloco SubFluxo permite executar um novo e diferente fluxo dentro do fluxo actual, permitindo tambm
mapear variveis do fluxo principal para o novo fluxo (subfluxo). No fim do subfluxo, o focus retorna ao
fluxo principal ou no, dependendo da configurao efectuada ao bloco. Existe tambm a possibilidade de
no fim do subfluxo as variveis do mesmo serem mapeadas para variveis do fluxo principal.
Ilustrao 3: Edio de Atributos do bloco SubFluxo (parte 1)
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 10
A configurao deste fluxo passa pela edio de 3 quadros distintos. No primeiro quadro (Ilustrao 3:
Edio de Atributos do bloco SubFluxo (parte 1)) necessrio definir qual o subfluxo que se pretende
instanciar, se se pretende manter no fim do mesmo as actividades do fluxo original e se pretende bifurcar
o processo, passando assim a existir dois processos distintos, um que executa o fluxo principal, outro que
executa o subfluxo. No segundo quadro (Ilustrao 4: Edio de Atributos do bloco SubFluxo (parte 2))
so definidas as variveis que iro ser mapeadas do fluxo principal para o subfluxo, a 1 coluna com as
variveis do fluxo principal a mapear e na segunda coluna as variveis do subfluxo correspondentes.
Finalmente, no terceiro quadro (Ilustrao 5: Edio de Atributos do bloco SubFluxo (parte 3)) so
definidas as variveis que iro ser mapeadas do subfluxo para o subfluxo principal, a 1 coluna com as
variveis do fluxo principal que iro receber os valores e na segunda coluna as variveis do subfluxo
correspondentes.
Ilustrao 4: Edio de Atributos do bloco SubFluxo (parte 2)
Ilustrao 5: Edio de Atributos do bloco SubFluxo (parte 3)
Entradas
O Bloco SubFluxo tem uma entrada normal.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 11
Sadas
O Bloco SubFluxo tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.1.1.5 Bloco Condio (Gateway Exclusiva)
Configurao
O Bloco Condio permite validar uma condio (a colocar no campo Valor) e com base num resultado
verdadeiro ou falso optar por uma das sadas, seguindo por um ramo diferente do fluxo.
de certa forma similar ao de Validaes, na medida em que tambm se configura uma condio e a sua
avaliao decide o caminho a seguir.
Ilustrao 6: Edio de Atributos do bloco Condio
Entradas
O Bloco Condio tem uma entrada normal.
Sadas
O Bloco Condio tem duas sadas: a primeira a sada Verdadeiro e a segunda a sada Falso.
Se a condio tiver como resultado Verdadeiro o processo segue pelo porto Verdadeiro; caso
contrrio, sai pelo porto inferior Falso.
O bloco Condio tipicamente utilizado para escolher ramos distintos do fluxo baseados em avaliao de
dados do processo, como por exemplo a avaliao do tipo de processo ou documento.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 12
4.1.1.6 Bloco Bifurcao (Gateway Paralela Bifurcao)
Configurao
O bloco Bifurcao permite bifurcar o processo actual em dois sub-processos, permitindo a execuo
paralela de actividades. No tem qualquer parametrizao.
Quando o processo se separa em dois sub-processos paralelos so criados dois conjuntos distintos de
dados, que podero ser e normalmente so diferentes. Em cada ramo sero apresentados e considerados
os dados que lhe correspondem.
Entradas
O Bloco Bifurcao tem uma entrada normal.
Sadas
O Bloco Bifurcao tem trs sadas: as duas primeiras so as sadas paralelas, uma para cada sub-
processo e a terceira a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.1.1.7 Bloco Sincronizao (Gateway Paralela Sincronizao)
Configurao
O Bloco Sincronizao serve para juntar num s, dois ramos de sub-processos distintos. Na sincronizao
o utilizador deve parametrizar neste bloco de que modo a sincronizao se faz.
No DataSet Principal define-se qual o conjunto de dados primrio, ou seja, qual o sub-processo
principal. No Tipo de agendamento define-se em que utilizadores deve ser agendado o processo,
considerando agendamentos diferentes nos dois ramos.
Em baixo indicam-se quais as variveis importantes do sub-processo secundrio, ou seja, quais devem
ser incorporadas e consideradas no processo principal (eventualmente neste tero valores diferentes
adquiridos num ramo paralelo diferente).
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 13
Ilustrao 7: Edio de Atributos do bloco Sincronizao
Entradas
O Bloco Sincronizao tem duas entradas, s quais devem ser ligados os ramos dos sub-processos
criados com a Bifurcao.
Sadas
O Bloco Sincronizao tem apenas uma sada, que a do processo aps juno dos dois ramos.
4.1.1.8 Bloco Juno Exclusiva (Gateway Exclusiva Sincronizao)
Configurao
No bloco Juno Exclusiva ligam-se dois ramos de sub-processos diferentes. Com este bloco a juno de
sub-processos no se faz. O primeiro a chegar ao bloco segue como processo principal enquanto o outro
ramo descartado. Utiliza-se quando h caminhos paralelos alternativos para o mesmo objectivo.
Entradas
O Bloco Juno Exclusiva tem duas entradas, s quais devem ser ligados os ramos dos sub-processos
criados com a Bifurcao.
Sadas
O Bloco Juno Exclusiva tem apenas uma sada, que a do processo que continua de um dos sub-
processos.
4.2 Biblioteca Perfis
Conjunto de blocos de acesso informao de utilizadores, perfis e estruturas organizacionais, de forma
transparente ao utilizador que modela o processo (o utilizador no necessita saber se a gesto de
utilizadores feita em base de dados, LDAP ou AD) e ainda de blocos para encaminhamento de processos
para um ou vrios utilizadores ou para o superior hierrquico.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 14
4.2.1.1 Bloco Obter Info Utilizador
Configurao
Neste bloco possvel configurar a varivel com o utilizador para o qual se vai obter dados e efectuar o
mapeamento entre a informao disponvel e as variveis do processo que iro guardar esses dados (na
coluna Value), como se ilustra na Ilustrao 8: Edio de Atributos do bloco Obter Info Utilizador (no
definindo varivel para dados que no sejam necessrios ou que no se pretendam obter). A coluna de
Input define qual a varivel usada pelo bloco para servir de chave de pesquisa.
Ilustrao 8: Edio de Atributos do bloco Obter Info Utilizador
Entradas
O Bloco Obter Info Utilizador tem uma entrada normal.
Sadas
O Bloco Obter Info Utilizador tem duas sadas: a primeira sada a sada normal, a segunda a sada de
erro.
A sada de erro utilizada quando no possvel obter informao do utilizador por erro ou m
configurao.
4.2.1.2 Bloco Enviar Para
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 15
Configurao
O bloco Enviar Para serve para fazer o reencaminhamento do processo para um utilizador ou utilizadores
das seguintes formas (seleccionadas no Tipo):
Por username especfico - Neste caso o campo Utilizador deve ser preenchido com um nome
(ID) de utilizador vlido (Ilustrao 9: Edio de atributos por Utilizador).
Por perfil - para um perfil (grupo de utilizadores com uma determinada caracterstica)
seleccionado de uma lista dos existentes (Ilustrao 10: Edio de atributos por Perfil) ;
Por perfil dinmico - perfil definido em texto (neste caso o valor do perfil expresso e til para
quando o perfil destino dinmico e definido ao longo do processo) e no por seleco
(Ilustrao 11: Edio de atributos por Perfil Texto);
Ilustrao 9: Edio de atributos por Utilizador
Ilustrao 10: Edio de atributos por Perfil
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 16
Ilustrao 11: Edio de atributos por Perfil Texto
Entradas
O Bloco Enviar Para tem uma entrada normal.
Sadas
O Bloco Enviar Para tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada quando no possvel encaminhar o processo para o utilizador ou utilizadores
(perfil) seleccionados.
4.2.1.3 Bloco Escalar Hierarquicamente
Configurao
O bloco Escalar Hierarquicamente serve para fazer o reencaminhamento do processo para o superior
hierrquico do utilizador detentor do processo (no configurvel) e funciona da mesma forma que o
Enviar Para.
Entradas
O Bloco Escalar Hierarquicamente tem uma entrada normal.
Sadas
O Bloco Escalar Hierarquicamente tem trs sadas: a primeira sada a sada normal, a segunda a sada
vazia e a terceira a sada de erro.
A sada vazia utilizada quando o utilizador no tem superior hierrquico definido.
A sada de erro utilizada quando no possvel encaminhar o processo para o superior apesar de este
existir.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 17
4.2.1.4 Bloco Obter Superior Hierrquico
Configurao
O bloco Obter Superior Hierrquico permite obter o ID de utilizador do superior hierrquico para o
utilizador configurado (no atributo User, coluna Valor, atravs de uma varivel de processo) para a
varivel configurada no atributo UserUpVarName. Caso sejam necessrios mais dados sobre o(s)
superior(es) hierrquico(s), dever conjugar-se este bloco com o bloco Obter Info Utilizador j descrito
anteriormente.
Ilustrao 12: Obter Superior Hierrquico
Na figura, a parametrizao apresentada atribui varivel userup o ID de utilizador do superior
hierrquico do utilizador indicado por userid.
Entradas
O Bloco Obter Superior Hierrquico tem uma entrada normal.
Sadas
O Bloco Obter Superior Hierrquico tem duas sadas: a primeira sada a sada normal, a segunda a
sada de erro.
A sada de erro utilizada quando no possvel obter informao sobre o superior do utilizador
configurado.
4.2.1.5 Blocos Est nos Perfis
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 18
Configurao
Este bloco permite verificar se o utilizador que executa o processo tem um determinado perfil. Essa
verificao s ser analisada caso a condio expressa em cada uma das linhas se verifique (nas
ilustraes, ao especificar true na condio, o teste ao perfil sempre executado). Esta condio pode
ser til se se pretender verificar o perfil mediante algumas condies decorrentes do prprio processo.
O perfil a testar em cada linha seleccionado recorrendo a uma lista de seleco com os perfis
existentes.
O bloco suporta diversos testes de perfil que so todos avaliados.
A mensagem de erro fica associada ao processo e ser apresentada no prximo formulrio em que o
processo parar.
Ilustrao 13: Edio de Atributos do bloco Est nos Perfis
Entradas
O Bloco Est nos Perfis tem uma entrada normal.
Sadas
O Bloco Est nos Perfis tem duas sadas: a primeira sada a sada Verdadeiro, a segunda a sada
Falso.
A sada de Verdadeiro utilizada quando o utilizador est num dos perfis listados.
A sada de Falso utilizada quando o utilizador no est em nenhum dos perfis listados ou ocorre um
erro interno do bloco.
4.2.1.6 Blocos Est nos Perfis e Est nos Perfis Texto
Configurao
A nica diferena para o bloco Est nos Perfis consiste na configurao do campo Perfil, que de
preenchimento manual no caso do Est nos Perfis Texto (avaliado como uma expresso).
A janela de edio para uma regra de exemplo encontra-se ilustrada na Ilustrao 14: Edio de
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 19
Atributos do bloco Est nos Perfis Texto.
Ilustrao 14: Edio de Atributos do bloco Est nos Perfis Texto
Entradas
O Bloco Est nos Perfis Texto tem uma entrada normal.
Sadas
O Bloco Est nos Perfis Texto tem duas sadas: a primeira sada a sada Verdadeiro, a segunda a
sada Falso.
A sada de Verdadeiro utilizada quando o utilizador est num dos perfis listados.
A sada de Falso utilizada quando o utilizador no est em nenhum dos perfis listados ou ocorre um
erro interno do bloco.
4.2.1.7 Bloco Obter Info Unidade Orgnica
Configurao
O bloco Obter Info Unidade Orgnica obtm dados de uma dada Unidade Organizacional. O seu
funcionamento similar ao bloco Obter Info Utilizador descrito anteriormente, variando apenas o tipo
de dados disponvel j que se trata de unidades organizacionais e no utilizadores.
Entradas
O Obter Info Unidade Orgnica tem uma entrada normal.
Sadas
O Bloco Obter Info Unidade Orgnica tem duas sadas: a primeira sada a sada normal, a segunda a
sada de erro.
A sada de erro utilizada quando no possvel obter informao da unidade orgnica por erro ou m
configurao.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 20
4.2.1.8 Bloco Obter Unidade Orgnica Acima
Configurao
O bloco Obter Unidade Orgnica Acima obtm o mesmo tipo de dados que o bloco Obter Info Unidade
Orgnica, mas para a unidade organizacional superior (em termos hierrquicos) qual o utilizador actual
do processo se insere.
Entradas
O Obter Info Unidade Orgnica Acima tem uma entrada normal.
Sadas
O Bloco Obter Info Unidade Orgnica Acima tem duas sadas: a primeira sada a sada normal, a
segunda a sada de erro.
A sada de erro utilizada quando no possvel obter informao da unidade orgnica por erro ou m
configurao.
4.2.1.9 Bloco Verificar Autenticao
Configurao
O bloco Verificar Autenticao utilizado para autenticar um utilizador no decorrer de um processo,
podendo ser qualquer utilizador, no apenas o que est activo no momento.
O bloco parametrizado com duas variveis, em que uma dever conter um ID de utilizador e a outra
uma palavra passe, inserida num formulrio, por exemplo, conforme Ilustrao 15: Edio de Atributos
do bloco Verificar Autenticao.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 21
Ilustrao 15: Edio de Atributos do bloco Verificar Autenticao
Entre utilizaes possveis esto o reforo de segurana num passo sensvel de um processo, em que
necessrio garantir que quem submete realmente quem est a ver a informao, ou por exemplo,
quando se faz uma acta em que todos os participantes devem assinar (neste caso a password dever
servir em vez da assinatura).
Entradas
O bloco Verificar Autenticao tem uma entrada normal.
Sadas
O Bloco Verificar Autenticao tem duas sadas: a primeira sada a sada Sucesso, a segunda a sada
Insucesso.
A sada Sucesso utilizada quando a autenticao com o par ID de utilizador e palavra passe d um
resultado positivo, seno utilizada a sada Insucesso.
4.2.1.10 Bloco Obter Utilizadores do Perfil
Configurao
Este bloco utilizado para obter informao dos utilizadores que estejam num determinado Perfil.
No campo Perfil dever ser introduzida uma varivel com cujo contedo o nome do Perfil pretendido.
Nos campos abaixo, coluna varivel, devero ser preenchidas variveis do tipo lista de textos
(TextArray) onde ficaro guardadas as informaes dos utilizadores obtidos, um pouco semelhana do
que acontece para o bloco Obter Info Utilizador, com a diferena que neste caso so vrios utilizadores.
Na Ilustrao 16: Edio de Atributos do bloco Obter Utilizadores do Perfil podemos ver um exemplo de
configurao.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 22
Ilustrao 16: Edio de Atributos do bloco Obter Utilizadores do Perfil
Entradas
O Bloco Obter Utilizadores do Perfil tem uma entrada normal.
Sadas
O Bloco Obter Utilizadores do Perfil tem duas sadas: a primeira sada a sada normal, a segunda a
sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.2.1.11 Bloco Obter Perfis do Utilizador
Configurao
Este bloco complementar do Bloco Obter Utilizadores do Perfil permitindo obter a lista de Perfis em
que o utilizador est presente. No campo ID do utilizador introduzido o utilizador pretendido e na
varivel Perfis do utilizador configura-se a varivel destino (que ser do tipo TextArray), como podemos
visualizar na ilustrao seguinte.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 23
Ilustrao 17: Edio de Atributos do bloco Obter Perfis do Utilizador
No caso exemplificado a varivel user_profiles do tipo TextArray fica com a lista de perfis a que o
utilizador representado por userid pertence.
Entradas
O Bloco Obter Perfis do Utilizador tem uma entrada normal.
Sadas
O Bloco Obter Perfis do Utilizador tem duas sadas: a primeira sada a sada normal, a segunda a
sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.2.1.12 Bloco Obter Dono da Delegao
Configurao
Permite obter o dono da tarefa que foi delegada ao utilizador definido.
Ilustrao 18: Edio de Atributos do bloco Obter Dono da Delegao
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 24
Este bloco til para manter o fluxo original de um processo quando por razes de delegao de tarefas
um utilizador que est fora da hierarquia normal executa tarefas no processo.
Entradas
O Bloco Obter Dono da Delegao tem uma entrada normal.
Sadas
O Bloco Obter Dono da Delegao tem duas sadas: a primeira sada a sada normal, a segunda a
sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.2.1.13 Bloco Obter Substituto da Delegao
Configurao
Complementar ao bloco Obter Dono da Delegao permite obter o utilizador a quem foi delegada uma
tarefa a partir do dono original da mesma.
Ilustrao 19: Edio de Atributos do bloco Obter Substituto da Delegao
Entradas
O Bloco Obter Substituto da Delegao tem uma entrada normal.
Sadas
O Bloco Obter Substituto da Delegao tem duas sadas: a primeira sada a sada normal, a segunda
a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 25
4.3 Biblioteca Utils
Na biblioteca Utils encontra-se um conjunto diverso de blocos utilitrios para todo o gnero de fluxos.
4.3.1.1 Bloco Formulrio
Configurao
O Bloco Formulrio serve, como o prprio nome indica, para criar formulrios e o bloco de
parametrizao mais complexa, com um editor prprio e distinto de outros blocos. O Bloco Formulrio o
principal bloco de interaco com o utilizador.
No formulrio, possvel definir que campos e botes o compe, qual a sua disposio e qual o estilo
(stylesheet) a aplicar, como se pode observar na Ilustrao 20: Bloco Formulrio.
Ilustrao 20: Bloco Formulrio
Na figura apresentado o editor de formulrios. Em cima esto as parametrizaes do bloco que
incluem:
Descrio e Descrio do Resultado, comuns a vrios blocos e descritas em captulo prvio do
documento;
Stylesheet as stylesheets so modelos ou templates de apresentao, em formato XSLT, e
servem para definir qual o aspecto da apresentao de cada formulrio num browser. Numa lista
so apresentadas todas as sylesheets disponveis. No havendo escolha utilizada a stylesheet
parametrizada para o fluxo nas propriedades do fluxo (no iFlow separador Admin, opo Fluxos) e
caso esta no esteja definida, a stylesheet default da organizao; No editor apenas se
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 26
configuram os campos, separadores e botes e a sua ordem de apresentao;
Stylesheet de impresso do mesmo modo que a sylesheet de apresentao, a stylesheet de
impresso o modelo de impresso associado ao formulrio, neste caso em formato FO
(formatting objects) e que dever ser pr-carregado (no iFlow separador Admin). Quando for
pressionado o boto Imprimir gerado um ficheiro PDF a partir do modelo com substituio dos
dados do processo.Se no for escolhido um modelo, a impresso ser a impresso normal do
browser.
Avanar quando Submeter Formulrio A escolha desta opo implica que qualquer aco de
subisso do formulrio avana com o processo. Por exemplo uma lista de seleco com auto
submisso e que normalmente apenas altera os dados do formulrio mantm-se o processo no
mesmo estado, com esta opo, faz avanar o processo;
Lista dos campos So listados todos os campos que compem o formulrio, por ordem de
apresentao, com as opes do lado direito com os botes, pela seguinte ordem: mover para
cima, mover para baixo, remover, adicionar campo acima e editar. Para editar um campo pode
simplesmente clicar em cima da linha que lhe corresponde;
Botes em baixo esto representados os botes que iro ser apresentados aos utilizadores.
Com as opes adicionar boto pode inserir-se um novo boto. Os botes podem ser movidos
atravs das setas verdes e removidos com o boto -, ou adicionados com o boto +;
Cada campo do formulrio tem tambm um editor prprio para a sua parametrizao.
Os campos disponveis no formulrio so os seguintes:
Cabealho
Permite definir um texto para um cabealho do formulrio. Deve ser preenchido com texto simples;
Sub-Cabealho
Semelhante ao campo Cabealho, permite definir um texto, com a diferena de que deve ser preenchido
com uma expresso de texto dinmica;
Caixa de Texto
Permite criar uma caixa de texto no formulrio, definindo o texto, a varivel, o tipo de dados associado
varivel e os comprimentos da caixa e do campo;
Caixa de Password
Similar Caixa de Texto, no sendo possvel definir o tipo de dados associado varivel, que por ser uma
password, texto;
Tabela
Permite criar uma tabela, definindo para cada coluna, o nome associado a ela, a varivel, o tipo de dados
associado varivel, o alinhamento na clula, algumas propriedades extra para alguns tipos de dados e
ainda se um campo de sada (disabled/readonly). A varivel ter sempre de corresponder a uma lista,
quer do processo, quer de propriedades do fluxo, sendo que neste ltimo caso a varivel ter de ter o
prefixo @. Relativamente s propriedades extra, elas so importantes para os tipos de dados Check
Box, Radio Button, Link e Lista de Seleco, sendo as propriedades separadas por ,. Para o
primeiro Check Box, possvel definir as seguintes propriedades:
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 27
"textvar" com o nome da varivel com o texto a atribuir (ou acrescentar) varivel com o texto
associada a esta coluna. Essa varivel tem o mesmo nome da varivel associada coluna
acrescentada do sufixo "_text", ou seja, "_text" (em que o nome
atribudo varivel associada coluna). Esta configurao til para poder mostrar os valores
seleccionados num formato mais amigvel num campo doutro tipo (como por exemplo, uma
"Sada de Texto");
"textsep" com o separador a aplicar entre o texto de cada checkbox seleccionada na varivel
"_text" (em que o nome atribudo varivel associada coluna);
"checkedvalue" com o texto a atribuir varivel "_checkedtext" (em que
o nome atribudo varivel associada coluna). Esta configurao til para poder mostrar os
valores seleccionados num formato mais amigvel quando se est a exportar a tabela (para o
formato Microsoft Excel, por exemplo) ou noutra tabela com um formato mais simples.
Para o segundo tipo de dados, "Radio Button", s possvel definir as mesmas propriedades definidas no
tipo "Check Box" com a excepo de "textsep", j que este tipo exclusivo (s permite um valor
seleccionado). Para o terceiro e ltimo tipo, "Link", possvel definir as seguintes propriedades:
"text" com o texto do link;
"vardep" ( indica a dependncia e ter de ser no negativo) com as dependncias do
link. Por exemplo, se a varivel associada a esta coluna for "link", existirem as dependncias
"ardep0=flowid,vardep1=pid" e o link for seleccionado, passam a existir a varivel "link_flowid"
com o valor da dependncia "flowid" e a varivel "link_pid" com o valor da dependncia "pid".
Para o tipo de dados Caixa de Texto possvel definir as seguintes propriedades extra:
maxlength indica o nmero de colunas disponveis para escrita, por defeito a propriedade
apresenta o valor 20;
size indica o nmero de colunas disponveis visualmente, por defeito a propriedade apresenta o
valor 5;
dataType o tipo de dados pode ser definido explicitamente com os tipos de dados existentes no
iFlow: datatype=pt.iflow.api.datatypes.Text com as validaes implcitas;
Para o tipo de dados Lista de Seleco necessrio definir a descrio e o valor como Arrays (Listas),
semelhana do que sucede no campo Lista de Seleco definido aps a descrio do campo tabela
(Algumas definies so avanadas e implicam um bom conhecimento da API de desenvolvimento do
iFlow):
descriptions definio das descries a apresentar na lista de seleco presentes na tabela, esta
propriedade opcional, caso no seja indicada sero apresentados os valores definidos em
values. Os valores sero obrigatoriamente definidos numa varivel do tipo Array.
values definio dos valores registados. Os valores sero obrigatoriamente definidos numa
varivel do tipo Array
onchange Se o valor for igual a true (verdadeiro), o valor submetido no momento da
seleco.
value_feeder esta propriedade permite definir valores diferentes para cada posio do Array.
Para o seu correcto funcionamento basta criar uma classe Java que implemente a Interface
pt.iflow.api.datatypes.FormTableValueFeeder e definir as diferentes posies.
desc_feeder esta propriedade semelhante anterior indicando as descries a apresentar ao
utilizador, ser necessrio criar uma classe Java que implemente a Interface
pt.iflow.api.datatypes.FormTableValueFeeder e definir as diferentes posies. Esta propriedade
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 28
opcional, no entanto se no for definida, por omisso as descries sero idnticas ao
value_feeder.
ainda possvel definir, para este campo, a disponibilizao do servio de exportao, permitindo
exportar os seus dados, e/ou o servio de impresso, permitindo imprimir a tabela com a formatao
com que apresentada no formulrio.
Espao
Permite definir um espao entre campos com vrios tamanhos relativos;
Lista de Seleco
Permite definir uma lista de seleco, sendo possvel definir o texto, a varivel, se est disabled (campo
de sada) e as vrias opes. Aqui possvel definir opo a opo, ou ento definir uma varivel do tipo
lista, (prefixando o texto com $) ou ainda definir uma propriedade do fluxo (prefixando com @). De
notar que o valor a atribuir varivel definida o valor seleccionado pelo utilizador da coluna "Valor". No
entanto, criada uma outra varivel, de seu nome "_text" (em que o nome da
varivel associada Lista de Seleco), com o valor seleccionado pelo utilizador da coluna "Texto", de
modo a possuir um formato mais amigvel. Na Ilustrao 21: Lista de Seleco encontra-se a janela de
edio do campo Lista de Seleco, onde se pode observar a definio com a designao e respectivos
valores.
Ilustrao 21: Lista de Seleco
Sada de Texto
Permite mostrar em modo de texto o contedo de variveis, sendo possvel definir o texto, a varivel, o
tipo de dados associado varivel, oferece tambm a possibilidade de ocultar o campo caso da varivel
no possua valor.
rea de Texto
Permite definir uma rea de texto, sendo possvel definir o texto, a varivel, o nmero de colunas e de
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 29
linhas e se um campo de sada (disabled). O tipo de dados associado obviamente texto.
Link
Permite definir um link. Este poder ser um link do processo onde se insere ou um link para fora dele.
Neste campo possvel definir: o texto, a classe da CSS, o script a executar quando o link clicado, a
mensagem de Status do browser quando se passa com o rato sobre o link, o alinhamento, a condio de
enable (condio Java), se o link de processo, sendo que nesse caso possvel definir a varivel e o
valor para a varivel (como expresso string de Java) se o link for pressionado, ao passo que se o link
no for de processo possvel definir qual o URL e se se pretende abrir numa nova janela, sendo possvel
ainda definir neste caso, qual o nome a atribuir janela.
Mensagem de Texto
Permite definir uma mensagem de texto. similar ao cabealho, diferindo no facto deste campo poder ter
outra formatao e no facto do texto ser uma expresso de texto;.
Separador
Permite definir um separador entre campos. O comportamento semelhante ao espao, apresentando
uma formatao diferente.
Caixa de Data
Permite criar uma caixa de data no formulrio, definindo o texto, a varivel, o tipo de data associado
varivel e a definio da data actual por default.
Lista de Seleco SQL
Idntica Lista de Seleco, com a variante que ao invs de configurar as diversas opes, configura-se
a query sql a executar, sendo que essa query tem obrigatoriamente de retornar 2 colunas: em primeiro
lugar o valor da opo e em segundo lugar o texto/descrio para apresentar ao utilizador. Tem que ser
indicada a data source onde o bloco se deve ligar para executar a query.
Lista de Seleco Conector Externo
Idntica Lista de Seleco, com a variante dos dados serem alimentados por uma classe Java (que os
poder obter de um servio, LDAP, etc. Este campo de configurao avanada e implica conhecimento
da API de desenvolvimento do iFlow.
Incio de um novo Bloco
Permite definir grupos de campos dentro de um formulrio para aplicao de regras/comportamentos
(exemplo, aplicar um condio de activao dos campos do grupo definido ou criar uma linha com
colunas mltiplas);
Incio de uma nova coluna (mesmo bloco)
Permite definir grupos de campos dentro de um bloco para aplicao de regras/comportamentos, neste
caso a apresentao em mltiplas colunas. A percentagem da largura pode ser especificada no campo
Largura da Coluna (em %), no entanto conveniente que a soma dos valores de todas as colunas seja
igual a 100%;
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 30
Imagem
Permite definir uma imagem previamente carregada, sendo possvel definir o url, texto alternativo,
alinhamento, comprimento, altura e a respectiva condio de disable.
Ficheiro
O campo ficheiro permite ao utilizador realizar vrias operaes sobre um ficheiro, nomeadamente
download, upload e assinaturas.
Tabela tamanho fixo
O campo tabela de tamanho fixo permite definir uma tabela definindo clula a clula a sua constituio.
Para cada clula pode ser definido tambm um comportamento baseado em cdigo javascript a ser
inserido na sylesheet do formulrio. A sintaxe a utilizar neste campo especfica para esta utilizao. A
utilizao apenas recomendada a utilizadores avanados com conhecimento de programao Javascript
e XSLT.
Grfico
Permite a criao e visualizao de grficos com valores do processo (ver anexo I).
Incio de um novo TAB Container
Permite definir um grupo de separadores. sempre utilizado em conjunto com o campo Fim de um TAB
Container definindo uma rea onde os campos so apresentados em separadores. Entre estes dois
campos apenas devem existir TAB Containers e os campos que os compe, internamente.
Fim de um TAB Container
Terminador de um tab container iniciado por Incio de um novo TAB Container
Incio de uma nova TAB
Dentro de um TAB Container incializa um novo separador. Utilizado em conjunto com Fim de uma TAB
define um espao no qual todos os campos so apresentados num separador prprio, aquando da
visualizao do formulrio num browser.
Fim de uma TAB
Finaliza um separador iniciado com Incio de uma nova TAB.
Botes
O Formulrio permite ainda a configurao de diversos tipos de botes:
Cancelar: Permite cancelar o processo, este boto apenas visvel se o processo se encontrar em
base de dados e no criador do processo. O cancelamento anula o processo que deixa de existir no
servidor;
Repor: Permite carregar novamente o formulrio com as definies iniciais;
Guardar: Permite guardar o processo em base de dados (se o processo ainda estiver em sesso
fora a persistncia dos dados).
Imprimir: Permite imprimir um documento que esteja seleccionado, este boto s visvel se o
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 31
tiver seleccionado o respectivo FO de impresso.
Avanar: Permite avanar para o bloco seguinte.
Custom: Permite definir um boto customizado atravs dos campos varivel, valor e condio
mostrar custom. O que o boto faz quando pressionado atribuir varivel seleccionada o valor
preenchido. A varivel deve ser do tipo Text e o valor um texto livre a atribuir. sada do
formulrio a varivel pode ser testada verificando-se se o boto foi premido.
Todos os botes apresentam ainda os atributos:
Texto: Permite definir o texto a apresentar no boto;
Tooltip: Definio da tooltip;
Imagem: Imagem a apresentar no boto;
Ignorar processamento da form: permite definir uma condio para ignorar o processamento do
formulrio (util quando o formulrio apresenta campos obrigatrios);
Confirmao em java script: permite definir uma confirmao em Javascript (utilizao
avanada).
Entradas
O Bloco Formulrio tem uma entrada normal.
Sadas
O Bloco Formulrio tem duas sadas: a sada do lado direito a sada normal. A sada em baixo a sada
Evento.
Ao submeter o formulrio por um dos seus botes ou links, o processo segue pelo porto de sada.
Se o bloco tiver ligado um Bloco Evento na sua sada Evento o processo transita para o bloco evento
sempre que este disparado. A utilizao mais comum desta funcionalidade para garantir que um
processo no permanece parado mais que um certo tempo num formulrio, ligando este a um
temporizador que leva o processo para outro caminho onde so normalmente feitas notificaes,
redistribuies ou outras aces tendentes a no deixar os tempos do processo exceder o permitido.
Existem no entanto outros tipos de evento ou utilizaes.
4.3.1.2 Bloco Atribuio
Configurao
O Bloco Atribuio serve para atribuir valores a variveis do processo, definindo o nome da varivel de
destino na coluna Destino e o valor a ser atribudo, sendo este definido por uma expresso ou varivel
na coluna Origem. Na Ilustrao 22: Atribuio de variveis, ilustram-se vrias situaes para a
configurao deste bloco.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 32
Ilustrao 22: Atribuio de variveis
Podemos verificar a atribuio de trs tipos de dados distintos na ilustrao anterior.
varivel name ser atribudo o texto user1, os valores 0 e 1 sero atribudos varivel list
(tipo lista) de acordo com a posio indicada [0] e [1] e finalmente o nmero 100 ser atribudo
varivel total.
As variveis podem ainda ser igualadas a outras j existentes fornecendo essa indicao no campo de
origem.
Entradas
O Bloco Atribuio tem uma entrada normal.
Sadas
O Bloco Atribuio tem uma sada normal.
4.3.1.3 Bloco Validaes
Configurao
O Bloco Validaes efectua as validaes pretendidas, associando mensagens de erro a condies, tal
como se pode ver na figura seguinte.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 33
Ilustrao 23: Validaes
Na coluna Condio so colocadas as condies, sendo as mensagens de erro uma expresso (na
coluna Mensagem de Erro.
No exemplo ilustrado, podemos concluir que se a varivel motivo, do tipo Text tiver o valor 0, o bloco
atribui o erro "Por favor seleccione um motivo."
De notar que as condies so todas avaliadas, pelo que a mensagem de erro poder ficar vazia (caso
nenhuma se verifique) ou poder ter todas as mensagens de erro (caso todas se verifiquem.
Entradas
O Bloco Validaes tem uma entrada normal.
Sadas
O Bloco Validaes tem duas sadas: a primeira a sada Vlido e a segunda a sada Invlido.
Se nenhuma das condies de erro se verificar, o bloco sai pelo porto superior Vlido; caso contrrio,
sai pelo porto inferior Invlido.
O bloco validaes tipicamente ligado a um Bloco Formulrio para validar os dados inseridos pelo
utilizador. Nesta situao a sada Vlido dar seguimento ao fluxo enquanto a sada Invlido ir ser
ligada novamente ao bloco de entrada de dados (formulrio).
4.3.1.4 Bloco Data
Configurao
O bloco Data permite obter e carregar em variveis do processo informaes diversas acerca de uma
data. Introduzindo uma data como input (a data actual considerada caso no seja preenchido),
possvel obter: dia (Dia), ms (Mes), ms por extenso (Nome Mes), ano (Ano), semana (Semana do
Mes), inicio da semana (Primeiro Dia da Semana), fim da semana (Ultimo Dia da Semana).
Na Ilustrao 20 podemos verificar uma imagem exemplificativa.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 34
Ilustrao 24: Edio de Atributos do bloco Data
Entradas
O Bloco Data tem uma entrada normal.
Sadas
O Bloco Data tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.3.1.5 Bloco Importar Dados
Configurao
O bloco Importar Dados permite importar dados para o processo a partir de uma folha de clculo
(formato Excel). Para tal necessrio configurar para cada varivel a importar o nome da coluna no
ficheiro Excel, o nome da varivel de destino do processo e o modo de importao: Substituir se Existir
ou No Substituir se Existir. O processo de importao processa-se da seguinte maneira para cada
varivel definida:
a aplicao procura no ficheiro Excel a coluna correspondente varivel em importao;
cada linha dessa coluna importada baseada no valor da varivel no ndice respectivo:
se o valor da varivel nesse ndice estiver vazio, importado para o processo;
se o valor da varivel nesse ndice no estiver vazio e o modo de importao for Substituir
se Existir, o valor importado para o processo;
se o valor da varivel nesse ndice no estiver vazio e o modo de importao for No
Substituir se Existir, o valor no importado.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 35
A janela de edio dos atributos deste bloco encontra-se ilustrada na Ilustrao 25: Edio de Atributos
do bloco Importar Dados:
Ilustrao 25: Edio de Atributos do bloco Importar Dados
Entradas
O Bloco Importar Dados tem uma entrada normal.
Sadas
O Bloco Importar Dados tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.3.1.6 Bloco Sries
Configurao
Este bloco permite obter o prximo valor de uma srie sequencial definida no iFlow (Admin -> Sries).
Para configurar o bloco deve ser indicado o nome da srie (identificador nico) e ainda possvel inserir
um prefixo e um sufxo de formatao. O valor final colocado na varivel em Output/destination
variable.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 36
Ilustrao 26: Edio de Atributos do bloco Sries
Entradas
O Bloco Sries tem uma entrada normal.
Sadas
O Bloco Sries tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.3.1.7 Bloco Criar Documento
Configurao
Permite a criao de um documento atravs de um template ou modelo previamente criado com base nas
variveis do processo. O documento gerado em formato PDF. O bloco funciona um pouco como a
impresso no Bloco Formulrio, sendo que neste caso totalmente independente da impresso. O
documento gerado fica associado ao processo e pode ser tratado como qualquer outro documento
inserido naquele.
A varivel que armazenar o documento deve ser do tipo Documento.
No nome do ficheiro (expresso) coloca-se o nome que se pretende para o ficheiro gerado.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 37
Ilustrao 27: Edio de Atributos do bloco Criar Documento
Entradas
O Bloco Criar Documento tem uma entrada normal.
Sadas
O Bloco Criar Documento tem duas sadas: a primeira sada a sada normal, a segunda a sada de
erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.4 Biblioteca Processo
Conjunto de blocos utilitrios para manipulao, gesto e consulta de dados relativos aos processos.
4.4.1.1 Bloco Abrir Processo
Configurao
O bloco Abrir Processo permite transitar do processo actual para um novo processo. Na configurao do
bloco usam-se os seguintes campos:
Tipo de abertura: Importar Existente para abrir um processo existente, ou mais comummente
Abrir Novo;
ID do fluxo a abrir: Obrigatrio, identifica o fluxo para o processo que se pretende abrir;
ID do processo a abrir: ID do processo a abrir, caso exista;
ID do sub-processo a abrir: ID do sub-processo a abrir, caso exista;
Modo de abertura: passThru se for para ou JumpTo se for para saltar de imediato para o bloco
configurado;
ID do bloco a abrir: ID do bloco onde o processo abre. Se vazio abre no incio e propaga-se at
ao primeiro bloco de interaco (formulrio ou encaminhamento);
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved 38
Abrir em: Escolha se abre com um utilizador ou um grupo de utilizadores em quem o processo
fica atribudo;
Utilizador/Perfil: relacionado com a escolha anterior, especifica;
Descrio abertura: descrio a considerar no primeiro estado do processo;
Variveis a importar: lista de variveis, separadas por vrgulas, que se pretendem importar no
novo processo criado;
Varivel para o PID criado: como o processo actual continua a existir, permite-se guardar a
informao do PID do processo criado no processo actual;
Ilustrao 28: Edio de Atributos do bloco Abrir Processo
Entradas
O Bloco Abrir Processo tem uma entrada normal.
Sadas
O Bloco Abrir Processo tem duas sadas: a primeira sada a sada normal, a segunda a sada de erro.
A sada de erro utilizada caso haja algum erro de processamento do bloco.
4.4.1.2 Bloco Pesquisa Processo
Configurao
O bloco de Pesquisa Processo permite pesquisar e/ou obter dados de outros processos, respeitando os
critrios configurados. As figuras seguintes ilustram a janela de edio de atributos deste bloco.
-
iFlow 4.2.0 - Manual de Utilizador do FlowEditor
@2013 Infosistema, all rights reserved