Вы находитесь на странице: 1из 79

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
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao

1: Alguns Blocos do Editor .............................................................................................. 6


2: Exemplo do uso do bloco Beanshell .............................................................................. 9
3: Edio de Atributos do bloco SubFluxo (parte 1) ........................................................... 9
4: Edio de Atributos do bloco SubFluxo (parte 2) ......................................................... 10
5: Edio de Atributos do bloco SubFluxo (parte 3) ......................................................... 10
6: Edio de Atributos do bloco Condio ........................................................................ 11
7: Edio de Atributos do bloco Sincronizao ................................................................. 13
8: Edio de Atributos do bloco Obter Info Utilizador ........................................................ 14
9: Edio de atributos por Utilizador ............................................................................... 15
10: Edio de atributos por Perfil ................................................................................... 15
11: Edio de atributos por Perfil Texto ........................................................................... 16
12: Obter Superior Hierrquico ...................................................................................... 17
13: Edio de Atributos do bloco Est nos Perfis .............................................................. 18
14: Edio de Atributos do bloco Est nos Perfis Texto ...................................................... 19
15: Edio de Atributos do bloco Verificar Autenticao .................................................... 21
16: Edio de Atributos do bloco Obter Utilizadores do Perfil ............................................. 22
17: Edio de Atributos do bloco Obter Perfis do Utilizador ................................................ 23
18: Edio de Atributos do bloco Obter Dono da Delegao ............................................... 23
19: Edio de Atributos do bloco Obter Substituto da Delegao ........................................ 24
20: Bloco Formulrio .................................................................................................... 25
21: Lista de Seleco ................................................................................................... 28
22: Atribuio de variveis ............................................................................................ 32
23: Validaes ............................................................................................................. 33
24: Edio de Atributos do bloco Data ............................................................................ 34
25: Edio de Atributos do bloco Importar Dados ............................................................. 35
26: Edio de Atributos do bloco Sries .......................................................................... 36
27: Edio de Atributos do bloco Criar Documento ........................................................... 37
28: Edio de Atributos do bloco Abrir Processo ............................................................... 38
29: Edio (tipo 1) de Atributos do bloco Pesquisa de Processo .......................................... 39
30: Edio (tipo 2) de Atributos do bloco Pesquisa de Processo .......................................... 39
31: Edio de Atributos do bloco Muda Processo .............................................................. 40
32: Edio de Atributos do bloco Muda Processo com Utilizador ......................................... 41
33: Edio de Atributos do bloco Detalhe de Processo ...................................................... 43
34: Edio de Atributos do bloco SQLSelect ..................................................................... 45
35: Edio de Atributos do bloco SQLInsert ..................................................................... 45
36: Edio de Atributos do bloco SQLUpdate ................................................................... 46
37: Edio de Atributos do bloco SQLDelete .................................................................... 46
38: Edio de Atributos do bloco SQLBatchInsert ............................................................. 47
39: Edio de Atributos do bloco SQLBatchUpdate ........................................................... 48
40: Edio de Atributos do bloco Email (mensagem) ........................................................ 49
41: Edio de Atributos do bloco Email (template) ........................................................... 50
42: Edio de Atributos do bloco Email (parte 1).............................................................. 51
43: Edio de Atributos do bloco Email (parte 2).............................................................. 51
44: Edio de Atributos do bloco Email para Intervenientes ............................................... 52
45: Edio de Atributos do bloco SMS para Perfil.............................................................. 53
46: Edio de Atributos do bloco SMS para Perfil.............................................................. 53
47: Edio de Atributos do bloco Notificao ................................................................... 54
48: Edio de Atributos do bloco NOP ............................................................................. 55
49: Edio de Atributos do bloco Evento ......................................................................... 56
50: Edio de Atributos do bloco WebServices (Propriedades) ........................................... 57
51: Edio de Atributos do bloco WebService (Mapeamento Input) ..................................... 58
52: Edio de Atributos do bloco WebService (Mapeamento Output) .................................. 58
53: Edio de Atributos do bloco Report .......................................................................... 59
54: Edio de Atributos do bloco Obter Documento .......................................................... 60
55: Edio de Atributos do bloco Inserir Documento ......................................................... 61
56: Edio de Atributos do bloco Listar Documentos (parte 1) ........................................... 62
57: Edio de Atributos do bloco Listar Documentos (parte 2) ........................................... 62
58: Edio de Atributos do bloco Listar Pastas (parte 1) .................................................... 63
59: Edio de Atributos do bloco Listar Pastas (parte 2) .................................................... 63
60: Edio de Atributos do bloco Apagar Documento ........................................................ 64
61: Envio de Fluxo ....................................................................................................... 69
62: Download de Fluxo ................................................................................................. 69

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao
Ilustrao

63:
64:
65:
66:
67:
68:
69:
70:

rea de Administrao do iFlow ............................................................................... 70


Inicializao das variveis para o grfico do tipo Pie ................................................... 72
Edio de atributos do campo Grfico para o tipo Pie .................................................. 72
Exemplo de Pie Chart.............................................................................................. 73
Inicializao das variveis para o grfico do tipo Bar ................................................... 74
Edio de atributos do campo Grfico para o tipo Bar ................................................. 74
Bar Chart .............................................................................................................. 75
Stacked Chart ........................................................................................................ 75

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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).
@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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:

A primeira a normal e a segunda de erro (caso mais comum);

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);

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.

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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 <= para comparaes relativas.
Nos tipos texto a comparao feita atravs do mtodo equals que utilizado no Java para comparar
objectos do tipo String (textos), da seguinte forma:

botao_accao.equals(activar)
Nesta expresso compara-se o valor da varivel do tipo Text botao_accao com o texto activar (a
utilizao de aspas indica que o que est a ser comparado um texto literal e no uma varivel). Se o
valor ou contedo for activar ento o resultado verdadeiro.
As expresses podem ser combinadas em expresses lgicas mais complexas atravs de uso de
operadores.

2.5.2.1 Operadores
So nornalmente usados os operadores:

! para indicar a negao da condio que se segue;

|| - para executar um ou lgico entre duas condies;

&& - para executar um e lgico entre duas condies;

No agrupamento de vrias condies utilizam-se os parnteses ( e ) como numa expresso lgica


