
Idioma 🇧🇷 Português (Brasil)
Noções Básicas
Aparência
Comentários Ao Vivo
Paginação e Ordenação
Caixa de Resposta
SSO
Comentários Anônimos
Diversos
Personalizações e Configurações
Personalizações e Configuração
Contexto
Aqui você encontrará documentação detalhada sobre cada um dos recursos e configurações que o widget de comentários suporta.
Esta documentação cobrirá os conceitos principais e se aprofundará em cada área de funcionalidade, com instruções práticas e armadilhas comuns.
Exemplos de código serão fornecidos, com as linhas relevantes destacadas. Capturas de tela das páginas de configuração serão fornecidas quando aplicável.
Os exemplos de código utilizarão nossa biblioteca vanilla JavaScript; no entanto, as opções de configuração usam exatamente os mesmos nomes para todas as versões do widget de comentários (React, Vue, etc.).
A maioria das configurações e recursos descritos neste guia não exige escrever código.
Identificando sua conta 
Você pode notar que o widget de comentários pode ser usado com um Tenant ID de "demo", por exemplo:
Run 
Isto serve apenas para experimentar e brincar com o widget de comentários. Em produção, você passaria seu Tenant ID, assim:
Run 
Seu Tenant ID já pode ser encontrado aplicado no widget de comentários snippet de código na sua conta.
Você também pode encontrar seu Tenant ID e gerenciar suas chaves de API na página de credenciais da API.
A partir deste ponto, se você estiver logado no FastComments, os exemplos de código usarão seu Tenant ID real (se você estiver logado em https://fastcomments.com).
Como os comentários são vinculados a páginas e artigos 
Ao renderizar um thread de comentários, ou ao deixar um comentário, o FastComments precisa saber a que página, artigo ou produto esses comentários pertencem.
Para isso, usamos algo que chamamos de "URL ID". É um identificador, como uma string ou um número, ou uma URL.
Por padrão, se você não especificar o urlId, ele será a URL da página. Nós pegaremos a URL da página atual e a limparemos para remover quaisquer parâmetros de marketing comuns ou identificadores de rastreamento.
No caso de integrações de terceiros, como WordPress, nosso plugin geralmente usará o identificador que representa a informação atual sendo visualizada como o URL ID, por exemplo o id do artigo/página.
Run 
Uma coisa que frequentemente referenciamos neste documento é a Interface de Personalização de Widget.
Esta interface pode ser usada para fazer muitas alterações no widget de comentários sem usar código.
Ao criar uma regra de personalização, geralmente queremos que ela se aplique a todas as páginas do nosso site. No entanto, em alguns casos queremos personalizar o widget de comentários em uma página específica, seja para aplicar estilos personalizados ou talvez tornar os comentários daquela página anônimos. Você também poderia, por exemplo, fazer com que comentários ao vivo apareçam imediatamente em algumas páginas, enquanto os oculta sob botões de notificação em outras.
Tudo isso é possível através do campo de entrada URL ID nesta página, que se parece com o seguinte:
O valor neste campo deve corresponder ao parâmetro urlId passado para o widget de comentários. Se você quiser que sua regra de personalização seja agnóstica ao urlId, deixe este campo vazio ou insira *.
A partir de 2023, o campo URL ID na personalização do widget também aceita padrões! Por exemplo, você pode ter */blog/* para adicionar estilos específicos ao seu blog e */store/* para ter estilos específicos à sua loja, tudo usando o mesmo domínio.
Armadilhas
- Se sua página tem parâmetros de hash (como example.com#page-1) - isso se tornará parte do URL ID, por padrão.
- Durante migrações, por exemplo de WordPress para Gatsby, você pode precisar migrar os valores de comentários do URL ID após a migração inicial. Para isso, entre em contato conosco.
Exibindo os mesmos comentários em páginas diferentes 
Como o parâmetro urlId nos permite definir a qual página, ou id, os comentários estão vinculados, podemos simplesmente definir urlId para o mesmo valor nessas páginas.
Run 
Estilização personalizada 
FastComments foi projetado para ser customizado. O widget de comentários roda dentro de um iframe por razões de segurança, então, para aplicar estilos personalizados, você deve seguir uma das duas abordagens.
A primeira, a abordagem mais fácil e a que preferimos, é usar a página de personalização do widget.
Na página de personalização do widget, veja a seção “Mostrar Opções Avançadas”, sob a qual há uma área rotulada como “Custom CSS”:
Esta abordagem tem alguns benefícios:
- O CSS inserido é minificado antes de ser enviado ao usuário, e a formatação é mantida consistente na UI de edição.
- Você obtém todos os benefícios da UI de personalização do widget, por exemplo, personalizando facilmente o widget de comentários de forma diferente para diferentes sites.
- Quando fazemos alterações no widget de comentários, seu estilo personalizado será testado como parte do nosso processo de lançamento.
A segunda abordagem é especificar o parâmetro customCSS na configuração do widget, da seguinte forma:
Run 
Entretanto, isso tem limitações:
- Existe um limite de quanto CSS personalizado pode ser passado antes que nossos servidores rejeitem a requisição, devido ao tamanho dos cabeçalhos.
- Você deve gerenciar o CSS personalizado em sua infraestrutura e sistema de build. Isso pode ser uma vantagem em vez de uma desvantagem, também.
- Há um custo adicional de enviar o CSS personalizado pela rede duas vezes neste caso de uso, pois ele precisa ser enviado aos nossos servidores e depois devolvido no conteúdo do iframe. Contudo, para a maioria dos tamanhos de payload, isso não é perceptível.
- Uma otimização comum é minificar o CSS para reduzir seu tamanho na rede; porém, com esta abordagem, você terá que lidar com isso.
- Seu CSS personalizado não será testado quando fizermos alterações.
Arquivos CSS Externos
Você pode instruir o widget a buscar um arquivo externo usando @import!
É recomendado colocar o @import em uma regra de personalização. Dessa forma, se precisarmos fazer uma mudança no widget de comentários, podemos usar nossa automação
para verificar sua configuração. Por exemplo, você criaria uma regra de personalização na UI de Personalização do Widget, clicaria em Avançado e inseriria em Custom CSS:
@import url(https://example.com/styles.css);
No Código - Não Recomendado
Você também pode carregar um arquivo CSS externo via a propriedade customCSS:
Run 
Entretanto, lembre‑se de que seu CSS não poderá ser testado por nós se você fizer isso.
Estilização do Modal de Perfil de Usuário
Modais de perfil de usuário também podem ser estilizados com CSS personalizado. Contudo, para garantir que o estilo personalizado seja aplicado aos perfis de usuário, todos os seletores CSS devem ser prefixados com .user-profile. Sem esse prefixo, o estilo personalizado será ignorado nos modais de perfil de usuário.
Por exemplo:
Run 
Compatibilidade Retroativa
Na FastComments, sabemos que nossos clientes personalizam o widget de comentários. Isso faz parte do design – a última coisa que queremos é que nosso produto cause inconsistências de design em seu produto.
Como isso é uma parte importante do nosso produto, temos um pipeline de build que nos permite revisar mudanças no widget de comentários, por cliente, a cada lançamento.
Se encontrarmos pequenos problemas, atualizaremos sua conta para garantir que nosso lançamento ocorra sem contratempos. Se identificarmos mudanças significativas que quebrem a compatibilidade, isso nos permite interromper o lançamento.
Fontes personalizadas 
O FastComments foi projetado para ser personalizado, e a fonte que nossos widgets usam não é exceção.
Por padrão, o FastComments usa o system font stack para ter a melhor aparência possível em uma ampla variedade de dispositivos.
Para definir suas próprias fontes, consulte a documentação de CSS personalizado.
Lá você encontrará uma forma de definir CSS personalizado, o que permitirá especificar as fontes desejadas.
Como Definir a Fonte
Para sobrescrever a fonte, recomendamos definir seu CSS usando os seletores .fast-comments, textarea. Por exemplo:
Run 
Removendo a marca 
Para clientes com contas Pro ou Enterprise, a personalização de marca (white-label) é permitida. Basta entrar em contato conosco e ficaremos felizes em ajudar.
Se você apenas quiser remover nosso logo do widget de comentários, isso é habilitado automaticamente nos planos Flex e Pro.
Esses planos também oferecem a mesma funcionalidade para e-mails enviados pela nossa plataforma.
Suporte a fundos escuros (modo escuro) 
Por padrão, o widget de comentários FastComments detectará automaticamente o modo escuro na maioria dos sites.
Quando o modo escuro é detectado, o FastComments mudará do texto preto em fundos brancos para texto branco em um fundo preto. Imagens também serão alteradas.
Ao carregar a página, o widget tentará determinar quão escuro é o plano de fundo da página por trás do widget de comentários. Isso significa que a página pode ter um fundo branco, mas se você colocar o widget de comentários dentro de um contêiner com um fundo preto, o modo escuro ainda deverá ser ativado automaticamente para tornar os comentários legíveis.
No entanto, o mecanismo de detecção, que depende de determinar a "luminância", pode não ativar o modo escuro quando você desejar. Para forçá-lo a ativar, defina a flag hasDarkBackground como true da seguinte forma:
Run 
Alternar modo escuro 
Para sites que permitem alternar o modo escuro após o carregamento inicial da página, isso é um pouco mais complexo.
Primeiro, todas as versões atuais da biblioteca do widget de Comentários (React, Vue) têm exemplos de alternância do modo escuro em seus respectivos repositórios.
Para o widget VanillaJS, precisaremos fazer um trabalho extra. Primeiro, o FastCommentsUI retorna um objeto com as funções "destroy" e "update".
Podemos simplesmente chamar a função update toda vez que quisermos atualizar a configuração do widget de comentários, como a seguir. Aqui está um exemplo completo funcionando de alternância do modo escuro com o widget VanillaJS.
Run 
Sobrescrever texto 
Com o FastComments, todo o texto no widget de comentários é personalizável.
Você pode substituir um único trecho de texto, como o botão de envio, ou todo o texto no widget de comentários inteiro.
Por padrão, o texto no widget de comentários é traduzido com base no locale do usuário. No entanto, podemos substituir o texto, se estivermos confiantes de que nossa base de usuários está usando o mesmo local/idioma, por exemplo:
Run 
Todas as traduções personalizáveis podem ser encontradas aqui sob a aba "opções avançadas".
No entanto, há uma maneira mais fácil, via a interface de personalização do widget. Lá, podemos simplesmente encontrar o texto que aparece no widget de comentários no locale EN_US e especificar uma substituição.
Todas as substituições de traduções atualmente afetam todos os locales.
Alterar o avatar padrão 
Quando um usuário comenta com FastComments pela primeira vez, tentaremos buscar seu avatar em https://gravatar.com/.
No entanto, se não encontrarmos um avatar, ou se o usuário nunca definir um em sua conta, exibiremos uma imagem de avatar padrão estática.
Para especificar sua própria imagem de avatar estática, você pode usar a configuração defaultAvatarSrc.
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Avatar Padrão".
Observe que definir o avatar para um usuário específico, como com SSO, é abordado em sua própria seção.
Desativar avatares 
Avatares podem ser completamente removidos do widget de comentários, mesmo que os usuários tenham definido seu próprio avatar.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Desativar todos os estilos padrão 
Para projetos de estilização personalizados maiores, pode ser desejável começar do zero e não usar nenhum estilo padrão.
Todo o estilo padrão pode ser removido definindo o parâmetro noStyles como true, da seguinte forma:
Run 
Isso pode ser personalizado sem código, na página de personalização do widget, em Opções Avançadas:
Vincular comentários a páginas 
Ao enviar e-mails de notificação, ou ao renderizar comentários em interfaces de usuário como a página de moderação, é útil poder vincular do comentário para a página em que ele se encontra.
Se o ID da URL nem sempre for um ID, então precisamos armazenar a URL em outro lugar. É para isso que serve a propriedade "url", definida da seguinte forma.
Run 
Um caso de uso comum é vincular a thread de comentários a um identificador, como um artigo, e então fornecer um link de volta para uma página específica, por exemplo:
Run 
A URL não é limpa dos parâmetros de marketing comuns. Por padrão, qualquer que seja a URL da página atual, é essa URL que é armazenada com o comentário.
Recolher respostas por padrão 
Por padrão, as respostas aos comentários de nível superior são exibidas.
Isso pode ser configurado para que o usuário precise clicar em "Mostrar respostas" nos comentários de nível superior para ver as respostas.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Esta configuração não afetará o número de comentários de nível superior carregados inicialmente. Se você tem um comentário de nível superior e 29 respostas, com esta configuração ativada você irá:
- Ver o comentário de nível superior.
- Ver Mostrar respostas (29) sob este comentário.
Se você deseja mostrar todos os comentários de nível superior em combinação com esta opção, defina página inicial para -1.
Ativar WYSIWYG 
Por padrão, as funcionalidades de formatação no FastComments são feitas adicionando tags de âncora visíveis como <b></b> ao redor do seu texto. Clicar na barra de ferramentas
ou usar atalhos faz isso por você. No entanto, algumas comunidades podem querer optar por usar formatação sem tags de âncora. Isso é chamado de habilitar o
editor WYSIWYG (what you see is what you get). Este editor parece exatamente o mesmo que o padrão, exceto que ele carrega algum
código extra que permite aos usuários deixar o texto em negrito, sublinhado, etc., sem tags de âncora visíveis.
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a opção "Enable Advanced Formatting".
Desativar a barra de ferramentas 
Por padrão, o FastComments exibirá uma barra de ferramentas ao escrever um comentário para fornecer atalhos para decorar texto e fazer upload de imagens.
Esta barra de ferramentas pode ser desativada no código ou com a interface de personalização.
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a opção "Desativar a barra de ferramentas de resposta".
Desativar bloqueio 
Por padrão, o FastComments permite que os usuários bloqueiem outros usuários. Bloquear um usuário fará com que seus comentários sejam mascarados, impede notificações entre os usuários, e assim por diante.
Pode ser desejável desativar essa funcionalidade. Isso pode ser feito da seguinte maneira:
Run 
Isso também pode ser feito sem código, o que também habilita a validação adequada no lado do servidor, via a interface de personalização do widget:
Determinar qual página renderizar 
Ao buscar e renderizar comentários, o widget de comentários precisa saber em qual página começar. Por padrão, ele começa com a primeira página, renderizando apenas essa página.
Se desejado, a página exata a ser renderizada pode ser passada para o widget de comentários como a configuração startingPage.
Run 
Observe que os números das páginas começam em zero, então o exemplo acima renderiza a segunda página.
Alternar tópicos de comentários sem recarregar a página 
Cobrimos como urlId é o id da página ou do artigo ao qual os comentários estão vinculados.
Além disso, para recapitular, se não definido o urlId será padrão para a URL da página atual.
O que acontece com SPAs, ou Single-Page-Applications, onde a página ou o conteúdo ao qual os comentários estão vinculados muda dinamicamente sem um recarregamento completo da página?
Angular, React, Vue, etc
Com nossas bibliotecas, como Angular e React, simplesmente atualizar a propriedade urlId passada para o widget fará com que o widget de comentários seja atualizado. Você pode ver isso em ação para o app React, por exemplo, aqui.
VanillaJS
Se você estiver usando a biblioteca VanillaJS é um pouco mais complicado, já que não existe um framework como Angular ou React para lidar com data binding ou propagação de estado.
Quando você instancia o widget VanillaJS, ele retorna algumas funções que podem ser chamadas para atualizá-lo.
Aqui está um exemplo funcional onde mudamos o hash da página e atualizamos o widget de comentários:
Run 
Datas absolutas (Desativar formatos de data/hora amigáveis) 
Por padrão, datas relativas localizadas são usadas. Por exemplo, ao lado de um comentário recém‑deixado, você pode ver "11 minutos atrás".
Pode ser necessário ou desejado usar datas absolutas, caso em que você define este parâmetro como true.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget, em Opções avançadas:
Exibir datas absolutas e relativas 
Por padrão, datas relativas localizadas são usadas. Por exemplo, ao lado de um comentário recém‑postado, você pode ver "há 11 minutos".
Pode ser necessário ou desejado manter esse formato de data relativa, mas também exibir a data completa ao lado, caso em que você define este parâmetro como true.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget, em Opções avançadas. Primeiro, você precisará habilitar Datas Absolutas para ver esta opção na interface.
Adicionar texto de cabeçalho 
Algum texto, como um cabeçalho ou mensagem, pode ser renderizado abaixo da contagem de comentários, mas acima do texto de status de login.
Chamamos isso de cabeçalho, e por padrão ele está oculto.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget, em Opções avançadas:
Exibir links como texto 
Por padrão, o FastComments renderizará links assim: https://exmaple.com - onde a URL do link se torna uma tag âncora HTML clicável.
Alguns sites podem querer desativar isso, por exemplo, para desencorajar golpistas. Nós fornecemos isso definindo a Comment HTML Rendering Option para Links as Text.
Isso pode ser personalizado sem código, na página de personalização do widget, para um domínio inteiro ou página:
---Alternar comentários com um botão 
Por padrão, o FastComments renderiza a caixa de entrada de comentários e a sequência de comentários ao mesmo tempo. Para economizar espaço vertical, ele também oculta quaisquer outros campos obrigatórios até que o widget seja interagido.
No entanto, o widget de comentários pode ser ocultado atrás de um botão, por exemplo:
O botão usa texto traduzido diferente dependendo de os comentários estarem atualmente exibidos ou não. Se os comentários estiverem ocultos, ele usa translations.SHOW_COMMENTS_BUTTON_TEXT. Se os comentários estiverem exibidos, ele usa translations.HIDE_COMMENTS_BUTTON_TEXT. As traduções podem conter o texto [count], que será substituído pela contagem localizada.
Run 
Isso foi projetado para substituir a configuração hideCommentsUnderCountTextFormat.
A contagem é atualizada em tempo real com a sequência de comentários. O botão não é exibido se não houver comentários.
Isso pode ser habilitado sem código criando uma regra de personalização e ativando "Clique para Mostrar Comentários":
Personalizar o texto da contagem de comentários 
A contagem de comentários exibida no topo do widget de comentários pode ser personalizada.
Isso pode ser substituído por qualquer string, e o valor [count] será substituído pelo valor da contagem, localizado para o usuário.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Desativar redirecionamento de imagens 
Por padrão, o FastComments permite que usuários façam upload de imagens. Quando um usuário clica nessa imagem, o FastComments, por padrão, abrirá uma nova aba para mostrar a imagem em tamanho completo. Definir essa flag como true desativa esse comportamento:
Run 
Se você não pretende capturar o clique na imagem por conta própria (veja onImageClicked), recomendamos que isso seja combinado com algum styling para remover a aparência de que a imagem pode ser clicada.
Desativar criação automática de hashtags 
Quando os usuários inserem hashtags, no formato #someexampletag, o FastComments criará automaticamente essa HashTag e a destacará em seu comentário.
Em alguns casos, pode ser desejável desativar esse recurso ou controlar quais hashtags podem ser usadas via API.
Para isso, basta habilitar Disable Automatic #hashtag Creation através da UI de Personalização do Widget.
Desativar sino de notificações 
Por padrão, o FastComments exibirá um sino de notificação no canto superior direito da área de comentários.
Esse sino ficará vermelho e mostrará a contagem de notificações que o usuário tem. Alguns exemplos de notificações são:
- Usuário respondeu a você.
- Usuário respondeu em um tópico no qual você comentou.
- Usuário deu voto positivo ao seu comentário.
- Usuário respondeu a uma página à qual você está inscrito.
O sino de notificação também fornece um mecanismo para assinar uma página inteira, como também.
No entanto, podemos desativar o sino de notificação completamente:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Desativar Sino de Notificação".
Desativar perfis 
Por padrão, o FastComments exibirá o perfil do usuário quando você clicar no avatar dele.
No entanto, podemos desativar essa funcionalidade:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Desativar Perfis".
Desativar comentários em perfis 
Por padrão, o FastComments exibirá uma aba "Comentários de Perfil" nos perfis de usuário, permitindo que os visitantes deixem comentários no perfil de alguém.
No entanto, podemos desativar esta aba:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Desativar Comentários de Perfil".
Desativar mensagens diretas em perfis 
Por padrão, o FastComments exibirá uma aba "Mensagens Diretas" nos perfis de usuário, permitindo que os visitantes enviem mensagens diretas para um usuário.
No entanto, podemos desativar esta aba:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Desativar Mensagens Diretas".
Desativar mensagem de sucesso 
Por padrão, o FastComments exibirá uma mensagem de sucesso após comentar. Isso pode ser desativado da seguinte forma:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget:
Alterar a classificação de conteúdo de GIFs 
Por padrão, o widget de comentários FastComments definirá uma gif rating de pg.
As opções disponíveis são g, pg, pg-13 e r.
Isso pode ser definido no código ou via UI. No código, podemos fazer da seguinte forma:
Run 
Na UI, você encontrará isso em Gif Picker Rating desde que Disable Image Uploads? não esteja marcado.
Moderação de conteúdo de imagens 
Por padrão, o widget de comentários FastComments tem a moderação de conteúdo de imagem desativada off.
As opções disponíveis são off, low, medium e high.
Na interface de personalização do widget, você encontrará isso em Image Content Moderation Level enquanto Disable Image Uploads? não estiver marcado.
Alterar o estilo de votação 
Por padrão, o FastComments renderiza as opções de votação como setas para cima e para baixo, permitindo que os usuários votem um comentário para cima ou para baixo.
No entanto, é possível alterar o estilo da barra de votação. As opções atuais são os botões padrão de Subir/Descer, ou usar um mecanismo de votação no estilo de Coração.
Usamos a flag voteStyle da seguinte forma:
Run 
Recomendamos fortemente que você faça isso sem código, pois também habilita validações no lado do servidor. Na página de personalização do widget, veja a seção "Vote Style".
A votação também pode ser desativada, veja Disable Voting acima das opções de estilo.
Desativar exclusão 
Por padrão, o FastComments permitirá que os usuários excluam seus comentários.
No entanto, é possível impedir isso.
Na página de personalização do widget, veja a opção "Desativar Exclusão".
- Isso afeta apenas os Comentadores regulares e não os moderadores ou administradores, que ainda poderão excluir.
- Isso também afetará integrações de API quando
contextUserIdfor passado.
Desativar edição 
Por padrão, o FastComments permitirá que os usuários editem seus comentários.
No entanto, é possível impedir isso.
Na página de personalização do widget, veja a opção "Desativar edição".
- Isso afeta apenas os Comentadores regulares e não os moderadores ou administradores, que ainda poderão editar.
- Isso também afetará integrações de API quando
contextUserIdfor passado.
Destacar novos comentários 
FastComments fornece várias maneiras de destacar novos comentários.
First and foremost, by default comments that triggered an in-app notification (respostas, respostas no mesmo tópico, ou comentários em uma página
que você está inscrito), will automatically be highlighted with the user's avatar glowing slightly. The color can be customized via CSS
using the is-unread class.
Comentários publicados nas últimas 24 horas têm a classe 24hr aplicada que pode ser usada para estilização.
Finalmente, quaisquer novos comentários ao vivo que apareçam na sessão do usuário serão destacados por vários segundos através de uma animação. Isso é feito via a
is-live CSS class e também pode ser personalizada.
Tamanhos de página 
Por padrão, o tamanho de página do FastComments é 30. Isso inclui respostas em tópicos.
O tamanho de página pode ser personalizado na Widget Configuration UI em tamanhos variados de 10 a 200.
Observe que alterar o tamanho de página requer recalcular todos os tópicos de comentários em sua conta. Isso pode levar alguns minutos.
Isso não pode ser configurado no widget do lado do cliente, pois as páginas são calculadas no servidor.
Um exemplo de configuração é mostrado abaixo:
Os tamanhos de página podem ser personalizados globalmente, ou por domínio, ou por página, criando diferentes regras de personalização.
Isso afetará todos os clientes, integrações e frameworks que você possa estar usando para exibir comentários através da nossa plataforma.
Modelos de e-mail 
E-mails enviados pelo FastComments aos seus clientes podem ser personalizados. O modelo, a lógica, e as traduções podem ser alterados. O texto pode ser personalizado por localidade, e o estilo pode até ser alterado por domínio. Saiba mais sobre modelos de e-mail personalizados aqui.
Formatos de nome de usuário 
Por padrão, o FastComments exibirá o nome do usuário exatamente como ele foi inserido, ou como foi passado para nós via SSO.
Entretanto, pode ser desejável mascarar ou exibir o nome do usuário de uma forma diferente. Por exemplo, se o nome do usuário for Allen Rex, talvez você queira exibir apenas “Allen R.”.
Isso pode ser feito sem código na UI de Personalização do Widget, na configuração chamada Commenter Name Format:
Os formatos disponíveis são:
- Capitalizar (exibir usuário de exemplo como Exemplo Usuário)
- Inicial do Último (exibir Exemplo Usuário como Exemplo U.)
- Todas as Iniciais (exibir Exemplo Usuário como E. U.)
- Mostrar "Anônimo"
O efeito da alteração é imediato. Os usuários ainda verão seu nome de usuário completo no topo da área de comentários, para eles mesmos, mas seus comentários exibirão o nome de usuário modificado.
Os nomes de usuário são mascarados no lado do servidor para proteger os usuários.
Desativar upload de imagens 
Por padrão, o FastComments permite o upload de imagens. Isso pode ser desativado definindo a flag noImageUploads como true.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Permitir incorporação de mídia 
By default FastComments does not allow iframes in comments. When you enable media embeds, commenters can paste the embed code (the <iframe> snippet) from trusted providers like YouTube, Vimeo, SoundCloud, and Spotify, and it will render inline in the comment.
For security, this is not a client-side widget config flag. It is a server-side setting, validated when each comment is saved, so it cannot be turned on from the page. Only iframes pointing at a built-in list of trusted providers are allowed. Any other iframe is removed.
This is done without code, on the widget customization page:
Adding Your Own Providers
If you want to allow embeds from a provider that is not on the built-in trusted list, add its hostname in the "Additional Embed Domains" field on the same page. These hostnames are allowed in addition to the built-in providers. Matching is exact, so include the full hostname (for example, player.example.com). Anything you do not list stays blocked.
Both the plain comment box and the WYSIWYG editor support pasting an embed. In the WYSIWYG editor the embed is inserted as a removable block.
Ativar caixa de pesquisa 
Por padrão, não há caixa de pesquisa exibida no widget de comentários.
No entanto, podemos ativá‑la definindo a flag enableSearch como true:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a opção "Enable Search Box".
Ativar spoilers 
Podemos habilitar o suporte a spoilers definindo a flag enableSpoilers como true:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a opção "Enable Spoilers".
Quando o texto está destacado e o botão SPOILER agora visível é clicado, o texto será mascarado até que o usuário passe o mouse sobre ele. No modo escuro fazemos o mesmo, com cores diferentes que combinam melhor com o modo escuro.
Isso também é compatível com o editor WYSIWYG.
Ativar contagem de visualizações de comentários 
Por padrão, o FastComments não rastreia quem visualizou cada comentário nem fornece quaisquer estatísticas sobre isso.
No entanto, podemos habilitar esse recurso, e então o sistema começará a rastrear à medida que cada usuário rola até um comentário.
Quando isso acontece, uma contagem ao lado de um ícone de olho exibido em cada comentário será incrementada. A contagem é atualizada em tempo real e abreviada de acordo com o locale do usuário.
Podemos habilitar isso definindo a flag enableViewCounts como true:
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Rastreamos o ID do usuário* que visualizou o comentário, de modo que, se você visualizar o comentário novamente, ele não será incrementado. Se você visualizar o comentário novamente após dois anos, a contagem será incrementada mais.
- *Nota: ou o ID da sessão anônima, ou o IP do usuário como um valor hash.
Mostrar comentários ao vivo imediatamente 
Por padrão, a postagem ao vivo está habilitada. Isso significa que se quaisquer comentários forem adicionados, excluídos, editados ou fixados, as alterações devem aparecer para todos os usuários que visualizam o thread de comentários ao mesmo tempo.
No entanto, por padrão esses novos comentários aparecerão sob um botão exibido dinamicamente com texto semelhante a "Mostrar 2 Novos Comentários".
Se os novos comentários forem respostas diretamente à página, o botão será exibido no topo do thread de comentários. Se forem respostas a um comentário específico, o botão será exibido abaixo desse comentário.
Isso serve para evitar que o tamanho da página mude constantemente para o usuário, potencialmente causando frustração ao tentar pegar a barra de rolagem.
Para alguns casos de uso, como leilões ao vivo ou eventos online, esse não é o comportamento desejado – você pode querer que o widget de comentários seja mais como uma caixa de "chat" onde novos comentários "aparecem imediatamente".
Portanto, o nome da flag que habilita esse recurso: showLiveRightAway.
Podemos ativá-la da seguinte forma:
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Desativar comentários ao vivo 
Por padrão, o FastComments terá comentários ao vivo habilitados.
Isso significa que cada visualizador da sequência de comentários deve ver o mesmo conteúdo.
Por exemplo, se um comentário for adicionado, esse comentário deve ser exibido. Se um comentário for editado ou removido, então esses comentários serão editados ou removidos para todos os visualizadores da sequência. O mesmo vale para votos e todas as ações de moderação.
No entanto, podemos desativar isso:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Desativar Comentários ao Vivo".
Colocar novos comentários ao vivo no final 
Por padrão, novos comentários ao vivo aparecem no topo da lista de comentários à medida que são publicados em tempo real.
Quando essa opção está habilitada, novos comentários ao vivo serão adicionados ao final da lista. Isso afeta como os comentários aparecem quando são publicados ao vivo enquanto os usuários estão visualizando o tópico de comentários.
Run 
Com essa configuração habilitada:
- Novos comentários ao vivo postados por outros usuários aparecerão no final da lista de comentários
- Os usuários verão novos comentários aparecerem abaixo dos comentários existentes em tempo real
- Isso afeta apenas as atualizações de comentários ao vivo - não o carregamento inicial da página
- Isso pode ajudar a manter o fluxo de leitura quando os usuários estão acompanhando uma discussão
Observe que esta configuração afeta apenas onde novos comentários ao vivo são colocados conforme chegam em tempo real. Ela não afeta a ordem de classificação inicial quando a página é carregada.
Ativar rolagem infinita 
Por padrão, o widget do FastComments redimensiona-se verticalmente para ajustar todos os comentários visíveis. A paginação é feita através de um botão "Ver próximos" ao final da página atual, pois descobrimos que essa é a interação que mais agrada a maioria dos usuários.
No entanto, existem alguns casos em que a rolagem infinita é preferida. Por exemplo, usamos esse recurso em nosso produto Stream Chat.
Podemos ocultar os botões "Ver próximos" e alternar para rolagem infinita definindo a flag enableInfiniteScrolling como true:
Run 
Isso também requer a adição de CSS personalizado. Adicione CSS personalizado para o seletor .comments para habilitar a rolagem, por exemplo:
Run 
Um exemplo completo e funcional seria:
Run 
No exemplo acima usamos a propriedade customCSS, no entanto, é sugerido usar a UI de Configuração do Widget em vez disso por razões de desempenho. Veja a documentação de CSS personalizado.
Alterar a direção de ordenação padrão 
Por padrão, o FastComments ordenará os comentários pela direção de classificação "Mais Relevante".
A ordenação Mais Relevante leva em conta o horário em que o comentário foi deixado e o número de votos para a classificação.
O usuário pode então mudar a direção de classificação para Mais Antigos ou Mais Recentes Primeiro na interface do widget de comentários.
No entanto, podemos alterar o padrão para qualquer um dos três. Por exemplo, se você quiser mostrar os comentários mais antigos primeiro:
Run 
Definimos o valor de defaultSortDirection como "OF" para definir a direção como "OF".
Para a direção de classificação mais recentes primeiro, faríamos o seguinte:
Run 
Os valores válidos para defaultSortDirection são:
- MR: "Mais Recente"
- NF: "Mais Recentes Primeiro"
- OF: "Mais Antigos Primeiro"
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Direção de Classificação Padrão".
Observe que os comentários em cada página para cada direção de classificação são pré-calculados, portanto todas as direções de classificação têm o mesmo desempenho.
Exibir todos os comentários de uma vez - desativar paginação 
Para desativar a paginação e renderizar todos os comentários de uma vez, defina startingPage como -1.
Run 
Mover a caixa de resposta para depois dos comentários 
Por padrão, a área de entrada de comentários está antes do thread de comentários. No entanto, ao definir este parâmetro de configuração como true, podemos movê-la para depois.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Limitar o tamanho do comentário 
O número máximo de caracteres permitidos para serem inseridos no campo de entrada de comentário pode ser limitado pelo parâmetro maxCommentCharacterLength.
O padrão é 2000.
Itens como URLs de imagens não são incluídos na determinação do comprimento.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Desativar comentários em várias linhas 
Por padrão, o FastComments permite que o usuário insira um comentário com quantas linhas quiser, até o limite de caracteres padrão.
No entanto, pode ser desejável limitar o usuário a inserir apenas uma única linha de texto. Alguns casos de uso exemplares incluem lances online ou chat ao vivo, para os quais o FastComments pode ser usado.
Nós habilitamos a flag useSingleLineCommentInput da seguinte forma:
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a seção "Enable Single-Line Comment Input".
Observe que os comentários em cada página para cada direção de ordenação são pré-computados, portanto todas as direções de ordenação têm o mesmo desempenho.
Limitar o número de comentários por usuário 
Por padrão, cada usuário pode enviar até 5 comentários no mesmo minuto.
Isso é rastreado por ID de usuário, ID de usuário anônimo e endereço IP (hash).
Isso pode ser personalizado sem código, na página de personalização do widget:
Observe que, se você estiver usando a API de criação de comentários, pode querer passar o endereço ip original do usuário na solicitação ao nosso backend para que a limitação de taxa seja aplicada
por usuário e não globalmente à sua conta.
Impedir novos comentários de nível superior 
Definir noNewRootComments como true fará com que o widget oculte a área de resposta raiz, mas ainda permitir que os usuários respondam
a comentários filhos. Você poderia, por exemplo, definir isso condicionalmente ao carregar a página para permitir que apenas alguns usuários deixem comentários de nível superior.
Run 
Profundidade máxima de respostas 
Por padrão, o FastComments permite aninhamento ilimitado de respostas, criando uma estrutura de thread onde os usuários podem responder a respostas indefinidamente.
A opção maxReplyDepth permite limitar o quão profundas as threads de respostas podem ser. Quando a profundidade máxima é atingida, os usuários não verão mais o botão de resposta nos comentários nesse nível.
Run 
Com maxReplyDepth definido como 2:
- Usuários podem comentar no nível superior (depth 0)
- Usuários podem responder a comentários de nível superior (depth 1)
- Usuários podem responder a essas respostas (depth 2)
- Não são permitidas mais respostas além da profundidade 2
Definir como 1 permitiria apenas respostas a comentários de nível superior, criando uma estrutura de discussão mais rasa.
Definir maxReplyDepth como 0 desabilitaria todas as respostas, permitindo apenas comentários de nível superior. Se não especificado, as respostas podem ser aninhadas sem limite.
Exigir aceitação dos Termos de Serviço 
FastComments permite que você exija que os comentaristas de primeira vez aceitem seus Termos de Serviço antes de enviar um comentário.
Quando ativado:
- Usuários anônimos verão uma caixa de seleção de TOS toda vez que comentarem
- Usuários autenticados verão a caixa de seleção apenas no primeiro comentário, ou quando você atualizar seus TOS
Configuration
Navegue até a página de personalização do widget e habilite a caixa de seleção "Exigir aceitação dos Termos de Serviço". Uma vez habilitado, você verá as seguintes opções:
- Modo de Texto do TOS: Por padrão, a caixa de seleção exibe "Concordo com os Termos de Serviço e a Política de Privacidade" com links para ambos os documentos. Selecione "Personalizar texto por localidade" para fornecer seu próprio texto para cada idioma.
- Data da Última Atualização do TOS: Quando você atualizar seus Termos de Serviço, defina esta data. Usuários que aceitaram antes desta data serão obrigados a aceitar novamente.
How It Works
- O carimbo de data/hora de aceitação do TOS é armazenado por usuário e por comentário
- Quando um usuário aceita o TOS, a data é registrada em seu perfil de usuário (por locatário)
- Se você definir uma data de "Última Atualização" que seja posterior à data de aceitação do usuário, ele precisará aceitar novamente
- Para usuários anônimos que não podem ser rastreados, a caixa de seleção aparece em cada envio de comentário
Visão geral do Single Sign-On (SSO) 
SSO, ou autenticação única (single-sign-on), é um conjunto de convenções utilizado para permitir que você ou seus usuários usem o FastComments sem precisar criar outra conta.
Assumindo que você não permita comentários anônimos, uma conta é necessária para comentar no FastComments. Tornamos esse processo de cadastro muito fácil — o usuário apenas deixa seu e-mail ao comentar. Entendemos, porém, que mesmo isso é uma fricção adicional que alguns sites querem evitar.
Podemos reduzir essa fricção ao ter apenas um fluxo de login para todo o seu site.
How do I get it?
Todos os tipos de conta atualmente têm acesso ao SSO. Entretanto, o número máximo de usuários SSO varia de acordo com seu pacote. Como em outros recursos, os planos Pro e superiores oferecem suporte de desenvolvimento direto.
Vamos comparar as opções e, em seguida, detalhar cada uma.
User and Comment Migrations
Ao migrar de uma plataforma com SSO como o Disqus, você já terá os usuários e seus comentários.
Os comentários são importados como parte da sua migração, seja pela API, pela nossa Import UI, ou pelo suporte ao cliente. A Import UI é preferida se suportar a plataforma da qual você está migrando, pois ela incorpora tratamento de erros, extração e upload de avatares e mídias, e um sistema de monitoramento de jobs em lote.
Os próprios usuários são adicionados automaticamente ao visualizarem os tópicos de comentários pela primeira vez. Alternativamente, eles podem ser pré-adicionados via API, mas esse trabalho não traz muitas vantagens.
Se os comentários forem importados e os usuários SSO não forem adicionados manualmente via API, então os comentários serão automaticamente migrados para a conta do usuário na primeira vez que ela for criada quando visualizarem qualquer tópico de comentário. Eles então poderão gerenciar, editar e excluir os comentários que originalmente escreveram.
A migração automática é feita por e-mail ou nome de usuário. Algumas plataformas não fornecem e-mails na exportação, como o Disqus, então nesse caso usamos o nome de usuário.
- Desde que você passe um nome de usuário correspondente e um e-mail no payload do SSO, adicionaremos o e-mail aos objetos de comentário individuais para que notificações e menções funcionem.
Se desejar importar seus comentários e usuários de uma vez, trabalhe com o suporte para migrar os comentários para as respectivas contas dos usuários após os usuários serem importados via a API.
So to summarize the easiest path to take for the migration is:
- Import comments.
- Avatares e outras mídias são migrados automaticamente se usar a Import UI em
Manage Data -> Imports.
- Avatares e outras mídias são migrados automaticamente se usar a Import UI em
- Setup Secure or Simple SSO.
- Deixe a migração ocorrer por usuário automaticamente quando eles fizerem login pela primeira vez.
- Isso geralmente adiciona menos de um segundo ao tempo de carregamento da página se o usuário tiver menos de 50k comentários.
WordPress Users
Se você estiver usando nosso plugin do WordPress, não há código para escrever! Simplesmente vá para a página de administração do plugin, clique em Configurações de SSO e então Ativar.
Isso o levará a um assistente de um único botão que criará sua chave de API, a enviará para sua instalação do WordPress e ativará o SSO. Consolidamos isso em um único clique para você.
Observe que se você estiver instalando o plugin pela primeira vez, terá que seguir o processo de configuração antes de ver a página de administração com o botão Configurações de SSO.
WordPress SSO - Moderators
Observe que atualmente, para que a insígnia "Moderator" apareça ao lado dos seus moderadores quando eles comentarem com o plugin FastComments para WordPress, eles também devem ser adicionados como Moderadores no painel do FastComments e ter o e-mail verificado.
Custom Integrations
Para integrações personalizadas, há duas opções.
Option One - Secure SSO
Com o Secure SSO, o FastComments sabe que o usuário que comenta, vota e lê comentários é um usuário real do seu site.
Contanto que você crie um payload válido, o usuário sempre terá uma experiência de comentários sem interrupções.
Com o Secure SSO, o payload do SSO é criado no lado do servidor usando autenticação HMAC e então passado para o widget no cliente.
Com o Secure SSO, a conta do usuário é completamente separada do restante da base de usuários do FastComments. Isso significa que, se tivermos dois parceiros Empresa A e Empresa B, cada um pode ter um usuário SSO com o nome de usuário "Bob".
Requirements
- Algum conhecimento básico de desenvolvimento backend.
- Algum conhecimento básico sobre como lidar com chaves de API secretas.
- Algum conhecimento básico sobre desenvolvimento de APIs ou renderização no lado do servidor.
Pros
- Seguro.
- Experiência de comentários sem interrupções.
Cons
- Requer desenvolvimento backend.
Updating User Data
Com o Secure SSO, cada vez que você enviar o payload de usuário SSO, atualizaremos o usuário com as informações mais recentes. Por exemplo, se o usuário tem o nome de usuário X, e você enviar Y no payload do SSO, o nome de usuário dele se tornará Y.
Se você quiser remover valores usando essa abordagem, defina-os como null (não undefined).
Secure SSO API
Também fornecemos uma API para interagir com os usuários SSO. Veja a documentação.
Observe que, ao usar o Secure SSO, os usuários são criados automaticamente nos bastidores ao carregar a página. Você não precisa importar seus usuários em massa.
Option Two - Simple SSO
A alternativa ao Secure SSO é simplesmente passar as informações do usuário para o widget de comentários.
Fornecer um e-mail com o Simple SSO não é obrigatório; no entanto, sem isso os comentários aparecerão como "Não verificado".
Observação! A partir do início de 2022, nomes de usuário com Simple SSO não precisam ser únicos em todo o FastComments.com.
Idealmente, o Simple SSO deve ser escolhido apenas quando se desenvolve em uma plataforma que não fornece acesso ao backend.
Requirements
- Algum conhecimento básico de desenvolvimento do lado do cliente.
- É necessário conhecer pelo menos o e-mail do usuário.
Pros
- Simples.
- Toda a atividade ainda é verificada.
- O usuário nunca precisa inserir seu nome de usuário ou e-mail.
Cons
- Menos seguro que o Secure SSO, já que o payload do lado do cliente poderia ser forjado para se tornar qualquer usuário.
Simple SSO API
Usuários criados automaticamente via o fluxo Simple SSO são armazenados como objetos SSOUser. Eles podem ser acessados e gerenciados via a API SSOUser. Veja a documentação.
Integrações personalizadas - Single Sign-On seguro (SSO) 
FastComments Secure SSO usa criptografia HMAC-SHA256 como o mecanismo para implementar SSO. Primeiro iremos explicar a arquitetura geral, fornecer exemplos e passos detalhados.
Também há documentação sobre migração de outros provedores com mecanismos de SSO semelhantes, e as diferenças.
O fluxo é o seguinte:
Como o Secure SSO envolve desenvolvimento full-stack, exemplos de código completos e funcionais em Java/Spring, NodeJS/Express e PHP vanilla estão atualmente no GitHub.
Embora usemos ExpressJS no exemplo NodeJS e Spring no exemplo Java, não são necessárias bibliotecas/frames de trabalho nesses runtimes para implementar o FastComments SSO - os pacotes nativos de criptografia funcionam.
Você não precisa escrever novos endpoints da API com o FastComments SSO. Simplesmente criptografe as informações do usuário usando sua chave secreta e passe o payload para o widget de comentários.
Obtenha sua chave secreta da API
Sua chave secreta da API pode ser recuperada a partir desta página. Você também pode encontrar esta página indo para My Account, clicando no bloco API/SSO e então clicando em "Get API Secret Key".
Parâmetros do widget de comentários
A documentação de alto nível da API para o widget de comentários pode ser encontrada aqui.
Vamos aprofundar o que esses parâmetros significam.
O widget de comentários recebe um objeto de configuração - você já passa isso se estiver usando o FastComments para enviar seu id de cliente (chamado tenantId).
Para habilitar SSO, passe um novo objeto "sso", que deve ter os seguintes parâmetros. Os valores devem ser gerados no servidor.
- userDataJSONBase64: Os dados do usuário em formato JSON, que então são codificados em Base64.
- verificationHash: O hash HMAC-SHA256 criado a partir de UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Timestamp em epoch, em milissegundos. Não deve estar no futuro, nem com mais de dois dias no passado.
- loginURL: Uma URL que o widget de comentários pode mostrar para autenticar o usuário.
- logoutURL: Uma URL que o widget de comentários pode mostrar para desconectar o usuário.
- loginCallback: Quando fornecido em vez do login URL, uma função que o widget de comentários irá invocar ao clicar no botão de login.
- logoutCallback: Quando fornecido em vez do logout URL, uma função que o widget de comentários irá invocar ao clicar no botão de logout.

O Objeto do Usuário
The User Object

Moderadores e Administradores
Para admins e moderadores, passe as respectivas flags isAdmin ou isModerator no objeto SSOUser.
Notificações
Para habilitar ou desabilitar notificações, defina o valor de optedInNotifications como true ou false, respectivamente. Na primeira vez que o usuário carregar a página com esse valor no payload SSO, as configurações de notificação dele serão atualizadas.
Além disso, se você quiser que os usuários recebam e-mails de notificação por atividade em páginas às quais se inscreveram (em oposição a apenas notificações no aplicativo), então defina optedInSubscriptionNotifications como true.
Usuários VIP & Rótulos Especiais
Você pode exibir um rótulo especial ao lado do nome do usuário usando o campo opcional "displayLabel".
Usuários não autenticados
Para representar um usuário não autenticado, simplesmente não preencha userDataJSONBase64, verificationHash ou timestamp. Forneça um loginURL.
Esses usuários não poderão comentar e, em vez disso, serão apresentados com uma mensagem de login (mensagem, link ou botão, dependendo da configuração).
Exemplos diretos para serializar e gerar hash dos dados do usuário
Mais detalhes e exemplos aqui (js), aqui (java) e aqui (php).
Entendemos que qualquer integração pode ser um processo complicado e doloroso. Não hesite em contatar seu representante ou usar a página de suporte.
Integrações personalizadas - Single Sign-On simples (SSO) 
Com o Simple SSO, podemos fornecer ao widget de comentários informações sobre o usuário para que ele não precise inserir seu nome de usuário ou e-mail para comentar.
Podemos configurar o Simple SSO da seguinte forma:
Run 
O usuário será logado, e um Usuário SSO será criado em segundo plano. O usuário terá createdFromSimpleSSO definido como true se obtido pela API.
Notas:
- E-mail é o identificador único para o Simple SSO.
- Fornecer um e-mail com o Simple SSO não é obrigatório, no entanto por padrão os comentários aparecerão como "Não verificado". Se nenhum e-mail for fornecido, o usuário não poderá ser totalmente autenticado.
- NOVO Since Jan 2022: Nomes de usuário não precisam ser únicos em todo o fastcomments.com
- O Simple SSO pode criar e atualizar automaticamente usuários SSO, se um e-mail for fornecido, e o usuário não tiver sido originalmente criado pelo Secure SSO.
- Você pode especificar badges para o usuário com a propriedade
badgeConfig. O arraybadgeIdscontém os IDs de badges globais a associar ao usuário. O arraypageBadgeIdscontém IDs de badges com escopo para a página atual (urlId) — esses badges são exibidos apenas na página em que foram atribuídos. Seoverrideestiver definido comotrue, ele substituirá os badges exibidos existentes (globais e com escopo de página são sobrescritos independentemente); sefalse, ele será adicionado aos badges existentes.
Integrações personalizadas - Migrando do Disqus SSO 
A maior diferença entre Disqus e o FastComments Secure SSO é que o Disqus usa SHA1 para criptografia enquanto nós usamos SHA256. Isso significa que migrar do Disqus é fácil - altere o algoritmo de hashing usado de SHA1 para SHA256 e atualize os nomes das propriedades passadas para a UI.
Integrações personalizadas - Migrando do Commento SSO 
Commento usa uma abordagem de SSO drasticamente diferente - eles exigem que você tenha um endpoint que eles invoquem para autenticar o usuário. FastComments é o contrário - simplesmente codifique e aplique hash nas informações do usuário usando sua chave secreta e as envie.
Protegendo tópicos de comentários com Single Sign-On (SSO) 
FastComments SSO (detalhes aqui) oferece aos seus usuários uma maneira de comentar sem precisar fazer login em outra plataforma.
No entanto, isso por si só não protege seus tópicos de comentários, já que, por padrão, os dados dos comentários são informações publicamente disponíveis – qualquer pessoa que possa visualizar a página pode ver os comentários.
Alterando uma configuração, podemos restringir a obtenção de comentários, a menos que seja feita por um administrador ou usuário SSO válido.
Configuração sem Código
Podemos impedir a visualização e a interação com nossos tópicos de comentários, quando o SSO está configurado, criando uma regra de personalização.
Ao fazer isso, procure por SSO, e você encontrará esta opção:
Ative-a e salve a regra de personalização.
Proteger Apenas um Domínio ou Página Específico
Para proteger apenas um determinado Domínio ou Página, basta configurar a regra de personalização para isso.
No topo da interface de personalização, encontraremos dois campos de entrada, Domínio e ID da URL.
Para proteger apenas um domínio específico, insira o domínio em questão no campo "domain".
Para proteger uma página específica, insira a URL da página no campo "URL ID". Se você tem uma integração personalizada com o FastComments, pode inserir um tipo de ID aqui em vez de uma URL.
Níveis de Segurança
Ao exigir SSO, você precisará decidir se requer SSO Simples ou SSO Seguro. Se você exigir SSO Simples, ambos são permitidos, mas se exigir SSO Seguro, o conteúdo deve ser obtido com um payload de SSO Seguro hashado com sua chave de API para ser visualizado.
A opção de nível de segurança aparecerá quando você selecionar "Exigir SSO para Visualizar Comentários".
Proteção Além da Leitura
Ativar esta opção protegerá a página ou domínio de ser comentado, a menos que o usuário esteja conectado via SSO.
Armadilhas
Qualquer usuário que tenha criado comentários antes da sua integração SSO não poderá vê-los, a menos que faça login via sua integração SSO.
Permitir comentários anônimos 
Por padrão, o FastComments exigirá um e‑mail para comentar. Não precisa ser um e‑mail válido, porém, até que o usuário clique no link enviado a ele, seu comentário exibirá um rótulo "Comentário Não Verificado".
No entanto, podemos remover a exigência de e‑mail. O campo de entrada de e‑mail ainda será exibido, mas não será mais obrigatório.
Isso pode ser configurado via a interface de personalização do widget:
Impedir que comentários anônimos expirem 
FastComments pode ser configurado para remover comentários não verificados após um número desejado de dias. Isso ajuda a combater spam.
Por padrão, ele não faz isso.
Isso pode ser configurado ou desativado através da página Configurações de Moderação.
Desativar campos de e-mail 
Quando os usuários comentam e não estão logados, será solicitado que forneçam seu e‑mail.
Isso criará uma "sessão não verificada" para esse usuário, e pediremos que ele verifique essa sessão via e‑mail.
Para alguns sites ou aplicativos, pode ser desejável não solicitar o e‑mail do usuário ao comentar ou votar.
Habilitar comentários anônimos torna o campo de entrada de e‑mail opcional. No entanto, podemos desativá‑lo completamente. Primeiro, habilite os comentários anônimos, e então a opção de desativar os campos de entrada de e‑mail aparecerá.
Com isso ativado, os campos de e‑mail não serão exibidos em nenhum dos nossos produtos de comentários.
Observe que, com esta configuração, todos os comentários serão não verificados, a menos que o usuário crie uma conta e faça login em https://fastcomments.com.
Você pode querer considerar desativar o rótulo não verificado.
Desativar o rótulo "Não verificado" 
Por padrão, o FastComments exibirá um rótulo "Comentário Não Verificado" para comentários que foram deixados para um usuário que tem uma sessão de navegador não verificada. Leia mais sobre comentários não verificados aqui.
Run 
Além disso, esse recurso pode ser usado, sem escrever código, na interface de personalização:
Definir um nome de usuário padrão 
Quando os usuários comentam ou votam e não estão logados, será solicitado que forneçam seu e‑mail e nome de usuário.
No caso de comentários anônimos, às vezes é desejável definir um nome de usuário padrão para reduzir o atrito ao comentar. Isso pode ser feito a partir da interface de personalização. Comentários anônimos devem ser habilitados primeiro.
---Chamadas de retorno 
Todas as bibliotecas para o widget de comentários (atualmente Angular, React, Vue) suportam callbacks.
Os callbacks são especificados no objeto de configuração, com a mesma assinatura para cada biblioteca.
Os callbacks suportados são:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
As assinaturas exatas podem ser encontradas nas definições TypeScript.
Aqui está um exemplo com todos os callbacks usados:
Run 
Definir manualmente a localidade do usuário 
Por padrão, o FastComments renderizará o widget de comentários no locale determinado pelo sistema e navegador do usuário.
Quando um usuário comenta ou faz login, atualizamos o locale usado pela última vez por ele e também o utilizamos para enviar e‑mails.
Isso afeta como o widget de comentários é traduzido para o usuário. O locale consiste no idioma e região do usuário, portanto, configurar o locale geralmente mudará o idioma usado para exibir o texto ao usuário.
Via a UI
Isso pode ser definido usando a UI de personalização do widget. Veja a opção "Locale / Language":
Via Código
Isso pode ser sobrescrito com um locale desejado.
Run 
Idiomas Suportados e Códigos de Locale
Observação sobre SSO
Se você estiver usando SSO, talvez queira passar o locale do usuário no objeto do usuário, para que e‑mails e outras coisas sejam localizados corretamente para ele.
Limitar idiomas permitidos 
Por padrão, o FastComments não limita os idiomas usados para comentar.
Pode ser desejável limitar os idiomas que uma comunidade usa.
Isso pode ser configurado sem código, na página de personalização do widget:
O sistema analisará o comentário e determinará seu idioma, e então o comparará com a lista de permitidos.
Se o comentário for escrito em um idioma que não é permitido, uma mensagem de erro localizada será exibida.
Títulos de página 
O título da página atual é associado ao urlId especificado e salvo para uso nas ferramentas de moderação.
Por padrão, ele é obtido de document.title.
Se desejar, você pode especificar seu próprio título de página da seguinte forma:
Run 
Impedir novas respostas e desativar votos 
A postagem de comentários pode ser bloqueada para que novos comentários ou votos não possam ser deixados definindo a flag readonly como true.
Os comentários também não poderão ser editados ou excluídos.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget, para um domínio inteiro ou página:
Update!
A partir de novembro de 2022, os threads podem ser bloqueados ou desbloqueados ao vivo por administradores e moderadores via o menu de três pontos acima da área de resposta.
Isso impedirá novos comentários, enquanto ainda permite votação e permite que os usuários excluam seus comentários, se desejado, enquanto readonly não permite essas coisas.
Isso corresponde ao campo isClosed na API Page.
Restringir domínios de links 
Por padrão, o FastComments permite vincular a qualquer site externo.
Isso pode ser restrito a uma lista desejada de sites ou domínios. Tentar publicar um link para um site ou domínio que não esteja na lista definida fará com que um erro seja exibido ao usuário.
Essa validação é apenas para o Widget de Comentários e a API. Importações não são afetadas.
Isso é feito sem código, na página de personalização do widget:
A contagem de comentários e a inclusão de todas as respostas aninhadas 
A contagem de comentários exibida no topo do widget de comentários pode mostrar ou todos os comentários "top-level", ou seja, aquelas respostas que são respostas diretamente para a página ou artigo em si, ou pode ser uma contagem de todos os comentários aninhados.
Por padrão, isso é true - é uma contagem do último caso - todos os comentários. Em versões antigas do widget de comentários o
valor padrão é false.
Podemos alterar o comportamento, de modo que seja uma contagem de todos os comentários aninhados definindo a flag countAll para true.
Run 
Se quiséssemos que a contagem refletisse apenas os comentários de nível superior, definimos a flag para false.
Run 
Atualmente, isso não pode ser personalizado sem alterações no código.
Ativar links de comentaristas 
Por padrão, o FastComments solicitará ao usuário apenas seu comentário, seu nome de usuário e seu e‑mail.
No entanto, em algumas situações você pode querer que o usuário deixe um link para seu próprio blog ou site.
Podemos habilitar a exibição de um campo de entrada extra para inserir a URL do site do usuário definindo a flag enableCommenterLinks como true:
Run 
Quando essa URL for fornecida, a conta do usuário será atualizada e todos os seus nomes de usuário em comentários passados e futuros serão vinculados a essa URL.
Isso pode ser personalizado sem código, na página de personalização do widget:
Grupos de moderação 
Uma lista de ids gerados a partir da página Grupos de Moderação.
Quando especificado, os comentários deixados usando a configuração especificada conterão o mesmo conjunto de moderationGroupIds.
Se um Moderator tiver um ou mais Grupos de Moderação definidos, ele(a) verá apenas os comentários na página Moderate Comments associados ao(s) seu(s) grupo(s).
Run 
IDs de grupos de menção 
Uma lista de ids para usar no autocompletar de @mentions. Útil quando você quer evitar marcar usuários que não possuem grupos em comum.
Quando especificado, apenas usuários de outros grupos serão exibidos no autocompletar após digitar o caractere @.
Run 
Ignorar cookies de terceiros 
Para autenticação, o FastComments depende de cookies de terceiros estarem habilitados no seu navegador. Sem eles, os usuários sempre precisarão deixar seu e‑mail para comentar (a menos que o campo de entrada de e‑mail esteja oculto), e seus comentários sempre aparecerão como não verificados (por padrão).
Para contornar isso, você pode habilitar a bypass de cookies de terceiros.
Quando essa configuração está habilitada, ela causará um pequeno pop‑up que mostra uma mensagem indicando que o usuário está sendo autenticado. Esse pop‑up é exibido sempre que o usuário interage com o widget de comentários; por exemplo, se ele deixar um comentário.
Podemos fazer isso no código definindo a flag enableThirdPartyCookieBypass como true:
Run 
Também podemos configurar isso via a UI de Personalização do Widget, em Enable Third-Party Cookie Popup:
Excluir comentários com respostas 
Por padrão, os usuários podem excluir seus próprios comentários. Além disso, excluir seu comentário exclui automaticamente todos os comentários filhos e transitórios na thread. Esse comportamento também está ativo.
Você pode restringir isso das seguintes maneiras:
- Em vez disso, anonimizar o comentário excluído (definir nome e texto como
[deleted]ou um valor personalizado). - Não permitir a exclusão de comentários quando houver respostas. Uma mensagem de erro personalizável é exibida.
- Restringir a exclusão de comentários que têm respostas apenas a administradores e moderadores.
Isso pode ser configurado na seção Comment Thread Deletion na UI de Personalização do Widget.
Mostrar distintivos na barra superior 
Por padrão, o FastComments exibirá os emblemas dos usuários apenas em seus comentários dentro da thread de comentários.
No entanto, podemos mostrar os emblemas dos usuários ao lado de seu nome acima do formulário de comentário habilitando este recurso na página de personalização do widget:
Isso exibirá os emblemas do usuário ao lado de seu nome na área da barra superior, tornando suas conquistas e status mais proeminentes enquanto ele está compondo um comentário.
Observe que este recurso deve estar habilitado na interface de personalização do widget para funcionar. Você pode, opcionalmente, definir a flag showBadgesInTopBar como false na sua configuração de código para desativá‑lo seletivamente mesmo quando ele está ativado no nível do servidor:
Run 
Mostrar lista de usuários online 
Por padrão, o FastComments não exibe uma lista de usuários na página.
Você pode renderizar uma lista de pessoas que estão visualizando a página no momento, ao lado do widget de comentários. A lista é atualizada em tempo real à medida que os usuários entram e saem, e mostra seu nome, avatar e um indicador online.
Existem três opções de layout:
1- Top: uma linha horizontal de avatares sobrepostos renderizada acima dos comentários.2- Left: uma barra lateral com nomes e pontos online renderizada à esquerda do widget.3- Right: a mesma barra lateral renderizada à direita do widget.
Defina a flag usersListLocation para habilitar o recurso:
Run 
Por padrão, a lista mostra apenas os usuários atualmente online. Para também incluir pessoas que comentaram na página no passado (mas que não estão visualizando no momento), defina usersListIncludeOffline como true:
Run 
Os comentaristas passados são renderizados sem o ponto verde online, para que fique claro quem está presente agora.
Usuários com perfis privados são exibidos com um avatar genérico e um rótulo "Perfil Privado" para que a contagem permaneça precisa sem revelar identidades.
Isso também pode ser configurado sem código. Na página de personalização do widget, veja a opção "Users List Location". Quando a localização é definida para algo diferente de Off, uma caixa de seleção "Include past commenters" aparece abaixo dela.
Com base nos últimos 500 usuários ativos, a lista pode estar desatualizada em até 30 segundos.