
Jezik 🇷🇸 Srpski (Latinica)
Osnove
Izgled i osećaj
Izgled i oseћaj
Komentarisanje uživo
Straničenje i sortiranje
Polje za odgovor
SSO
Anonimno komentarisanje
Ostalo
Prilagođavanja i konfiguracija
Prilagođavanja i konfiguracija
Kontekst
Ovde ćete pronaći detaljnu dokumentaciju o svakoj funkciji i podešavanju koje widget za komentare podržava.
Ova dokumentacija će pokriti osnovne pojmove i detaljno obraditi svako područje funkcionalnosti, sa uputstvima i uobičajenim zamkama.
Biće prikazani primeri koda, sa istaknutim relevantnim linijama. Tamo gde je primenljivo biće prikazani snimci ekrana stranica za konfiguraciju.
Primeri koda će koristiti našu vanilla JavaScript biblioteku, međutim opcije konfiguracije koriste tačno ista imena za sve verzije widgeta za komentare (React, Vue, itd.).
Većina podešavanja i funkcija opisanih u ovom vodiču ne zahteva pisanje koda.
Identifikacija vašeg naloga 
Možda ćete primetiti da se widget za komentare može koristiti sa Tenant ID-jem "demo", na primer:
Run 
Ovo je namenjeno samo za isprobavanje i igranje sa widgetom za komentare. U produkciji biste prosledili svoj Tenant ID, na sledeći način:
Run 
Vaš Tenant ID već možete pronaći primenjen na widgetu za komentare isečak koda na vašem nalogu.
Takođe možete pronaći svoj Tenant ID i upravljati svojim API ključevima na stranici sa API akreditivima.
Od ovog trenutka, ako ste prijavljeni na FastComments, primeri koda će koristiti vaš stvarni Tenant ID (ako ste prijavljeni na https://fastcomments.com).
Kako su komentari povezani sa stranicama i člancima 
Pri renderovanju niza komentara, ili ostavljanju komentara, FastComments mora da zna kojoj stranici, članku ili proizvodu ti komentari pripadaju.
Za to koristimo nešto što nazivamo „URL ID“. To je ili identifikator, poput stringa ili broja, ili URL.
Podrazumevano, ako ne navedete urlId, on će postati URL stranice. Uzećemo trenutni URL stranice i očistiti ga da uklonimo sve uobičajene marketinške parametre ili identifikatore praćenja.
U slučaju integracija trećih strana, poput WordPress-a, naš plugin će obično koristiti identifikator koji predstavlja trenutne informacije koje se gledaju kao URL ID, na primer ID članka/stranice.
Run 
Jedna stvar na koju ćemo često pozivati u ovom dokumentu je UI za prilagođavanje widgeta.
Ovaj UI se može koristiti za mnoge promene widgeta za komentare bez korišćenja koda.
Kada kreiramo pravilo prilagođavanja, često ćemo želeti da se primeni na sve stranice našeg sajta. Međutim, u nekim slučajevima želimo da prilagodimo widget za komentare na određenoj stranici, bilo da primenimo prilagođeni stil, ili možda učinimo komentare za tu stranicu anonimnim. Takođe, na primer, možete imati da se živi komentari odmah pojavljuju na nekim stranicama, dok su na drugima sakriveni iza dugmeta za obaveštenja.
Sve ovo je moguće putem polja za unos URL ID-a na ovoj stranici, koje izgleda ovako:
Vrednost u ovom polju treba da se podudara sa parametrom urlId koji se prosleđuje widgetu za komentare. Ako želite da vaše pravilo prilagođavanja bude neutralno prema urlId, ostavite ovo polje prazno ili unesite *.
Od 2023. godine polje URL ID u prilagođavanju widgeta sada takođe prihvata šablone! Na primer, možete imati */blog/* da dodate stil specifičan za vaš blog i */store/* da imate stil specifičan za vašu prodavnicu, sve dok koristite isti domen.
Zamke
- Ako vaša stranica ima hash parametre (kao example.com#page-1) - to će podrazumevano postati deo URL ID-a.
- Tokom migracija, na primer sa WordPress-a na Gatsby, možda ćete morati da migrirate vrednosti komentara URL ID-a nakon početne migracije. Za to nas kontaktirajte.
Prikazivanje istih komentara na raznim stranicama 
Pošto parametar urlId omogućava da definišemo kojoj stranici, odnosno id-u, su komentari vezani, možemo jednostavno postaviti urlId na istu vrednost na tim stranicama.
Run 
Prilagođeni stilovi 
FastComments je dizajniran da bude prilagodljiv. Sam widget za komentarisanje radi unutar iframe-a iz sigurnosnih razloga, pa da primenite prilagođeni stil morate slediti jedan od dva pristupa.
Prvi, najjednostavniji pristup, i naš preferirani, je da koristite widget customization page.
Na stranici za prilagođavanje widgeta, pogledajte odeljak „Show Advanced Options“, ispod kojeg se nalazi oblast označena kao „Custom CSS“:
Ovaj pristup ima neke prednosti:
- Uneti CSS se minifikuje pre nego što se pošalje korisniku, a formatiranje se održava doslednim u UI za uređivanje.
- Dobijate sve prednosti UI-ja za prilagođavanje widgeta, na primer lako prilagođavanje widgeta za komentarisanje različito za različite sajtove.
- Kada napravimo promene na widgetu za komentarisanje, vaš prilagođeni stil će biti testiran kao deo našeg procesa izdavanja.
Drugi pristup je da navedete parametar customCSS u konfiguraciji widgeta, na sledeći način:
Run 
Međutim, ovo ima ograničenja:
- Postoji ograničenje koliko prilagođenog CSS-a može biti prosleđeno pre nego što naši serveri odbiju zahtev, zbog veličine zaglavlja.
- Morate upravljati prilagođenim CSS-om u vašoj infrastrukturi i sistemu za izgradnju. Ovo može biti i prednost, a ne samo nedostatak.
- Postoji dodatni trošak slanja prilagođenog CSS-a preko mreže dva puta u ovom slučaju, jer se mora poslati našim serverima, a zatim nazad u sadržaj iframe-a. Međutim, za većinu veličina opterećenja, to nije primetno.
- Uobičajena optimizacija je minifikacija CSS-a kako bi se smanjila njegova veličina preko mreže, ali sa ovim pristupom vi ćete to morati da uradite.
- Vaš prilagođeni CSS neće biti testiran kada mi napravimo promene.
Eksterni CSS fajlovi
Možete reći widgetu da preuzme eksterni fajl koristeći @import!
Preporučuje se da @import stavite u pravilo za prilagođavanje. Na ovaj način, ako ikada budemo morali da promenimo widget za komentarisanje, možemo koristiti našu automatizaciju da proverimo vaše podešavanje. Na primer, kreirali biste pravilo za prilagođavanje u UI-ju za prilagođavanje widgeta, kliknuli na Advanced i uneli u Custom CSS:
@import url(https://example.com/styles.css);
U kodu – nije preporučeno
Takođe možete učitati eksterni CSS fajl putem svojstva customCSS:
Run 
Međutim, imajte na umu da vaš CSS neće moći da bude testiran od strane nas ako to uradite.
Stilizovanje modalnog prozora korisničkog profila
Modalni prozori korisničkog profila takođe mogu biti stilizovani prilagođenim CSS-om. Međutim, da bi se osiguralo da se prilagođeni stil primeni na korisničke profile, svi CSS selektori moraju imati prefiks .user-profile. Bez ovog prefiksa, prilagođeni stil će biti ignorisan za modalne prozore korisničkog profila.
Na primer:
Run 
Unazadna kompatibilnost
U FastComments-u znamo da naši korisnici prilagođavaju widget za komentarisanje. To je po dizajnu – poslednja stvar koju želimo je da naš proizvod izazove nesklad u dizajnu vašeg proizvoda.
Pošto je ovo važan deo našeg proizvoda, imamo pipeline za izgradnju koji nam omogućava da pregledamo promene na widgetu za komentarisanje, po korisniku, pri svakom izdanju.
Ako pronađemo manje probleme, ažuriraćemo vaš nalog kako bismo osigurali da naše izdanje teče glatko. Ako uočimo velike promene koje prekidaju funkcionalnost, to nam omogućava da zaustavimo izdanje.
Prilagođeni fontovi 
FastComments je dizajniran da bude prilagodljiv, i font koji koriste naši widgeti nije izuzetak.
Podrazumevano, FastComments koristi system font stack da izgleda što bolje na širokom spektru uređaja.
Da biste definisali sopstvene fontove, pogledajte Custom CSS dokumentaciju.
Tamo ćete pronaći način da definišete prilagođeni CSS, što će vam omogućiti da postavite željene fontove.
Kako definisati font
Da biste prebrisali font, preporučujemo da definišete svoj CSS koristeći selektore .fast-comments, textarea. Na primer:
Run 
Uklanjanje brendiranja 
Za korisnike sa Pro ili Enterprise nalozima, white-labeling je dozvoljen. Jednostavno kontaktirajte nas i biće nam drago da pomognemo.
Ako želite samo da uklonite naš logo iz widgeta za komentare, ovo se automatski omogućava na Flex i Pro planovima.
Ovi planovi takođe obezbeđuju istu funkcionalnost za e-poruke poslate sa naše platforme.
Podrška tamnim pozadinama (tamni režim) 
Podrazumevano, FastComments widget za komentare će automatski detektovati tamni režim na većini sajtova.
Kada se otkrije tamni režim, FastComments će promeniti prikaz sa crnog teksta na belim pozadinama na beli tekst na crnoj pozadini. Slike će se takođe promeniti.
Prilikom učitavanja stranice, widget će pokušati da odredi koliko je tamna pozadina stranice iza widgeta za komentare. Ovo znači da stranica može imati belu pozadinu, ali ako postavite widget za komentare unutar kontejnera sa crnom pozadinom, tamni režim bi i dalje trebalo automatski da bude omogućen kako bi komentari bili čitljivi.
Međutim, mehanizam detekcije, koji se oslanja na određivanje "luminancije", možda neće omogućiti tamni režim kada to želite. Da biste ga prisilno omogućili, postavite zastavicu hasDarkBackground na true na sledeći način:
Run 
Prebacivanje tamnog režima 
Za sajtove koji omogućavaju prebacivanje tamnog režima nakon početnog učitavanja stranice, ovo je malo složenije.
Prvo, sve aktuelne verzije biblioteke Comment widget (React, Vue) imaju primere prebacivanja tamnog režima u svojim odgovarajućim repozitorijumima.
Za VanillaJS widget, moraćemo da uradimo još nešto. Prvo, FastCommentsUI vraća objekat sa funkcijama "destroy" i "update".
Možemo jednostavno pozvati funkciju update svaki put kada želimo da ažuriramo konfiguraciju komentarskog widgeta, na sledeći način. Ovde je kompletan funkcioni primer prebacivanja tamnog režima sa VanillaJS widgetom.
Run 
Prepisivanje teksta 
Sa FastComments, sav tekst u widgetu za komentare je prilagodljiv.
Možete prepisati pojedinačni deo teksta, kao što je dugme za slanje, ili sav tekst u celom widgetu za komentare.
Podrazumevano, tekst u widgetu za komentare se prevodi na osnovu lokalizacije korisnika. Međutim, možemo prepisati tekst, ako smo sigurni da naša baza korisnika koristi isti lokal/jezik, na primer:
Run 
Sva prilagodljiva prevođenja možete pronaći ovde pod karticom "advanced options".
Međutim, postoji jednostavniji način, putem UI-ja za prilagođavanje widgeta. Tamo možemo jednostavno pronaći tekst koji se prikazuje u widgetu za komentarisanje u EN_US lokalizaciji i navesti zamenu.
Trenutno, sva prepisivanja prevoda utiču na sve lokalizacije.
Promena podrazumevanog avatara 
Kada korisnik prvi put komentariše putem FastComments, pokušaćemo da preuzmemo njegov avatar sa https://gravatar.com/.
Međutim, ako ne pronađemo avatar, ili korisnik nikada ne postavi avatar na svom nalogu, prikazaćemo statičku podrazumevanu sliku avatara.
Da biste naveli svoju statičku sliku avatara, možete koristiti podešavanje defaultAvatarSrc.
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte sekciju "Default Avatar".
Napomena: definisanje avatara za određenog korisnika, kao što je slučaj sa SSO, obrađeno je u posebnoj sekciji.
Onemogućavanje avatara 
Avatari se mogu potpuno ukloniti iz vidžeta za komentare, čak i ako su korisnici definisali svoj sopstveni avatar.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje vidžeta:
Onemogućavanje svih podrazumevanih stilova 
Za veće projekte prilagođenog stilizovanja, može biti poželjno započeti sa čistom tablom i uopšte ne koristiti podrazumevani stil.
Sav podrazumevani stil može se ukloniti postavljanjem parametra noStyles na true, na sledeći način:
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta, pod naprednim opcijama:
Povezivanje komentara sa stranicama 
Kada se šalju obaveštenja putem e‑pošte, ili se komentari prikazuju u korisničkim interfejsima poput stranice za moderaciju, korisno je omogućiti povezivanje iz komentara na stranicu na kojoj se nalazi.
Ako URL ID nije uvek pravi ID, onda moramo URL sačuvati negde drugo. Za to služi svojstvo "url", definisano na sledeći način.
Run 
Uobičajen slučaj upotrebe je povezivanje niza komentara sa identifikatorom, na primer člankom, i zatim povezivanje nazad na konkretnu stranicu, na primer:
Run 
URL se ne čisti od uobičajenih marketinških parametara. Podrazumevano, šta god da je trenutni URL stranice, taj URL se čuva uz komentar.
Sklapanje odgovora po podrazumevanju 
Podrazumevano, odgovori na komentare najvišeg nivoa se prikazuju.
Ovo se može konfigurisati tako da korisnik mora da klikne „Show Replies“ na komentarima najvišeg nivoa da bi video podkomentare.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Ovo podešavanje neće uticati na broj početno učitanih komentara najvišeg nivoa. Ako imate jedan komentar najvišeg nivoa i 29 podkomentara, uz ovo podešavanje ćete:
- Videti komentar najvišeg nivoa.
- Videti „Show Replies (29)“ ispod tog komentara.
Ako želite da prikažete sve komentare najvišeg nivoa u kombinaciji sa ovom opcijom, postavite početnu stranicu na -1.
Omogućavanje WYSIWYG-a 
Podrazumevano, funkcionalnosti formatiranja u FastComments se ostvaruju dodavanjem vidljivih anchor tagova poput <b></b> oko vašeg teksta. Klikom na alatnu traku ili korišćenjem prečica se to radi za vas. Međutim, neke zajednice mogu želeti da koriste formatiranje bez anchor tagova. Ovo se naziva omogućavanje WYSIWYG (what you see is what you get) uređivača. Ovaj uređivač izgleda identično podrazumevanom, osim što učitava dodatni kod koji omogućava korisnicima da podebljaju, podvlače, itd. svoj tekst bez vidljivih anchor tagova.
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte opciju "Enable Advanced Formatting" opciju.
Onemogućavanje trake sa alatkama 
Po defaultu, FastComments prikazuje alatnu traku prilikom pisanja komentara kako bi obezbedio prečice za dekorisanje teksta i otpremanje slika.
Ova alatna traka može biti onemogućena u kodu ili putem UI‑a za prilagođavanje.
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte opciju „Disable The Reply Toolbar“.
Onemogućavanje blokiranja 
Podrazumevano, FastComments omogućava korisnicima da blokiraju druge korisnike. Blokiranje korisnika će uzrokovati da se njihovi komentari maskiraju, sprečava obaveštenja između korisnika i slično.
Možda će biti poželjno onemogućiti ovu funkcionalnost. To se može uraditi na sledeći način:
Run 
Ovo se takođe može uraditi bez koda, što takođe omogućava pravilnu validaciju na serveru, putem UI‑a za prilagođavanje widgeta:
Određivanje koje stranice će se prikazati 
Prilikom preuzimanja i renderovanja komentara, widget za komentare mora znati od koje stranice da počne. Podrazumevano, počinje sa prvom stranicom i prikazuje samo tu stranicu.
Ako želite, tačnu stranicu koja će se renderovati možete proslediti widgetu za komentare kao podešavanje startingPage.
Run 
Imajte na umu da brojevi stranica počinju od nule, pa gornji primer prikazuje drugu stranicu.
Prebacivanje niti komentara bez ponovnog učitavanja stranice 
Objasnili smo kako je urlId identifikator stranice ili članka na koji su komentari vezani.
Takođe, da rezimiramo, ako nije definisan, urlId će podrazumevano biti URL trenutne stranice.
Šta je sa SPA-ima, odnosno Single-Page-Applications, gde se stranica ili sadržaj na koji su komentari vezani menja dinamički bez ponovnog učitavanja cele stranice?
Angular, React, Vue, i dr.
Sa našim bibliotekama kao što su Angular i React, jednostavno ažuriranje urlId svojstva prosleđenog widgetu prouzrokovaće osvežavanje widgeta za komentare. To možete videti u praksi za React aplikaciju, na primer, ovde.
VanillaJS
Ako koristite VanillaJS biblioteku, to je malo složenije jer nema framework-a poput Angular-a ili React-a koji bi rukovao vezivanjem podataka ili propagacijom stanja.
Kada instancirate VanillaJS widget, on vraća neke funkcije koje se mogu pozvati da ga ažuriraju.
Evo funkcionalnog primera gde menjamo hash stranice i ažuriramo widget za komentare:
Run 
Apsolutni datumi (onemogući čitljive vremenske oznake) 
Podrazumevano se koriste lokalizovani relativni datumi. Na primer, pored nedavno ostavljenog komentara možete videti "11 minutes ago".
Može biti potrebno ili poželjno koristiti apsolutne datume, u tom slučaju postavite ovaj parametar na true.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta, pod Naprednim opcijama:
Prikazivanje i apsolutnih i relativnih datuma 
Podrazumevano se koriste lokalizovani relativni datumi. Na primer, pored nedavno ostavljenog komentara možete videti „pre 11 minuta“.
Može biti potrebno ili poželjno zadržati ovaj relativni format datuma, ali i prikazati puni datum pored njega, u kom slučaju postavljate ovaj parametar na true.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta, pod naprednim opcijama. Prvo ćete morati da omogućite Apsolutne datume da biste videli ovu opciju u UI‑u.
Dodavanje teksta zaglavlja 
Neki tekst, poput zaglavlja ili poruke, može biti prikazan ispod broja komentara, ali iznad teksta statusa prijave.
Ovo nazivamo zaglavljem i po podrazumevanju je skriveno.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta, u odeljku Napredne opcije:
Prikazivanje linkova kao teksta 
By default, FastComments will render links like this: https://exmaple.com - where the link URL becomes a clickable HTML anchor tag.
Some sites may want to disable this, for example to discourage scammers. We provide this by setting the Comment HTML Rendering Option to Links as Text.
This can be customized without code, on the widget customization page, for an entire domain, or page:
Prebacivanje komentara pomoću dugmeta 
Po defaultu, FastComments će prikazati polje za unos komentara i nit komentara istovremeno. Da bi uštedeli vertikalni prostor, takođe će sakriti sve druge neophodne polja dok se widget ne interaguje.
Međutim, widget za komentare može biti sakriven iza dugmeta, na primer:
Dugme koristi različit prevedeni tekst u zavisnosti da li su komentari trenutno prikazani ili ne. Ako su komentari sakriveni, koristi translations.SHOW_COMMENTS_BUTTON_TEXT. Ako su
komentari prikazani, koristi translations.HIDE_COMMENTS_BUTTON_TEXT. Prevođenja mogu sadržati tekst [count] koji će
biti zamenjen lokalizovanim brojem.
Run 
Ovo je dizajnirano da zameni konfiguraciju hideCommentsUnderCountTextFormat.
Broj se ažurira u realnom vremenu zajedno sa nitom komentara. Dugme se ne prikazuje ako nema komentara.
Ovo se može omogućiti bez koda kreiranjem pravila prilagođavanja i omogućavanjem "Klikni da prikažeš komentare":
Prilagođavanje teksta broja komentara 
Broj komentara prikazan na vrhu widgeta za komentare može se prilagoditi.
Ovo se može zameniti bilo kojim stringom, a vrednost [count] će biti zamenjena vrednošću broja, lokalizovanom za korisnika.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Onemogući preusmeravanje slika 
Podrazumevano, FastComments dozvoljava korisnicima da otpremaju slike. Kada korisnik klikne tu sliku, FastComments će, podrazumevano, otvoriti novu karticu da prikaže tu sliku u punoj veličini. Podešavanje ove zastavice na true onemogućava ovo ponašanje:
Run 
Ako ne planirate sami da uhvatite klik na sliku (pogledajte onImageClicked), preporučujemo da se ovo kombinuje sa nekim stilizovanjem kako biste uklonili utisak da je slika klikabilna.
Onemogući automatsko kreiranje heštagova 
Kada korisnici unesu hashtagove, u obliku #someexampletag, FastComments će automatski kreirati taj HashTag i
istaknuti ga u njihovom komentaru.
U nekim slučajevima je poželjno onemogućiti ovu funkciju, ili kontrolisati koje hashtagove je moguće koristiti putem API‑ja.
Da biste to uradili, jednostavno omogućite Disable Automatic #hashtag Creation putem UI‑ja za prilagođavanje widgeta.
Onemogući zvono za obaveštenja 
Po defaultu, FastComments prikazuje zvono obaveštenja u gornjem desnom uglu oblasti za komentare.
Ovo zvono će postati crveno i prikazati broj obaveštenja koje korisnik ima. Neki primeri obaveštenja su:
- Korisnik vam je odgovorio.
- Korisnik je odgovorio u temi u kojoj ste komentarisali.
- Korisnik je dao glas vašem komentaru.
- Korisnik je odgovorio na stranicu na koju ste pretplaćeni.
Zvono obaveštenja takođe pruža mehanizam za pretplatu na celu stranicu.
Međutim, možemo potpuno onemogućiti zvono obaveštenja:
Run 
Ovo se može uraditi i bez koda. Na stranici za prilagođavanje widgeta, pogledajte sekciju „Disable Notification Bell“.
Onemogući profile 
Podrazumevano, FastComments će prikazati profil korisnika kada kliknete na njegov avatar.
Međutim, možemo onemogućiti ovu funkcionalnost:
Run 
To se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte odeljak "Disable Profiles".
Onemogući komentare na profilima 
Podrazumevano, FastComments će prikazati karticu "Profile Comments" na korisničkim profilima, omogućavajući posetiocima da ostave komentare na nečijem profilu.
Međutim, možemo onemogućiti ovu karticu:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte odeljak "Disable Profile Comments".
Onemogući direktne poruke na profilima 
Podrazumevano, FastComments prikazuje karticu „Direktne poruke“ na korisničkim profilima, omogućavajući posetiocima da pošalju direktne poruke korisniku.
Međutim, možemo onemogućiti ovu karticu:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte odeljak „Onemogući direktne poruke“.
Onemogući poruku o uspehu 
Podrazumevano, FastComments prikazuje poruku o uspehu nakon komentarisanja. Ovo se može onemogućiti na sledeći način:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta:
Promena ocene sadržaja GIF-ova 
Po defaultu, FastComments widget za komentare će postaviti gif rating na pg.
Raspoložive opcije su g, pg, pg-13 i r.
Ovo se može postaviti u kodu ili putem UI‑a. U kodu to možemo uraditi na sledeći način:
Run 
U UI‑u ćete ovo naći pod Gif Picker Rating sve dok Disable Image Uploads? nije označena.
Moderacija sadržaja slika 
Podrazumevano, FastComments widget za komentare ima moderaciju sadržaja slika postavljenu na off.
Dostupne opcije su off, low, medium i high.
U UI‑u za prilagođavanje widgeta, ovo ćete naći pod Image Content Moderation Level sve dok opcija Disable Image Uploads? nije označena.
Promena stila glasanja 
Podrazumevano, FastComments će prikazati opcije glasanja kao strelice za gore i dole, omogućavajući korisnicima da glasaju gore ili dole za komentar.
Međutim, moguće je promeniti stil trake za glasanje. Trenutne opcije su podrazumevane dugmiće Up/Down, ili korišćenje mehanizma glasanja u obliku srca.
Koristimo zastavicu voteStyle na sledeći način:
Run 
Preporučujemo da ovo uradite bez koda, jer takođe omogućava server‑side validacije. Na stranici za prilagođavanje widgeta, pogledajte odeljak "Vote Style".
Glasanje se takođe može onemogućiti, pogledajte Disable Voting iznad opcija stila.
Onemogući brisanje 
Podrazumevano, FastComments će dozvoliti korisnicima da brišu svoje komentare.
Međutim, moguće je sprečiti to.
Na stranici za prilagođavanje widgeta, pogledajte opciju "Disable Deleting".
- Ovo utiče samo na obične komentatore i ne na moderatore ili administratore, koji i dalje mogu da brišu.
- Ovo će takođe uticati na API integracije kada se prosledi
contextUserId.
Onemogući uređivanje 
By default, FastComments will allow users to edit their comments.
However, it is possible to prevent this.
In the widget customization page, see the "Disable Editing" option.
- This only impacts regular Commenters and not moderators or admins, who will still be able to edit.
- This will also impact API integrations for when
contextUserIdis passed.
Isticanje novih komentara 
FastComments pruža nekoliko načina za isticanje novih komentara.
Prvo i najvažnije, podrazumevano komentari koji su pokrenuli in-app obaveštenje (odgovori, odgovori u istoj niti, ili komentari na stranici
na koju ste pretplaćeni), biće automatski istaknuti sa avatarom korisnika koji blago svetli. Boja se može prilagoditi putem CSS-a
koristeći is-unread klasu.
Komentari postavljeni u poslednja 24 sata imaju primenjenu 24hr klasu koja se može koristiti za stilizovanje.
Na kraju, svi novi komentari u realnom vremenu koji se pojave u korisničkoj sesiji biće istaknuti na nekoliko sekundi putem animacije. Ovo se radi putem
is-live CSS klase i takođe se može prilagoditi.
Veličine stranica 
Podrazumevano, veličina stranice FastComments-a je 30. Ovo uključuje odgovore u nitima.
Veličinu stranice možete prilagoditi u Widget Configuration UI u različitim veličinama od 10 do 200.
Napomena: promena veličine stranice zahteva ponovno izračunavanje svih niti komentara u vašem nalogu. Ovo može potrajati nekoliko minuta.
Ovo ne može biti konfigurisano u widgetu na klijentskoj strani jer se stranice izračunavaju na serveru.
Primer konfiguracije je prikazan ispod:
Veličine stranica mogu biti prilagođene globalno, po domenu ili po stranici, kreiranjem različitih pravila prilagođavanja.
Ovo će uticati na sve klijente, integracije i okvire koje koristite za prikazivanje komentara putem naše platforme.
Šabloni e-pošte 
Emailovi koje FastComments šalje vašim korisnicima mogu se prilagoditi. Šablon, logika, i prevodi se mogu menjati. Tekst se može prilagoditi po lokalima, a stil može biti promenjen čak i po domenu. Saznajte više o prilagođenim email šablonima ovde.
Formati korisničkih imena 
Po defaultu, FastComments prikazuje ime korisnika onako kako je uneto, ili kako je prosleđeno putem SSO.
Međutim, može biti poželjno maskirati ili prikazati ime korisnika na drugačiji način. Na primer, ako je ime korisnika Allen Rex, možda želite da prikažete samo "Allen R.".
Ovo se može uraditi bez koda u UI‑u za prilagođavanje widgeta, pod podešavanjem pod nazivom Commenter Name Format:
Dostupni formati su:
- Capitalize (prikazati primer korisnika kao Example User)
- Last Initial (prikazati Example User kao Example U.)
- All Initials (prikazati Example User kao E. U.)
- Show "Anonymous"
Efekat promene je trenutni. Korisnici će i dalje videti svoje puno korisničko ime na vrhu oblasti za komentar, za sebe, ali njihovi komentari će prikazivati izmenjeno korisničko ime.
Korisnička imena se maskiraju na serveru radi zaštite korisnika.
Onemogući otpremanje slika 
Po defaultu FastComments dozvoljava otpremanje slika. Ovo se može onemogućiti postavljanjem noImageUploads zastavice na true.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Dozvoli ugradnju medija 
Podrazumevano FastComments ne dozvoljava iframe‑ove u komentarima. Kada omogućite medijske embedove, komentatori mogu da nalepi kod za embed (the <iframe> snippet) od pouzdanih provajdera kao što su YouTube, Vimeo, SoundCloud i Spotify, i on će se prikazati inline u komentaru.
Iz sigurnosnih razloga, ovo nije konfiguraciona zastavica widgeta na klijentskoj strani. To je podešavanje na serverskoj strani, koje se validira prilikom čuvanja svakog komentara, pa se ne može uključiti sa stranice. Dozvoljeni su samo iframe‑ovi koji ukazuju na ugrađenu listu pouzdanih provajdera. Svaki drugi iframe se uklanja.
Ovo se radi bez koda, na stranici za prilagođavanje widgeta:
Dodavanje sopstvenih provajdera
Ako želite da dozvolite embedove od provajdera koji nije na ugrađenoj listi pouzdanih, dodajte njegov hostname u polje „Additional Embed Domains“ na istoj stranici. Ovi hostnames su dozvoljeni uz ugrađene provajdere. Poklapanje je tačno, pa uključite kompletan hostname (na primer, player.example.com). Sve što ne navedete ostaje blokirano.
I obična kutija za komentar i WYSIWYG editor podržavaju lepljenje embedova. U WYSIWYG editoru embed se ubacuje kao blok koji se može ukloniti.
Omogući polje za pretragu 
Podrazumevano, u vidžetu za komentare se ne prikazuje polje za pretragu.
Međutim, možemo ga uključiti postavljanjem zastavice enableSearch na true:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje vidžeta, pogledajte opciju „Enable Search Box“.
Omogući spoilere 
Možemo omogućiti podršku za spoiler postavljanjem enableSpoilers zastavice na true:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte opciju "Enable Spoilers".
Kada se tekst označi, a sada vidljivo dugme SPOILER se klikne, tekst će biti maskiran dok korisnik ne pređe mišem preko njega. Za tamni režim radimo isto, sa različitim bojama koje bolje odgovaraju tamnom režimu.
Ovo je takođe kompatibilno sa WYSIWYG editorom.
Omogući brojače prikaza komentara 
Podrazumevano, FastComments ne prati ko je pogledao svaki komentar niti pruža bilo kakve statistike u vezi s tim.
Međutim, možemo omogućiti ovu funkciju, i tada će sistem početi da prati kako svaki korisnik skroluje do komentara.
Kada se to desi, broj pored ikone oka prikazane na svakom komentaru će se povećati. Broj se ažurira u realnom vremenu i skraćuje prema lokalnom podešavanju korisnika.
Možemo ovo omogućiti postavljanjem zastavice enableViewCounts na true:
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Pratimo ID korisnika* koji je pogledao komentar, tako da se pri ponovnom gledanju komentara ne povećava. Ako pogledate komentar ponovo nakon dve godine, broj će se povećati više.
- *Napomena: ili anonimus ID sesije, ili IP korisnika kao heširana vrednost.
Prikaži komentare uživo odmah 
Podrazumevano je omogućeno live komentarisanje. To znači da, ako se bilo koji komentar doda, obriše, izmeni ili zakači, promene bi trebalo da se pojave svim korisnicima koji gledaju nit komentara u isto vreme.
Međutim, podrazumevano ti novi komentari će se pojaviti ispod dinamički prikazanog dugmeta sa tekstom sličnim “Show 2 New Comments”.
Ako su novi komentari odgovori direktno na stranicu, dugme će se prikazati na vrhu niti komentara. Ako su odgovori na određeni komentar, dugme će se prikazati ispod tog komentara.
Ovo je da se spreči stalna promena veličine stranice kod korisnika, što može izazvati frustraciju prilikom pokušaja hvatanja klizača.
Za neke slučajeve upotrebe, poput live licitiranja ili online događaja, ovo nije željeno ponašanje – možda želite da vidžet za komentarisanje bude više poput “chat” kutije gde se novi komentari “prikazuju odmah”.
Stoga, ime zastavice koja omogućava tu funkciju: showLiveRightAway.
Možemo je uključiti na sledeći način:
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje vidžeta:
Onemogućavanje komentarisanja uživo 
Podrazumevano, FastComments će imati omogućeno live komentarisanje.
Ovo znači da svaki posmatrač niti komentara treba da vidi isti sadržaj.
Na primer, ako se doda komentar, taj komentar treba da se prikaže. Ako se komentar izmeni ili ukloni, tada će ti komentari biti izmenjeni ili uklonjeni za sve posmatrače niti. Isto važi i za glasove i sve akcije moderacije.
Međutim, možemo ovo onemogućiti:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte odeljak „Onemogući live komentarisanje“.
Novi komentari uživo na dnu 
Podrazumevano, novi komentari uživo pojavljuju se na vrhu liste komentara kako se objavljuju u realnom vremenu.
Kada je ova opcija omogućena, novi komentari uživo će umesto toga biti dodati na dno liste. Ovo utiče na način na koji se komentari pojavljuju kada se objavljuju uživo dok korisnici gledaju nit komentara.
Run 
Kada je ova postavka omogućena:
- Novi komentari uživo koje objave drugi korisnici pojaviće se na dnu liste komentara
- Korisnici će videti kako se novi komentari pojavljuju ispod postojećih komentara u realnom vremenu
- Ovo utiče samo na ažuriranja komentara uživo - ne na početno učitavanje stranice
- Ovo može pomoći u održavanju toka čitanja kada korisnici prate diskusiju
Imajte na umu da ova postavka utiče samo na mesto gde se novi komentari uživo postavljaju kada stignu u realnom vremenu. Ne utiče na početni redosled sortiranja kada se stranica učitava.
Omogućavanje beskonačnog skrolovanja 
Po podrazumevanoj vrednosti, FastComments widget će se vertikalno prilagoditi tako da stane sve vidljive komentare. Paginacija se postiže putem dugmeta "Prikaži sledeće" na kraju trenutne stranice, jer smo utvrdili da je to interakcija koja najviše odgovara većini korisnika.
Međutim, postoje slučajevi kada se preferira beskonačno skrolovanje. Na primer, ovu funkciju koristimo u našem proizvodu Stream Chat.
Možemo sakriti dugmad "Prikaži sledeće" i preći na beskonačno skrolovanje podešavanjem zastavice enableInfiniteScrolling na true:
Run 
Ovo takođe zahteva dodavanje prilagođenog CSS-a. Dodajte prilagođeni CSS za selektor .comments da omogućite skrolovanje, na primer:
Run 
Kompletan radni primer bi bio:
Run 
U gornjem primeru koristimo svojstvo customCSS, međutim preporučuje se da se umesto toga koristi Widget Configuration UI iz razloga performansi. Pogledajte dokumentaciju o prilagođenom CSS-u.
Promena podrazumevanog smera sortiranja 
Podrazumevano, FastComments sortira komentare po smeru sortiranja „Najrelevantnije“.
Sortiranje po najrelevantnijem uzima u obzir vreme kada je komentar ostavljen i broj glasova za sortiranje.
Korisnik zatim može da promeni smer sortiranja na „Najstarije prvo“ ili „Najnovije prvo“ u UI‑u vidžeta za komentare.
Međutim, podrazumevani smer možemo promeniti na bilo koji od tri. Na primer, ako želite da prikažete najstarije komentare prvo:
Run 
Postavljamo vrednost defaultSortDirection na „OF“ da bismo postavili smer na „OF“.
Za smer sortiranja „Najnovije prvo“, uradićemo sledeće:
Run 
Validne vrednosti za defaultSortDirection su:
- MR: "Najnovije"
- NF: "Najnovije prvo"
- OF: "Najstarije prvo"
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje vidžeta, pogledajte odeljak „Podrazumevani smer sortiranja“.
Napomena: komentari na svakoj stranici za svaki smer sortiranja su unapred izračunati, tako da svi smerovi sortiranja imaju istu performansu.
Prikaz svih komentara odjednom - onemogući straničenje 
Da biste onemogućili paginaciju i prikazali sve komentare odjednom, postavite startingPage na -1.
Run 
Premeštanje polja za odgovor ispod komentara 
Podrazumevano je oblast za unos komentara pre niza komentara. Međutim, postavljanjem ovog parametra konfiguracije na true možemo je pomeriti posle.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Ograničavanje dužine komentara 
Maksimalni broj znakova koji se mogu uneti u polje za unos komentara može biti ograničen parametrima maxCommentCharacterLength.
Podrazumevana vrednost je 2000.
Stvari poput URL‑ova slika nisu uključene u određivanje dužine.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Onemogući višelinijsko komentarisanje 
Podrazumevano, FastComments omogućava korisniku da unese komentar sa koliko god linija želi, do podrazumevanog ograničenja znakova.
Međutim, može biti poželjno ograničiti korisnika da unese samo jednu liniju teksta. Neki primeri upotrebe uključuju online licitacije ili live chat, za koje se FastComments može koristiti.
Omogućavamo zastavicu useSingleLineCommentInput na sledeći način:
Run 
Ovo se takođe može uraditi bez koda. Na stranici za prilagođavanje widgeta, pogledajte odeljak „Enable Single-Line Comment Input“.
Napomena: komentari na svakoj stranici za svaki smer sortiranja su unapred izračunati, tako da svi smerovi sortiranja imaju istu performansu.
Ograničavanje broja komentara po korisniku 
Podrazumevano, svaki korisnik može poslati do 5 comments u istoj minuti.
Ovo se prati po ID‑u korisnika, anonimnom ID‑u korisnika i IP adresi (hashovana).
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Napomena: ako koristite API za kreiranje komentara, možda ćete želeti da prosledite originalnu ip adresu korisnika u zahtevu našem backendu kako bi se ograničavanje brzine primenilo po korisniku, a ne globalno na vaš nalog.
Spreči nove komentare prvog nivoa 
Postavljanje noNewRootComments na true će uzrokovati da widget sakrije polje za odgovore na najvišem nivou, ali i dalje dozvoljava korisnicima da odgovaraju
na podkomentare. Na primer, možete ovo uslovno postaviti prilikom učitavanja stranice kako biste dozvolili samo nekim korisnicima da ostavljaju komentare najvišeg nivoa.
Run 
Maksimalna dubina odgovora 
Podrazumevano, FastComments dozvoljava neograničeno ugnježđavanje odgovora, stvarajući strukturu teme gde korisnici mogu beskonačno odgovarati na odgovore.
Opcija maxReplyDepth vam omogućava da ograničite koliko duboko mogu ići nitovi odgovora. Kada se dostigne maksimalna dubina, korisnici više neće videti dugme za odgovor na komentarima na tom nivou.
Run 
Kada je maxReplyDepth postavljen na 2:
- Korisnici mogu komentarisati na najvišem nivou (dubina 0)
- Korisnici mogu odgovarati na komentare na najvišem nivou (dubina 1)
- Korisnici mogu odgovarati na te odgovore (dubina 2)
- Dalji odgovori nisu dozvoljeni iznad dubine 2
Podešavanje na 1 bi dozvolilo samo odgovore na komentare sa najvišeg nivoa, stvarajući pliću strukturu diskusije.
Postavljanje maxReplyDepth na 0 bi onemogućilo sve odgovore, dozvoljavajući samo komentare na najvišem nivou. Ako nije navedeno, odgovori se mogu ugnježđavati bez ograničenja.
Zahtevaj prihvatanje uslova korišćenja 
FastComments vam omogućava da od prvog komentatora zahtevate prihvatanje vaših Uslova korišćenja pre slanja komentara.
Kada je omogućeno:
- Anonimni korisnici će videti polje za TOS svaki put kada komentarišu
- Autentifikovani korisnici će videti polje samo na svom prvom komentaru, ili kada ažurirate vaše Uslove korišćenja
Configuration
Idite na stranicu za prilagođavanje widgeta i omogućite polje „Require Terms of Service acceptance“. Kada je omogućeno, videćete sledeće opcije:
- TOS Text Mode: Podrazumevano, polje prikazuje „I agree to the Terms of Service and Privacy Policy“ sa linkovima ka oba dokumenta. Izaberite „Customize text per locale“ da biste obezbedili svoj tekst za svaki jezik.
- TOS Last Updated Date: Kada ažurirate svoje Uslove korišćenja, postavite ovaj datum. Korisnici koji su prihvatili pre ovog datuma biće ponovo zatraženi da prihvate.
How It Works
- Vremenska oznaka prihvatanja TOS-a se čuva po korisniku i po komentaru
- Kada korisnik prihvati TOS, datum se beleži na njegovom korisničkom profilu (po tenantu)
- Ako postavite datum „Last Updated“ koji je posle datuma prihvatanja korisnika, moraće ponovo da prihvati
- Za anonimne korisnike koji se ne mogu pratiti, polje se pojavljuje na svakom slanju komentara
Pregled Single Sign-On (SSO) 
SSO, odnosno single-sign-on, je skup konvencija koji omogućava vama ili vašim korisnicima da koriste FastComments bez potrebe za kreiranjem još jednog naloga.
Pod pretpostavkom da ne dozvoljavate anonimno komentarisanje, nalog je potreban da bi se komentarisalo sa FastComments. Mi ovaj proces prijave činimo vrlo jednostavnim — korisnik samo ostavi svoj email kada komentariše. Međutim, razumemo da je čak i to dodatna prepreka koju neke stranice žele da izbegnu.
Možemo smanjiti tu prepreku tako što ćemo imati samo jedan tok prijave za ceo vaš sajt.
How do I get it?
Svi tipovi naloga trenutno dobijaju pristup SSO. Međutim, maksimalan broj SSO korisnika varira u zavisnosti od vašeg paketa. Kao i kod drugih funkcija, Pro planovi i viši obezbeđuju direktnu razvojnu podršku.
Uporedićemo opcije, a zatim ćemo ući u detalje svake.
User and Comment Migrations
Kada migrirate sa platforme koja ima SSO, poput Disqus, već ćete imati korisnike i njihove komentare.
Komentari se uvoze kao deo vaše migracije, bilo preko API-ja, našeg Import UI ili korisničke podrške. Import UI je poželjan ako podržava platformu sa koje migrirate, jer uključuje rukovanje greškama, ekstrakciju i upload avatara i medija, kao i sistem praćenja batch poslova.
Sami korisnici se dodaju automatski prilikom prvog pregleda niti komentara. Alternativno, mogu biti unapred dodati preko API-ja, ali taj rad nema mnogo prednosti.
Ako su komentari importovani, a SSO korisnici nisu ručno dodatii preko API-ja, komentari će biti automatski dodeljeni korisničkom nalogu prvi put kada se nalog kreira kada korisnik pogleda bilo koju nit komentara. Oni će tada moći da upravljaju, uređuju i brišu komentare koje su prvobitno napisali.
Automatska migracija se radi putem email-a ili korisničkog imena. Neke platforme ne obezbeđuju emailove pri exportu, kao Disqus, pa se u tom slučaju oslanjamo na korisničko ime.
- Sve dok prosledite odgovarajuće korisničko ime i email u SSO payload-u, dodaćemo email u pojedinačne objekte komentara tako da obaveštenja i pominjanja funkcionišu.
Ako želite da importujete komentare i korisnike odjednom, radite sa podrškom kako biste preneli komentare na odgovarajuće korisničke naloge nakon što su korisnici importovani preko API-ja.
Dakle, da sumiramo najlakši put za migraciju:
- Importujte komentare.
- Avatari i drugi mediji se automatski migriraju ako koristite Import UI u
Manage Data -> Imports.
- Avatari i drugi mediji se automatski migriraju ako koristite Import UI u
- Podesite Secure ili Simple SSO.
- Dozvolite da se migracija desi po korisniku automatski kada se prvi put prijave.
- Ovo obično dodaje manje od sekunde na vreme učitavanja stranice ako korisnik ima manje od 50k komentara.
WordPress Users
Ako koristite naš WordPress dodatak, nema potrebe za pisanjem koda! Jednostavno idite na administratorsku stranicu dodatka, kliknite SSO Settings, i zatim Enable.
Ovo će vas odvesti do čarobnjaka sa jednim klikom koji će kreirati vaš API ključ, poslati ga na vašu WordPress instalaciju i uključiti SSO. Konsolidovali smo ovo u jedan klik za vas.
Obratite pažnju da ako instalirate dodatak po prvi put moraćete da završite proces podešavanja pre nego što vidite administratorsku stranicu sa dugmetom SSO Settings.
WordPress SSO - Moderators
Obratite pažnju da trenutno, da bi se bedž "Moderator" prikazao pored vaših moderatora kada komentarišu koristeći FastComments WordPress dodatak, oni takođe moraju biti dodati kao Moderator u FastComments kontrolnoj tabli, i imati svoj email verifikovan.
Custom Integrations
Za prilagođene integracije postoje dve opcije.
Option One - Secure SSO
Sa Secure SSO, FastComments zna da je korisnik koji komentariše, glasa i čita komentare stvarni korisnik na vašem sajtu.
Sve dok kreirate validan payload, korisnik će uvek imati besprekorno iskustvo komentarisanja.
Sa Secure SSO, SSO payload se kreira server-side koristeći HMAC autentifikaciju i zatim se prosleđuje widgetu na client-u.
Sa Secure SSO, korisnički nalog je potpuno odvojen od ostatka FastComments baze korisnika. To znači da ako imamo dva partnera Company A i Company B, svaki može imati SSO korisnika sa korisničkim imenom "Bob".
Requirements
- Osnovno znanje o backend razvoju.
- Osnovno znanje o rukovanju tajnim API ključevima.
- Osnovno znanje o razvoju API-ja ili server-side renderovanju.
Pros
- Sigurno.
- Besprekorno iskustvo komentarisanja.
Cons
- Zahteva razvoj na backend-u.
Updating User Data
Sa Secure SSO, svaki put kada prosledite sso user payload, mi ćemo ažurirati njihov nalog najnovijim informacijama. Na primer, ako
korisnik ima korisničko ime X, i vi prosledite Y u SSO payload-u, njihovo korisničko ime će postati Y.
Ako želite da uklonite vrednosti koristeći ovaj pristup, postavite ih na null (ne undefined).
Secure SSO API
Takođe obezbeđujemo API za interakciju sa SSO korisnicima. Pogledajte the docs.
Napomena da kada koristite Secure SSO, korisnici se automatski kreiraju u pozadini prilikom učitavanja stranice. Ne morate masovno importovati svoje korisnike.
Option Two - Simple SSO
Alternativa Secure SSO je jednostavno prosleđivanje informacija o korisniku widgetu za komentarisanje.
Nije obavezno proslediti email sa Simple SSO, međutim bez njega njihovi komentari će se prikazivati kao "Unverified".
Napomena! Od početka 2022. korisnička imena sa Simple SSO ne moraju biti jedinstvena preko celog FastComments.com.
Idealno, Simple SSO bi trebalo da se bira samo kada razvijate na platformi koja ne obezbeđuje pristup backend-u.
Requirements
- Osnovno znanje o client-side razvoju.
- Morate bar poznavati email korisnika.
Pros
- Jednostavno.
- Sva aktivnost je i dalje verifikovana.
- Korisnik nikada ne unosi svoje korisničko ime ili email.
Cons
- Manje sigurno od Secure SSO jer se client-side payload može falsifikovati da postane bilo koji korisnik.
Simple SSO API
Korisnici koji su automatski kreirani putem Simple SSO toka sačuvani su kao SSOUser objekti. Može im se pristupiti i upravljati preko SSOUser API-ja. Pogledajte the docs.
Prilagođene integracije - Sigurno Single Sign-On (SSO) 
FastComments Secure SSO koristi HMAC-SHA256 enkripciju kao mehanizam za implementaciju SSO. Prvo ćemo proći kroz ukupnu arhitekturu, dati primere i detaljne korake.
Postoji i dokumentacija koja se tiče migracije sa drugih provajdera sa sličnim SSO mehanizmima, i razlika.
Tok izgleda ovako:
Pošto Secure SSO uključuje full-stack razvoj, kompletni radni primeri u Java/Spring, NodeJS/Express, i vanilla PHP su trenutno na GitHub-u.
Iako koristimo ExpressJS u NodeJS primeru i Spring u Java primeru, nema potrebe za dodatnim framework-ovima/bibliotekama u ovim runtime-ovima da bi se implementirao FastComments SSO - dovoljni su nativni crypto paketi.
Ne morate pisati nikakve nove API endpoint-e sa FastComments SSO. Jednostavno enkriptujte informacije o korisniku koristeći vaš tajni ključ i prosledite payload comment widgetu.
Preuzmite svoj API tajni ključ
Vaš API tajni ključ možete preuzeti sa ove stranice. Takođe ovu stranicu možete pronaći tako što ćete otići na Moj nalog, kliknuti na API/SSO pločicu, a zatim kliknuti "Preuzmi API tajni ključ".
Parametri widgeta za komentare
Visoko-nivo dokumentacije API-ja za widget za komentare može se naći ovde.
Hajde da detaljnije objasnimo šta ovi parametri znače.
Widget za komentare prihvata objekat konfiguracije - već prosleđujete ovo ako koristite FastComments da pošaljete vaš customer id (nazvan tenantId).
Da biste omogućili SSO, prosledite novi "sso" objekat, koji mora imati sledeće parametre. Vrednosti bi trebalo da budu generisane na serverskoj strani.
- userDataJSONBase64: Podaci o korisniku u JSON formatu, koji se zatim Base64 enkodiraju.
- verificationHash: HMAC-SHA256 hash kreiran od UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Epoch timestamp u milisekundama. Ne sme biti u budućnosti, niti stariji od dva dana.
- loginURL: URL koji widget za komentare može prikazati da bi se korisnik prijavio.
- logoutURL: URL koji widget za komentare može prikazati da bi se korisnik odjavio.
- loginCallback: Kada je obezbeđen umesto login URL-a, funkcija koju će widget za komentare pozvati pri kliku na dugme za prijavu.
- logoutCallback: Kada je obezbeđen umesto logout URL-a, funkcija koju će widget za komentare pozvati pri kliku na dugme za odjavu.

Objekat korisnika

Moderatori i administratori
Za administratore i moderatore, prosledite odgovarajuće zastavice isAdmin ili isModerator u SSOUser objektu.
Obaveštenja
Da biste omogućili ili onemogućili obaveštenja, postavite vrednost optedInNotifications na true ili false respektivno. Prvi put kada korisnik učita stranicu sa ovom vrednošću u SSO payload-u, njegova podešavanja obaveštenja će biti ažurirana.
Dodatno, ako želite da korisnici primaju email obaveštenja za aktivnosti na stranicama na koje su se pretplatili (za razliku od samo in-app obaveštenja), postavite optedInSubscriptionNotifications na true.
VIP korisnici i specijalne oznake
Možete prikazati specijalnu oznaku pored imena korisnika koristeći opciono polje "displayLabel".
Neautentifikovani korisnici
Da biste predstavili neautentifikovanog korisnika, jednostavno ne popunjavajte userDataJSONBase64, verificationHash ili timestamp. Obezbedite loginURL.
Ovi korisnici neće moći da komentarišu, već će im se prikazati poruka za prijavu (poruka, link ili dugme, u zavisnosti od konfiguracije).
Direktni primeri za serializaciju i heširanje podataka korisnika
Više detalja i primeri možete naći ovde (js), ovde (java) i ovde (php).
Razumemo da svaka integracija može biti komplikovan i bolan proces. Ne oklevajte da se obratite svom predstavniku ili koristite stranicu za podršku.
Prilagođene integracije - Jednostavno Single Sign-On (SSO) 
Sa Simple SSO možemo obezbediti widgetu za komentare informacije o korisniku tako da ne moraju unositi svoje korisničko ime ili email da bi komentarisali.
Simple SSO možemo konfigurisati na sledeći način:
Run 
Korisnik će biti prijavljen, i biće kreiran SSO korisnik u pozadini. Korisnik će imati createdFromSimpleSSO postavljeno na true ako je preuzet iz API-ja.
Notes:
- Email je jedinstveni identifikator za Simple SSO.
- Navođenje email-a za Simple SSO nije obavezno, međutim podrazumevano će njihovi komentari biti prikazani kao "Unverified". Ako nije naveden email, korisnik ne može biti potpuno autentifikovan.
- NEW Od jan 2022: Korisnička imena ne moraju biti jedinstvena na celom fastcomments.com
- Simple SSO može automatski kreirati i ažurirati SSO korisnike, ako je email naveden, i ako korisnik nije originalno kreiran putem Secure SSO.
- Možete navesti značke za korisnika pomoću svojstva
badgeConfig. NizbadgeIdssadrži ID-jeve globalnih znački koje će se povezati sa korisnikom. NizpageBadgeIdssadrži ID-jeve znački ograničene na tekuću stranu (urlId) — ove značke se prikazuju samo na stranici na kojoj su dodeljene. Ako jeoverridepostavljeno natrue, zameniće postojeće prikazane značke (globalne i one ograničene na stranu se zamenjuju nezavisno); ako jefalse, dodaće se postojećim značkama.
Prilagođene integracije - Migracija sa Disqus SSO 
Najveće razlike između Disqus i FastComments Secure SSO su u tome što Disqus koristi SHA1 za enkripciju, dok mi koristimo SHA256.
To znači da je migracija sa Disqus laka - promenite algoritam heširanja sa SHA1 na SHA256 i ažurirajte nazive svojstava koji se prosleđuju UI.
Prilagođene integracije - Migracija sa Commento SSO 
Commento koristi drastično drugačiji SSO pristup - oni zahtevaju da imate endpoint koji oni pozivaju da bi autentifikovali korisnika. FastComments je suprotno - jednostavno enkodirajte i hešujte informacije o korisniku koristeći vaš tajni ključ i prosledite ih.
Zaštita niti komentara pomoću Single Sign-On-a 
FastComments SSO (detalji ovde) pruža vašim korisnicima način da komentarišu bez potrebe da se prijave na drugu platformu.
Međutim, ovo samo po sebi ne osigurava vaše niti komentara, pošto su podaci o komentarima podrazumevano javno dostupni – bilo ko ko može da vidi stranicu može da vidi i komentare.
Promenom jednog podešavanja možemo ograničiti preuzimanje komentara osim ako to ne radi administrator ili validni SSO korisnik.
Podešavanje bez koda
Možemo sprečiti pregled i interakciju sa našim nitima komentara, kada je SSO postavljen, kreiranjem pravila prilagođavanja.
Prilikom toga, potražite SSO i naći ćete ovu opciju:
Omogućite je i sačuvajte pravilo prilagođavanja.
Zaštiti samo određeni domen ili stranicu
Da biste zaštitili samo određeni domen ili stranicu, jednostavno ćemo podesiti pravilo prilagođavanja da to uradi.
Na vrhu UI‑ja za prilagođavanje naći ćemo dva polja, Domen i URL ID.
Da biste zaštitili samo određeni domen, unesite taj domen u polje „domain“.
Da biste zaštitili određenu stranicu, unesite URL stranice u polje „URL ID“. Ako imate prilagođenu integraciju sa FastComments, ovde možete uneti tip ID‑ja umesto URL‑a.
Nivoi sigurnosti
Kada zahtevate SSO, treba da odlučite da li zahtevate Simple SSO ili Secure SSO. Ako zahtevate Simple SSO, oba su dozvoljena, ali ako zahtevate Secure SSO, sadržaj mora biti preuzet sa Secure SSO payload‑om hash‑ovanom vašim API ključem da bi se mogao pregledati.
Opcija nivoa sigurnosti će se pojaviti kada izaberete "Require SSO To View Comments".
Zaštita izvan čitanja
Omogućavanje ove opcije zaštitiće stranicu ili domen od komentarisanja osim ako korisnik nije prijavljen putem SSO.
Zamke
Korisnici koji su kreirali komentare pre vaše SSO integracije neće moći da ih vide, osim ako se ne prijave putem vaše SSO integracije.
Dozvoli anonimno komentarisanje 
Podrazumevano, FastComments zahteva e‑mail za komentar. Ne mora biti validan e‑mail, ali dok korisnik ne klikne na link koji mu je poslat, njegov komentar će prikazati oznaku „Neprovereni komentar“.
Međutim, možemo ukloniti zahtev za e‑mailom. Polje za unos e‑maila će i dalje biti prikazano, ali više neće biti obavezno.
Ovo se može konfigurisati putem UI‑ja za prilagođavanje widgeta:
Sprečavanje isteka anonimnih komentara 
FastComments se može konfigurisati da uklanja neproverene komentare nakon željenog broja dana. Ovo pomaže u borbi protiv spama.
Podrazumevano, ne.
Ovo se može konfigurisati ili onemogućiti putem stranice Podešavanja moderacije.
Onemogući unos e-pošte 
Kada korisnici komentarišu i nisu prijavljeni, biće zatraženo da unesu svoju email adresu.
Ovo će za tog korisnika kreirati „neverifikovanu sesiju“, i zatražićemo od njih da verifikuju tu sesiju putem emaila.
Za neke sajtove ili aplikacije poželjno je da se korisniku ne traži email prilikom komentarisanja ili glasanja.
Omogućavanje anonimnog komentarisanja čini polje za unos emaila opcionim. Međutim, možemo ga potpuno onemogućiti. Prvo omogućite anonimno komentarisanje, a zatim će se pojaviti opcija za onemogućavanje polja za unos emaila.
Kada je ovo uključeno, polja za email se neće uopšte prikazivati u svim našim proizvodima za komentarisanje.
Napomena: uz ovu konfiguraciju, svi komentari će biti neverifikovani osim ako korisnik ne kreira nalog i ne prijavi se na https://fastcomments.com.
Možda ćete želeti da razmotrite onemogućavanje oznake neverifikovanog.
Onemogući oznaku 'nepotvrđeno' 
Podrazumevano, FastComments prikazuje oznaku „Unverified Comment” za komentare koji su ostavljeni za korisnika koji ima neproverenu sesiju pretraživača. Pročitajte više o neproverenom komentarisanju ovde.
Run 
Additionally, this feature can be used, without writing code, in the Customization UI:
Podešavanje podrazumevanog korisničkog imena 
Kada korisnici komentarišu ili glasaju, a nisu prijavljeni, biće zatraženo da unesu svoj email i korisničko ime.
U slučaju anonimnog komentarisanja, ponekad je poželjno definisati podrazumevano korisničko ime kako bi se smanjila prepreka
prilikom komentarisanja. Ovo se može uraditi iz UI za prilagođavanje. Anonimno komentarisanje mora biti prvo omogućeno.
Callback-ovi 
Sve biblioteke za komentarski widget (trenutno Angular, React, Vue) podržavaju povratne pozive.
Povratni pozivi se navode u konfiguracionom objektu, sa istim potpisom za svaku biblioteku.
Podržani callback-ovi su:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
Tačne potpise možete pronaći u TypeScript definicijama.
Evo primera sa svim callback-ovima:
Run 
Ručno definisanje lokalizacije korisnika 
Podrazumevano, FastComments će prikazati vidžet za komentare u lokalizaciji koju određuje sistem i pregledač korisnika.
Kada korisnik komentariše ili se prijavi, ažuriramo njegovu poslednju korišćenu lokalizaciju i koristimo je i za slanje e‑mailova.
Ovo utiče na to kako je vidžet za komentarisanje preveden za korisnika. Lokalizacija se sastoji od jezika i regiona korisnika, tako da podešavanje lokalizacije obično menja jezik koji se koristi za prikaz teksta korisniku.
Putem UI-ja
Ovo se može definisati pomoću UI-ja za prilagođavanje vidžeta. Pogledajte opciju „Locale / Language“:
Putem koda
Ovo se može prepisati željenom lokalizacijom.
Run 
Podržani jezici i kodovi lokalizacije
Možete pronaći kompletnu listu podržanih jezika i odgovarajućih kodova lokalizacije ovde.
Napomena o SSO
Ako koristite SSO, možda ćete želeti da prosledite korisnikovu lokalizaciju u objektu korisnika, kako bi e‑mailovi i druge stvari bile pravilno lokalizovane za njih.
Ograničavanje dozvoljenih jezika 
Podrazumevano, FastComments ne ograničava jezike koji se koriste za komentarisanje.
Možda je poželjno ograničiti jezike koje zajednica koristi.
Ovo se može konfigurisati bez koda, na stranici za prilagođavanje widgeta:
Sistem će analizirati njihov komentar i odrediti njegov jezik, a zatim ga uporediti sa listom dozvoljenih.
Ako je komentar napisan na jeziku koji nije dozvoljen, prikazaće se lokalizovana poruka o grešci.
Naslovi stranica 
Trenutni naslov stranice je povezan sa navedenim urlId i sačuvan za upotrebu u alatima za moderaciju.
Podrazumevano se preuzima iz document.title.
Ako želite, možete navesti sopstveni naslov stranice na sledeći način:
Run 
Spreči nove odgovore i onemogući glasove 
Komentarisanje se može zaključati tako da se ne mogu ostavljati novi komentari ili glasovi postavljanjem flag-a readonly na true.
Komentari takođe neće moći da se uređuju ili brišu.
Run 
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta, za ceo domen ili stranicu:
Ažuriranje!
Od novembra 2022, niti se mogu zaključati ili otključati uživo od strane administratora i moderatora putem menija sa tri tačke iznad oblasti za odgovor.
Ovo će sprečiti nove komentare, dok i dalje omogućava glasanje i omogućava korisnicima da izbrišu svoje komentare ako to žele, dok readonly ne dozvoljava ove stvari.
Ovo odgovara polju isClosed u Page API-ju.
Ograničavanje domena linkova 
By default, FastComments allows linking to any external site.
This can be restricted to instead a desired list of sites, or domains. Attempting to post a link to a site, or domain, not in the defined list will cause an error to be shown to the user.
This validation is only for the Comment Widget and API. Imports are not affected.
This is done without code, on the widget customization page:
Broj komentara i brojanje svih ugnježdenih odgovora 
Broj komentara koji se prikazuje na vrhu komentarskog vidžeta može da prikazuje ili sve "top-level" komentare, što znači odgovore koji su direktno odgovori na stranicu ili članak, ili može biti broj svih ugnježdenih komentara.
Po defaultu, ovo je true - to je broj potonjeg - svi komentari. U starijim verzijama komentarskog vidžeta podrazumevana vrednost je false.
Možemo promeniti ponašanje, tako da bude broj svih ugnježdenih komentara postavljanjem zastavice countAll na true.
Run 
Ako želimo da broj odražava samo komentare najvišeg nivoa, postavimo zastavicu na false.
Run 
Ovo trenutno ne može da se prilagodi bez izmena koda.
Omogućavanje linkova komentatora 
Podrazumevano, FastComments će tražiti od korisnika samo njihov komentar, korisničko ime i email.
Međutim, u nekim situacijama možda ćete želeti da korisnik ostavi link ka svom blogu ili veb sajtu.
Možemo omogućiti prikaz dodatnog polja za unos URL-a veb sajta korisnika tako što ćemo postaviti zastavicu enableCommenterLinks na true:
Run 
Kada se navedeni URL unese, nalog korisnika će biti ažuriran i sve njihove korisničke nazive na svim prošlim i budućim komentarima će biti povezani na ovaj URL.
Ovo se može prilagoditi bez koda, na stranici za prilagođavanje widgeta:
Grupe za moderaciju 
Lista id-eva generisanih sa stranice Grupe za moderaciju.
Kada je navedeno, komentari ostavljeni koristeći navedenu konfiguraciju imaće isti skup moderationGroupIds.
Ako Moderator ima jednu ili više definisanih Grupe za moderaciju, oni će
videti samo komentare na stranici Moderate Comments koji su povezani sa njihovom grupom/grupama.
Run 
ID-ovi grupa za pomen 
Lista ID-jeva koja se koristi za automatsko dopunjavanje @mentions. Korisno kada želite sprečiti označavanje korisnika koji nemaju zajedničke grupe.
Kada je naveden, u automatskom dopunjavanju će, nakon kucanja karaktera @, biti prikazani samo korisnici iz drugih grupa.
Run 
Zaobilaženje kolačića treće strane 
Za autentifikaciju, FastComments zavisi od toga da su kolačići treće strane omogućeni u vašem pregledaču. Bez njih, korisnici će uvek morati da ostave svoj email da bi komentarisali (osim ako je polje za unos email-a sakriveno), i njihovi komentari će uvek biti prikazani kao neverifikovani (podrazumevano).
Da biste zaobišli ovo, možete omogućiti zaobilaženje kolačića treće strane.
Kada je ovo podešavanje omogućeno, pojaviće se mali popup koji prikazuje poruku da se korisnik prijavljuje. Ovaj popup se prikazuje kad god korisnik interaguje sa widgetom za komentare; na primer, ako ostavi komentar.
Možemo to uraditi u kodu postavljanjem zastavice enableThirdPartyCookieBypass na true:
Run 
Ovo takođe možemo podesiti putem UI-ja za prilagođavanje widgeta, pod Enable Third-Party Cookie Popup:
Brisanje komentara sa odgovorima 
Podrazumevano, korisnici mogu da brišu svoje komentare. Takođe, brisanje njihovog komentara automatski briše sve podkomentare i privremene komentare u niti. Ovo ponašanje je takođe aktivno.
Možete da ograničite ovo na sledeće načine:
- Umesto toga, anonimizujte obrisani komentar (postavite ime i tekst na
[deleted]ili na prilagođenu vrednost). - Nemojte dozvoliti brisanje komentara kada postoje odgovori. Prikazuje se prilagodljiva poruka o grešci.
- Ograničite brisanje kada komentar ima odgovore samo na administratore i moderatore.
Ovo se može konfigurisati putem sekcije Comment Thread Deletion u UI prilagođavanja widgeta.
Prikaz bedževa u gornjoj traci 
Podrazumevano, FastComments će prikazivati korisničke značke samo na njihovim komentarima unutar niti komentara.
Međutim, možemo prikazati korisničke značke pored njihovog imena iznad forme za komentar omogućavanjem ove funkcije na stranici za prilagođavanje widgeta:
Ovo će prikazati korisničke značke pored njihovog imena u području gornje trake, čineći njihove postignuće i status vidljivijim dok pišu komentar.
Napomena da ova funkcija mora biti omogućena u UI‑u za prilagođavanje widgeta da bi radila. Opcionalno možete postaviti showBadgesInTopBar zastavicu na false u vašoj konfiguraciji koda da je selektivno onemogućite čak i kada je uključena na nivou servera:
Run 
Prikaži listu online korisnika 
Podrazumevano, FastComments ne prikazuje listu korisnika na stranici.
Možete prikazati listu ljudi koji trenutno gledaju stranicu, uz widget za komentare. Lista se ažurira u realnom vremenu kako se korisnici pridružuju i napuštaju, i prikazuje njihovo ime, avatar i indikator online statusa.
Postoje tri opcije rasporeda:
1- Top: horizontalni red preklapajućih avatara prikazan iznad komentara.2- Left: bočna traka sa imenima i online tačkama prikazana levo od widgeta.3- Right: ista bočna traka prikazana desno od widgeta.
Postavite usersListLocation zastavicu da omogućite ovu funkciju:
Run 
Podrazumevano lista prikazuje samo korisnike koji su trenutno online. Da biste takođe uključili ljude koji su u prošlosti komentarisali stranicu (ali je trenutno ne gledaju), postavite usersListIncludeOffline na true:
Run 
Prethodni komentatori se prikazuju bez zelene online tačke, kako bi bilo jasno ko je trenutno prisutan.
Korisnici sa privatnim profilima se prikazuju sa generičkim avatarom i oznakom „Privatan profil“ kako bi broj ostao tačan bez otkrivanja identiteta.
Ovo se takođe može konfigurisati bez koda. Na stranici za prilagođavanje widgeta, pogledajte opciju „Lokacija liste korisnika“. Kada je lokacija postavljena na bilo šta osim Off, pojavljuje se polje za potvrdu „Uključi prethodne komentatore“ ispod nje.
Za poslednjih 500 aktivnih korisnika, lista može biti zastarela do 30 sekundi.