normal.

2.5.2.2 Exemplo de utilizao


Num exemplo prtico de utilizao em
varivel quantidade do tipo Integer,
botao_accao tem o valor activar, a
quantidade tem um valor superior a 20,

que existem as variveis nome e botao_accao do tipo Text e a


e pretendemos uma condio que verifique que a varivel
varivel nome no tem o valor Desconhecido e a varivel
podemos usar a expresso:

botao_accao.equals(activar) && !nome.equals(Desconhecido) && quantidade > 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


@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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, devese 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();

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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)

@2013 Infosistema, all rights reserved

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.
@2013 Infosistema, all rights reserved

10

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.

@2013 Infosistema, all rights reserved

11

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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 subprocesso 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).

@2013 Infosistema, all rights reserved

12

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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 subprocessos.

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.

@2013 Infosistema, all rights reserved

13

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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

@2013 Infosistema, all rights reserved

14

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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

@2013 Infosistema, all rights reserved

15

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

16

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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

@2013 Infosistema, all rights reserved

17

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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
@2013 Infosistema, all rights reserved

18

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.

@2013 Infosistema, all rights reserved

19

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

20

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

21

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

22

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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

@2013 Infosistema, all rights reserved

23

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.
@2013 Infosistema, all rights reserved

24

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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

@2013 Infosistema, all rights reserved

25

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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:
@2013 Infosistema, all rights reserved

26

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

"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, "<varivel>_text" (em que <varivel> 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
"<varivel>_text" (em que <varivel> o nome atribudo varivel associada coluna);

