FastComments.com

Aanpassingen en Configuratie

Context

Hier vindt u diepgaande documentatie over elk van de functies en instellingen die de commentaarwidget ondersteunt.

Deze documentatie behandelt kernconcepten en gaat diep in op elk functioneel gebied, met handleidingen en veelvoorkomende valkuilen.

Codevoorbeelden worden verstrekt, met relevante regels gemarkeerd. Schermafbeeldingen van configuratiepagina's worden waar van toepassing opgenomen.

De codevoorbeelden gebruiken onze vanilla JavaScript-bibliotheek, maar de configuratieopties gebruiken exact dezelfde namen voor alle versies van de commentaarwidget (React, Vue, enz.).

De meeste configuraties en functies die in deze handleiding worden beschreven vereisen geen code te schrijven.


Dezelfde opmerkingen op verschillende pagina's weergeven Internal Link

Omdat de parameter urlId ons in staat stelt te bepalen aan welke pagina of id de reacties zijn gekoppeld, kunnen we urlId gewoon op dezelfde waarde zetten op die pagina's.

The Same Comments on Multiple Pages
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "urlId": "https://example.com/source-page"
8}];
9</script>
10

Aangepaste lettertypen Internal Link

FastComments is ontworpen om aangepast te worden, en het lettertype dat onze widgets gebruiken is daarop geen uitzondering.

Standaard gebruikt FastComments de system font stack zodat het er op een breed scala aan apparaten zo goed mogelijk uitziet.

Om je eigen lettertypen te definiëren, zie de Documentatie voor Aangepaste CSS.

Daar vind je een manier om aangepaste CSS te definiëren, waarmee je de gewenste lettertypen kunt instellen.

Hoe het lettertype te definiëren

Om het lettertype te overschrijven raden we aan je CSS te definiëren met de .fast-comments, textarea selectors. Bijvoorbeeld:

Voorbeeld van aangepast extern lettertype
Copy CopyRun External Link
1
2@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
3.fast-comments, textarea {
4 font-family: 'Roboto', sans-serif;
5}
6

Ondersteuning voor donkere achtergronden (donkere modus) Internal Link

Standaard detecteert de FastComments comment widget automatisch de donkere modus op de meeste sites.

Wanneer de donkere modus wordt gedetecteerd, schakelt FastComments over van zwarte tekst op witte achtergronden naar witte tekst op een zwarte achtergrond. Afbeeldingen zullen ook veranderen.

Bij het laden van de pagina zal de widget proberen te bepalen hoe donker de achtergrond van de pagina is achter de comment widget. Dit betekent dat de pagina een witte achtergrond kan hebben, maar als u de comment widget in een container met een zwarte achtergrond plaatst, zou de donkere modus nog steeds automatisch ingeschakeld moeten worden om de reacties leesbaar te maken.

Echter, het detectiemechanisme, dat afhankelijk is van het bepalen van de "luminantie", schakelt mogelijk de donkere modus niet in wanneer u dat wilt. Om deze geforceerd in te schakelen, zet de hasDarkBackground vlag op true als volgt:

Force Dark Background Mode
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "hasDarkBackground": true
8}];
9</script>
10

Linken van opmerkingen naar pagina's Internal Link

Bij het verzenden van notificatie-e-mails, of het weergeven van opmerkingen in gebruikersinterfaces zoals de moderatiepagina, is het handig om een link te kunnen maken van de opmerking naar de pagina waarop deze staat.

Als URL-ID niet altijd een ID is, moeten we de URL ergens anders opslaan. Daar is de "url" eigenschap voor, gedefinieerd als volgt.

Defining a Custom URL
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5"
8}];
9</script>
10

Een veelvoorkomend gebruik is het koppelen van de reactiedraad aan een identificator, zoals een artikel, en vervolgens teruglinken naar een specifieke pagina, bijvoorbeeld:

Defining Custom URL and URL IDs together
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5",
8 "urlId": "article-5"
9}];
10</script>
11

