Árvore de páginas

Versões comparadas

Chave

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

...

Os desenvolvimentos sobre a plataforma Fluig fluig são feitos pelo administrador, a partir do Fluig fluig Studio. No projeto Fluigfluig, clique com o botão direito sobre a pasta events e em seguida Novo -> Evento Global Fluigfluig conforme a figura abaixo.

...

Figura 1 - Criação de evento - Fluig fluig Studio.


Em seguida basta informar o Servidor e o Nome do Evento que será adicionado. Uma tela para edição do evento será aberta, conforme imagem a seguir:

...

Figura 2 - Criação de evento - Fluig fluig Studio.


É possível observar também que o arquivo .js foi adicionado a pasta events do projeto.

 

O Fluig fluig permite utilizar o  log de execução nos eventos de customizaçãodesenvolvidos sobre a plataforma. Através da variável global “log” é possível obter o feedback da execução de cada evento. Existem quatro níveis de log, são eles:

...

A seguir serão detalhados os eventos disponíveis no Fluigfluig.

AddDocumentConvertionExt

Este evento permite customizar personalizar a conversão de documento realizada pelo Fluigfluig. Mais informações sobre ele podem ser encontradas no guia Conversores de Documentos.

...

Evento disparado antes do login de um usuário. Pode ser utilizado quando for necessário realizar validações antes do usuário ser autenticado no Fluigfluig, possibilitando o cancelamento do login caso seja lançada uma exceção através do evento.

...

Evento disparado após o login de um usuário. Pode ser utilizado quando for necessário realizar alguma rotina  quando o usuário é autenticado no Fluigfluig.

Bloco de código
languagejs
function afterLogin(login) {
}

...

Para interferir no envio de uma notificação padrão do Fluigfluig, deve ser utilizado o evento global onNotify, que é disparado no momento em que qualquer notificação do Fluig fluig é enviada. Nesse evento, podem ser feitas alterações como, por exemplo, adicionar outros destinatários ao e-mail, modificar os valores dos parâmetros utilizados no template de e-mail, etc.

...

Nota
titleAtenção

A partir da versão 1.3.3 do Fluigfluig, recomenda-se fazer a validação do template utilizando template == "TPLDOCUMENT_APPROVAL_PENDINGao invés da função match(), evitando assim redundâncias na customização, pois o match() pode retornar como válido para mais de um template em casos como TPLNEW_TASK e TPLNEW_TASK_POOL_GROUP.

...

ParâmetroDescrição
subjectÉ o assunto do e-mail. A alteração desta variável irá implicar que todos os usuários recebam o e-mail com o novo assunto configurado. Exemplo de utilização: subject.add("ASSUNTO");
receiversLista de e-mails destinatários. Também é possível adicionar outros e-mails, de usuários que não participam do processo. Inclusive, podem ser adicionados e-mails de usuários que não estão cadastrados no Fluigfluig, caso seja necessário notificar uma pessoa que não tenha acesso ao sistema.
templatePermite validar qual tipo de e-mail está sendo enviado (por exemplo, template de documento em aprovação, documento expirando, etc). Com base nessa variável podemos distinguir quais e-mails queremos customizar. É recomendável que sempre seja verificado o código do template, para evitar que ocorram alterações em outros tipos de e-mail, que não necessitariam de customização.
paramsÉ um mapa de dados que permite alterar/incluir parâmetros para que sejam apresentados no e-mail. O nome dos parâmetros informados nesse mapa devem ser os mesmos que são utilizados dentro do arquivo de template.

...

 

 

Nota
titleImportante
  • O evento global onNotify possui bind de variáveis para acesso à log, datasetManager, DatasetFactory, DatasetBuilder, ConstraintType e ServiceManager.
  • Recomenda-se verificar a lista de parâmetros (params) recebida antes de utilizá-los, pois estes variam de acordo com o template utilizado.
  • Quando um workflow possuir evento onNotify, o evento global onNotify será ignorado para os e-mails daquele processo.
  • É imprescindível a validação pelo código do template antes de qualquer implementação, pois TODOS os e-mails passarão por esta customização quando o evento estiver registrado.

 

afterReleaseProcessVersion

Evento disparado após a criação ou modificação nas configurações de um determinado processo.

Nota
titleImportante

Caso o processo possua o evento "afterReleaseVersion" implementado, este evento global será desconsiderado na liberação de novas versões do processo em questão.

Abaixo segue um exemplo de como implementar esse evento:

Bloco de código
themeEclipse
languagejavascript
linenumberstrue
function afterReleaseProcessVersion(processXML){
	var pdv = getValue("ProcessDefinitionVersionDto");
	var processInfo = "\n### Nova versão de processo liberada: ###";
	processInfo += "\n User: " + getValue("WKUser");	
	processInfo += "\n processDescription: " + pdv.getProcessDescription();
	processInfo += "\n processId: " + pdv.getProcessId();
	processInfo += "\n version: " + pdv.getVersion();
	log.info(processInfo + "\n");
}

 

São disponibilizadas algumas propriedades referentes ao processo que esta sendo liberado, porém somente para consulta através do método getValue.

Propriedade

Descrição

Tipo

WKCompany

Código da empresa

long

WKUser

Usuário logado

String
ProcessDefinitionVersion
Objeto com propriedades da versão do processo alterada
ProcessDefinitionVersionDto

 

Objetos utilizados nos eventos