"checkedvalue" com o texto a atribuir varivel "<varivel>_checkedtext" (em que <varivel>


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<n>" (<n> 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.


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

@2013 Infosistema, all rights reserved

Os valores sero obrigatoriamente definidos numa

27

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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 "<varivel>_text" (em que <varivel> 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
@2013 Infosistema, all rights reserved

28

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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%;

@2013 Infosistema, all rights reserved

29

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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

@2013 Infosistema, all rights reserved

30

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.

@2013 Infosistema, all rights reserved

31

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

32

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

33

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

34

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


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.

@2013 Infosistema, all rights reserved

35

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

36

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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);

@2013 Infosistema, all rights reserved

37

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

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.

@2013 Infosistema, all rights reserved

38

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 29: Edio (tipo 1) de Atributos do bloco Pesquisa de Processo

Ilustrao 30: Edio (tipo 2) de Atributos do bloco Pesquisa de Processo

Como se pode ver, neste bloco necessrio configurar as variveis que se pretendem obter para cada
processo e/ou sobre as quais se pretende pesquisar. Assim sendo, para cada varivel necessrio definir:

o seu tipo (se varivel do processo, ou se corresponde a uma data de estado ou ainda a uma
descrio de estado);

o seu nome;

se se pretende obter o seu valor varivel para o processo;

se se pretende us-la como critrio de pesquisa e se sim, quais os processos que se pretende
pesquisar (abertos, fechados ou todos);

qual o operador SQL para a pesquisa (no formato String de Java, ex.: =, >, is not null);

o valor para usar na pesquisa (no formato de String de Java);

se sensvel a maisculas/minsculas.

Estas variveis devero ser visualizadas num campo do tipo tabela do bloco de Formulrio, j que cada
processo encontrado ir ser inserido numa lista (de processos) composta pelas variveis que se
pretendam obter (formando assim uma tabela), ou noutro bloco que permita visualizar tabelas de dados.
(Ilustrao 29: Edio (tipo 1) de Atributos do bloco Pesquisa de Processo).
Existe tambm a possibilidade de apenas introduzir linhas para critrio de pesquisa e o bloco devolver um
array (configurvel no campo Array de Resultado) o pid, subpid e flowid dos processos englobados nos
critrios de pesquisa. Para tal necessrio activar a checkbox Retornar PIDs. De salientar tambm que
a opo descrita anteriormente exclusiva em relao ao fetch normal das variveis que se pretendem
extrair dos processos. Este array apenas poder ser usado em conjunto com o tipo de campo do bloco
formulrio Tabela de Processo(Ilustrao 30: Edio (tipo 2) de Atributos do bloco Pesquisa de
Processo).
@2013 Infosistema, all rights reserved

39

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Entradas
O Bloco Abrir Processo tem uma entrada normal.
Sadas
O Bloco Abrir Processo 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 caso no sejam retornados resultados.
A sada de erro utilizada caso haja algum erro de processamento do bloco.

4.4.1.3 Muda Processo

Configurao
O bloco serve para alterar o fluxo de processo, saltando para outro processo. Pode ser configurado
indicando atravs de uma varivel qual o processo que deve ser aberto, incluindo o ID de sub-processo
que normalmente 1.

Ilustrao 31: Edio de Atributos do bloco Muda Processo

Entradas
O Bloco Muda Processo tem uma entrada normal.
Sadas
O Bloco Muda Processo tem apenas uma sada.

@2013 Infosistema, all rights reserved

40

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.4.1.4 Bloco Muda Processo com Utilizador

Configurao

Ilustrao 32: Edio de Atributos do bloco Muda Processo com Utilizador

Entradas
O Bloco Muda Processo com Utilizador tem uma entrada normal.
Sadas
O Bloco Muda Processo com Utilizador tem apenas uma sada.

4.4.1.5 Bloco Guarda em BD

Configurao
O bloco Guarda em BD permite que em certo ponto do fluxo o processo seja guardado na Base de Dados
do IFlow. No tem qualquer tipo de configurao ou output.
Entradas
O Bloco Guarda em BD tem uma entrada normal.
Sadas
O Bloco Guarda em BD tem apenas uma sada.

@2013 Infosistema, all rights reserved

41

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.4.1.6 Bloco Limpa Erros Processo

Configurao
Tal como o prprio nome indica, permite eliminar erros existentes no processo. Os erros so gerados pela
execuo de outros blocos como os blocos Validaes ou Est nos Perfis, por exemplo. No tem
configurao.
Entradas
O Bloco Limpa Erros Processo tem uma entrada normal.
Sadas
O Bloco Limpa Erros Processo com Utilizador tem apenas uma sada.

4.4.1.7 Bloco Detalhe de Processo

Configurao
O bloco de Detalhe de Processo permite consultar o detalhe de um determinado processo. A
apresentao deste bloco definida no bloco Incio, no separador Detalhe. O detalhe apresentado
como qualquer outro formulrio, caso esteja definido no bloco Incio.
A sua janela de edio de atributos encontra-se ilustrada na Ilustrao 33: Edio de Atributos do bloco
Detalhe de Processo.

@2013 Infosistema, all rights reserved

42

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 33: Edio de Atributos do bloco Detalhe de Processo

Os campos a definir so:

ID Fluxo: ID do fluxo instanciado pelo processo a apresentar;

ID Processo: ID do processo a apresentar;

ID subprocesso: ID do subprocesso a apresentar. Normalmente 1, caso no sejam usados blocos


Bifurcao;

Nmero de Processo: o pnumber o identificador do processo baseado em sries, se houver


alguma associada, ou igual ao nmero de processo, caso no exista srie. Pode ser usado em
alternativa ao ID de processo;

Entradas
O Bloco Detalhe de Processo tem uma entrada normal.
Sadas
O Bloco Detalhe de Processo tem apenas uma sada.

4.5 1.5. Biblioteca Base Dados


Conjunto de blocos que permite efectuar operaes SQL sobre uma base de dados. A base de dados
acedida atravs de uma data source configurada no servidor.

@2013 Infosistema, all rights reserved

43

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.5.1.1 Blocos SQLSelect, SQLInsert, SQLUpdate e SQLDelete

Configurao
Os blocos SQLSelect, SQLInsert, SQLUpdate e SQLDelete (toolbox Base Dados) permitem efectuar
operaes SQL sobre uma base de dados. Em todos eles necessrio configurar o atributo JNDIName
com o nome JNDI da data source a utilizar, a Descrio e a Descrio do Resultado. Outra
caracterstica comum a todos eles o facto de todos os atributos serem configurados como expresses
(sintaxe de concatenao de Strings de Java) e a maior parte deles em linguagem SQL. De seguida
descrevem-se os blocos mencionados, juntamente com os seus atributos:
Bloco SQLSelect
Permite efectuar pesquisas. Os atributos a configurar so:

Select: valores a pesquisar. No select devem ser indicados os campos da base de dados sendo o
mapeamento feito com a utilizao de as como por exemplo name as nome coloca o contedo
do campo name na varivel nome;

From: tabelas para a pesquisa (SQL);

Where: condies para a pesquisa, se aplicvel/pretendido (SQL);

Group: critrio de agrupamento, se aplicvel/pretendido;

Order: critrio de ordenao dos resultados, se aplicvel/pretendido(SQL);

ResultadoUnitrio: indica se o resultado da pesquisa unitrio, caso no qual os valores pesquisados (definidos
no campo Select) so guardados como variveis normais do processo; caso contrrio, os valores
pesquisados so guardados em lista;

@2013 Infosistema, all rights reserved

44

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 34: Edio de Atributos do bloco SQLSelect

Bloco SQLInsert
Permite inserir dados do processo numa tabela em base de dados. Os atributos a configurar so:

Into: tabela onde se vo inserir os dados (SQL);

Names: nomes das colunas (SQL);

Values: valores a inserir, respeitando a ordem definida no atributo anterior;

Ilustrao 35: Edio de Atributos do bloco SQLInsert

Bloco SQLUpdate
Permite actualizar dados numa determinada tabela em base de dados com dados do processo. Os
atributos a configurar so:

Tabela: tabela a actualizar (SQL);

@2013 Infosistema, all rights reserved

45

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Set: local para a atribuio dos pares nome-valor (SQL);

Where: critrio de actualizao (SQL). De notar que se no for definido nenhum critrio, a
actualizao dos dados definidos no atributo anterior ir ser feita em toda a tabela.

Ilustrao 36: Edio de Atributos do bloco SQLUpdate

Bloco SQLDelete
Permite apagar dados de uma tabela em base de dados. Os atributos a configurar so:

Tabela: tabela onde se vo eliminar dados (SQL);

Where: critrio de remoo (SQL). De notar que se no for definido nenhum critrio, todos os dados na tabela
sero apagados.

Ilustrao 37: Edio de Atributos do bloco SQLDelete

Entradas
Os Blocos SQLSelect, SQLInsert, SQLUpdate e SQLDelete tem uma entrada normal.
Sadas
Os Blocos SQLSelect, SQLInsert, SQLUpdate e SQLDelete tm trs sadas: a primeira para quando h
resultados da execuo, a segunda para quando no h resultados, por exemplo no select no retornar
@2013 Infosistema, all rights reserved

46

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


nenhuma linha e a terceira para quando h um erro de processamento, como por exemplo a
impossibilidade de se ligar base de dados configurada.

4.5.1.2 Bloco SQLBatchInsert

Configurao
O bloco SQLBatchInsert permite, tal como o SQLInsert, inserir dados do processo numa tabela em base
de dados, com a diferena de permitir efectuar a insero de uma ou mais linhas numa dada tabela de
Base de Dados. A sua janela de configurao , obviamente, um pouco diferente do bloco SQLInsert e
encontra-se ilustrada na figura seguinte:

Ilustrao 38: Edio de Atributos do bloco SQLBatchInsert

Os atributos do Bloco SQLBatchInsert a configurar so:

Into: tabela onde se vo inserir os dados (SQL);

Names: nomes das colunas (SQL);

Values: valores a inserir, respeitando a ordem definida no atributo anterior, os pontos de


interrogao para cada valor que ser introduzido por lista;

Vars: variveis (listas) pela ordem que iro ser introduzidos nos pontos de interrogao no
atributo Values, as listas podero ter um ou mais elementos mas todas devero ser do mesmo
tamanho (mesmo nmero de elementos).

Entradas
O Bloco SQLBatchInsert tem uma entrada normal.
@2013 Infosistema, all rights reserved

47

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Sadas
O Bloco SQLBatchInsert tem trs sadas: a primeira para quando h resultados da execuo, a segunda
para quando no h resultados e a terceira para quando h um erro de processamento, como por
exemplo a impossibilidade de se ligar base de dados configurada.

4.5.1.3 Bloco SQLBatchUpdate

Configurao
O bloco SQLBatchUpdate semelhante ao bloco SQLUpdate, com a diferena que permite actualizar vrias linhas
numa determinada tabela em base de dados com dados do processo.

Ilustrao 39: Edio de Atributos do bloco SQLBatchUpdate

Os atributos do Bloco SQLBatchUpdate a configurar so:

Tabela: tabela onde se vo inserir os dados (SQL);

Set: valores a inserir, respeitando a ordem definida no atributo anterior, os pontos de


interrogao para cada valor que ser introduzido por lista;

Where: critrio de actualizao (SQL).

SetVars: variveis (listas) pela ordem que iro ser introduzidos nos pontos de interrogao no atributo Set, as
listas podero ter um ou mais elementos mas todas devero ser do mesmo tamanho (mesmo nmero de
elementos).

WhereVars: Semelhante ao anterior, referente ao atributo Where.

@2013 Infosistema, all rights reserved

48

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Entradas
O Bloco SQLBatchUpdate tem uma entrada normal.
Sadas
O Bloco SQLBatchUpdate tem trs sadas: a primeira para quando h resultados da execuo, a segunda
para quando no h resultados e a terceira para quando h um erro de processamento, como por
exemplo a impossibilidade de se ligar base de dados configurada.

4.6 Biblioteca Notificao


Conjunto de blocos que permite efectuar notificaes, ou por correio electrnico (email) ou por sistema
de mensagens (sms) ou internas, tanto para utilizadores especficos como para grupos pr definidos de
utilizadores (exemplo, por unidade orgnica).

4.6.1.1 Bloco Email

Configurao
O bloco de Email serve para enviar uma mensagem de correio electrnico a um determinado utilizador,
configurando o endereo de quem o est a enviar, o endereo para quem vai, o assunto e a mensagem
(todos eles como expresses, com a sintaxe de concatenao de Strings em Java), como ilustrado nas
figuras seguintes.

Ilustrao 40: Edio de Atributos do bloco Email (mensagem)

@2013 Infosistema, all rights reserved

49

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 41: Edio de Atributos do bloco Email (template)

De salientar que a edio dos atributos mensagem e template pode ser feita de duas formas, sendo o
preenchimento dos mesmos atributos mutuamente exclusivo. possvel preencher o atributo mensagem
com a mensagem que se pretende e nesse caso no se preenche o atributo template. Em alternativa
quando se procede escolha do atributo template, que no fundo se trata de uma mensagem de correio
electrnico pr definida, no se deve preencher o campo mensagem. A template ser necessariamente
uma template em XML disponvel no iFlow (Admin -> Recursos) para gerao de um email em HTML.
Entradas
O Bloco Email tem uma entrada normal.
Sadas
O Bloco Email 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.6.1.2 Bloco Email para Perfil

Configurao
O bloco de Email para Perfil apresenta um funcionamento similar ao bloco Email, excepto para o(s)
destinatrio(s) da notificao por correio electrnico. Dever ser escolhido o tipo de destinatrio no
atributo Para: Perfil para em seguida usar o atributo Perfill, escolhendo o perfil desejado dentro dos
existentes para a aplicao; PerfilTexto para em seguida usar o atributo PerfilTexto, prenchendo como
uma expresso (concatenao de Strings Java) qual o perfil pretendido.

@2013 Infosistema, all rights reserved

50

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 42: Edio de Atributos do bloco Email (parte 1)

Ilustrao 43: Edio de Atributos do bloco Email (parte 2)

Entradas
O Bloco Email para Perfil tem uma entrada normal.
Sadas
O Bloco Email para 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.

@2013 Infosistema, all rights reserved

51

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.6.1.3 Bloco Email para Intervenientes

Configurao
O bloco Email para Intervenientes permite enviar uma notificao via correio electrnico para todos os
intervenientes do processo. A sua configurao semelhante do bloco Email. No atributo
intervenientes, possvel efectuar a escolha sobre se os mesmos recebem o email directamente ou se
recebem em cc (com conhecimento).

Ilustrao 44: Edio de Atributos do bloco Email para Intervenientes

Entradas
O Bloco Email para Intervenientes tem uma entrada normal.
Sadas
O Bloco Email para Intervenientes 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.6.1.4 Blocos SMS e SMS para Perfil

@2013 Infosistema, all rights reserved

52

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Configurao
Os blocos SMS e SMS para Perfil permitem enviar SMS, atravs da configurao do nmero do telefone
no caso do bloco SMS ou do perfil (pelo escolha do perfil ou atrs do perfil em texto) no caso do bloco
SMS para Perfil. E tambm pela configurao do assunto e da mensagem, todos eles como expresses
(sintaxe de concatenao de Strings de Java) e idnticos em ambos os blocos.

Ilustrao 45: Edio de Atributos do bloco SMS para Perfil

Ilustrao 46: Edio de Atributos do bloco SMS para Perfil

Entradas
Os Blocos SMS e SMS para Perfil tm uma entrada normal.
Sadas
Os blocos SMS e SMS para Perfil tm 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.

@2013 Infosistema, all rights reserved

53

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.6.1.5 Bloco Notificao

Configurao
Permite, semelhana de um email, enviar notificaes internas aos utilizadores da aplicao,
configurando alm do utilizador ou Perfil, a mensagem a enviar como expresso (concatenao de Strings
de Java).

Ilustrao 47: Edio de Atributos do bloco Notificao

Entradas
Os Blocos SMS e SMS para Perfil tm uma entrada normal.
Sadas
Os blocos SMS e SMS para Perfil tm 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.7 Biblioteca Eventos


Conjunto de blocos que permite definir eventos, passando a ser possvel executar certas zonas do fluxo
depois do evento ser accionado (atravs de uma marca temporal configurvel). Permite avanar um
processo de forma automtica sem a aco directa do utilizador com base em acontecimentos
assncronos.

@2013 Infosistema, all rights reserved

54

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.7.1.1 Bloco NOP

Configurao
O bloco NOP permite suspender o processo at que o evento seja accionado. Apenas permite configurar a
mensagem apresentada ao utilizador quando o processo est neste estado.

Ilustrao 48: Edio de Atributos do bloco NOP

Entradas
O Bloco NOP tm uma entrada normal.
Sadas
O Bloco NOP apenas tem a sada de Evento onde pode ser ligado um evento para tirar o processo do
estado supenso.

4.7.1.2 Bloco Evento

Configurao
O bloco Evento permite que o processo fique parado no bloco at a marca temporal expirar, voltando
assim execuo normal do mesmo. Em termos de atributos temos dois por definir: Tipo, tendo como
opo escolher o tipo de evento por Timer , AsyncWait ou Deadline; Propriedades, no caso do Tipo Timer
possvel definir a descrio do evento que est a definir, se o timer deve contar apenas com os dias
teis da semana ou no e a marca temporal em minutos, no caso do Tipo AsyncWait. No caso da opo
Deadline definida a data em que o evento disparado, atravs de uma varivel. Nas figuras seguintes
possivel ver a definio dos atributos do bloco.
Na imagem pode ver-se um exemplo para cada um dos tipos de evento.
@2013 Infosistema, all rights reserved

55

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 49: Edio de Atributos do bloco Evento

Entradas
O Bloco Evento tem uma entrada que apenas pode ser ligada a uma sada de evento de outro bloco
(formulrio, encaminhamentos ou NOP).
Sadas
O Bloco Evento tem apenas uma sada normal.

4.8 Biblioteca WebServices


Conjunto de blocos que permite realizar operaes com Web Services.

4.8.1.1 Bloco Web Services

Configurao
O bloco Web Services permite efectuar pedidos a Web Services, a sua configurao feita seleccionando
qual o WSDL (contrato). Aps a escolha do WSDL e a sua configurao, como se pode ver no exemplo
da figura seguinte.

@2013 Infosistema, all rights reserved

56

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 50: Edio de Atributos do bloco WebServices (Propriedades)

Depois de definidas as propriedades ficam disponveis os separadores para mapeamento de inputs e


outputs. Nos mapeamentos devem ser colocadas as variveis de onde so obtidos os campos de input
para o webservice e aquelas onde iro ficar guardados os outputs conforme apresentado na Ilustrao
51: Edio de Atributos do bloco WebService (Mapeamento Input) e na Ilustrao 52: Edio de Atributos
do bloco WebService (Mapeamento Output).

@2013 Infosistema, all rights reserved

57

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 51: Edio de Atributos do bloco WebService (Mapeamento Input)

Ilustrao 52: Edio de Atributos do bloco WebService (Mapeamento Output)

@2013 Infosistema, all rights reserved

58

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.9 Biblioteca Relatrios


Biblioteca utilitria no apoio gerao de relatrios.

4.9.1.1 Bloco Relatrio

O bloco Relatrio permite definir um tempo de execuo para uma determinada tarefa. tambm utilizado como um
marcador de fases do processo que depois podem ser consultadas nos relatrios (separador Relatrios no iFlow) .
O campo Cdigo do Relatrio serve para denominar a fase em que o processo entra at ao prximo bloco relatrio
encontrado. O campo Tempo esperado para este estado define o SLA, ou tempo mximo que o processo dever estar
na fase que se inicia e at ao prximo bloco de relatrio. De outro modo o campo Deadline pode ser utilizado para
definir a data mxima para terminar a fase em questo, por utilizao de uma varivel.

Ilustrao 53: Edio de Atributos do bloco Report

Entradas
O Bloco Relatrio

tem uma entrada normal.

Sadas
O Bloco Relatrio tem apenas uma sada normal.

4.10 Biblioteca FlowDocs


A biblioteca FlowDocs permite a Integrao da aplicao de Gesto Documental Alfresco com o iFlow.

@2013 Infosistema, all rights reserved

59

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Entradas
Todos os blocos desta biblioteca tm uma entrada normal.
Sadas
Todos os blocos desta biblioteca tm duas sadas: a primeira para quando a operao realizada com
sucesso e a segunda para quando h um erro no processamento do bloco.

4.10.1.2 Bloco Obter Documento

Configurao
O bloco Obter Documento permite obter um documento proveniente da Gesto Documental para uma
varivel iFlow do tipo Document, possvel ainda obter atributos extra para variveis de processo
clicando no boto + e introduzir a Propriedade e Varivel respectiva como podemos verificar na
Ilustrao 49.

Ilustrao 54: Edio de Atributos do bloco Obter Documento

@2013 Infosistema, all rights reserved

60

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.10.1.3 Bloco Inserir Documento

Configurao
O bloco Inserir Documento permite carregar um Documento do processo na Gesto Documental.
O bloco permite dois mtodos de introduo do local onde introduzir o documento na Gesto
Documental: Texto (sintaxe de concatenao de Strings Java) ou utilizando a rvore disponvel.

Ilustrao 55: Edio de Atributos do bloco Inserir Documento

Os atributos Ttulo, Descrio, Autor e Varivel podem ser preenchidos entre aspas (sintaxe de
concatenao de Strings Java) ou recorrendo utilizao de variveis do processo. ainda possvel
inserir outras variveis clicando no boto + e introduzir o Nome e Valor correspondente.

4.10.1.4 Bloco Listar Documentos

Configurao
O bloco Listar Documentos permite obter propriedades dos documentos inseridos na Gesto Documental.
Na Ilustrao 56: Edio de Atributos do bloco Listar Documentos (parte 1) podemos observar os
atributos de Entrada (separador Entrada), para obter o documento especificamos o local do qual
pretendemos obter a listagem dos documentos: Texto (sintaxe de concatenao de Strings Java) ou
utilizando a rvore disponvel e os atributos pelos quais pretendemos pesquisar.

@2013 Infosistema, all rights reserved

61

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 56: Edio de Atributos do bloco Listar Documentos (parte 1)

Seguidamente, no separador Sada introduzimos os atributos que pretendemos obter, tendo ainda a
possibilidade de introduzir variveis extra clicando no boto + e preencher os a propriedade e varivel
desejada, todas as variveis tm de ser do tipo lista (TextArray) como se encontra ilustrado na figura
seguinte.

Ilustrao 57: Edio de Atributos do bloco Listar Documentos (parte 2)

@2013 Infosistema, all rights reserved

62

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.10.1.5 Bloco Listar Pastas

Configurao
O bloco listar pastas permite obter uma lista de pastas da Gesto Documental baseada em critrios de
pesquisa. No separador Entrada podemos especificar o local de onde se pretende obter a listagem dos
documentos: Texto (String Java) ou utilizando a rvore disponvel, no atributo padro definimos o filtro
de pesquisa e, podemos ainda definir a profundidade da pesquisa clicando na checkbox Definir
Profundidade e introduzindo o valor pretendido no atributo profundidade.

Ilustrao 58: Edio de Atributos do bloco Listar Pastas (parte 1)

No separador Sada define-se a varivel do tipo lista (textArray) onde se deseja guardar a listagem
obtida.

Ilustrao 59: Edio de Atributos do bloco Listar Pastas (parte 2)

@2013 Infosistema, all rights reserved

63

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

4.10.1.6 Bloco Apagar Documento

Configurao
Permite apagar ficheiros locais ou remotos (no servidor DMS). Por defeito o bloco encontra-se
configurado para tentar eliminar local e remotamente, no entanto podemos configurar a checkbox para
apenas eliminar localmente. Neste caso apenas remove no iFlow.

Ilustrao 60: Edio de Atributos do bloco Apagar Documento

5 Particularidades na Definio dos Blocos


5.1 Biblioteca Bsica

Incio: nada a salientar;

Fim: Ter em ateno que o bloco termina efectivamente o processo, dever apenas ser usado se
realmente for para acabar o processo, fechando-o;

Atribuio: Neste bloco o campo Destino ter que ser obrigatoriamente uma varivel (seja,
float, uma texto, um textArray ou um IntegerArray). No campo Origem possvel ter variveis,
texto, nmeros (floats ou integers). Para adicionar um linha basta clicar no boto como sinal de
soma (+), para remover uma linha, selecciona-se a linha que se deseja eliminar (clicando na
mesma) e em seguida basta clicar no boto com o sinal de subtraco (-);

Validaces: A coluna Condio suporta uma ou mais condies desde que obedecem regras
Java (uso dos parenteses, || (or), && (and), entre outros), onde as expresses mais usadas so:
var1.equals(); var1.equals(var2); varlist1.length(); var1 == null; var1 < num1; var1>= num1;
entre outros. A coluna Error Message ter que ser sempre preenchida com uma String, String
essa que se a(s) condio(es) se verificar ser colocada no topo do bloco formulrio adjacente
ao bloco validaes.

Condico: O campo condio deste bloco funciona igualmente como a coluna condio do bloco
Validaes;

@2013 Infosistema, all rights reserved

64

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Formulrio:
o

Cabealho nada a salientar;

Sub-Cabealho nada a salientar;

Caixa de Texto os atributos Expresso de Validao e Mensagem de Erro apenas esto


editveis quando seleccionado o atributo Campo Obrigatrio. A Mensagem de Erro ir
aparecer no topo do Formulrio;

Caixa de Password nada a salientar;

Tabela nada a salientar;

Espao nada a salientar;

Lista de Seleco quando seleccionado o atributo Texto com informao de Valor, o


comportamento da lista se seleco altera-se, passando a mostrar as definies na coluna
Texto e em seguida (e entre parntesis) as definies da coluna Valor;

Sada de Texto quando da utilizao de uma varivel do tipo Float no IFlow e se


pretende definir a mesma como sada de texto, o seu output ir ser sempre com a
extenso .0 exceptuando se for escolhido no atributo Tipo de Dados o Nmero Inteiro;

rea de Texto no existe no campo Sada de Texto a opo de output do estilo da rea
de texto, logo para o efeito dever ser usado o campo de Input rea de Texto com o
atributo Campo de Sada activado;

Link para poder editar os atributos Varivel e Valor da Varivel necessrio activar o
atributo Link de Processo, para o mesmo efeito para o atributo Nome da Janela
necessrio activar o atributo Abrir em Nova Janela;

Mensagem de Texto o atributo Texto preenchido apenas com texto, no suportando


strings java ou qualquer varivel;

Separador nada a salientar;

Caixa de Data ao seleccionar o atributo Data Actual (se vazio) faz com que a Varivel
definida fique com a data actual se no for preenchida e se avanar no formulrio;

Lista de Seleco SQL o atributo Query funciona como uma atribuio em Java, texto
entre aspas (um texto aqui) e introduo de variveis com o sinal de mais (+ var +),
com o atributo Texto com informao de Valor, este campo funciona como descrito no
campo Lista de Seleco;

Incio de um novo bloco - nada a salientar;

Incio de uma nova coluna (mesmo bloco) nada a salientar;

Imagem nada a salientar;

Ficheiro nada a salientar;

Grfico nada a salientar;

Sub Cabealho nada a salientar;

Tabela de Processo nada a salientar;

@2013 Infosistema, all rights reserved

65

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

5.2 Biblioteca Perfis

Obter Info Utilizador: na coluna de Input apenas um dos campos pode estar com o seu valor a
true, pois apenas poder ser uma a chave de pesquisa que o bloco vais usar para obter as
informaes desejadas.

Escalar Hierarquicamente: nada a salientar.

Enviar Para: apenas possvel passar o processo para um utilizador especfico ou para um perfil
especfico.

Obter Superior Hierrquico: o valor do atributo UserUpVarName por default userup, mas
poder ser alterado para qualquer varivel que se desejar.

Est nos Perfis: o campo Condio pode ser preenchido com uma condio ou se no fizer
sentido existir uma, deve colocar-se true, no campo Mensagem se Falso dever constar uma
String (blabla).

Est nos Perfis Texto: nada a salientar.

Obter Info Unidade Orgnica: Na coluna de Input apenas um dos campos pode estar com o
seu valor a true, pois apenas poder ser uma a chave de pesquisa que o bloco vais usar para
obter as informaes desejadas

Obter Unidade Orgnica Acima: Na coluna de Input apenas um dos campos pode estar com o
seu valor a true, pois apenas poder ser uma a chave de pesquisa que o bloco vais usar para
obter as informaes desejadas

Verificar Autenticao: em ambos os atributos do bloco (LoginVar e PasswordVar) dever ser


definida uma varivel.

5.3 Biblioteca Utils

BeanShell: nada a salientar;

Bifurcao: nada a salientar;

Sincronizao: nada a salientar;

JunoExclusiva: nada a salientar;

SubFlow: nada a salientar;

Data: o atributo Data Input por default usa a data actual, se no lhe for definido nenhum valor.

Importar Dados: nada a salientar;

Sries: Todos os atributos devem ser definidos como Strings Java (entre aspas) exceptuando o
atributo Varivel de destino.

Criar Documento: O atributo nome do ficheiro deve ser preenchido entre aspas (como uma
String Java).

5.4 Biblioteca Processo

Abrir Processo: nada a salientar;

Pesquisa Processo: nada a salientar;

Muda Processo: nada a salientar;

@2013 Infosistema, all rights reserved

66

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Muda Processo com Utilizador: nada a salientar;

Guarda em BD: nada a salientar;

Limpa Erros Processo: nada a salientar;

Detalhe Processo: nada a salientar;

5.5 Biblioteca Base de Dados

SQLSelect: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis;

SQLInsert: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis; quando se faz a insero de um campo do tipo Date dever ser efectuado da seguinte
forma, to_date(+var+,DD/MM/YYYY);

SQLUpdate: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis, quando se faz uma actualizao de um campo do tipo Date dever ser efectuado da
seguinte forma, to_date(+var+,DD/MM/YYYY);

SQLDelete: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis;

SQLBatchInsert: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis, excepto o campo Vars que se define, como exemplo (nome_list,idade_list,user_list);

SQLBatchUpdate: todos os atributos so de definio do tipo String Java e possvel o uso de


variveis, excepto os campos SetVars e WhereVars que se definem, como exemplo (nome_list,
idade_list, user_list);

5.6 Biblioteca Notificao

Email: os atributos de e assunto tem de estar entre aspas (exemplos, iflow@infosistema.pt


Reunio de Direco); o campo para, recebe variveis; o campo mensagem do tipo String
Java e aceita variveis;

Email para Perfil: os atributos de e assunto tem de estar entre aspas (exemplos,
iflow@infosistema.pt Reunio de Direco); o campo mensagem do tipo String Java e
aceita variveis;

Email para Intervenientes: os atributos de e assunto tem de estar entre aspas (exemplos,
iflow@infosistema.pt Reunio de Direco); o campo para, recebe variveis; o campo
mensagem do tipo String Java e aceita variveis;

SMS: Os atributos tm de estar entre aspas no caso de se pretender introduzir texto;

SMS para Perfil: Os atributos tm de estar entre aspas no caso de se pretender introduzir texto
(Sendo o formato de String Java);

Notificao: O campo mensagem tem de estar entre aspas no caso de se pretender introduzir
texto (Sendo o formato de String Java);

@2013 Infosistema, all rights reserved

67

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

5.7 Biblioteca Evento

NOP: nada a salientar;

Evento: nada a salientar;

5.8 Biblioteca WebServices

Web Services: nada a salientar;

5.9 Biblioteca Relatrios

Report: O cdigo do Relatrio deve ser identificado com um nome identificativo;

5.10 Biblioteca FlowDocs

Obter Documento: Quando se recorre ao uso de variveis extra necessrio ter em ateno
que as variveis tm de existir.

Inserir Documento: nada a salientar.

Listar Documentos: nada a salientar.

Listar Pastas: nada a salientar.

Doc Info: nada a salientar;

Apagar Documento: nada a salientar;

6 Activar um Fluxo
6.1 FlowEditor
Aps a ligao e configurao dos blocos que compe o fluxo, necessrio carreg-lo para o iFlow. Isso
feito atravs do menu Ficheiro do editor e seleccionando a opo Enviar Fluxo, a qual abre uma janela
na qual se pode especificar nova verso ou sobrepor a existente.

@2013 Infosistema, all rights reserved

68

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 61: Envio de Fluxo

Caso se pretenda editar um fluxo j existente no iFlow (para fazer alteraes lgica do processo, por
exemplo), deve-se seleccionar a opo Download Fluxo do mesmo menu, escolhendo o fluxo da lista
apresentada na janela de download, como ilustrado na figura seguinte. ainda possvel obter uma verso
anterior ltima (actual), mediante a escolha nos campos de verso.

Ilustrao 62: Download de Fluxo

6.2 iFlow
Aps a criao do fluxo no editor e do seu upload, o passo seguinte parametriz-lo no lado do iFlow.
Para tal, deve-se efectuar o login na aplicao com um utilizador que tenha privilgios de administrao,
procedendo de seguida para rea de Admin (s visvel para utilizadores com privilgios de
administrao), ilustrada na figura seguinte.
@2013 Infosistema, all rights reserved

69

iFlow 4.2.0 - Manual de Utilizador do FlowEditor


Na rea de administrao existem ajudas contextuais em todos os submenus e opes.

Ilustrao 63: rea de Administrao do iFlow

De seguida deve-se clicar em Fluxos no menu Fluxos e proceder alterao das suas propriedades se
pretendido, clicando no cone da primeira coluna correspondente ao fluxo pretendido, resultando na
pgina ilustrada na figura seguinte.
Nesta pgina encontram-se as seguintes propriedades do fluxo seleccionado:

Notificar Utilizador de Nova Tarefa

Forar Notificao para Perfis (quando NOTIFY_USER=Nao)

Abortar Notificao para Perfis (quando NOTIFY_USER=Sim)

Iniciar Processo em

Title Pg. Entrada

Link Pg. Entrada

Mostra utilizador(es) para quem foi agendado processo

Permite ou no iniciar um fluxo sem autenticao (link)

Directoria de templates de email

Executar fluxo maximizado

Permitir Visualizacao de Historicos

Stylesheet default

Template de Impressao de Detalhe

Gerar link de download de Documentos com hash

@2013 Infosistema, all rights reserved

70

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Tempo de vida de um processo fechado (em dias)

Mostra utilizador(es) onde o processo est agendado

Permitir acesso a utilizadores no registados.

Formato para Nmeros Decimais (#,##0.00)

Formato para Nmeros Inteiros (#0)

Formato para as Datas (yyyy-MM-dd HH:mm)

Inicio de processo por email

Aps a configurao das propriedades, necessrio clicar em Guardar, para que elas fiquem guardadas
na base de dados. ainda possvel importar e exportar as propriedades de e para um ficheiro
respectivamente.
O passo seguinte a configurao das permisses por perfil de utilizador para o fluxo, seleccionando a
segunda coluna de acordo com o fluxo sobre o qual se pretende alterar as permisses. Aqui pode-se
visualizar os perfis e permisses j existentes para o fluxo, sendo possvel alterar as permisses para um
determinado perfil e/ou remover um determinado perfil. Alm disso, possvel adicionar perfis lista
existente, seleccionando o(s) perfil(s) desejado(s) da lista disponibilizada e clicando em adicionar. De
notar que s podem aceder ao fluxo os utilizadores pertencentes aos perfis que tenham permisses para
tal. De seguida apresenta-se uma figura com esta rea para o exemplo em anlise.
A partir deste momento passa a ser vivel colocar o fluxo activo/disponvel, pois j foram efectuadas
todas as configuraes necessrias, passando a ser possvel a criao de processos nesse fluxo (para o
caso dos utilizadores que o criem pertenam a um perfil que tenha permisses para tal).

7 Anexos
7.1 Grficos
7.1.1.1 Pie Chart
Para a criao de um grfico do tipo Pie ser necessrio criar uma varivel do tipo IntegerArray ou
FloatArray que ir guardar as propores de cada fatia do grfico, ser tambm necessria a criao de
uma varivel do tipo TextArray , que ir conter a descrio de cada um dos valores indicados na varivel
anterior, como exemplo podemos criar duas variveis no catlogo, denominadas produtos e valores do
tipo TextArray e IntegerArray respectivamente.
Seguidamente ser necessrio introduzir dados nas nossas variveis, para este efeito iremos usar um
bloco Beanshell e inicializamos cada um deles com os valores respectivos, valores no caso da varivel
valores e descries no caso da varivel produtos.
A dimenso dos dois Arrays ter de ser idntica dado que cada posio das descries referente s
posies dos valores, podemos visualizar um exemplo na ilustrao seguinte.

@2013 Infosistema, all rights reserved

71

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 64: Inicializao das variveis para o grfico do tipo Pie

O passo seguinte ser a introduo de um campo do tipo Grfico num bloco formulrio.

Ilustrao 65: Edio de atributos do campo Grfico para o tipo Pie

A figura anterior ilustra os campos a serem preenchidos para o correcto funcionamento do grfico.

Template do grfico: permite definir uma template previamente carregada no repositrio,


pie.chart neste caso;

Titulo do Grfico: permite definir o titulo a ser visualizado no grfico, pode ser texto (String de
Java) ou uma varivel definida no processo;

Labels: definio das etiquetas a representar cada um dos valores, ser indicada uma varivel
do tipo TextArray contendo a descrio de cada um dos valores;

Valores: definio de cada uma das fatias do grfico, ser indicada uma varivel do tipo
IntegerArray ou FloatArray contendo o valor em cada uma das suas posies;

Largura do Grfico: permite definir a largura desejada;

Altura do Grfico: permite definir a altura desejada;

Alinhamento: permite definir o alinhamento do grfico: esquerda, centro ou direita;

Condio de Disable: definio de uma condio disable (do tipo Java), permitindo ocultar o
grfico em determinadas condies.

Nestas condies o resultado obtido ser o ilustrado na figura seguinte:

@2013 Infosistema, all rights reserved

72

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 66: Exemplo de Pie Chart

O iFlow j se encontra com uma template do tipo Pie carregada no repositrio, no entanto ser
necessria a criao de uma nova com base na template com a finalidade de ser personalizada de acordo
com as necessidades, a definio de cada propriedade encontra-se documentada em
http://www.jfree.org/jfreechart/.

7.1.1.2 Bar Chart e Stacked Chart


Para a criao de um grfico do tipo Bar ou Stacked sero necessrias variveis adicionais, dado que
este apresenta um comportamento diferente do grfico do tipo Pie.
Estes dois tipos de grficos apresentam um comportamento semelhante, diferindo apenas no aspecto
visual, no caso do tipo Stacked a srie toda definida numa barra, no caso do tipo Bar so
apresentadas vrias barras por srie.
Ser necessrio criar trs variveis do tipo TextArray que iro conter as sries, a designao e as labels.
Seguidamente criamos vrias variveis do tipo IntegerArray ou FloatArray de acordo com o nmero de
sries criado contendo os valores.
Finalmente criada uma varivel do tipo TextArray que identifica cada um dos arrays anteriormente
descritos.

@2013 Infosistema, all rights reserved

73

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 67: Inicializao das variveis para o grfico do tipo Bar

O passo seguinte ser a introduo de um campo do tipo Grfico num bloco formulrio.

Ilustrao 68: Edio de atributos do campo Grfico para o tipo Bar

Template do grfico: permite definir uma template previamente carregada no repositrio,


bar.chart ou stacked.chart;

Titulo do Grfico: permite definir o ttulo a ser visualizado no grfico, pode ser texto (String de
Java) ou uma varivel definida no processo;

Labels: definio das series e etiquetas a representar, a primeira posio ser as sries e a
segunda as labels;

Valores: Varivel que contem a definio de todos os conjuntos de valores;

Largura do Grfico: permite definir a largura desejada;

Altura do Grfico: permite definir a altura desejada;

Alinhamento: permite definir o alinhamento do grfico: esquerda, centro ou direita;

Condio de Disable: definio de uma condio disable (do tipo Java), permitindo ocultar o
grfico em determinadas condies.

Nestas condies os resultados obtidos sero os ilustrados nas figuras seguintes:

@2013 Infosistema, all rights reserved

74

iFlow 4.2.0 - Manual de Utilizador do FlowEditor

Ilustrao 69: Bar Chart

Ilustrao 70: Stacked Chart

O iFlow j se encontra com templates do tipo Bar e Stacked carregadas no repositrio, no entanto
ser necessria a criao de novas com base nas templates com a finalidade de serem personalizada de
acordo com as necessidades, a definio de cada propriedade encontra-se documentada em
http://www.jfree.org/jfreechart/
Salienta-se a importncia das propriedades chart.bar.xx.axis e chart.bar.yy.axis que permitem a
definio das abcissas e das ordenadas.

@2013 Infosistema, all rights reserved

75

Вам также может понравиться