De URL wordt niet opgeschoond van gebruikelijke marketingparameters. Standaard wordt, wat de huidige pagina-URL ook is, die URL met de opmerking opgeslagen.

Bepalen welke pagina wordt weergegeven Internal Link

Wanneer opmerkingen worden opgehaald en weergegeven, moet de reactie-widget weten op welke pagina deze moet beginnen. Standaard begint deze met de eerste pagina en geeft alleen die pagina weer.

Indien gewenst kan de exacte pagina die weergegeven moet worden aan de reactie-widget worden doorgegeven als instelling startingPage.

Specifying The Page to Render
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": 1
8}];
9</script>
10

Houd er rekening mee dat paginanummers vanaf nul beginnen, dus het bovenstaande voorbeeld geeft de tweede pagina weer.


Opmerkingendraden wisselen zonder de pagina te herladen Internal Link

We hebben uitgelegd hoe urlId het pagina- of artikel-id is waaraan de reacties gekoppeld zijn.

Ter herinnering: als deze niet is gedefinieerd, zal urlId standaard de URL van de huidige pagina zijn.

Hoe zit het met SPA's, of Single-Page Applications, waarbij de pagina of inhoud waaraan de reacties zijn gekoppeld dynamisch verandert zonder de pagina opnieuw te laden?

Angular, React, Vue, enz.

Met onze bibliotheken zoals Angular en React zal het bijwerken van de urlId-eigenschap die aan de widget wordt doorgegeven ervoor zorgen dat de reactie-widget wordt vernieuwd. Je kunt dit in actie zien voor de React-app, bijvoorbeeld hier.

VanillaJS

Als je de VanillaJS-bibliotheek gebruikt, is het iets ingewikkelder omdat er geen framework zoals Angular of React is om de datakoppeling of toestandspropagatie af te handelen.

Wanneer je de VanillaJS-widget instancieert, geeft deze enkele functies terug die kunnen worden aangeroepen om hem bij te werken.

Hier is een functioneel voorbeeld waarin we de pagina-hash wijzigen en de reactie-widget bijwerken:

Voorbeeld: Pagina-hash wijzigen
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<button id="change-page"></button>
4<div id="fastcomments-widget"></div>
5<script>
6 (function fastCommentsMain() {
7 let config = {
8 tenantId: 'demo'
9 };
10 let instance = window.FastCommentsUI(document.getElementById('fastcomments-widget'), config);
11
12 let page = '#page-1';
13 function getNextPage() {
14 if (page === '#page-1') {
15 return '#page-2';
16 } else {
17 return '#page-1';
18 }
19 }
20
21 let button = document.getElementById('change-page');
22 function nextPage() {
23 page = getNextPage();
24 button.innerText = 'Go to ' + getNextPage();
25 window.location.hash = page;
26 let locationString = window.location.toString();
27
28 config.url = locationString; // We werken de url ook bij, zodat meldingen naar de juiste pagina kunnen linken
29 config.urlId = locationString;
30
31 instance.update(config);
32 }
33 nextPage();
34 button.addEventListener('click', nextPage);
35 })();
36</script>
37

Afbeeldingsomleiding uitschakelen Internal Link

Standaard staat FastComments gebruikers toe afbeeldingen te uploaden. Wanneer een gebruiker op die afbeelding klikt, opent FastComments standaard, een nieuw tabblad om die afbeelding volledig weer te geven. Het instellen van deze vlag op true schakelt dit gedrag uit:

Disable Image Redirect
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "disableImageRedirect": true
8}];
9</script>
10

Als u niet van plan bent de klik op de afbeelding zelf af te handelen (zie onImageClicked), raden we aan dit te combineren met wat styling om te voorkomen dat het lijkt alsof de afbeelding aangeklikt kan worden.


Nieuwe opmerkingen markeren Internal Link

FastComments biedt verschillende manieren om nieuwe reacties te markeren.