Existem alguns objetos disponibilizados pelo produto que são utilizados nos eventos, nas próximas sessões eles serão explicados seus métodos e seus retornos.

 

DocumentDto

Este objeto representa o documento e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Int

getUUID()

Retorna o UUID (identificador Único Global) do documento.

String

getDocumentTypeId()

Retorna o tipo do arquivo físico, se retornar branco ou nulo é porque esse tipo não é conhecido pelo Fluig.

String

getLanguageId()

Retorna o código do Idioma do documento.

String

getIconId()

Retorna o código do Ícone do documento.

int

getTopicId()

Retorna o código do assunto do documento.

int

getColleagueId()

Retorna a matricula do usuário que criou o documento.

String

getDocumentDescription()

Retorna a descrição do documento.

String

getAdditionalComments()

Retorna os comentários adicionais do documento.

String

getPhisicalFile()

Retorna o caminho físico onde o documento está armazenado.

String

getCreateDate()

Retorna a data de criação.

java.util.Date

getApprovedDate()

Retorna a data de Aprovação.

java.util.Date

getLastModifiedDate()

Retorna a Data da última modificação.

java.util.Date

getDocumentType()

Retorna o tipo do documento, onde:

0 à Pasta raiz

1 à Pasta

2 à Documento normal

3 à Documento externo

4 à Fichário

5 à Ficha

7 à Anexo Workflow

8 à Novo Conteúdo

9 à Aplicativo

10 à Relatório

portal à Site

portalPage à Página de Site

String

getExpirationDate()

Retorna a data de expiração.

java.util.Date

getParentDocumentId()

Retorna o número da Pasta/Fichário pai

int

getRelatedFiles()

String com o nome do arquivo físico principal e anexos.

String

getActiveVersion()

Retorna se a versão é ativa.

boolean

getVersionDescription()

Retorna a descrição da versão.

String

getDownloadEnabled()

Retorna se o documento permite Download

boolean

getApproved()

Retorna se o documento está em aprovação.

boolean

getValidationStartDate()

Retorna a partir de que data em que o documento poderá ser visualizado.

java.util.Date

getPublisherId()

Retorna a matricula do usuário que publicou o documento.

String

getCardDescription()

Retorna a descrição da ficha, para documento do tipo 5.

String

getDocumentPropertyNumber()

Retorna o fichário que foi usado como base para criação da ficha, por isso só tem um valor quando o documento é do tipo 5 (ficha).

int

getDocumentPropertyVersion()

Retorna a versão do fichário em que a ficha foi criada.

int

getPrivateDocument()

Retorna se o documento/pasta está abaixo da pasta particular.

boolean

getPrivateColleagueId()

Se é um documento particular retorna a matricula do usuário onde este documento está alocado.

String

getIndexed()

Retorna se o documento já foi indexado.

boolean

getPriority()

Retorna a prioridade do documento.

int

getUserNotify()

Retorna se notifica os usuários que tenham esse assunto de interesse.

boolean

getExpires()

Retorna se o documento está expirado.

boolean

getVolumeId()

Retorna o volume onde o documento foi publicado, se estiver em branco ele utiliza o volume do pai.

String

getInheritSecurity()

Retorna se herda segurança do pai.

boolean

getUpdateIsoProperties()

Retorna se atualiza as propriedades da cópia controlada.

boolean

getLastModifiedTime()

Retorna a hora da última modificação em milissegundos.

String

getDeleted()

Retorna se o documento está na lixeira.

boolean

getDatasetName()

Retorna o documento do dataset , se o documento é um fichário.

String

getKeyWord()

Retorna as palavras chaves do documento. Cada palavra é separada por vírgula.

String

getImutable()

Retorna se a versão/revisão é inalterável.

boolean

getDraft()

Retorna se o documento está em edição, para documento do tipo “Novo Conteúdo”.

boolean

getInternalVisualizer()

Retorna se utiliza visualizador interno.

boolean

getPhisicalFileSize()

Retorna o tamanho físico do documento principal e anexos.

float

getVersionOption()

Retorna a condição de versionamento do documento:

0 = Será mantida a versão

1 = Será criado nova revisão

2 = Será criado nova versão

Importante lembrar que no momento da criação de um novo documento o valor sempre será 0.

int

beforeSendNotification

Evento disparado antes do envio de uma notificação ao usuário. Pode ser utilizado quando for necessário adicionar alguma informação à nota ou alterar a prioridade de uma notificação, possibilitando o cancelamento do envio da notificação caso seja definida uma prioridade através do evento.

Informações
titleObservação

Por questões de segurança, somente os campos priority e note podem ser alterados. Outras alterações não serão consideradas.

Nota
titleImportante

Caso seja lançada uma exceção através do evento a notificação não será enviada, mas esse não é o modo correto de cancelar o envio. Definir o campo priority como "NONE" impede que a notificação seja enviada sem a necessidade de lançar exceção.

Abaixo segue um exemplo de como implementar esse evento:

Bloco de código
themeEclipse
languagejavascript
linenumberstrue
function beforeSendNotification(notification) {
    if (notification.eventType == "DENOUNCED_CONTENT") {
        notification.priority = "NONE";
    }
    if (notification.eventType == "DOCUMENT_APPROVED") {
        notification.priority = "NORMAL";
    }
    if (notification.eventType == "DOCUMENT_REPROVED") {
        notification.priority = "HIGH";
    }
    if (notification.eventType == "LIKE") {
        notification.priority = "LOW";
    }
}

 

