Histórico da Página
...
Os desenvolvimentos sobre a plataforma fluig são feitos pelo administrador, a partir do fluig Studio. No projeto fluig, clique com o botão direito sobre a pasta events e em seguida Novo -> Evento Global fluig conforme a figura abaixo.
Figura 1 - Criação de evento - 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 Studio.
...
A seguir serão detalhados os eventos gerais disponíveis no fluig. Eventos que podem ser disparados sem exclusividade de atividades de um card específico.
DisplayCentralTasks
Este evento é disparado sempre antes de ser exibida a central de tarefas. Através dele é possível inserir, alterar ou remover os links da central de tarefas. O evento recebe como parâmetro um LinkedHashMap com os links disponíveis na central de tarefas.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function displayCentralTasks (links){
log.info("Usuário: " + getValue("WKUser"));
} |
DisplayCustomMetadata
Este evento é disparado sempre antes de ser exibidos os campos customizados de um documento, tanto na publicação como edição. Através dele é possível sugerir valores iniciais para campos customizados dos metadados de um documento. O evento recebe como parâmetro uma referência aos campos customizados.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function displayCustomMetadata(fields){
log.info("Usuário: " + getValue("WKUser"));
} |
BeforeWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "acompanhar". Por exemplo, ao acompanhar um documento, é possível recuperar suas informações e usá-las em um dataset.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeWatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "DOCUMENT"){
var objClass = "com.totvs.technology.social.document.6";
var objClass = watchDTO.getObjectClass();
var patt = new RegExp( /\d+/) ;
var documentId = patt.exec(objClass) ;
var documentVersion = watchDTO.getObjectId();
var doc = getValue("WKDocument");
var company = companyId;
var ds ;
try {
var c1 = DatasetFactory.createConstraint( "allocatedDocumentPK.companyId", company, company, ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceDocument",documentId,documentId, ConstraintType.MUST);
var c3 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceVersion", documentVersion,documentVersion, ConstraintType.MUST);
var c4 = DatasetFactory.createConstraint("active", "true","true",ConstraintType.MUST);
var constraints = new Array(c1, c2, c3, c4);
ds = DatasetFactory.getDataset("allocatedDocument", null, constraints, null);
}catch (e) {
log.error("Erro ao tentar recuperar o documento em CheckOut: " + e.message);
}
if(ds!=null && ds.rowsCount>0){
throw "Sua solicitação de notificação foi negada, pois o documento está em checkout." ;
}
}
} |
AfterWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "acompanhar". Por exemplo, ao acompanhar um post, é possível recuperar suas informações e usá-las para informar o usuário sobre o autor do post.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterWatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "POST"){
throw "O usuário "+watchDTO.getUserAlias()+" vai ser notificado sobre o post " + watchDTO.getText() + " do autor " + watchDTO.getPostAuthor() ;
}
} |
BeforeUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "deixar de acompanhar". Por exemplo, ao tentar deixar de acompanhar uma comunidade, é possível decidir se o usuário pode deixar de acompanhá-la.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeUnwatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "COMMUNITY"){
throw "Você não pode deixar de ser notificado sobre a comunidade " + watchDTO.getDescription() ;
}
} |
AfterUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "deixar de acompanhar". Por exemplo, ao deixar de acompanhar um post, é possível recuperar suas informações e informar o usuário que aquele post possui muitos seguidores.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterUnwatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "POST" && watchDTO.getNumberWatchers() < 3 ){
log.erro("O post \"" + watchDTO.getText() + "\" do autor " + watchDTO.getPostAuthor() + " deixou de ser polemico" )
}
} |
beforeCreateUser
Evento disparado antes da criação de um novo usuário. Pode ser utilizado quando for necessário realizar validações no usuário antes da sua criação ou adicionar dados adicionais programaticamente.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeCreateUser(user) {
// Verifica se a senha informada atende os requisitos mínimos
var passwordPattern = "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,16})";
if (!user.getPassword().matches(passwordPattern)) {
throw "A senha do usuário não atendeu os requisitos mínimos!";
}
// Adiciona um dado adicional ao usuário informando a sua data de criação
var dateFormat = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
user.putData("CreationDate", dateFormat.format(new Date()));
} |
afterCreateUser
Evento disparado depois da criação de um novo usuário. Pode ser utilizado quando for necessário realizar alguma rotina com o usuário criado, como exemplo a criação de recursos adicionais para o usuário.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterCreateUser(user) {
// Instância um cliente da API pública do Fluig. O usuário aplicativo utilizado
// precisa ser um administrador do Fluig
// Documentação para criar usuário aplicativo: http://tdn.totvs.com/x/KAFlDw
var consumer = oauthUtil.getNewAPIConsumer(
"e3fe3d72-bfcc-4552-8c9b-93c66531dab9", //Consumer Key do OAuth App
"6bd0591b-73d8-4a9e-a161-d54dd92d3172-5a21991e-453f-4ea1-b80c-f42d4c57759d", //Consumer Secret do OAuth App
"11a419dd-0c8a-4388-bd32-d66319bd750b", //Access Token do Usuário Aplicativo
"fd2b53a4-b43d-4118-9725-68abaa1b41a9ee584784-73b2-454b-942f-5e07ad114234"); //Token Secret do Usuário Aplicativo
// Adiciona o usuário criado na comunidade RH através da utilização do método
// addParticipants do serviço de comunidades da API Pública
// Alterar a comunidade RH para a comunidade que deseja realizar a ação em seu ambiente
var postJson = '{"communityAlias": "RH", "userAliases": ["' + user.getLogin() + '"]}';
consumer.post("/public/social/community/addParticipants", postJson);
} |
beforeUpdateUser
Evento disparado antes da atualização de um usuário. Pode ser utilizado quando for necessário realizar validações no usuário antes da sua atualização ou adicionar dados adicionais programaticamente.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeUpdateUser(user) {
// Verifica se foi alterada a senha do usuário
if (user.getPassword() != null) {
// Caso a senha tenha sido alterada verifica se ela atende os requisitos mínimos
var passwordPattern = "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,16})";
if (!user.getPassword().matches(passwordPattern)) {
throw "A senha do usuário não atendeu os requisitos mínimos!";
}
}
// Adiciona um dado adicional ao usuário informando a última data de atualização
var dateFormat = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
user.putData("LastUpdateDate", dateFormat.format(new Date()));
} |
afterUpdateUser
Evento disparado depois da atualização de um usuário, ou após a gravação de uma nova senha, pelo recurso de reset de senha da tela de login.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterUpdateUser(user) {
log.info("O usuário " + user.getFullName() + " foi alterado.");
} |
beforeDeactivateUser
Evento disparado antes da desativação de um usuário. Pode ser utilizado quando for necessário realizar validações no usuário antes da sua desativação.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeDeactivateUser(login) {
// Instância um cliente da API pública do Fluig. O usuário aplicativo utilizado
// precisa ser um administrador do Fluig
var consumer = oauthUtil.getNewAPIConsumer(
"e3fe3d72-bfcc-4552-8c9b-93c66531dab9",
"6bd0591b-73d8-4a9e-a161-d54dd92d3172-5a21991e-453f-4ea1-b80c-f42d4c57759d",
"11a419dd-0c8a-4388-bd32-d66319bd750b",
"fd2b53a4-b43d-4118-9725-68abaa1b41a9ee584784-73b2-454b-942f-5e07ad114234");
// Verifica se o usuário que esta sendo desativado é moderador de alguma comunidade.
var moderateCommunities = [];
var communities = JSON.parse(consumer.get("/public/social/community/listCommunities")).content;
for (var i in communities) {
var isModerator = JSON.parse(consumer.get("/public/social/community/isCommunityModerator/"
+ communities[i].alias + "/" + login)).content;
if (isModerator) {
moderateCommunities.push(communities[i].name);
}
}
// Caso o usuário seja moderador de alguma comunidade lança uma exceção informando que
// o usuário é moderador de comunidades e não pode ser desativado
if (moderateCommunities.length > 0) {
throw "O usuário " + login + " não pode ser desativado por ser moderador nas comunidades: "
+ moderateCommunities.join(", ") + ".";
}
} |
afterDeactivateUser
Evento disparado depois da desativação de um usuário. Pode ser utilizado quando for necessário realizar alguma rotina com o usuário desativado.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterDeactivateUser(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
service.deactivateUser(login);
log.info("O usuário " + login + " foi desativado no serviço customizado.");
} |
beforeActivateUser
Evento disparado antes da ativação de um usuário. Pode ser utilizado quando for necessário realizar validações no usuário antes da sua ativação.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeActivateUser(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
// Caso o usuário esteja desativado no serviço customizado lança uma exceção informando
// que o usuário está desativado no serviço customizado e não pode ser ativado no Fluig
if (service.isDeactivatedUser(login)) {
throw "O usuário " + login + " está desativado no serviço customizado e não pode ser ativado!";
}
} |
afterActivateUser
Evento disparado depois da ativação de um usuário. Pode ser utilizado quando for necessário realizar alguma rotina com o usuário ativado.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function afterActivateUser(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
service.activateUser(login);
log.info("O usuário " + login + " foi ativado no serviço customizado.");
} |
beforeLogin
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 fluig, possibilitando o cancelamento do login caso seja lançada uma exceção através do evento.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function beforeLogin(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
// Caso o usuário esteja bloqueado pelo serviço customizado lança uma exceção informando
// que o usuário está desativado no serviço customizado e cancela o login no Fluig
if (service.isBlockedUser(login)) {
throw "O usuário " + login + " está desativado no serviço customizado";
}
} |
afterLogin
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 fluig.
...
| Nota |
|---|
O evento afterLogin funciona mesmo com a autenticação via Identity. O DesktopSSO ou a autenticação automática não interfere na execução do evento, porque ele é executado depois do login não importando como é feito. |
onLoginError
Evento disparado quando ocorrer um erro de login de um usuário. Este erro pode ser por login e senha inválidos ou usuário inativo. Pode ser utilizado quando for necessário realizar alguma rotina quando ocorrer um erro de login ou apresentar uma mensagem personalizada para o usuário.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function onLoginError(login, errorCause) {
// Verifica se a causa de erro foi senha inválida (0 - Senha inválida, 1 - Usuário inativo)
if (errorCause == 0) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
service.registerLoginAttempt(login);
// Utiliza o serviço customizado para verificar quantas tentativas de login o usuário já
// realizou. Caso tenha ultrapassado 3 tentativas bloqueia o usuário neste serviço
// customizad e lança uma exceção informando ao usuário que ele foi bloqueado.
var loginAttempts = service.checkLoginAttempts(login);
if (loginAttempts > 3) {
service.blockUser(login);
throw "Seu usuário foi bloqueado por ultrapassar 3 tentativas de login"
} else {
throw "Tentativa de login " + loginAttempts + " de 3"
}
}
} |
onLogout
Evento disparado quando o usuário realizar logout. Pode ser utilizado quando for necessário realizar alguma rotina quando o usuário realiza o logout no portal através da opção Sair.
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
function onLogout(login) {
// Busca um serviço customizado cadastrado no Fluig e invoca um método específico dele
var provider = ServiceManager.getServiceInstance("CustomService");
var serviceLocator = provider.instantiate("com.fluig.sample.service.CustomService_Service");
var service = serviceLocator.getCustomServicePort();
service.removeUserSession(login);
log.info("Usuário " + login + " efetuou logout");
} |
onNotify
Para interferir no envio de uma notificação padrão do fluig, deve ser utilizado o evento global onNotify, que é disparado no momento em que qualquer notificação do 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 | ||
|---|---|---|
| ||
|
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 | ||
|---|---|---|
| ||
Por questões de segurança, somente os campos priority e note podem ser alterados. Outras alterações não serão consideradas. |
| Nota | ||
|---|---|---|
| ||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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. | |
object | Objeto sobre o qual foi feita a ação que gerou o alerta. | |
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 |
| Informações |
|---|
Veja o exemplo (event-notification) no repositório do fluig clicando aqui. |
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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. | |
object | Objeto sobre o qual foi feita a ação que gerou o alerta. | |
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 |
| Informações |
|---|
Veja o exemplo (event-notification) no repositório do fluig clicando aqui. |
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, editando e removendo uma tarefa personalizada ao final da lista de tarefas:
| Bloco de código | ||
|---|---|---|
| ||
function onDisplayTasks(tasks) {
// Adiciona uma tarefa customizada
var newTask = new WorkflowTasksVO();
newTask.setCode("TOTVS");
newTask.setUrl("http://www.totvs.com");
newTask.setProcessDescription("Nova Tarefa");
newTask.setRequesterName("João da Silva");
newTask.setStateDescription("Atividade 1");
newTask.setColleagueName("Ana Maria");
newTask.setStartDateProcess("07/09/2025");
newTask.setDateExpires("07/10/2025");
tasks.add(newTask);
for (var i = 0; i < tasks.size(); i++) {
// Remove a solicitação com o id 1
if (tasks.get(i).getProcessInstanceId() == 1) {
tasks.remove(i);
i--; // Necessário para não pular um item após a remoção
} else {
// Altera a descrição de todos os processos para "Nova Tarefa alterada"
tasks.get(i).setProcessDescription("Nova Tarefa alterada");
}
} |
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 |
| WKCompany | Número da empresa. | Int |
| taskUserId | Código do usuário substituído, em caso de visualização da central como substituto. Nos demais casos retorna o usuário logado. | String |
| taskType | Indicador 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> |
| order | Ordenação aplicada. | String |
| maxResult | Número de resultados por página. | Int |
| page | Número da página atual. | Int |
| taskId | Em 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 | ||||
|---|---|---|---|---|
| ||||
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 | ||
|---|---|---|
| ||
function onDisplayTasksSummary(resumeTasks) {
resumeTasks.openTasks=20;
} |
O objeto recebido como parâmetro contém:
Propriedade | Descrição | Tipo |
|---|---|---|
| expiredTasks | Solicitações atrasadas. | Int |
| openTasks | Solicitações no prazo. | Int |
| myRequests | Minhas solicitações. | Int |
| toApprover | Aprovação de documentos pendentes. | Int |
| myDocuments | Documentos aguardando aprovação. | Int |
| checkout | Documento em checkout. | Int |
| learningTasks | Atividades de Aprendizado. | Int |
| Bloco de código | ||
|---|---|---|
| ||
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 |
| WKCompany | Número da empresa. | Int |
| taskUserId | Có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 | ||||
|---|---|---|---|---|
| ||||
function onDisplayTasks(links){
log.info("Usuário: " + getValue("WKUser"));
} |
...
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:
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
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:
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
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 | ||||
|---|---|---|---|---|
| ||||
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
Este objeto representa os documentos relacionados e suas propriedades, na tabela abaixo consta mais informações sobre ele:
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
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());
}
} |
ProcessDefinitionVersionDtoÂncora ProcessDefinitionVersionDto ProcessDefinitionVersionDto
| ProcessDefinitionVersionDto | |
| ProcessDefinitionVersionDto |
...
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 processo | String |
| getVersion() | Retorna a versão do processo | Integer |
| getVersionDescription() | Retorna a descrição da versão do processo | String |
| getFormId() | Retorna o código do formulário do processo | Integer |
| getCategoryStructure() | Retorna a categoria do processo | String |
| getFullCategoryStructure() | Retorna a estrutura completa da categoria do processo | String |
UserEventVO Âncora UserEventVO UserEventVO
...
Função | Descrição da Função | Tipo do Retorno |
getId() | Retorna o identificador do usuário | Long |
getTenantId() | Retorna o código da empresa | Long |
getLocationId() | Retorna o código da localização à qual o usuário pertence | Long |
getFirstName() | Retorna o 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ário | String |
| getUserType() | Retorna o tipo do usuário, onde: 0 - Normal | Integer |
| getState() | Retorna o estado do usuário, onde: 0 - Não confirmado | Integer |
| getTimeZone() | Retorna o Fuso Horário do usuário | String |
| getRoles() | Retorna a lista dos códigos dos papéis aos quais o usuário pertence | List<String> |
| getGroups() | Retorna a lista dos códigos dos grupos aos quais o usuário pertence | List<String> |
| getData() | Retorna os dados adicionais do usuário | Map<String, String> |
| setFirstName(String firstName) | Informa o nome do usuário | void |
| setLastName(String lastName) | Informa o sobrenome do usuário | void |
| setFullName(String fullName) | Informa o nome completo do usuário | void |
| putData(String key, String value) | Adiciona um novo dado adicional ao usuário. Só pode ser utilizado em eventos before. | void |
WatchDTO
Este objeto representa as notificações de acompanhamento de comentários e suas propriedades, na tabela abaixo consta mais informações sobre ele:
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. | 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 |
| 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 |
SocialPostEventVOÂncora SocialPostEventVO SocialPostEventVO
| SocialPostEventVO | |
| SocialPostEventVO |
...
*Somente enviado no evento beforSocialPost e afterSocialPost, esses valores não são persistidos no fluig
SociableEventVOÂncora SociableEventVO SociableEventVO
| SociableEventVO | |
| SociableEventVO |
...
**retornado para os comentários de documentos e etc.
SocialEventVOÂncora SocialEventVO SocialEventVO
| SocialEventVO | |
| SocialEventVO |
| SocialEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getId() | identificador do objeto | String |
| getCreationDate() | data de criação do objeto | String |
| getLastUpdateDate() | ultima atualização do objeto | String |
| getAlias() | apelido do objeto social | String |
| getName() | nome do objeto social | String |
| getDescription() | descrição do objeto social | String |
| getType() | tipo do objeto social | String |
| getState() | status do objeto social | String |
| getHidden() | informa se o objeto é oculto | String |
| getPrivateContent() | informa se o conteúdo é privado | String |
| getApprovalRequired() | informa se aprovação é requerida | String |
| getCustomPage() | informação de página customizada | String |
SocialShareEventVOÂncora SocialShareEventVO SocialShareEventVO
| SocialShareEventVO | |
| SocialShareEventVO |
| SocialShareEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSociable() | objeto sendo compartilhado | SociableEventVO |
| getSocialPlace() | objeto que recebe o compartilhamento | SocialEventVO |
| getUser() | alias do usuario que compartilha | String |
| getText() | texto informado no compartilhamento | String |
| getType() | tipo do objeto | String |
SocialCommentEventVOÂncora SocialCommentEventVO SocialCommentEventVO
| SocialCommentEventVO | |
| SocialCommentEventVO |
| SocialCommentEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSociable() | objeto sendo compartilhado | SociableEventVO |
| getUser() | alias do usuário que comenta | String |
| getText() | texto informado no comentário | String |
| getCommentId() | id do comentário | String |
SocialDenounceEventVO Âncora SocialDenounceEventVO SocialDenounceEventVO
| SocialDenounceEventVO | |
| SocialDenounceEventVO |
| SocialDenounceEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSociable() | objeto sendo compartilhado | SociableEventVO |
| getUser() | alias do usuário que comenta | String |
| getText() | texto informado no comentário | String |
| getType() | Tipo de denúncia | String |
SocialLikeEventVOÂncora SocialLikeEventVO SocialLikeEventVO
| SocialLikeEventVO | |
| SocialLikeEventVO |
| SocialLikeEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSociable() | objeto sendo compartilhado | SociableEventVO |
| getUser() | alias do usuário que comenta | String |
SocialCommunityRelationEventVO Âncora SocialCommunityRelationEventVO SocialCommunityRelationEventVO
| SocialCommunityRelationEventVO | |
| SocialCommunityRelationEventVO |
| SocialCommunityRelationEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSocial() | Social relacionado à comunidade | SocialEventVO |
| getCommunity() | Social que representa a Comunidade | SocialEventVO |
SocialFollowEventVOÂncora SocialFollowEventVO SocialFollowEventVO
| SocialFollowEventVO | |
| SocialFollowEventVO |
| SocialFollowEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getSocial() | Social que seguirá | SocialEventVO |
| getFollowed() | Social que está sendo seguido | SocialEventVO |
SocialPictureEventVOÂncora SocialPictureEventVO SocialPictureEventVO
| SocialPictureEventVO | |
| SocialPictureEventVO |
| SocialPictureEventVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
| getLoggedUser() | Alias do usuário autenticado | String |
| getAlias() | Alias do local aonde se está mudando a imagem (usuário| comunidade) | String |
| getPath() | Path do diretório onde a imagem foi salva | String |
| getPictureName() | Nome da imagem salva | String |
| getWidth() | Largura da imagem | int |
| getHeight() | Altura da imagem | int |
GenericAlertEventVOÂncora GenericAlertEventVO GenericAlertEventVO
| GenericAlertEventVO | |
| GenericAlertEventVO |
GenericAlertEventVO | ||
| Propriedade / Método | Descrição | Tipo / 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 | |
| WorkflowTasksVO |
WorkflowTasksVO | ||
| Propriedade / Método | Descrição | Tipo / Retorno |
|---|---|---|
url | Url destino para tarefas personalizadas | String |
code | Código para tarefas personalizadas | String |
| processId | Código do processo | String |
| 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 |
| fieldValue2 | Campo do formulário | String |
| fieldValue3 | Campo do formulário | String |
| fieldValue4 | Campo do formulário | String |
| fieldValue5 | Campo do formulário | String |
| fieldValue6 | Campo do formulário | String |
| fieldValue7 | Campo do formulário | String |
| fieldValue8 | Campo do formulário | String |
| fieldValue9 | Campo do formulário | String |
| fieldValue10 | Campo do formulário | String |
| fieldValue11 | Campo do formulário | String |
| fieldValue12 | Campo do formulário | String |
| fieldValue13 | Campo do formulário | String |
| fieldValue14 | Campo do formulário | String |
| fieldValue15 | Campo do formulário | String |
...
Exemplo com usuário de aplicação
...

