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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
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 |
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 |
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
function beforeSocialPostEdit(companyId, post){
}
Parâmetros da função
| Propriedade | Descrição | Tipo |
|---|---|---|
| companyId | Código da Empresa | int |
| post | objeto de post |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Exemplo de Implementação
function afterSocialPictureChange(companyId, vo){
log.info("afterSocialPictureChange: " + vo.getPath()+vo.getPictureName());
}