São disponibilizadas algumas propriedades referentes à notificação que está sendo enviada.

Propriedade

Descrição

Tipo

aliasSender

Alias de quem enviou a notificação. Pode vir nulo nos casos em que a notificação é enviada pelo sistema.

String

aliasReceiver

Alias de quem vai receber a notificação.

String

place

Lugar onde foi feita a ação que gerou a notificação. Pode vir nulo quando não for um lugar socializavel.

GenericAlertEventVO

object

Objeto sobre o qual foi feita a ação que gerou o alerta.

GenericAlertEventVO  

eventType

Tipo do evento que gerou a notificação.

String

metadata

Metadados da notificação.

Hashmap <String, String>

priority

Prioridade da notificação. Valores válidos:  NONE, LOW, NORMAL, HIGH.

String

note

Nota enviada junto à notificação.

String

 

afterSendNotification

Evento disparado após o envio de uma notificação ao usuário. Pode ser utilizado quando for necessário registrar alguma informação, para auditoria, por exemplo.

Abaixo segue um exemplo de como implementar esse evento:

Bloco de código
themeEclipse
languagejavascript
linenumberstrue
function afterSendNotification(notification){
		log.info("notification as send for " + notification.aliasReceiver);
}

 

São disponibilizadas algumas propriedades referentes à notificação que foi  enviada.

Propriedade

Descrição

Tipo

aliasSender

Alias de quem enviou a notificação. Pode vir nulo nos casos em que a notificação é enviada pelo sistema.

String

aliasReceiver

Alias de quem vai receber a notificação.

String

place

Lugar onde foi feita a ação que gerou a notificação. Pode vir nulo quando não for um lugar socializavel.

GenericAlertEventVO

object

Objeto sobre o qual foi feita a ação que gerou o alerta.

GenericAlertEventVO  

eventType

Tipo do evento que gerou a notificação.

String

metadata

Metadados da notificação.

Hashmap <String, String>

priority

Prioridade da notificação.

String

note

Nota enviada junto à notificação.

String

 

onDisplayTasks

Este evento é disparado antes de serem exibidas as tarefas das aba "Tarefas a concluir" , "Minhas solicitações", "Tarefas em pool", "Tarefas em consenso" e "Minhas tarefas sob gerência" na central de tarefas. Através dele é possível inserir, alterar ou remover itens da central de tarefas. O evento recebe como parâmetro uma lista de WorkflowTasksVO das tarefas existentes.


Exemplo adicionando uma tarefa personalizada ao final da lista de tarefas:

Bloco de código
languagejs
function onDisplayTasks(tasks) {
	var newTask = new WorkflowTasksVO();
	newTask.description = "TOTVS 001";
	newTask.url = "http://www.totvs.com";
	tasks.add(newTask);
}

Disponibilizamos algumas informações para consulta através do método getValue.

Propriedade

Descrição

Tipo

WKUser

Código do usuário logado.

String

WKUserLocale

Idioma do usuário logado.

String
WKCompanyNúmero da empresa.Int
taskUserIdCódigo do usuário substituído, em caso de visualização da central como substituto. Nos demais casos retorna o usuário logado.String
taskTypeIndicador do tipo de tarefas que estão sendo exibidas, “open” tarefas a concluir e “requests” para minhas solicitações.String
filter

Filtros utilizados.

Map<String, Object>
orderOrdenação aplicada.String
maxResultNúmero de resultados por página.Int
pageNúmero da página atual.Int
taskIdEm caso de pool,  quando o taskType for pool, o taskId trará uma string contendo o tipo no caso ‘Role’ para papel ou ‘Group‘ para grupo e seu código. Exemplo: ‘Pool:Role:admin’ para um pool do papel ‘admin’.String
Bloco de código
languagejs
titleExemplo
function onDisplayTasks(links){
log.info("Usuário: " + getValue("WKUser"));
}

 

onDisplayTasksSummary

Este evento é disparado antes de serem exibidos os contadores das abas e gráficos da central de tarefas e widgets de BPM. Através dele é possível alterar números de tarefas pendentes de cada tipo.

Exemplo alterando o número de tarefas abertas e no prazo:

Bloco de código
languagejs
function onDisplayTasksSummary(resumeTasks) {
	resumeTasks.openTasks=20;
}


O objeto recebido como parâmetro contém:

Propriedade

Descrição

Tipo
expiredTasks

 

Solicitações atrasadas.Int
openTasksSolicitações no prazo.Int
myRequestsMinhas solicitações.Int
toApproverAprovação de documentos pendentes.Int
myDocumentsDocumentos aguardando aprovação.Int
checkoutDocumento em checkout.Int
learningTasksAtividades de Aprendizado.Int
Bloco de código
languagejs
function onDisplayTasksSummary(resumeTasks) {
	resumeTasks.expiredTasks=10;
	resumeTasks.openTasks=20;
	resumeTasks.myRequests=30;
	resumeTasks.toApprover=40;
	resumeTasks.myDocuments=50;
	resumeTasks.checkout=60;
	resumeTasks.learningTasks=70;
}

 

Disponibilizamos algumas informações para consulta através do método getValue.

Propriedade

Descrição

Tipo

WKUser

Código do usuário logado.

String

WKUserLocale

Idioma do usuário logado.