Allereerst, standaard worden reacties die een in-app melding veroorzaakten (antwoorden, antwoorden in dezelfde thread, of reacties op een pagina waarop je bent geabonneerd), automatisch gemarkeerd door de avatar van de gebruiker licht te laten gloeien. De kleur kan via CSS aangepast worden met de is-unread klasse.

Reacties die in de laatste 24 uur zijn geplaatst hebben de 24hr klasse toegepast die gebruikt kan worden voor styling.

Tot slot worden nieuwe live reacties die in de sessie van de gebruiker verschijnen enkele seconden gemarkeerd met een animatie. Dit gebeurt via de is-live CSS-klasse en kan ook aangepast worden.

E-mailsjablonen Internal Link


E-mails die door FastComments naar uw klanten worden verzonden, kunnen worden aangepast. De sjabloon, logica, en vertalingen kunnen allemaal worden gewijzigd. Tekst kan per-locale worden aangepast, en de opmaak kan zelfs per-domein worden gewijzigd. Meer informatie over aangepaste e-mailsjablonen vindt u hier.


Nieuwe live-opmerkingen onderaan weergeven Internal Link

Standaard verschijnen nieuwe live-reacties bovenaan de reactielijst zodra ze in realtime worden gepost.

Wanneer deze optie is ingeschakeld, worden nieuwe live-reacties in plaats daarvan onderaan de lijst toegevoegd. Dit beïnvloedt hoe reacties verschijnen wanneer ze live worden gepost terwijl gebruikers de reactiedraad bekijken.

New Live Comments to Bottom
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "newCommentsToBottom": true
8}];
9</script>
10

Met deze instelling ingeschakeld:

  • Nieuwe live-reacties geplaatst door andere gebruikers verschijnen onderaan de reactielijst
  • Gebruikers zien nieuwe reacties in realtime verschijnen onder bestaande reacties
  • Dit heeft alleen invloed op live-update van reacties - niet op de initiële paginalading
  • Dit kan helpen de leesstroom te behouden wanneer gebruikers een discussie volgen

Let op dat deze instelling alleen van invloed is op waar nieuwe live-reacties worden geplaatst zodra ze in realtime binnenkomen. Het heeft geen invloed op de initiële sorteervolgorde wanneer de pagina wordt geladen.

Oneindig scrollen inschakelen Internal Link

Standaard zal de FastComments-widget zichzelf verticaal aanpassen om alle zichtbare reacties te tonen. Paginering wordt bereikt via een "Bekijk volgende" knop aan het einde van de huidige pagina, omdat we hebben vastgesteld dat deze interactie voor de meeste gebruikers het prettigst aanvoelt.

Er zijn echter gevallen waarin oneindig scrollen de voorkeur heeft. Bijvoorbeeld: we gebruiken deze functie in ons Stream Chat-product.

We kunnen de "Bekijk volgende"-knoppen verbergen en overschakelen naar oneindig scrollen door de enableInfiniteScrolling-vlag op true te zetten:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true
8}];
9</script>
10

Dit vereist ook het toevoegen van aangepaste CSS. Voeg bijvoorbeeld aangepaste CSS toe voor de .comments-selector om scrollen mogelijk te maken:

Oneindig scrollen inschakelen
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

Een volledig werkend voorbeeld zou zijn:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true,
8 "customCSS": ".comments { max-height: 500px; overflow-y: auto; }"
9}];
10</script>
11

In het bovenstaande voorbeeld gebruiken we de customCSS-eigenschap, maar wordt aanbevolen om in plaats daarvan de Widget Configuration UI te gebruiken vanwege prestatieoverwegingen. Zie de documentatie voor Custom CSS.


Alle opmerkingen tegelijk weergeven - paginering uitschakelen Internal Link

Om paginering uit te schakelen en alle reacties in één keer weer te geven, stel startingPage in op -1.

Render All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": -1
8}];
9</script>
10

Nieuwe opmerkingen op hoofdniveau voorkomen Internal Link

