Академический Документы
Профессиональный Документы
Культура Документы
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
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
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
63:
64:
65:
66:
67:
68:
69:
70:
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.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;
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:
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;
lista_de_nomes[2]
O valor obtido sempre do tipo simples equivalente, neste caso, Text.
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:
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.
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.
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.
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.
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.
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:
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.
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.
Entradas
O Bloco SubFluxo tem uma entrada normal.
@2013 Infosistema, all rights reserved
10
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.
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.
11
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.
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).
12
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.
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.
13
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.
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.
14
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);
15
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.
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.
16
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.
17
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.
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
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.
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.
19
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.
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.
20
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.
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.
21
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.
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.
22
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.
Configurao
Permite obter o dono da tarefa que foi delegada ao utilizador definido.
23
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.
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
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.
25
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
"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);
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:
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.
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.
27
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
29
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;
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
30
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.
Ignorar processamento da form: permite definir uma condio para ignorar o processamento do
formulrio (util quando o formulrio apresenta campos obrigatrios);
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.
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.
31
Configurao
O Bloco Validaes efectua as validaes pretendidas, associando mensagens de erro a condies, tal
como se pode ver na figura seguinte.
32
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).
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.
33
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.
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:
cada linha dessa coluna importada baseada no valor da varivel no ndice respectivo:
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;
34
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.
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.
35
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.
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.
36
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.
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;
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);
37
Abrir em: Escolha se abre com um utilizador ou um grupo de utilizadores em quem o processo
fica atribudo;
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;
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.
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.
38
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 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);
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
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.
Entradas
O Bloco Muda Processo tem uma entrada normal.
Sadas
O Bloco Muda Processo tem apenas uma sada.
40
Configurao
Entradas
O Bloco Muda Processo com Utilizador tem uma entrada normal.
Sadas
O Bloco Muda Processo com Utilizador tem apenas uma sada.
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.
41
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.
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.
42
Entradas
O Bloco Detalhe de Processo tem uma entrada normal.
Sadas
O Bloco Detalhe de Processo tem apenas uma sada.
43
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;
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;
44
Bloco SQLInsert
Permite inserir dados do processo numa tabela em base de dados. Os atributos a configurar so:
Bloco SQLUpdate
Permite actualizar dados numa determinada tabela em base de dados com dados do processo. Os
atributos a configurar so:
45
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.
Bloco SQLDelete
Permite apagar dados de uma tabela em base de dados. Os atributos a configurar so:
Where: critrio de remoo (SQL). De notar que se no for definido nenhum critrio, todos os dados na tabela
sero apagados.
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
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:
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
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.
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).
48
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.
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.
49
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.
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.
50
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.
51
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).
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.
52
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.
53
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).
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.
54
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.
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.
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
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.
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.
56
57
58
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.
Entradas
O Bloco Relatrio
Sadas
O Bloco Relatrio tem apenas uma sada normal.
59
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.
60
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.
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.
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.
61
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.
62
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.
No separador Sada define-se a varivel do tipo lista (textArray) onde se deseja guardar a listagem
obtida.
63
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.
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;
64
Formulrio:
o
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;
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;
65
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.
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).
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
Data: o atributo Data Input por default usa a data actual, se no lhe for definido nenhum valor.
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).
66
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 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);
67
Obter Documento: Quando se recorre ao uso de variveis extra necessrio ter em ateno
que as variveis tm de existir.
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.
68
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.
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
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:
Iniciar Processo em
Stylesheet default
70
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.
71
O passo seguinte ser a introduo de um campo do tipo Grfico num bloco formulrio.
A figura anterior ilustra os campos a serem preenchidos para o correcto funcionamento do grfico.
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;
Condio de Disable: definio de uma condio disable (do tipo Java), permitindo ocultar o
grfico em determinadas condies.
72
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/.
73
O passo seguinte ser a introduo de um campo do tipo Grfico num bloco formulrio.
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;
Condio de Disable: definio de uma condio disable (do tipo Java), permitindo ocultar o
grfico em determinadas condies.
74
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.
75