String
WKCompanyNúmero da empresa.Int
taskUserIdCódigo do usuário substituído, em caso de visualização da central como substituto. Nos demais casos retorna o usuário logado.String
Bloco de código
languagejs
titleExemplo
function onDisplayTasks(links){
log.info("Usuário: " + getValue("WKUser"));
}

 

 

 

 

Objetos utilizados nos eventos

Existem alguns objetos disponibilizados pelo produto que são utilizados nos eventos, nas próximas sessões eles serão explicados seus métodos e seus retornos.

 

DocumentDto

Este objeto representa o documento e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Int

getUUID()

Retorna o UUID (identificador Único Global) do documento.

String

getDocumentTypeId()

Retorna o tipo do arquivo físico, se retornar branco ou nulo é porque esse tipo não é conhecido pelo fluig.

String

getLanguageId()

Retorna o código do Idioma do documento.

String

getIconId()

Retorna o código do Ícone do documento.

int

getTopicId()

Retorna o código do assunto do documento.

int

getColleagueId()

Retorna a matricula do usuário que criou o documento.

String

getDocumentDescription()

Retorna a descrição do documento.

String

getAdditionalComments()

Retorna os comentários adicionais do documento.

String

getPhisicalFile()

Retorna o caminho físico onde o documento está armazenado.

String

getCreateDate()

Retorna a data de criação.

java.util.Date

getApprovedDate()

Retorna a data de Aprovação.

java.util.Date

getLastModifiedDate()

Retorna a Data da última modificação.

java.util.Date

getDocumentType()

Retorna o tipo do documento, onde:

0 à Pasta raiz

1 à Pasta

2 à Documento normal

3 à Documento externo

4 à Fichário

5 à Ficha

7 à Anexo Workflow

8 à Novo Conteúdo

9 à Aplicativo

10 à Relatório

portal à Site

portalPage à Página de Site

String

getExpirationDate()

Retorna a data de expiração.

java.util.Date

getParentDocumentId()

Retorna o número da Pasta/Fichário pai

int

getRelatedFiles()

String com o nome do arquivo físico principal e anexos.

String

getActiveVersion()

Retorna se a versão é ativa.

boolean

getVersionDescription()

Retorna a descrição da versão.

String

getDownloadEnabled()

Retorna se o documento permite Download

boolean

getApproved()

Retorna se o documento está em aprovação.

boolean

getValidationStartDate()

Retorna a partir de que data em que o documento poderá ser visualizado.

java.util.Date

getPublisherId()

Retorna a matricula do usuário que publicou o documento.

String

getCardDescription()

Retorna a descrição da ficha, para documento do tipo 5.

String

getDocumentPropertyNumber()

Retorna o fichário que foi usado como base para criação da ficha, por isso só tem um valor quando o documento é do tipo 5 (ficha).

int

getDocumentPropertyVersion()

Retorna a versão do fichário em que a ficha foi criada.

int

getPrivateDocument()

Retorna se o documento/pasta está abaixo da pasta particular.

boolean

getPrivateColleagueId()

Se é um documento particular retorna a matricula do usuário onde este documento está alocado.

String

getIndexed()

Retorna se o documento já foi indexado.

boolean

getPriority()

Retorna a prioridade do documento.

int

getUserNotify()

Retorna se notifica os usuários que tenham esse assunto de interesse.

boolean

getExpires()

Retorna se o documento está expirado.

boolean

getVolumeId()

Retorna o volume onde o documento foi publicado, se estiver em branco ele utiliza o volume do pai.

String

getInheritSecurity()

Retorna se herda segurança do pai.

boolean

getUpdateIsoProperties()

Retorna se atualiza as propriedades da cópia controlada.

boolean

getLastModifiedTime()

Retorna a hora da última modificação em milissegundos.

String

getDeleted()

Retorna se o documento está na lixeira.

boolean

getDatasetName()

Retorna o documento do dataset , se o documento é um fichário.

String

getKeyWord()

Retorna as palavras chaves do documento. Cada palavra é separada por vírgula.

String

getImutable()

Retorna se a versão/revisão é inalterável.

boolean

getDraft()

Retorna se o documento está em edição, para documento do tipo “Novo Conteúdo”.

boolean

getInternalVisualizer()

Retorna se utiliza visualizador interno.

boolean

getPhisicalFileSize()

Retorna o tamanho físico do documento principal e anexos.

float

getVersionOption()

Retorna a condição de versionamento do documento:

0 = Será mantida a versão

1 = Será criado nova revisão

2 = Será criado nova versão

Importante lembrar que no momento da criação de um novo documento o valor sempre será 0.

int
Bloco de código
languagejava
titleExemplo
var doc = getValue("WKDocument");
log.info("Número do documento: "+ doc.getDocumentId() + " - Versão: "+ doc.getVersion());

 

ApproverDto

Este objeto representa os aprovadores e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Int

getColleagueId()

Retorna a matricula de um usuário ou o código do grupo que está aprovando este documento. É possível saber se vai retornar um usuário ou um grupo pelo tipo de aprovação.

String

getApproverType()

Retorna o tipo da aprovação, onde:

0 à Usuário

1 à Grupo

int

getLevelId()

Retorna o nível de aprovação, no caso de aprovação em níveis.

int

Bloco de código
languagejava
titleExemplo
var listApprover = getValue("WKListApprover");
	if(listApprover!=null){
    	for(j = 0; j < listApprover.size(); j++) {           
       	 if (listApprover.get(j).getColleagueId().equals("adm")){
            throw "O usuário adm não pode ser aprovadores de documentos";
        }
    }
}

        