Het instellen van noNewRootComments op true zorgt ervoor dat de widget het antwoordveld voor topniveau-opmerkingen verbergt, maar gebruikers toch nog toestaat om te reageren op onderliggende opmerkingen. Je kunt dit bijvoorbeeld bij het laden van de pagina conditioneel instellen, zodat alleen bepaalde gebruikers topniveau-opmerkingen kunnen plaatsen.

Prevent New Root Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "noNewRootComments": true
8}];
9</script>
10

Maximale antwoorddiepte Internal Link

Standaard staat FastComments onbeperkte nesteling van antwoorden toe, waardoor er een draadstructuur ontstaat waarin gebruikers oneindig op antwoorden kunnen reageren.

De optie maxReplyDepth stelt je in staat te beperken hoe diep antwoorddraden kunnen worden. Wanneer de maximale diepte is bereikt, zien gebruikers geen antwoordknop meer bij opmerkingen op dat niveau.

Limiting Reply Depth to 2 Levels
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "maxReplyDepth": 2
8}];
9</script>
10

Met maxReplyDepth ingesteld op 2:

  • Gebruikers kunnen op het hoogste niveau een reactie plaatsen (diepte 0)
  • Gebruikers kunnen antwoorden op opmerkingen op het hoogste niveau (diepte 1)
  • Gebruikers kunnen reageren op die antwoorden (diepte 2)
  • Geen verdere antwoorden zijn toegestaan voorbij diepte 2

Instellen op 1 zou alleen antwoorden op opmerkingen op het hoogste niveau toestaan, waardoor een plattere discussiestructuur ontstaat.

Het instellen van maxReplyDepth op 0 zou alle antwoorden uitschakelen, waardoor alleen opmerkingen op het hoogste niveau mogelijk zijn. Als het niet is opgegeven, kunnen antwoorden onbeperkt genest worden.

Overzicht Single Sign On (SSO) Internal Link

SSO, of single sign-on, is een reeks conventies waarmee jij of je gebruikers FastComments kunnen gebruiken zonder een extra account te hoeven aanmaken.

Als je geen anonieme reacties toestaat, is een account vereist om met FastComments te reageren. We maken dit aanmeldproces erg eenvoudig - de gebruiker laat gewoon zijn e-mail achter wanneer hij reageert. We begrijpen echter dat zelfs dat extra frictie kan zijn die sommige sites willen vermijden.

We kunnen die frictie verminderen door slechts één inlogstroom voor je gehele site te gebruiken.

How do I get it?

Alle accounttypen krijgen momenteel toegang tot SSO. Het maximale aantal SSO-gebruikers varieert echter afhankelijk van je pakket. Zoals bij andere functies bieden de Pro-plannen en hoger directe ontwikkelaarsondersteuning.

Laten we de opties vergelijken en daarna de details van elk bespreken.

User and Comment Migrations

Bij migratie vanaf een platform met SSO zoals Disqus heb je al gebruikers en hun reacties.

Reacties worden geïmporteerd als onderdeel van je migratie, hetzij via de API, onze Import UI, of via de klantenservice. De Import UI heeft de voorkeur als het het platform ondersteunt waarvan je migreert, omdat het foutafhandeling, avatar- en media-extractie en uploads, en een batchjob-monitoringssysteem bevat.

De gebruikers zelf worden automatisch toegevoegd bij het voor het eerst bekijken van reactiedraden. Als alternatief kunnen ze vooraf worden toegevoegd via de API, maar dit werk heeft niet veel voordelen.

Als reacties worden geïmporteerd en SSO-gebruikers niet handmatig via de API worden toegevoegd, dan worden reacties automatisch gemigreerd naar het account van de gebruiker de eerste keer dat dat account wordt aangemaakt wanneer ze een reactiedraad bekijken. Ze kunnen dan de reacties die ze oorspronkelijk hebben geschreven beheren, bewerken en verwijderen.

