939 lines
26 KiB
Markdown
939 lines
26 KiB
Markdown
|
|
---
|
|||
|
|
title: Eventos Sociais
|
|||
|
|
source: https://tdn.totvs.com/display/fluig/Eventos+Sociais
|
|||
|
|
path: \Plataforma Documentação técnica\Recurso de Comunidades (Social)\Eventos Sociais.md
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
- 1 [Conhecendo e utilizando eventos sociais](#EventosSociais-Conhecendoeutilizandoeventossociais)
|
|||
|
|
- 2 [Eventos](#EventosSociais-Eventos)
|
|||
|
|
- 2.1 [beforeSocialShare](#EventosSociais-beforeSocialShare)
|
|||
|
|
- 2.2 [afterSocialShare](#EventosSociais-afterSocialShare)
|
|||
|
|
- 2.3 [beforeSocialComment](#EventosSociais-beforeSocialComment)
|
|||
|
|
- 2.4 [afterSocialComment](#EventosSociais-afterSocialComment)
|
|||
|
|
- 2.5 [beforeSocialPost](#EventosSociais-beforeSocialPost)
|
|||
|
|
- 2.6 [afterSocialPost](#EventosSociais-afterSocialPost)
|
|||
|
|
- 2.7 [beforeSocialPostRemove](#EventosSociais-beforeSocialPostRemove)
|
|||
|
|
- 2.8 [afterSocialPostRemove](#EventosSociais-afterSocialPostRemove)
|
|||
|
|
- 2.9 [beforeSocialDenounce](#EventosSociais-beforeSocialDenounce)
|
|||
|
|
- 2.10 [afterSocialDenounce](#EventosSociais-afterSocialDenounce)
|
|||
|
|
- 2.11 [beforeSocialLike](#EventosSociais-beforeSocialLike)
|
|||
|
|
- 2.12 [afterSocialLike](#EventosSociais-afterSocialLike)
|
|||
|
|
- 2.13 [beforeSocialUnlike](#EventosSociais-beforeSocialUnlike)
|
|||
|
|
- 2.14 [afterSocialUnlike](#EventosSociais-afterSocialUnlike)
|
|||
|
|
- 2.15 [beforeSocialCommentRemove](#EventosSociais-beforeSocialCommentRemove)
|
|||
|
|
- 2.16 [afterSocialCommentRemove](#EventosSociais-afterSocialCommentRemove)
|
|||
|
|
- 2.17 [beforeSocialCommentEdit](#EventosSociais-beforeSocialCommentEdit)
|
|||
|
|
- 2.18 [afterSocialCommentEdit](#EventosSociais-afterSocialCommentEdit)
|
|||
|
|
- 2.19 [beforeSocialPostEdit](#EventosSociais-beforeSocialPostEdit)
|
|||
|
|
- 2.20 [afterSocialPostEdit](#EventosSociais-afterSocialPostEdit)
|
|||
|
|
- 2.21 [beforeCommunityParticipation](#EventosSociais-beforeCommunityParticipation)
|
|||
|
|
- 2.22 [afterCommunityParticipation](#EventosSociais-afterCommunityParticipation)
|
|||
|
|
- 2.23 [beforeCommunityLeave](#EventosSociais-beforeCommunityLeave)
|
|||
|
|
- 2.24 [afterCommunityLeave](#EventosSociais-afterCommunityLeave)
|
|||
|
|
- 2.25 [beforeSocialFollow](#EventosSociais-beforeSocialFollow)
|
|||
|
|
- 2.26 [afterSocialFollow](#EventosSociais-afterSocialFollow)
|
|||
|
|
- 2.27 [beforeSocialUnfollow](#EventosSociais-beforeSocialUnfollow)
|
|||
|
|
- 2.28 [afterSocialUnfollow](#EventosSociais-afterSocialUnfollow)
|
|||
|
|
- 2.29 [beforeSocialPictureChange](#EventosSociais-beforeSocialPictureChange)
|
|||
|
|
- 2.30 [afterSocialPictureChange](#EventosSociais-afterSocialPictureChange)
|
|||
|
|
|
|||
|
|
## Conhecendo e utilizando eventos sociais
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
Veja a seguir o vídeo *How to* demonstrando a utilização de eventos sociais.
|
|||
|
|
|
|||
|
|
## Eventos
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### beforeSocialShare
|
|||
|
|
|
|||
|
|
Este evento é disparado sempre antes da efetivação do compartilhamento de um objeto social.
|
|||
|
|
|
|||
|
|
Observação
|
|||
|
|
|
|||
|
|
Pode-se alterar a mensagem de compartilhamento passando uma String para o método setText( <valor> ) do objeto "share".
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialShare(companyId, share){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| share | objeto de socialização | [SocialShareEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialShareEventVO) |
|
|||
|
|
|
|||
|
|
****Exemplo de Implementação****
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialShare(companyId, share){
|
|||
|
|
|
|||
|
|
var lastUpd = share.getSociable().getLastUpdateDate().getTime();
|
|||
|
|
log.info("lastUpd: " + lastUpd);
|
|||
|
|
var daysAgo = new Date();
|
|||
|
|
daysAgo.setDate(daysAgo.getDate()-3);
|
|||
|
|
log.info("daysAgo: " + daysAgo);
|
|||
|
|
|
|||
|
|
if (lastUpd < oneMonthAgo) {
|
|||
|
|
throw "You could not share old socials (more than 3 days old)";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialShare
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a efetivação de um compartilhamento.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialShare(companyId, share){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| share | objeto de socialização | [SocialShareEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialShareEventVO) |
|
|||
|
|
|
|||
|
|
****Exemplo de Implementação****
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialShare(companyId, share){
|
|||
|
|
log.info(share.getUser() + " has shared the sociable " + share.getSociable().getId() + " with text " + share.getText());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialComment
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre antes da efetivação de um comentário.
|
|||
|
|
|
|||
|
|
Observação
|
|||
|
|
|
|||
|
|
Pode-se alterar a mensagem de compartilhamento passando uma String para o método setText( <valor> ) do objeto "comment".
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialComment(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| comment | objeto de comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
****Exemplo de Implementação****
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialComment(companyId, comment){
|
|||
|
|
if (comment.getSociable().getNumberLikes() < 1) {
|
|||
|
|
throw "You can not comment a post that was not liked.";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialComment
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a efetivação de um comentário.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialComment(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| comment | objeto de comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialComment(companyId, comment){
|
|||
|
|
log.info(comment.getUser() + " has done the comment " + comment.getText());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialPost
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre antes da efetivação de um post.
|
|||
|
|
|
|||
|
|
Observação
|
|||
|
|
|
|||
|
|
Pode-se alterar o conteúdo da publicação passando uma String para o método setText( <valor> ) do objeto "post".
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPost(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | Objeto que representa a publicação | [SocialPostEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialPostEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPost(companyId, post){
|
|||
|
|
|
|||
|
|
if(post.getText().indexOf(" fluid ") > -1) {
|
|||
|
|
post.setText(post.getText().replace( " fluid ", " fluig "));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var sociables = post.getSociables();
|
|||
|
|
for (var i = 0; i < sociables.size(); i++) {
|
|||
|
|
var sociable = sociables.get(i);
|
|||
|
|
log.info("sociable id: " + sociable.getId());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialPost
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a efetivação de um comentário.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPost(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | objeto de post | [SocialPostEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialPostEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPost(companyId, post){
|
|||
|
|
if (post.getText().toLowerCase().indexOf("#minhacampanha") > -1) {
|
|||
|
|
log.info(post.getUser() + " has published a content.");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialPostRemove
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre antes da efetivação de uma remoção de um post.
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPostRemove(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | objeto de post | [SocialPostEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialPostEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPostRemove(companyId, post){
|
|||
|
|
if (post.getText().toLowerCase().indexOf("#important") > -1) {
|
|||
|
|
throw "You cannot remove a post marked as important.";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialPostRemove
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a efetivação de uma remoção de um post.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPostRemove(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | objeto de post | [SocialPostEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialPostEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPostRemove(companyId, post){
|
|||
|
|
log.info(post.getUser() + " has removed the post " + post.getPostId());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialDenounce
|
|||
|
|
|
|||
|
|
O evento é disparado quando um *Sociable* é denunciado porém antes que a ação seja efetivada.
|
|||
|
|
|
|||
|
|
**Exemplo de uso:**
|
|||
|
|
|
|||
|
|
- Em uma comunidade em que as publicações não podem ser denunciadas pode-se utilizar este evento para bloquear a ação de denúncia.
|
|||
|
|
- Pode-se limitar a quantidade de denúncias que um usuário pode efetuar por dia para evitar que alguma pessoa mal intencionada denuncie todas as publicações.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialDenounce(companyId, denounce){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` denounce ``` | objeto de post | [SocialDenounceEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialDenounceEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialDenounce(companyId, denounce){
|
|||
|
|
if (denounce.getSociable().getText().toLowerCase().indexOf("#cipa") > -1) {
|
|||
|
|
throw "You cannot denounce posts about CIPA.";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialDenounce
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação de uma ação de denúncia de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialDenounce(companyId, denounce){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` denounce ``` | objeto de post | [SocialDenounceEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialDenounceEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo Prático:**
|
|||
|
|
|
|||
|
|
Registrar em log as denúncias efetuadas para auditoria.
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialDenounce(companyId, denounce){
|
|||
|
|
log.info(denounce.getUser() + " has denounced the sociable " + denounce.getSociable().getId() + " with comment " + denounce.getText());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialLike
|
|||
|
|
|
|||
|
|
O evento é disparado antes de ser efetivada uma ação de "curtir" de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialLike(companyId, like){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` like ``` | Objeto com dados do sociable curtido | [SocialLikeEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialLikeEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialLike(companyId, like){
|
|||
|
|
if (like.getSociable().getText().toLowerCase().indexOf("#greve") > -1) {
|
|||
|
|
throw "You can not like a post that has this type of comment.";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialLike
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação de uma ação de "curtir" de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialLike(companyId, like){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` like ``` | Objeto com dados do sociable curtido | [SocialLikeEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialLikeEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo Prático:**
|
|||
|
|
|
|||
|
|
Registrar em log para auditoria todas as publicações curtidas.
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialLike(companyId, like){
|
|||
|
|
log.info(like.getUser() + " has liked the " + like.getSociable().getUrl());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialUnlike
|
|||
|
|
|
|||
|
|
O evento é disparado antes de ser efetivada uma ação de "descurtir" de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialUnlike(companyId, unlike){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` unlike ``` | Objeto com dados do sociable descurtido | [SocialLikeEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialLikeEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialUnlike(companyId, unlike){
|
|||
|
|
throw "You can not unlike a post.";
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialUnlike
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação de uma ação de "descurtir" de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialUnlike(companyId, unlike){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` unlike ``` | Objeto com dados do sociable descurtido | [SocialLikeEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialLikeEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo Prático:**
|
|||
|
|
|
|||
|
|
Registrar em log para auditoria todas as publicações que deixaram de ser apoiadas.
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialUnlike(companyId, unlike){
|
|||
|
|
log.info(unlike.getUser() + " has unliked the " + unlike.getSociable().getUrl());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialCommentRemove
|
|||
|
|
|
|||
|
|
O evento é disparado antes da efetivação da remoção de um comentário de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialCommentRemove(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` comment ``` | Objeto que contém as informações do comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo Prático:**
|
|||
|
|
|
|||
|
|
Evitar que usuários removam seus comentários em uma publicação de campanha interna da empresa.
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialCommentRemove(companyId, comment){
|
|||
|
|
if (comment.getSociable().getText().toLowerCase().indexOf("#bolao") > -1) {
|
|||
|
|
throw "You cannot change your guess.";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialCommentRemove
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação da ação de remover o comentário de um *sociable*.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialCommentRemove(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` comment ``` | Objeto que contém as informações do comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo Prático:**
|
|||
|
|
|
|||
|
|
Registrar em log para auditoria todos os comentários com a hashtag "protesto".
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialCommentRemove(companyId, comment){
|
|||
|
|
if (comment.getText().toLowerCase().indexOf("#protesto") > -1) {
|
|||
|
|
log.info(comment.getUser() + " has removed the comment " + comment.getText() + " of the sociable " + comment.getSociable().getId());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialCommentEdit
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre antes da edição de um comentário.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialCommentEdit(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` comment ``` | Objeto que contém as informações do comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialCommentEdit(companyId, comment){
|
|||
|
|
comment.setText(comment.getText() + " \n --- Conteúdo editado ---");
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialCommentEdit
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a edição de um comentário.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialCommentEdit(companyId, comment){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` comment ``` | Objeto que contém as informações do comentário | [SocialCommentEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommentEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialCommentEdit(companyId, comment){
|
|||
|
|
System.out.println(comment.getUser() + " editou o conteúdo do post: " + comment.getCommentId());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialPostEdit
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre antes da edição de um post.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPostEdit(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | objeto de post | [SocialPostEventVO](https://tdn.totvs.com/pages/viewpage.action?pageId=271182916) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPostEdit(companyId, post){
|
|||
|
|
post.setText(post.getText() + " \n --- Conteúdo editado ---");
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialPostEdit
|
|||
|
|
|
|||
|
|
Esse evento é disparado sempre após a edição de um post.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPostEdit(companyId, post){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| post | objeto de post | [SocialPostEventVO](https://tdn.totvs.com/pages/viewpage.action?pageId=271182916) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPostEdit(companyId, post){
|
|||
|
|
log.info(post.getUser() + " editou o conteúdo do post: " + post.getPostId());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeCommunityParticipation
|
|||
|
|
|
|||
|
|
O evento é disparado antes da efetivação da participação em uma comunidade.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeCommunityParticipation(companyId, relation){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` relation ``` | Objeto que contém as informações de participação | [SocialCommunityRelationEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommunityRelationEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeCommunityParticipation(companyId, relation){
|
|||
|
|
if (relation.getCommunity().getAlias() == "economia") {
|
|||
|
|
throw "Comunidade temporariamente indisponível!";
|
|||
|
|
}
|
|||
|
|
log.info("beforeCommunityParticipation Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterCommunityParticipation
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação da participação em uma comunidade.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterCommunityParticipation(companyId, relation){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` relation ``` | Objeto que contém as informações de participação | [SocialCommunityRelationEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommunityRelationEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterCommunityParticipation(companyId, relation){
|
|||
|
|
log.info("afterCommunityParticipation Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeCommunityLeave
|
|||
|
|
|
|||
|
|
O evento é disparado antes da efetivação da exclusão de participação em uma comunidade.
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeCommunityLeave(companyId, relation){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` relation ``` | Objeto que contém as informações de participação | [SocialCommunityRelationEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommunityRelationEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeCommunityLeave(companyId, relation){
|
|||
|
|
if (relation.getCommunity().getAlias() == "eventos") {
|
|||
|
|
throw "Não é permitido deixar essa comunidade";
|
|||
|
|
}
|
|||
|
|
log.info("beforeCommunityLeave Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterCommunityLeave
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação da exclusão de participação em uma comunidade.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterCommunityLeave(companyId, relation){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` relation ``` | Objeto que contém as informações de participação | [SocialCommunityRelationEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialCommunityRelationEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterCommunityLeave(companyId, relation){
|
|||
|
|
log.info("afterCommunityLeave Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialFollow
|
|||
|
|
|
|||
|
|
O evento é disparado antes da efetivação de seguir uma pessoa.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialFollow(companyId, follow){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` follow ``` | Objeto que contém as informações de seguir | [SocialFollowEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialFollowEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialFollow(companyId, follow){
|
|||
|
|
log.info("beforeSocialFollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + follow.getFollowed().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialFollow
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação de seguir uma pessoa.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialFollow(companyId, follow){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` follow ``` | Objeto que contém as informações de seguir | [SocialFollowEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialFollowEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialFollow(companyId, follow){
|
|||
|
|
log.info("afterSocialFollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + follow.getFollowed().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialUnfollow
|
|||
|
|
|
|||
|
|
O evento é disparado antes da efetivação de deixar de seguir uma pessoa.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialUnfollow(companyId, follow){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` follow ``` | Objeto que contém as informações de seguir | [SocialFollowEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialFollowEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialUnfollow(companyId, follow){
|
|||
|
|
log.info("beforeSocialUnfollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + follow.getFollowed().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialUnfollow
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação de deixar de seguir uma pessoa.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialUnfollow(companyId, follow){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` follow ``` | Objeto que contém as informações de seguir | [SocialFollowEventVO](http://tdn.totvs.com/display/public/fluig/Desenvolvimento%20de%20Eventos?null#DesenvolvimentodeEventos-SocialFollowEventVO) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialUnfollow(companyId, follow){
|
|||
|
|
log.info("afterSocialUnfollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + follow.getFollowed().getAlias());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### beforeSocialPictureChange
|
|||
|
|
|
|||
|
|
O evento é disparado antes da imagem de um usuário/comunidade ser alterada.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPictureChange(companyId, vo){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` vo ``` | Objeto contendo os dados da imagem a ser alterada | [SocialPictureEventVO](../Desenvolvimento sobre a plataforma/Desenvolvimento de Eventos.md) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function beforeSocialPictureChange(companyId, vo){
|
|||
|
|
log.info(vo.getAlias());
|
|||
|
|
log.info(vo.getPath());
|
|||
|
|
log.info(vo.getPictureName());
|
|||
|
|
log.info(vo.getWidth());
|
|||
|
|
log.info(vo.getHeight());
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### afterSocialPictureChange
|
|||
|
|
|
|||
|
|
O evento é disparado após a efetivação da troca de imagem do perfil de um usuário/comunidade.
|
|||
|
|
|
|||
|
|
**Estrutura do Evento**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPictureChange(companyId, vo){
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Parâmetros da função**
|
|||
|
|
|
|||
|
|
| Propriedade | Descrição | Tipo |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| companyId | Código da Empresa | int |
|
|||
|
|
| ``` vo ``` | Objeto contendo os dados da imagem a ser alterada | [SocialPictureEventVO](../Desenvolvimento sobre a plataforma/Desenvolvimento de Eventos.md) |
|
|||
|
|
|
|||
|
|
**Exemplo de Implementação**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function afterSocialPictureChange(companyId, vo){
|
|||
|
|
log.info("afterSocialPictureChange: " + vo.getPath()+vo.getPictureName());
|
|||
|
|
}
|
|||
|
|
```
|