DocumentSecurityConfigDto

Este objeto representa a segurança de um documento e suas propriedades, na tabela abaixo consta mais informações sobre ele:

  

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Int

getAttributionValue()

Retorna a matricula de um usuário ou o código do grupo que está na segurança deste documento. É possível saber se vai retornar um usuário ou um grupo pelo tipo da segurança.

Obs.: Retorna em branco quando o tipo é todos os usuários.

String

getAttributionType()

Retorna o tipo da segurança, onde:

1 à Usuário;

2 à Grupo;

3 à Todos os Usuários.

int

getPermission()

Retorna se é uma permissão.

Obs.: Se não é uma permissão é uma restrição.

boolean

getShowContent()

Retorna se lista o conteúdo.

boolean

getSecurityLevel()

Retorna no nível de permissão/restrição, onde:

-1 à sem permissão/restrição (nega acesso);

0 à Leitura;

1 à Gravação;

2 à Modificação;

3 à Total.

int

getSequence()

Retorna a sequência da permissão/restrição.

int

getSecurityVersion()

Retorna se ele utiliza a segurança deste versão nas demais.

boolean

Bloco de código
languagejava
titleExemplo
var doclistSeg = getValue("WKDocumentWKListSecurity");
log.info("Número do documento: "+ doc.getDocumentId() + " - Versão: "+ doc.getVersion());

 

ApproverDto


if(listSeg != null){
    for(j = 0; j < listSeg.size(); j++) {     
        if (listSeg.get(j).getAttributionValue().equals("cvd")){
            throw "O usuário cvd não pode estar na segurança de documentos";
        }
    }
}

 

RelatedDocumentDto

Este objeto representa os documentos relacionados Este objeto representa os aprovadores e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Intint

getColleagueIdgetRelatedDocumentId()

Retorna a matricula de um usuário ou o código do grupo que está aprovando este documento. É possível saber se vai retornar um usuário ou um grupo pelo tipo de aprovação.

String

getApproverType()

Retorna o tipo da aprovação, onde:

0 à Usuário

1 à Grupo

int

getLevelId()

Retorna o nível de aprovação, no caso de aprovação em níveiso número do documento que está relacionado ao documento publicado.

int

Bloco de código
languagejava
titleExemplo
var listApprover = getValue("WKListApprover");
	if(listApprover!=null){
    	for(j = 0; j < listApprover.size(); j++) {           
       	 if (listApprover.get(j).getColleagueId().equals("adm")){
            throw "O usuário adm não pode ser aprovadores de documentos";
        }
    }
}

        

DocumentSecurityConfigDto

Este objeto representa a segurança de um documento e suas propriedades, na tabela abaixo consta mais informações sobre ele:

  

Função

Descrição da Função

Tipo do Retorno

getDocumentId()

Retorna o número do documento.

int

getVersion()

Retorna o número da versão do documento.

int

getCompanyId()

Retorna o código da empresa em que o documento foi publicado.

Int

getAttributionValue()

Retorna a matricula de um usuário ou o código do grupo que está na segurança deste documento. É possível saber se vai retornar um usuário ou um grupo pelo tipo da segurança.

Obs.: Retorna em branco quando o tipo é todos os usuários.

String

getAttributionType()

Retorna o tipo da segurança, onde:

1 à Usuário;

2 à Grupo;

3 à Todos os Usuários.

int

getPermission()

Retorna se é uma permissão.

Obs.: Se não é uma permissão é uma restrição.

boolean

getShowContent()

Retorna se lista o conteúdo.

boolean

getSecurityLevel()

Retorna no nível de permissão/restrição, onde:

-1 à sem permissão/restrição (nega acesso);

0 à Leitura;

1 à Gravação;

2 à Modificação;

3 à Total.

int

getSequence()

Retorna a sequência da permissão/restrição.

int

getSecurityVersion()

Retorna se ele utiliza a segurança deste versão nas demais.

boolean

Bloco de código
languagejava
titleExemplo
var listSeg = getValue("WKListSecurity");
if(listSeg != null){
    for(j = 0; j < listSeg.size(); j++) {     
        if (listSeg.get(j).getAttributionValue().equals("cvd")){
            throw "O usuário cvd não pode estar na segurança de documentos";
        }
    }
}

 

RelatedDocumentDto

 listRelated = getValue("WKListRelatedDocument");
	if( listRelated != null){
   	 log.info("Os seguintes documentos estão relacionados a este documentos: ");
     for(j = 0; j < listRelated.size(); j++) {          
        log.info("Nr. documento: "+ listRelated.get(j).getRelatedDocumentId());
     }
}

 

ProcessDefinitionVersionDto
Âncora
ProcessDefinitionVersionDto
ProcessDefinitionVersionDto

 

Este objeto representa a definição de um processo e seus atributos. A tabela abaixo apresenta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getCompanyId()

Retorna o código da empresa

Long

getProcessId()

Retorna o código do processo

Long

getProcessDescription()Retorna a descrição do processoString
getVersion()Retorna a versão do processoInteger
getVersionDescription()Retorna a descrição da versão do processoString
getFormId()Retorna o código do formulário do processoInteger
getCategoryStructure()Retorna a categoria do processoString
getFullCategoryStructure()Retorna a estrutura completa da categoria do processoString


UserEventVO 

Âncora
UserEventVO
UserEventVO

Este objeto representa um usuário e seus atributosEste objeto representa os documentos relacionados e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getDocumentIdgetId()