De automatische migratie gebeurt via e-mailadres of gebruikersnaam. Sommige platforms geven bij export geen e-mails, zoals Disqus, dus in dat geval vallen we terug op de gebruikersnaam.

  • Zolang je een overeenkomende gebruikersnaam doorgeeft, en een e-mail in de SSO-payload, voegen we de e-mail toe aan de individuele reactie-objecten zodat meldingen en vermeldingen werken.

Als je je reacties en gebruikers tegelijk wilt importeren, werk dan samen met support om de reacties naar de respectieve accounts van de gebruikers te migreren nadat gebruikers via de API zijn geïmporteerd.

Samengevat is het gemakkelijkste pad voor de migratie:

  1. Importeer reacties.
    1. Avatars en andere media worden automatisch gemigreerd als je de Import UI gebruikt in Manage Data -> Imports.
  2. Stel Secure of Simple SSO in.
  3. Laat de migratie per gebruiker automatisch plaatsvinden wanneer zij voor het eerst inloggen.
    1. Dit voegt meestal minder dan een seconde toe aan de laadtijd van de pagina als de gebruiker minder dan 50k reacties heeft.

WordPress Users

Als je onze WordPress-plugin gebruikt, hoef je geen code te schrijven! Ga gewoon naar de adminpagina van de plugin, klik op SSO-instellingen en schakel het in.

Dit brengt je naar een wizard met één klik die je API-sleutel aanmaakt, deze naar je WordPress-installatie stuurt en SSO inschakelt. We hebben dit voor je samengevoegd tot één knop.

Let op: als je de plugin voor de eerste keer installeert, moet je het installatieproces doorlopen voordat je de adminpagina met de knop SSO-instellingen ziet.

WordPress SSO - Moderators

Let erop dat op dit moment, om het "Moderator"-badge naast je moderators te tonen wanneer ze reageren met de FastComments WordPress-plugin, ze ook als Moderator moeten zijn toegevoegd in het FastComments-dashboard en hun e-mailadres geverifieerd moet zijn.

Custom Integrations

Voor aangepaste integraties zijn er twee opties.

Option One - Secure SSO

Met Secure SSO weet FastComments dat de gebruiker die reageert, stemt en reacties leest een echte gebruiker op jouw site is.

Zolang je een geldig payload aanmaakt, zal de gebruiker altijd een naadloze ervaring bij het reageren hebben.

Bij Secure SSO wordt de SSO-payload server-side aangemaakt met HMAC-authenticatie en vervolgens doorgegeven aan de widget op de client.

Bij Secure SSO is het account van de gebruiker volledig gescheiden van de rest van de FastComments-gebruikersbasis. Dit betekent dat als we twee partners hebben Bedrijf A en Bedrijf B, elk een SSO-gebruiker met de gebruikersnaam "Bob" kunnen hebben.

Requirements

  • Enige basiskennis van backend-ontwikkeling.
  • Enige basiskennis van het omgaan met geheime API-sleutels.
  • Enige basiskennis van API-ontwikkeling of server-side rendering.

Pros

  • Veilig.
  • Naadloze ervaring bij het reageren.

Cons

  • Vereist backend-ontwikkeling.

Updating User Data

Bij Secure SSO zullen we elke keer dat je de SSO-gebruikerspayload doorgeeft, hun gebruiker bijwerken met de nieuwste informatie. Bijvoorbeeld, als de gebruiker de gebruikersnaam X heeft, en je geeft Y door in de SSO-payload, zal hun gebruikersnaam Y worden.

Als je waarden wilt verwijderen met deze aanpak, stel ze dan in op null (niet undefined).

Secure SSO API

We bieden ook een API voor interactie met de SSO-gebruikers. Zie the docs.

Let op dat bij gebruik van Secure SSO gebruikers automatisch achter de schermen worden aangemaakt bij het laden van de pagina. Je hoeft je gebruikers niet in bulk te importeren.

Option Two - Simple SSO

Het alternatief voor Secure SSO is simpelweg de gebruikersinformatie naar de reactie-widget te sturen.

