290 likes | 436 Views
Exemplo demonstração BizAgi Processo Tratar pedido de férias. No mesmo projeto posso ter vários modelos? Como os eliminar? Sim, um projeto pode ter vários processos Qual a relação entre projetos e modelos de processos Um projeto é uma aplicação que pode conter vários modelo processos
E N D
Exemplo demonstração BizAgi Processo Tratar pedido de férias
No mesmo projeto posso ter vários modelos? Como os eliminar? • Sim, um projeto pode ter vários processos • Qual a relação entre projetos e modelos de processos • Um projeto é uma aplicação que pode conter vários modelo processos • Os processos que vejo no servidor podem corresponder a versões anterior deployed mas que já não estão no ambiente de desenvolvimento? • Não. Os projetos são os mesmos, podem ser executados em ambiente de testes ou em ambiente de produção. • Porque dá erro o campo nome do requerente no form? • Não pode ser editável, porque é do tipo system.
Versão incial • Processo pedido de férias com todas as tarefas do tipo user • Dois utilizadores: user1(user1) e user2(user2) • Aprovação atribuída a utilizador nominal (user2) • Modelo de dados • Data de início e de fim • Motivo do pedido • Aprovação • Justificação da decisão • Nº de registo no SGRH (sistema de gestão de RH)
Versão final • Preenchimento automático dos campos • requerente com o nome • Data de registo do pedido • Motivo de não aprovação parametrizado • Opção Outro motivo de não aprovação com campo de texto livre • Envio de email ao requerente com a decisão • Envio de notificação ao aprovador em atraso • 1º nível de aprovação no supervisor direto • 2º nível do diretor de área • Múltiplos períodos de férias no mesmo pedido
Cenário de teste • 3 áreas: Compras, Comercial, Serviços administrativos • diretor de área: bcompras, bcomercial, bservicos –pass:12345678 • Diretor geral: dgeral pass:12345678 • Técnicos de área: t1compras, t2compras(supervisor do t1), t1 comercial, t2serviços - pass:12345678 • Justificação de não aprovação: excede dias de férias disponíveis, necessidade do Serviço, Outro motivo
Desenvolver: • as descrições textuais dos processos e • as aplicações completas • correspondentes a estas duas versões do processo • Como disponibilizar as aplicações para que cada um as possa instalar e testar no seu próprio computador? • remeter para procedimento em anexo
A versão final não contempla • Subprocessos • Gateways complexos • Políticas • Integração de dados (webservices) Aspetos a incluir num outro exemplo (Compras ou Tratar reclamação)
Integração de dados (webservices) • Não seria possível criar uma tabela em bdd com os dias disponíveis por colaborador e mantida diretamente pela interface do SQLserver • + • um webservice em php que os alunos pudessem instalar na própria máquina (ou nas máquinas dos colegas)? • Sim, já está desenvolvido
Em cada um dos pontos seguintes, incluir referência à página correspondente da wiki
Preenchimento automático de campos • http://wiki.bizagi.com/en/index.php?title=Define_Activity_Actions_with_Process_Wizard
Nota: tasks do tipo script • A diferença é que não tem formulário • Pois as ações são criadas exatamente da mesma maneira que nas usertasks • Certo? • Sim, mas as tasks do tipo script são executadas automaticamente.
data do pedido • No módulo 2 – Modelo de dados, criar o novo atributo dataPedido • No módulo 3 – Forms, acrescentar um novo campo com a data do pedido no form do aprovador • No módulo 4 - Expressões e Ações e selecionar ações • Clicar na tarefa Submeter pedido, selecionar On Exit e clicar em + (para criar a nova ação) • Nota: em vez de ON Exit podia ser Onenter ou Onsave • Selecionar Addexpression • Preencher o formulário: • Name: dataPedido • Diplayname: dataPedido • Descrição: preencher automaticamente o campo dataPedido • Clickdireito sobre a seta vertical entre os sinais de incício (<) e final (-) e selecionar Addassignment e atribuir o nome DataPedido • Duplo click sobre o assignment assim criado e clicar (+ Add) para introduzir o assignment de uma nova variável (nota: na mesma ação podem ser programadas várias atribuições) • Em SelectVariable selecionar selectattribute e depois dataPedido • No radio, selecionar Expression • O sistema preenche automaticamente o valor com uma chamada à função DateTime.Now
Se programar uma ação em salvar e se o utilizador não clicar em salvar, essa ação é executada de qualquer forma ao sair? • Não, apenas ao clique do botão save.
Requerente • No módulo 2 – Modelo de dados, criar o novo atributo requerente • Tipo: Entity / System / WFUSER • No módulo 3 – Forms, acrescentar um novo campo com o nome do requerente, não editável • No módulo 4 - Expressões e Ações e selecionar ações • Ir ao módulo 4 - Expressões e Ações e selecionar ações • Clicar na tarefa Submeter pedido, selecionar On Exit • Click direito sobre a seta vertical entre os sinais de início (<) e final (-) e selecionar Addassignment e atribuir o nome Requerente • Em SelectVariable selecionar selectattribute e depois requerente • No radio, selecionar Expression • No campo valor introduzir Me.Case.Creator.Id • (ver wiki function Me)
Envio de emails • http://wiki.bizagi.com/en/index.php?title=Environment_Configuration
Notificar requerente da decisão • Ação email, To: requerente.contactemail • Campos dinâmicos: < • Decisão sobre o seu pedido de férias: <CaseNumber> • Configuraremail • Smtp.fe.up.pt • Enable email no user
Como enviar um email cujo conteúdo depende da decisão? • http://wiki.bizagi.com/en/index.php?title=E-Mail_Messages#User_Configured_e-mail_Messages
Notificar aprovador de atraso • É feito de forma automática se for configurada a duração de execução de uma tarefa. • Também pode ser introduzido um timer e uma ação automática. • http://wiki.bizagi.com/en/index.php?title=Alarms
Validar dados: • Data de fim de férias > data de início • Mínimo 3 dias Como implementar? http://wiki.bizagi.com/en/index.php?title=Validations
Entidades paramétricas • Ilustrar com motivos de não aprovação do pedido de férias • No caso do pedido de compras, ter um campo com lista de produtos que depende de outro com lista de famílias
Utilizadores: notas • Administrador • por defeito: admon • Não tem password • Para entrar tem de clicar no botão • Em teste entra como admon • Utilizadores • Especificar domain = domain • Podem ser administradores
Organização: Notas • Só há uma organização na aplicação • Cada organização tem várias áreas (depts) • Cada área tem um responsável • Gerir áreas: Vista Modules, entrada Organization • Cada utilizador tem um supervisor para além do responsável da área a que pertence, certo? • sim
Organização e utilizadores • Criação dos supervisores e departamentos? • Modelo de dados
Quando há vários níveis de aprovação, isso significa que também posso ter vários níveis na organização (sub-áreas e sub-sub-áreas), certo? • Não, só é possivel ter hierarquias nos cargos (positions).
Collections • Como criar? • http://wiki.bizagi.com/en/index.php?title=Relationships_and_Collections#How_to_Create_a_Collection_Relationship • Qual o tipo de configuração que posso ter do controlo da interface • http://wiki.bizagi.com/en/index.php?title=Table_(Grid)
Subprocessos • Como criar e qual o comportamento • http://wiki.bizagi.com/en/index.php?title=Multiple_subprocesses
Gateways complexos • Desenvolver aplicação para escolhe os fornecedores que quiser de uma lista, • pode avançar depois de ter um mínimo de 3 respostas
Delegação • Como implementar a delegação (autorizar) • Como se manifesta na interface?
Teste e produção • O servidor é o mesmo, qual a diferença em termos de funcionalidade? • http://wiki.bizagi.com/en/index.php?title=Deployment#What_happens_with_the_existing_cases.3F