Retorna o número identificador do documento.usuário

intLong

getVersiongetTenantId()

Retorna o número da versão do documento.

int

código da empresa

Long

getLocationIdgetCompanyId()

Retorna o código da empresa em que o documento foi publicado.

int

localização à qual o usuário pertence

Long

getFirstNamegetRelatedDocumentId()

Retorna o número do documento que está relacionado ao documento publicado.

int

Bloco de código
languagejava
titleExemplo
var listRelated = getValue("WKListRelatedDocument");
	if( listRelated != null){
   	 log.info("Os seguintes documentos estão relacionados a este documentos: ");
     for(j = 0; j < listRelated.size(); j++) {          
        log.info("Nr. documento: "+ listRelated.get(j).getRelatedDocumentId());
     }
}

 

...

nome do usuário

String

getLastName()

Retorna o sobrenome do usuário

String

getFullName()

Retorna o nome completo do usuário

String

getEmail()

Retorna se lista o conteúdo

String

getLogin()

Retorna o e-mail do usuário

String

getPassword()

Retorna a senha do usuário

String

getIdpId()

Retorna o identificador associado ao fluig Identity

String

getUserCode()Retorna o código do usuárioString
getUserType()

Retorna o tipo do usuário, onde:

0 - Normal
3 - Aplicativo  

Integer
getState()

Retorna o estado do usuário, onde:

0 - Não confirmado
1 - Ativo
2 - Bloqueado
3 - Removido 

Integer
getRoles()Retorna a lista dos códigos dos papéis aos quais o usuário pertenceList<String>
getGroups()Retorna a lista dos códigos dos grupos aos quais o usuário pertenceList<String>
getData()Retorna os dados adicionais do usuárioMap<String, String>
setFirstName(String firstName)Informa o nome do usuáriovoid
setLastName(String lastName)Informa o sobrenome do usuáriovoid
setFullName(String fullName)Informa o nome completo do usuáriovoid
putData(String key, String value)Adiciona um novo dado adicional ao usuáriovoid

 

WatchDTO

Este objeto representa as notificações de acompanhamento de comentários e suas propriedades

...

 

Este objeto representa a definição de um processo e seus atributos. A tabela abaixo apresenta mais informações sobre ele:

 

Função

Descrição da Função

Tipo do Retorno

getCompanyId()

Retorna o código da empresa

Long

getProcessId()

Retorna o código do processo

Long

getProcessDescription()Retorna a descrição do processoString
getVersion()Retorna a versão do processoInteger
getVersionDescription()Retorna a descrição da versão do processoString
getFormId()Retorna o código do formulário do processoInteger
getCategoryStructure()Retorna a categoria do processoString
getFullCategoryStructure()Retorna a estrutura completa da categoria do processoString

UserEventVO  ÂncoraUserEventVO UserEventVO Este objeto representa um usuário e seus atributos, na tabela abaixo consta mais informações sobre ele:

 

getFirstName o nome do usuáriogetLastName o sobrenome do usuáriogetFullName o nome completo do usuáriogetEmail se lista o conteúdogetLogin e-mail do usuáriogetPassword a senha do usuáriogetIdpId identificador associado ao Fluig Identity

Função

Descrição da Função

Tipo do Retorno

getIdgetEntityId()

Retorna o identificador código do usuárioConteúdo.

LongString

getTenantIdgetUserId()

Retorna o código da empresa

Long

do usuário.

String

getUserAliasgetLocationId()

Retorna o código da localização à qual o usuário pertence

Long

alias do usuário.

String

getSociableId()Retorna ocódigo sociable.String
getCreationDate()Retorna a data de criação.String
getLastUpdateDate()Retorna a data da última atualizaçã.String
getNumberComments()Retorna o número de comentários.String
getNumberLikes()Retorna o número de apoios.String
getNumberShares()Retorna o número de compartilhamentos.String
getNumberWatchers()Retorna o número de acompanhamentos.String
getUserCodegetNumberDenouncements()Retorna o código do usuárionúmero de denúncias.String
getUserTypegetSocialWatchType()Retorna o tipo do usuário, onde:

0 - Normal
3 - Aplicativo  

Integer(social)String
getPostAuthorgetState()Retorna o estado do usuário, onde:

0 - Não confirmado
1 - Ativo
2 - Bloqueado
3 - Removido 

Integer
getRoles()Retorna a lista dos códigos dos papéis aos quais o usuário pertenceList<String>
getGroups()Retorna a lista dos códigos dos grupos aos quais o usuário pertenceList<String>
getData()Retorna os dados adicionais do usuárioMap<String, String>
setFirstName(String firstName)Informa o nome do usuáriovoid
setLastName(String lastName)Informa o sobrenome do usuáriovoid
setFullName(String fullName)Informa o nome completo do usuáriovoid
putData(String key, String value)Adiciona um novo dado adicional ao usuáriovoid

 

WatchDTO

Este objeto representa as notificações de acompanhamento de comentários e suas propriedades, na tabela abaixo consta mais informações sobre ele:

 

autor do conteúdo.String
getTags()Retorna as tags.String
getText()Retorna o texto.String
getDescription()Retorna a descrição.String
getObjectClass()Retorna a classe do objeto.String
getObjectId()Retorna o objectId.String

getThumbURL()

Retorna a url do thumb

String


SocialPostEventVO
Âncora
SocialPostEventVO
SocialPostEventVO

SocialPostEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getText()texto do postString
getUser()alias do usuário que está postandoString
getVisibility()visibilidade do postString
getPostId()identificador do post

Função

Descrição da Função

Tipo do Retorno

getEntityId()

Retorna o código do Conteúdo.

String

getUserId()

Retorna o código do usuário.

String

getUserAlias()

Retorna o alias do usuário.

String

getSociableId()Retorna ocódigo sociable.String
getCreationDate()Retorna a data de criação .do postString
getLastUpdateDate()Retorna a data da última atualizaçã.data de ultima atualização do postString
getNumberCommentsgetSociable()Retorna o número de comentários.String
getNumberLikes()Retorna o número de apoios.String
getNumberShares()Retorna o número de compartilhamentos.String
getNumberWatchers()Retorna o número de acompanhamentos.String
getNumberDenouncements()Retorna o número de denúncias.String
getSocialWatchType()Retorna o tipo (social)String
getPostAuthor()Retorna o autor do conteúdo.String
getTags()Retorna as tags.String
getText()Retorna o texto.String
getDescription()Retorna a descrição.String
getObjectClass()Retorna a classe do objeto.String
getObjectId()Retorna o objectId.String

getThumbURL()

Retorna a url do thumb

String

...

objeto sociable relacionado a esse post. Ex: Imagem, Vídeo, Artigo, etc...SociableEventVO
getSocial()objeto social onde o post foi feito. Pode ser timeline de um usuario ou um comunidadeSocialEventVO
*getAttributes()

Atributos do Analytics em formato de Lista de Strings. Limite de 3 itens

List<String>
*getFacts()

Fatos dos atributos do Analytics em formato de Lista de Strings. Limite de 3 itens

List<String>
customDataMapa em formato JSON onde pode-se persistir dados extras da publicaçãoMap JSON

*Somente enviado no evento beforSocialPost e afterSocialPost, esses valores não são persistidos no fluig


SociableEventVO
Âncora
SociableEventVO
SociableEventVO

SociableEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getId()identificador do objetoString
getCreationDate()data de criação do objetoString
getLastUpdateDate()ultima atualização do objetoString
getNumberLikes()quantidade de curtidasString
getNumberShares()quantidade de compartilhamentosString
getNumberComments()quantidade de comentáriosString
getNumberDenouncements()quantidade de denúnciasString
getNumberWatchers()quantidade de acompanhamentosString
getTags()nomes marcadoresString
getUrl()endereço do objetoString
getSociableType()tipo do objeto socialString
getRemoved()informa se o objeto foi removidoString
*getPostAuthor()retorna o alias do autor da publicação que foi comentadaString
*getText()retorna o texto da publicação que foi comentadaString
**getDescription()Nome do objeto comentadoString
**getThumbURL()url de ícone do objeto comentado.String
getSocial()local aonde o comentário foi efetuadoSocialEvent


*retornados apenas quando o comentário é sobre um post.

**retornado para os comentários de documentos e etc.


SocialEventVO
Âncora
SocialEventVO
SocialEventVO

SocialEventVO

...

SocialPostEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getText()texto do postString
getUser()alias do usuário que está postandoString
getVisibility()visibilidade do postString
getPostId()identificador do postString
getCreationDate()data de criação do postString
getLastUpdateDate()data de ultima atualização do postString
getSociable()objeto sociable relacionado a esse post. Ex: Imagem, Vídeo, Artigo, etc...SociableEventVO
getSocial()objeto social onde o post foi feito. Pode ser timeline de um usuario ou um comunidadeSocialEventVO
*getAttributes()

Atributos do Analytics em formato de Lista de Strings. Limite de 3 itens

List<String>
*getFacts()

Fatos dos atributos do Analytics em formato de Lista de Strings. Limite de 3 itens

List<String>
customDataMapa em formato JSON onde pode-se persistir dados extras da publicaçãoMap JSON

*Somente enviado no evento beforSocialPost e afterSocialPost, esses valores não são persistidos no Fluig

...

SociableEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getId()identificador do objetoString
getCreationDate()data de criação do objetoString
getLastUpdateDate()ultima atualização do objetoString
getAlias()apelido do objeto socialString
getName()nome do objeto socialString
getDescription()descrição do objeto socialString
getType()tipo do objeto socialString
getStategetNumberLikes()quantidade de curtidasstatus do objeto socialString
getNumberSharesgetHidden()quantidade de compartilhamentosinforma se o objeto é ocultoString
getNumberCommentsgetPrivateContent()quantidade de comentáriosinforma se o conteúdo é privadoString
getNumberDenouncementsgetApprovalRequired()quantidade de denúnciasinforma se aprovação é requeridaString
getNumberWatchersgetCustomPage()quantidade informação de acompanhamentospágina customizadaString
getTags()nomes marcadoresString
getUrl()endereço do objetoString
getSociableType()tipo do objeto socialString
getRemoved()informa se o objeto foi removidoString
*getPostAuthor()retorna o alias do autor da publicação que foi comentadaString
*getText()retorna o texto da publicação que foi comentadaString
**getDescription()Nome do objeto comentadoString
**getThumbURL()url de ícone do objeto comentado.String
getSocial()local aonde o comentário foi efetuadoSocialEvent

*retornados apenas quando o comentário é sobre um post.

**retornado para os comentários de documentos e etc.

...


SocialShareEventVO
Âncora
SocialShareEventVO
SocialShareEventVO

SocialShareEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getSocialPlace()objeto que recebe o compartilhamentoSocialEventVO
getUser()alias do usuario que compartilhaString
getText()texto informado no compartilhamentoString
getType()tipo do objetoString


SocialCommentEventVO
Âncora
SocialCommentEventVO
SocialCommentEventVO

SocialCommentEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getUser()alias do usuário que comentaString
getText()texto informado no comentárioString
getCommentId()id do comentárioString

 

SocialDenounceEventVO
Âncora
SocialDenounceEventVO
SocialDenounceEventVO

SocialDenounceEventVO

...

SocialEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getIdgetSociable()identificador do objeto sendo compartilhadoStringSociableEventVO
getCreationDategetUser()data de criação do objetoalias do usuário que comentaString
getLastUpdateDategetText()ultima atualização do objetotexto informado no comentárioString
getAliasgetType()apelido do objeto socialTipo de denúnciaString
getName()nome do objeto socialString
getDescription()descrição do objeto socialString
getType()tipo do objeto socialString
getState()status do objeto socialString
getHidden()informa se o objeto é ocultoString
getPrivateContent()informa se o conteúdo é privadoString
getApprovalRequired()informa se aprovação é requeridaString
getCustomPage()informação de página customizadaString

...

 

SocialLikeEventVO
Âncora
SocialLikeEventVO
SocialLikeEventVO

SocialLikeEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getUser()alias do usuário que comentaString


SocialCommunityRelationEventVO
Âncora
SocialCommunityRelationEventVO
SocialCommunityRelationEventVO

SocialCommunityRelationEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSocial()Social relacionado à comunidadeSocialEventVO
getCommunity()Social que representa a ComunidadeSocialEventVO


SocialFollowEventVO
Âncora
SocialFollowEventVO
SocialFollowEventVO

SocialFollowEventVO

...

SocialShareEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociablegetSocial()objeto sendo compartilhadoSociableEventVOSocial que seguiráSocialEventVO
getFollowedgetSocialPlace()objeto que recebe o compartilhamentoSocialEventVO
getUser()alias do usuario que compartilhaString
getText()texto informado no compartilhamentoString
getType()tipo do objetoString

...

Social que está sendo seguidoSocialEventVO

 

GenericAlertEventVO
Âncora
GenericAlertEventVO
GenericAlertEventVO

GenericAlertEventVO

Propriedade / MétodoDescriçãoTipo / Retorno

objectId

Id do objeto relacionado

String

objectClass

Classe que identifica o objeto relacionado

String

link

Link que está disponível no objeto. Pode vir nulo nos casos em que não existe um link de acesso

String

 

WorkflowTasksVO
Âncora
WorkflowTasksVO
WorkflowTasksVO

WorkflowTasksVO

Propriedade / MétodoDescriçãoTipo / Retorno

url

Url destino para tarefas personalizadas

String

code

Código para tarefas personalizadas

String
processIdCódigo do processoString
processDescription

Descrição do processo

String
requesterId

Código do usuário de abertura

String
requesterName

Nome do usuário de abertura

String
stateDescription

Descrição da atividade atual

String
colleagueName

Nome do usuário responsável pela tarefa atual

String
dateExpires

Data de expiração

String
attachDescription

Descrição do anexo principal

String
expired

Tarefa expirada?

boolean
know

Usuário já visualizou a tarefa?

boolean
fieldValue1

Campo do formulário

String
fieldValue2Campo do formulárioString
fieldValue3Campo do formulárioString
fieldValue4Campo do formulárioString
fieldValue5Campo do formulárioString
fieldValue6Campo do formulárioString
fieldValue7Campo do formulárioString
fieldValue8Campo do formulárioString
fieldValue9Campo do formulárioString
fieldValue10Campo do formulárioString
fieldValue11Campo do formulárioString
fieldValue12Campo do formulárioString
fieldValue13Campo do formulárioString
fieldValue14Campo do formulárioString
fieldValue15Campo do formulárioString

...

SocialCommentEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getUser()alias do usuário que comentaString
getText()texto informado no comentárioString
getCommentId()id do comentárioString

 

...

SocialDenounceEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getUser()alias do usuário que comentaString
getText()texto informado no comentárioString
getType()Tipo de denúnciaString

 

...

SocialLikeEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSociable()objeto sendo compartilhadoSociableEventVO
getUser()alias do usuário que comentaString

...

SocialCommunityRelationEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSocial()Social relacionado à comunidadeSocialEventVO
getCommunity()Social que representa a ComunidadeSocialEventVO

...

SocialFollowEventVO
Propriedade / MétodoDescriçãoTipo / Retorno
getSocial()Social que seguiráSocialEventVO
getFollowed()Social que está sendo seguidoSocialEventVO

 

Atualização do Analytics

...

Esse dados recebidos pelo evento não são persistidos no Fluig fluig mas podem ser modificados antes de serem enviados ao Analytics.

...

Customização de Eventos JMS

O Fluig fluig tem customização de eventos JMS, permitindo criar procedimentos de auditoria com base nas informações fornecidas pelo produto. O JMS (Java Message Service) é uma API Java™ que provê uma conexão assíncrona entre aplicações por meio de troca de mensagens.

...

wdkDocument será disparado quando houver manipulação nos documentos do Fluigfluig, para a aplicação receber a mensagem com as informações do documento a classe tem que estender o MessageListener e ter a seguinte linha:

...