Het doorgeven van een e-mail met Simple SSO is niet vereist, maar zonder deze zal hun reactie als "Unverified" worden weergegeven.

Opmerking! Vanaf begin 2022 hoeven gebruikersnamen bij Simple SSO niet uniek te zijn over heel FastComments.com.

Idealiter kies je Simple SSO alleen bij ontwikkeling op een platform dat geen backend-toegang biedt.

Requirements

  • Enige basiskennis van client-side ontwikkeling.
  • Je moet ten minste het e-mailadres van de gebruiker kennen.

Pros

  • Eenvoudig.
  • Alle activiteit wordt nog steeds geverifieerd.
  • De gebruiker voert nooit zijn/haar gebruikersnaam of e-mailadres in.

Cons

  • Minder veilig dan Secure SSO omdat de client-side payload geconstrueerd zou kunnen worden om zich als elke gebruiker voor te doen.

Simple SSO API

Gebruikers die automatisch worden aangemaakt via de Simple SSO-stroom worden opgeslagen als SSOUser-objecten. Ze kunnen worden benaderd en beheerd via de SSOUser API. Zie the docs.

Aangepaste integraties - eenvoudige Single Sign On (SSO) Internal Link

Met Simple SSO kunnen we de reactie-widget voorzien van informatie over de gebruiker, zodat zij hun gebruikersnaam of e-mailadres niet hoeven in te vullen om te reageren.

We kunnen Simple SSO als volgt configureren:

Eenvoudige SSO
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "simpleSSO": {
8 "username": "Bob",
9 "email": "bob@example.com",
10 "avatar": "https://example.com/bob.png",
11 "websiteUrl": "https://example.com/profiles/bob",
12 "displayName": "Bob's Name",
13 "displayLabel": "VIP User",
14 "loginURL": "https://example.com/login",
15 "logoutURL": "https://example.com/logout",
16 "badgeConfig": {
17 "badgeIds": [
18 "badge-id-1",
19 "badge-id-2"
20 ],
21 "override": false
22 }
23 }
24}];
25</script>
26

De gebruiker wordt ingelogd en er wordt achter de schermen een SSO-gebruiker aangemaakt. De gebruiker zal createdFromSimpleSSO op true hebben staan als deze via de API is opgehaald.

Notes:

  • E-mail is de unieke identificatie voor Simple SSO.
  • Het opgeven van een e-mail bij Simple SSO is niet verplicht, maar standaard worden hun reacties weergegeven als "Niet geverifieerd". Als er geen e-mail wordt opgegeven, kan de gebruiker niet volledig worden geverifieerd.
  • NEW Sinds jan 2022: gebruikersnamen hoeven niet uniek te zijn over heel fastcomments.com
  • Simple SSO kan automatisch SSO-gebruikers aanmaken en bijwerken als er een e-mailadres is opgegeven en de gebruiker niet oorspronkelijk via Secure SSO is aangemaakt.
  • U kunt badges voor de gebruiker specificeren met de badgeConfig property. De badgeIds array bevat de IDs van badges die aan de gebruiker gekoppeld moeten worden. Als override is ingesteld op true, vervangt dit alle bestaande badges die bij reacties worden weergegeven; als false wordt het toegevoegd aan de bestaande badges.

Aangepaste integraties - migratie van Disqus SSO Internal Link

Het grootste verschil tussen Disqus en FastComments Secure SSO is dat Disqus SHA1 gebruikt voor versleuteling terwijl wij SHA256 gebruiken. Dit betekent dat migreren vanaf Disqus eenvoudig is - wijzig het gebruikte hash-algoritme van SHA1 naar SHA256 en werk de eigenschapsnamen bij die aan de UI worden doorgegeven.

Aangepaste integraties - migratie van Commento SSO Internal Link

Commento gebruikt een drastisch andere SSO-aanpak - zij vereisen dat u een endpoint heeft dat zij aanroepen om de gebruiker te authenticeren.

