
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çã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 tópico 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". É ou um identificador, como uma string ou um número, ou uma URL.
Por padrão, se você não especificar o urlId, ele se tornará a URL da página. Nós pegaremos a URL atual da página e a limparemos para remover quaisquer parâmetros comuns de marketing 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 mencionaremos neste documento é a Widget Customization UI.
Essa 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, frequentemente 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 em outras fiquem ocultos sob botões de notificação.
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 customização do widget também aceita padrões! Por exemplo você pode
usar */blog/* para adicionar estilos específicos ao seu blog e */store/* para ter estilos específicos para sua loja,
tudo isso usando o mesmo domínio.
Observações
- 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 ter que migrar os valores de comentário 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 próprio widget de comentários roda dentro de um iframe por razões de segurança, então para aplicar estilos personalizados você precisa seguir uma de duas abordagens.
A primeira, a mais fácil, e a preferida por nós, é usar a página de personalização do widget.
Na página de personalização do widget, veja a seção "Show Advanced Options", sob a qual há uma área rotulada "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 interface de edição.
- Você obtém todos os benefícios da interface de personalização do widget, por exemplo personalizar facilmente o widget de comentários de forma diferente para sites diferentes.
- Quando fazemos alterações no widget de comentários, seu estilo customizado será testado como parte do nosso processo de liberação.
A segunda abordagem é especificar o parâmetro customCSS na configuração do widget, como segue:
Run 
No entanto, isso tem limitações:
- Há um limite de quanto CSS personalizado pode ser enviado antes que nossos servidores rejeitem a requisição, devido ao tamanho dos cabeçalhos.
- Você deve gerenciar o CSS personalizado na sua infraestrutura e sistema de build. Isso pode ser uma vantagem em vez de uma desvantagem, também.
- Há um overhead adicional de enviar o CSS personalizado pela rede duas vezes neste caso de uso, já que ele precisa ser enviado aos nossos servidores e então enviado de volta 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 customizado não será testado quando fizermos alterações.
External CSS Files
Você pode instruir o widget a buscar um arquivo externo usando @import!
É recomendado colocar o @import em uma regra de customização. Desta forma, se algum dia precisarmos fazer uma alteração no widget de comentários, podemos usar nossas ferramentas de automação
para verificar sua configuração. Então, por exemplo, você criaria uma regra de customização na UI de Personalização do Widget, clicaria em Advanced, e entraria em Custom CSS:
@import url(https://example.com/styles.css);In Code - Not Recommended
Você também pode carregar um arquivo CSS externo via a propriedade customCSS:
Run 
No entanto, lembre-se que seu CSS não poderá ser testado por nós se você fizer isso.
User Profile Modal Styling
Os modais de perfil do usuário também podem ser estilizados com CSS customizado. Porém, 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 para os modais de perfil do usuário.
Por exemplo:
Run 
Backwards Compatibility
Na FastComments, sabemos que nossos clientes personalizam o widget de comentários. Isso é intencional — a última coisa que queremos é que nosso produto cause inconsistências de design no seu produto.
Como esta é uma parte importante do nosso produto, temos um pipeline de build que nos permite revisar alterações no widget de comentários, por cliente, a cada release.
Se encontrarmos problemas menores, atualizaremos sua conta para garantir que nossa liberação aconteça sem problemas. Se virmos mudanças significativas que quebrem, isso nos permite interromper a liberação.
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 
Alternando o 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 
Substituindo texto 
Com o FastComments, todo o texto no widget de comentários é personalizável.
Você pode substituir uma única parte do texto, como o botão de envio, ou todo o texto em todo o widget de comentários.
Por padrão, o texto no widget de comentários é traduzido com base na localidade do usuário. No entanto, podemos substituir o texto se estivermos confiantes de que nossa base de usuários está usando a mesma localidade/idioma, por exemplo:
Run 
Todas as traduções personalizáveis podem ser encontradas aqui na 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 na localidade EN_US e especificar uma substituição.
Todas as substituições de tradução afetam atualmente todas as localidades.
Alterando o avatar padrão 
Quando um usuário comenta no FastComments pela primeira vez, tentaremos buscar o avatar dele em http://gravatar.com/.
No entanto, se não encontrarmos um avatar, ou se o usuário nunca definir um em sua conta, exibimos uma imagem estática de avatar padrão.
Para especificar sua própria imagem de avatar estática, podemos 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, por exemplo com SSO, é abordado em sua própria seção.
Desativando avatares 
Avatares podem ser completamente removidos do widget de comentários, mesmo se os usuários tiverem definido seu próprio avatar.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Desativando todos os estilos padrão 
Para projetos maiores de estilização personalizada, pode ser desejável começar do zero e não usar o 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:
Vinculando 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 os comentários filhos.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Essa configuração não afetará o número de comentários de nível superior carregados inicialmente. Se você tiver um comentário de nível superior e 29 comentários filhos, com essa configuração ativada você irá:
- Ver o comentário de nível superior.
- Ver 'Mostrar respostas (29)' abaixo deste comentário.
Se você desejar exibir todos os comentários de nível superior em combinação com esta opção, defina a página inicial para -1.
Ativar WYSIWYG 
Por padrão, as funcionalidades de formatação no FastComments são feitas adicionando tags 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 visíveis. Isso é chamado de habilitar o
editor WYSIWYG (o que você vê é o que você obtém). Este editor parece exatamente igual ao padrão, exceto que carrega um código
extra que permite aos usuários colocar em negrito, sublinhar, etc., o texto deles sem tags visíveis.
Run 
Isso também pode ser feito sem código. Na página de personalização do widget, veja a opção "Ativar Formatação Avançada".
Desativando a barra de ferramentas 
Por padrão, o FastComments exibirá uma barra de ferramentas ao escrever um comentário para fornecer atalhos para formatar o texto e enviar imagens.
Esta barra de ferramentas pode ser desativada no código ou pela 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".
Desativando bloqueio 
Por padrão, o FastComments permite que usuários bloqueiem outros usuários. Bloquear um usuário fará com que seus comentários sejam mascarados, impedirá notificações entre os usuários e assim por diante.
Pode ser desejável desativar essa funcionalidade. Isso pode ser feito da seguinte forma:
Run 
Isso também pode ser feito sem código, o que também habilita a validação adequada no lado do servidor, pela Interface de Personalização do Widget:
Determinando 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.
Alternando tópicos de comentário 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 exibição relativa de tempo) 
Por padrão, são usadas datas relativas localizadas. Por exemplo, ao lado de um comentário deixado recentemente você pode ver "há 11 minutos".
Pode ser necessário ou desejável usar datas absolutas, caso em que você define este parâmetro como true.
Run 
Isto pode ser personalizado sem código, na página de personalização do widget, em Opções Avançadas:
Mostrar datas absolutas e relativas 
Por padrão, são usadas datas relativas localizadas. Por exemplo, ao lado de um comentário deixado recentemente você pode ver "há 11 minutos".
Pode ser necessário ou desejável manter esse formato de data relativa, mas também exibir a data completa ao lado dele, caso em que você define este parâmetro como true.
Run 
Isso pode ser customizado sem código, na página de personalização do widget, em Opções Avançadas. Primeiro você terá que ativar Absolute Dates para ver esta opção na UI.
Adicionar texto de cabeçalho 
Algum texto, como um cabeçalho ou mensagem, pode ser exibido 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 
Isto 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. Fornecemos isso definindo a Comment HTML Rendering Option para Links as Text.
Isto pode ser personalizado sem código, na página de personalização do widget, para todo um domínio, ou página:
Alternar comentários com um botão 
Por padrão, o FastComments renderiza a caixa de entrada de comentários e o thread de comentários ao mesmo tempo. Para economizar um pouco de espaço vertical, ele também ocultará quaisquer outros campos obrigatórios até que haja interação com o widget.
No entanto, o widget de comentários pode ser ocultado atrás de um botão, por exemplo:
O botão usa textos traduzidos diferentes dependendo se os comentários estão atualmente mostrados ou não. Se os comentários estiverem ocultos, ele usa translations.SHOW_COMMENTS_BUTTON_TEXT. Se os
comentários estiverem mostrados, ele usa translations.HIDE_COMMENTS_BUTTON_TEXT. As traduções podem conter o texto [count] que será
substituído pela contagem localizada.
Run 
Isto foi projetado para substituir a configuração hideCommentsUnderCountTextFormat.
A contagem é atualizada ao vivo com o thread de comentários. O botão não é exibido se não houver comentários.
Isto pode ser ativado sem código criando uma regra de personalização e habilitando "Click to Show Comments":
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 imagem 
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, na forma #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 pela API.
Para isso, basta ativar Disable Automatic #hashtag Creation através da interface de Personalização do Widget.
Desativar sino de notificações 
Por padrão, o FastComments exibirá um sino de notificações no canto superior direito da área de comentários.
Esse sino ficará vermelho e mostrará uma contagem do número de notificações que o usuário possui. Alguns exemplos de notificações são:
- Um usuário respondeu para você.
- Um usuário respondeu em um tópico no qual você comentou.
- Um usuário votou positivamente no seu comentário.
- Um usuário respondeu em uma página à qual você está inscrito.
O sino de notificações também fornece um mecanismo para se inscrever em uma página inteira.
No entanto, podemos desativar o sino de notificações inteiramente:
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ções".
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 mensagem de sucesso 
Por padrão, o FastComments exibirá uma mensagem de sucesso após o envio de um comentário. 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 classificação de conteúdo de GIFs 
Por padrão, o widget de comentários FastComments definirá um gif rating de pg.
As opções disponíveis são g, pg, pg-13 e r.
Isso pode ser configurado no código ou via a UI. No código, podemos fazê-lo 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 do FastComments tem a moderação de conteúdo de imagens definida como 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, desde que Disable Image Uploads? não esteja marcado.
Alterar estilo de votação 
Por padrão, o FastComments exibirá opções de votação como setas para cima e para baixo, permitindo que os usuários votem a favor ou contra um comentário.
No entanto, é possível alterar o estilo da barra de votação. As opções atuais são os botões padrão Up/Down, ou utilizar um mecanismo de votação no estilo 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 "Estilo de Votação".
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 permite 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 Comentadores regulares e não 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 comentaristas regulares e não moderadores ou administradores, que ainda poderão editar.
- Isso também afetará integrações da 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 da página do FastComments é 30. Isso inclui respostas em threads.
O tamanho da página pode ser personalizado na Interface de Configuração do Widget em tamanhos que variam de 10 a 200.
Observe que alterar o tamanho da página requer recalcular todos os threads de comentários na 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.
Exemplo de configuração mostrado abaixo:
Os tamanhos de página podem ser personalizados globalmente, por domínio ou por página, criando regras de personalização diferentes.
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, FastComments exibirá o nome do usuário como ele o inseriu, ou como foi nos fornecido via SSO.
No entanto, 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 mostrar apenas "Allen R.".
Isso pode ser feito sem código na Interface de Personalização do Widget, na configuração chamada Commenter Name Format:
The available formats are:
- Capitalize (exibe example user como Example User)
- Last Initial (exibe Example User como Example U.)
- All Initials (exibe Example User como E. U.)
- Show "Anonymous"
O efeito dessa alteração é imediato. Os usuários ainda verão seu nome de usuário completo no topo da área de comentários, para si mesmos, mas seus comentários exibirão o nome de usuário modificado.
Os nomes de usuário são mascarados no servidor para proteger os usuários.
Desativar uploads de imagens 
Por padrão, o FastComments permite uploads de imagens. Isso pode ser desativado definindo a flag noImageUploads como true.
Run 
Isto pode ser personalizado sem código, na página de personalização do widget:
Ativar caixa de pesquisa 
Por padrão, não há caixa de pesquisa exibida no widget de comentários.
No entanto, podemos ativar isso 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 ativar 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 for destacado e o botão SPOILER, agora visível, for clicado, o texto será mascarado até que o usuário passe o mouse sobre ele. No modo escuro fazemos a mesma coisa, 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 estatísticas sobre isso.
No entanto, podemos ativar esse recurso, e então o sistema começará a rastrear quando cada usuário rolar até um comentário.
Quando isso acontecer, uma contagem ao lado de um ícone de olho exibido em cada comentário será incrementada. A contagem é atualizada ao vivo e abreviada de acordo com a localidade do usuário.
Podemos ativar isso definindo a flag enableViewCounts como true:
Run 
Isto pode ser customizado sem código, na página de personalização do widget:
Rastreamos o id do usuário* que visualizou o comentário, para que, se você visualizar o comentário novamente, ele não seja incrementado. Se você visualizar o comentário novamente após dois anos, a contagem será incrementada novamente.
- *Nota: ou o id de sessão anônima, ou o IP do usuário como um valor hash.
Mostrar comentários ao vivo imediatamente 
Por padrão, os comentários ao vivo estão habilitados. Isso significa que se quaisquer comentários forem adicionados, excluídos, editados ou fixados, as alterações devem aparecer para todos os usuários visualizando o fio de comentários ao mesmo tempo.
No entanto, por padrão esses novos comentários aparecerão sob um botão exibido dinamicamente com um texto similar a "Mostrar 2 novos comentários".
Se os novos comentários forem respostas diretamente à página, o botão será exibido na parte superior do fio de comentários. Se forem respostas a um comentário em particular, o botão será exibido sob esse comentário.
Isso é 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 os novos comentários "apareçam imediatamente".
Daí 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 em tempo real ativados.
Isso significa que todo visualizador do tópico de comentários deve ver o mesmo conteúdo.
Por exemplo, se um comentário for adicionado, esse comentário deverá aparecer. Se um comentário for editado ou removido, então esses comentários serão editados ou removidos para todos os visualizadores do tópico. 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 em tempo real".
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 ordenação "Most Relevant".
A ordenação "Most Relevant" leva em conta o horário em que o comentário foi deixado e o número de votos para fins de ordenação.
O usuário pode então alterar a direção de ordenação para "Antigos primeiro" ou "Novos 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 para "OF" para definir a direção para "OF".
Para a direção de ordenação "Novos primeiro", faríamos o seguinte:
Run 
Os valores válidos para defaultSortDirection são:
- MR: "Mais recentes"
- NF: "Novos primeiro"
- OF: "Antigos primeiro"
Isso também pode ser feito sem código. Na página de customização do widget, veja a seção "Direção de ordenação padrão".
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.
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 fica antes do encadeamento de comentários. No entanto, ao definir este parâmetro de configuração para true podemos movê-la para depois.
Run 
Isso pode ser personalizado sem código, na página de personalização do widget:
Limitar o comprimento do comentário 
O número máximo de caracteres permitidos 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 no cálculo 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 permitirá que o usuário insira um comentário com quantas linhas desejar, 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 incluem leilões online, ou chat ao vivo, para os quais o FastComments pode ser utilizado.
Ativamos 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 "Ativar entrada de comentário de linha única".
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 volume de comentários por usuário 
Por padrão, cada usuário pode enviar até 5 comments no mesmo minuto.
Isso é rastreado por user id, anon user id, e ip address (hashed).
Isso pode ser personalizado sem código, na página de personalização do widget:
Observe que, se você estiver usando a comment creation API, pode querer enviar o ip original do usuário na requisição para o 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.
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 mecanismo para implementar SSO. Primeiro vamos abordar a arquitetura geral, fornecer exemplos e passos detalhados.
There is also some documentation regarding migrating from other providers with similar SSO mechanisms, and the differences.
The flow looks like this:
Since Secure SSO involves full-stack development, full working code examples in Java/Spring, NodeJS/Express, and vanilla PHP are currently on GitHub.
Although we use ExpressJS in the NodeJS example and Spring in the Java example there are no frameworks/libraries required in these run-times to implement FastComments SSO - the native crypto packages work.
You don't have to write any new API endpoints with FastComments SSO. Simply encrypt the user's info using your secret key and pass the payload to the comment widget.
Obtenha sua Chave Secreta da API
Your API Secret can be retrieved from this page. You can find this page also by going to My Account, clicking the API/SSO tile, and then clicking "Get API Secret Key".
Parâmetros do Widget de Comentários
High-level API documentation for the comment widget can be found here.
Let's go into more detail of what these parameters mean.
The comment widget takes a configuration object - you already pass this if you're using FastComments to pass your customer id (called tenantId).
To enable SSO, pass a new "sso" object, which must have the following parameters. The values should be generated server side.
- userDataJSONBase64: The user's data in JSON format, which is then Base64 encoded.
- verificationHash: The HMAC-SHA256 hash created from UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Epoch timestamp, in milliseconds. Must not be in the future, or more than two days in the past.
- loginURL: A URL that the comment widget can show to log the user in.
- logoutURL: A URL that the comment widget can show to log the user out.
- loginCallback: When provided instead of the login URL, a function that the comment widget will invoke when clicking the login button.
- logoutCallback: When provided instead of the logout URL, a function that the comment widget will invoke when clicking the logout button.

O objeto do usuário
The User object contains the following schema:

Moderators and Administrators
For admins and moderators, pass the respective isAdmin or isModerator flags in the SSOUser object.
Notificações
To enable or disable notifications, set the value of optedInNotifications to true or false respectively. The first time the user loads the page with this value in the SSO payload, their notification settings will be updated.
Additionally, if you want users to receive notification emails for activity on pages they subscribed to (as opposed to just in-app notifications), then set optedInSubscriptionNotifications to true.
Usuários VIP e Rótulos Especiais
You can display a special label next to the user's name by using the optional "displayLabel" field.
Usuários não autenticados
To represent an unauthenticated user, simply do not populate userDataJSONBase64, verificationHash, or timestamp. Provide a loginURL.
These users will not be able to comment, and instead will be presented with a login message (message, link, or button, depending on configuration).
Exemplos diretos para Serializar e Gerar Hash dos Dados do Usuário
More details as an examples here (js), here (java) and here (php).
We understand that any integration can be a complicated and painful process. Don't hesitate to reach out to your representative or use the support page.
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á autenticado, e um Usuário SSO será criado nos bastidores. O usuário terá createdFromSimpleSSO definido como true se buscado pela API.
Notes:
- O e-mail é o identificador único para o Simple SSO.
- Fornecer um e-mail com o Simple SSO não é obrigatório, entretanto por padrão os comentários deles aparecerão como "Não verificado". Se nenhum e-mail for fornecido, o usuário não poderá ser totalmente autenticado.
- NEW Desde Jan 2022: Nomes de usuário não precisam ser exclusivos em todo o fastcomments.com
- O Simple SSO pode criar e atualizar usuários SSO automaticamente, se um e-mail for fornecido, e o usuário não tiver sido originalmente criado a partir do Secure SSO.
- Você pode especificar badges para o usuário com a propriedade
badgeConfig. O arraybadgeIdscontém os IDs dos badges a serem associados ao usuário. Seoverrideestiver definido comotrue, ele substituirá todos os badges existentes exibidos nos comentários; sefalse, ele adicionará aos badges existentes.
Integrações personalizadas - Migração do SSO do Disqus 
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 - Migração do SSO do Commento 
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) fornece 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ção pública - qualquer pessoa que possa ver a página pode ver os comentários.
Ao alterar uma configuração, podemos restringir o acesso aos comentários para que só possam ser recuperados por um administrador ou por um usuário SSO válido.
No-Code Setup
Podemos impedir a visualização e interação com nossos tópicos de comentários, quando o SSO estiver configurado, criando uma regra de personalização.
Ao fazer isso, pesquise por SSO, e você encontrará esta opção:
Ative-a e salve a regra de personalização.
Only Protect a Certain Domain or Page
Para proteger apenas um determinado domínio ou página, nós simplesmente configuraremos a regra de personalização para isso.
No topo da interface de personalização, encontraremos dois campos, Domain e URL ID.
Para proteger apenas um domínio específico, insira o domínio em questão no campo "domain".
Para proteger uma página em particular, insira a URL da página no campo "URL ID". Se você tiver uma integração personalizada com o FastComments, você pode inserir um tipo de ID aqui em vez de uma URL.
Security Levels
Ao exigir SSO, você deverá decidir se exige Simple SSO ou Secure SSO. Se você exigir Simple SSO, então ambos são permitidos, mas se você exigir Secure SSO então o conteúdo deve ser buscado com um payload Secure SSO hashed com sua API key para que possa ser visualizado.
A opção de nível de segurança aparecerá quando você selecionar "Require SSO To View Comments".
Protection Beyond Reading
Habilitar essa opção protegerá a página ou domínio de receber comentários, a menos que o usuário esteja logado via SSO.
Observações
Quaisquer usuários que criaram comentários antes da sua integração SSO não poderão vê-los, a menos que façam login através da 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, no entanto até o usuário clicar em um link enviado a ele, seu comentário exibirá um rótulo "Comentário não verificado".
No entanto, podemos remover a exigência do e-mail. O campo de e-mail continuará sendo exibido, mas não será mais obrigatório.
Isso pode ser configurado pela 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, não o faz.
Isso pode ser configurado, ou desativado, através da página Configurações de Moderação.
Desativar campos de e-mail 
Quando usuários comentam e não estão logados, será solicitado que forneçam seu email.
Isso criará uma "sessão não verificada" para esse usuário, e pediremos que verifiquem essa sessão por email.
Para alguns sites ou aplicações, pode ser desejável não solicitar o email do usuário ao comentar ou votar.
Ativar comentários anônimos torna o campo de email opcional. Porém, podemos desativá-lo completamente. Primeiro, ative comentários anônimos e então a opção para desabilitar os campos de email aparecerá.
Com isso ativado, os campos de email não serão exibidos em nenhum de nossos produtos de comentários.
Observe que, com essa 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 pela interface de personalização. Os comentários anônimos devem ser habilitados primeiro.
Callbacks 
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 
Definindo 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 seu último locale utilizado e também o usamos para o envio de e-mails.
Isso impacta como o widget de comentários é traduzido para o usuário. Locale consiste na língua e região do usuário, portanto configurar o locale irá normalmente alterar o idioma usado para mostrar texto ao usuário.
Via a interface do usuário
Isto pode ser definido usando a UI de personalização do widget. Veja a opção "Locale / Language":
Via Código
Isto 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 user object, para que e-mails e outras coisas sejam localizados corretamente para eles.
Limitando 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 irá analisar o comentário e determinar seu idioma, e então compará-lo com a lista permitida.
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 
Os comentários podem ser bloqueados para que nenhum novo comentário ou voto possa ser feito 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:
Atualização!
A partir de novembro de 2022, os tópicos podem ser travados ou destravados ao vivo por administradores e moderadores através do menu de três pontos acima da área de resposta.
Isso impedirá novos comentários, ao mesmo tempo em que ainda permite votação e que os usuários excluam seus comentários, se desejarem, enquanto readonly não permite essas ações.
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 restringido para, em vez disso, uma lista desejada de sites ou domínios. Tentar postar 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 para a API. Importações não são afetadas.
Isso é feito sem código, na página de customização do widget:
A contagem de comentários e a contagem 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 dos comentaristas 
Por padrão, o FastComments pedirá apenas o comentário do usuário, o nome do usuário e o 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 o URL do site do usuário definindo a flag enableCommenterLinks como true:
Run 
Quando esse URL for fornecido, a conta do usuário será atualizada e o nome do usuário em todos os comentários, passados e futuros, será vinculado a esse 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 
Mencionar IDs de grupo 
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 
Contornar cookies de terceiros 
Para autenticação, o FastComments depende de cookies de terceiros habilitados no seu navegador. Sem eles, os usuários sempre terão que deixar o 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 ativar o bypass de cookies de terceiros.
Quando essa configuração estiver ativada, ela exibirá um pequeno popup com uma mensagem informando que o usuário está sendo autenticado. Esse popup aparece 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 o comentário deles exclui automaticamente todos os comentários filhos e transitórios na thread. Esse comportamento também é em tempo real.
Você pode restringir isso das seguintes maneiras:
- Em vez disso, anonimize o comentário excluído (defina name e text como
[deleted]ou um valor personalizado). - Não permitir excluir comentários quando houver respostas. Uma mensagem de erro personalizável é exibida.
- Restringir a exclusão quando um comentário tiver respostas apenas para administradores e moderadores.
Isso pode ser configurado via a seção Comment Thread Deletion na interface de personalização do widget.
Mostrar distintivos na barra superior 
Por padrão, o FastComments exibirá os distintivos dos usuários apenas em seus comentários dentro do thread de comentários.
No entanto, podemos mostrar os distintivos dos usuários ao lado do nome deles acima do formulário de comentário ativando esse recurso na página de personalização do widget:
Isso exibirá os distintivos do usuário ao lado do nome na área da barra superior, tornando suas conquistas e status mais evidentes enquanto ele está compondo um comentário.
Observe que esse recurso precisa ser 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 estiver ativado no nível do servidor:
Run 