Files
2026-05-06 13:35:47 -03:00

939 lines
26 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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());
}
```