FastComments is juist het omgekeerde - codeer en hash eenvoudigweg de gebruikersinformatie met uw geheime sleutel en geef deze door.

Callbacks Internal Link

Alle libraries voor de commentaar-widget (momenteel Angular, React, Vue) ondersteunen callbacks.

De callbacks worden opgegeven in het configuratie-object, met dezelfde signatuur voor elke library.

De ondersteunde callbacks zijn:

  • onInit
  • onAuthenticationChange
  • onRender
  • commentCountUpdated
  • onReplySuccess
  • onVoteSuccess
  • onImageClicked
  • onOpenProfile
  • onCommentSubmitStart
  • onCommentsRendered

De exacte signaturen zijn te vinden in de TypeScript-definities.

Hier is een voorbeeld waarin alle callbacks worden gebruikt:

Voorbeelden van callbacks
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 window.FastCommentsUI(document.getElementById('fastcomments-widget'), {
6 tenantId: 'demo',
7 onInit: function () {
8 console.log('Library started to fetch comments!');
9 },
10 onAuthenticationChange: function (eventName, userObj) {
11 console.log('User authenticated!', eventName, userObj);
12 },
13 onRender: function () {
14 console.log('Render event happened!');
15 },
16 commentCountUpdated: function (newCount) {
17 console.log('New comment count:', newCount);
18 },
19 onReplySuccess: function (comment) {
20 console.log('New comment saved!', comment);
21 },
22 onVoteSuccess: function (comment, voteId, direction, status) {
23 console.log('New vote saved!', comment, voteId, direction, status);
24 },
25 onImageClicked: function (src) {
26 console.log('Image clicked!', src);
27 },
28 onOpenProfile: function (userId) {
29 console.log('User tried to open profile', userId);
30 // return true; // return true om het standaardgedrag te voorkomen (het openen van het gebruikersprofiel op fastcomments.com).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // asynchrone werking emuleren (API-aanroepen enz.).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // comments is gesorteerd volgens de standaard sortering op de pagina, die 'Meest relevant' kan zijn (bijv. meest upvotes, enz.) of 'Nieuwste eerst'
44 const topCommentInList = comments[0];
45 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
46 }
47 });
48</script>
49

Paginatitels Internal Link


De huidige paginatitel wordt gekoppeld aan de opgegeven urlId en opgeslagen voor gebruik in moderatiehulpmiddelen.

Standaard wordt dit opgehaald uit document.title.

Indien gewenst, kunt u uw eigen paginatitel als volgt opgeven:

Specifying The Page Title
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "pageTitle": "Article 42"
8}];
9</script>
10

Het aantal opmerkingen en het mee-tellen van alle geneste antwoorden Internal Link

Het aantal reacties dat bovenaan de reacties-widget wordt weergegeven kan óf alle "top-level" reacties tonen, dat wil zeggen die reacties die rechtstreeks op de pagina of het artikel zelf reageren, óf het kan een telling zijn van alle geneste reacties.

By default, this is true - it is a count of the latter - all comments. In oudere versies van de reacties-widget is de standaardwaarde false.

We kunnen het gedrag wijzigen, zodat het een telling is van alle geneste reacties door de countAll vlag op true te zetten.

Counting All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": true
8}];
9</script>
10

Als we willen dat de telling alleen de top-level reacties weerspiegelt, zetten we de vlag op false.

Counting Top Level Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": false
8}];
9</script>
10

Dit kan momenteel niet worden aangepast zonder codewijzigingen.

Groep-ID's vermelden Internal Link

Een lijst met ids om te gebruiken voor de @mentions autocomplete. Handig wanneer je wilt voorkomen dat gebruikers worden getagd als ze geen overlappende groepen hebben.

Wanneer opgegeven, zullen alleen gebruikers uit andere groepen in de autocomplete worden weergegeven nadat het @-teken is getypt.

Limit Groups for Mentions
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "mentionGroupIds": [
8 "yxZAhjzda",
9 "QT19nXbqB"
10 ]
11}];
12</script>
13