
Język 🇵🇱 Polski
Podstawy
Wygląd
Komentowanie na żywo
Paginacja i sortowanie
Pole odpowiedzi
SSO
Anonimowe komentowanie
Różne
Dostosowania i konfiguracja
Kontekst
Tutaj znajdziesz szczegółową dokumentację dotyczącą każdej z funkcji i ustawień, które obsługuje widżet komentarzy.
Dokumentacja obejmuje podstawowe koncepcje i dogłębnie wnika w każde obszar funkcjonalności, zawierając instrukcje krok po kroku oraz typowe pułapki.
Przykłady kodu zostaną przedstawione z wyróżnionymi istotnymi liniami. Tam, gdzie to stosowne, zostaną dostarczone zrzuty ekranów stron konfiguracyjnych.
Przykłady kodu będą używać naszej biblioteki w czystym JavaScript, jednak opcje konfiguracji używają dokładnie tych samych nazw dla wszystkich wersji widżetu komentarzy (React, Vue itp.).
Większość konfiguracji i funkcji opisanych w tym przewodniku nie wymaga pisania żadnego kodu.
Identyfikacja konta 
Możesz zauważyć, że widżet komentarzy można użyć z Tenant ID ustawionym na "demo", na przykład:
Run 
To służy tylko do wypróbowania i zabawy z widżetem komentarzy. W środowisku produkcyjnym należy przekazać swój Tenant ID, w ten sposób:
Run 
Twój Tenant ID jest już zastosowany w widżecie komentarzy fragmencie kodu w Twoim koncie.
Swój Tenant ID możesz też znaleźć i zarządzać kluczami API na stronie poświadczeń API.
Od tego momentu, jeśli jesteś zalogowany w FastComments, przykłady kodu będą używać Twojego rzeczywistego Tenant ID (jeśli jesteś zalogowany na https://fastcomments.com).
Powiązanie komentarzy ze stronami i artykułami 
Podczas renderowania wątku komentarzy lub zostawiania komentarza, FastComments musi wiedzieć, do jakiej strony, artykułu lub produktu należą te komentarze.
Aby to zrobić, używamy czegoś, co nazywamy "URL ID". Jest to albo identyfikator, taki jak ciąg znaków lub liczba, albo URL.
Domyślnie, jeśli nie określisz urlId, stanie się on adresem URL strony. Weźmiemy bieżący adres URL strony i oczyścimy go, aby usunąć wszelkie typowe parametry marketingowe lub identyfikatory śledzące.
W przypadku integracji zewnętrznych, takich jak WordPress, nasza wtyczka zwykle użyje identyfikatora, który reprezentuje aktualnie wyświetlane informacje jako URL ID, na przykład id artykułu/strony.
Run 
Jedną z rzeczy, do których często będziemy się odnosić w tym dokumencie, jest Interfejs dostosowywania widżetu.
Ten interfejs można wykorzystać do wprowadzenia wielu zmian w widżecie komentarzy bez użycia kodu.
Tworząc regułę dostosowywania, często będziemy chcieli, aby dotyczyła wszystkich stron naszej witryny. Jednak w niektórych przypadkach chcemy spersonalizować widżet komentarzy na konkretnej stronie — na przykład zastosować niestandardowe style lub sprawić, że komentarze dla tej strony będą anonimowe. Możesz również, na przykład, sprawić, że komentarze na żywo pojawiają się od razu na niektórych stronach, podczas gdy na innych są ukryte pod przyciskami powiadomień.
Wszystko to jest możliwe dzięki polu wejściowemu URL ID na tej stronie, które wygląda następująco:
Wartość w tym polu powinna odpowiadać parametrowi urlId przekazanemu do widżetu komentarzy. Jeśli chcesz, aby twoja reguła dostosowywania była niezależna od urlId, pozostaw to pole puste lub wpisz *.
As of 2023 the URL ID field in widget customization now also takes patterns! For example you may
have */blog/* to add styling specific to your blog and */store/* to have styling specific to your store,
all while using the same domain.
Pułapki
- Jeśli Twoja strona ma parametry hash (na przykład example.com#page-1) - domyślnie staną się one częścią URL ID.
- Podczas migracji, na przykład z WordPress do Gatsby, może być konieczne zmigrowanie wartości komentarzy URL ID po początkowej migracji. W takim przypadku skontaktuj się z nami.
Wyświetlanie tych samych komentarzy na różnych stronach 
Ponieważ parametr urlId pozwala zdefiniować, z którą stroną lub identyfikatorem powiązane są komentarze, możemy po prostu ustawić urlId na tę samą wartość na tych stronach.
Run 
Własne style 
FastComments został zaprojektowany z myślą o możliwościach dostosowywania. Sam widget komentarzy działa wewnątrz iframe ze względów bezpieczeństwa, więc aby zastosować niestandardowe style, musisz postępować według jednego z dwóch podejść.
Pierwsze, najłatwiejsze podejście i przez nas preferowane, to skorzystanie ze strony dostosowywania widgetu.
W stronie dostosowywania widgetu zobacz sekcję "Show Advanced Options", pod którą znajduje się obszar oznaczony jako "Custom CSS":
To podejście ma pewne zalety:
- Wprowadzony CSS jest minifikowany przed wysłaniem do użytkownika, a formatowanie pozostaje spójne w interfejsie edycji.
- Otrzymujesz wszystkie korzyści z interfejsu personalizacji widgetu, na przykład łatwe dostosowywanie widgetu komentarzy w różny sposób dla różnych witryn.
- Gdy wprowadzimy zmiany w widgetcie komentarzy, Twoje niestandardowe style zostaną przetestowane w ramach naszego procesu wydawniczego.
Drugie podejście polega na określeniu parametru customCSS w konfiguracji widgetu, w następujący sposób:
Run 
Jednak ma to ograniczenia:
- Istnieje limit ilości niestandardowego CSS, który można przesłać, zanim nasze serwery odrzucą żądanie, ze względu na rozmiar nagłówków.
- Musisz zarządzać niestandardowym CSS w swojej infrastrukturze i systemie budowania. Może to być zaletą, a nie wadą.
- W tym przypadku istnieje dodatkowy narzut polegający na wysyłaniu niestandardowego CSS przez sieć dwukrotnie, ponieważ musi on zostać wysłany do naszych serwerów, a następnie zwrócony w zawartości iframe. Jednak dla większości rozmiarów danych przesyłanych nie jest to zauważalne.
- Częstą optymalizacją jest minifikacja CSS, aby zmniejszyć jego rozmiar przesyłany przez sieć — przy tym podejściu musisz się tym jednak zająć samodzielnie.
- Twój niestandardowy CSS nie będzie przez nas testowany przy wprowadzaniu zmian.
Zewnętrzne pliki CSS
Możesz polecić widgetowi pobranie zewnętrznego pliku używając @import!
Zaleca się umieszczenie @import w regule dostosowującej. W ten sposób, jeśli kiedykolwiek będziemy musieli wprowadzić zmianę w widgetcie komentarzy, możemy użyć naszych narzędzi automatyzacji do weryfikacji Twojej konfiguracji. Na przykład utworzyłbyś regułę dostosowania w interfejsie personalizacji widgetu, kliknął Advanced i wpisał w Custom CSS:
@import url(https://example.com/styles.css);W kodzie - niezalecane
Możesz też załadować zewnętrzny plik CSS za pomocą właściwości customCSS:
Run 
Pamiętaj jednak, że jeśli to zrobisz, Twój CSS nie będzie przez nas testowany.
Stylowanie modala profilu użytkownika
Modalne okna profili użytkowników również można stylować za pomocą niestandardowego CSS. Jednak aby zapewnić zastosowanie niestandardowego stylowania do profili użytkowników, wszystkie selektory CSS muszą być poprzedzone prefiksem .user-profile. Bez tego prefiksu niestandardowe style będą ignorowane dla modalnych okien profilu użytkownika.
Na przykład:
Run 
Kompatybilność wsteczna
W FastComments wiemy, że nasi klienci dostosowują widget komentarzy. To jest zamierzone — ostatnią rzeczą, jakiej chcemy, jest powodowanie niezgodności w projekcie Twojego produktu.
Ponieważ jest to ważna część naszego produktu, mamy pipeline budowania, który pozwala nam przeglądać zmiany w widgetcie komentarzy dla każdego klienta przy każdym wydaniu.
Jeśli znajdziemy drobne problemy, zaktualizujemy Twoje konto, aby zapewnić płynność wydania. Jeśli zauważymy poważne zmiany łamiące kompatybilność, pozwala nam to wstrzymać wydanie.
Własne czcionki 
FastComments jest zaprojektowany tak, aby można go było dostosować, a czcionka używana przez nasze widżety nie jest wyjątkiem.
Domyślnie FastComments używa system font stack, aby prezentować się możliwie najlepiej na różnych urządzeniach.
Aby zdefiniować własne czcionki, zobacz Dokumentację niestandardowego CSS.
Tam znajdziesz sposób na zdefiniowanie niestandardowego CSS, co pozwoli ci określić pożądane czcionki.
Jak zdefiniować czcionkę
Aby nadpisać czcionkę, zalecamy zdefiniować swój CSS przy użyciu selektorów .fast-comments, textarea. Na przykład:
Run 
Usuwanie brandingu 
Dla klientów z planami Pro lub Enterprise możliwy jest white-labeling. Po prostu skontaktuj się z nami, a chętnie pomożemy.
Jeśli chcesz jedynie usunąć nasze logo z widgetu komentarzy, jest to automatycznie włączone w planach Flex i Pro.
Te plany zapewniają również taką samą funkcjonalność dla wiadomości e-mail wysyłanych z naszej platformy.
Obsługa ciemnego tła (tryb ciemny) 
Domyślnie widget komentarzy FastComments automatycznie wykrywa tryb ciemny na większości stron.
Gdy wykryty zostanie tryb ciemny, FastComments zmieni czarny tekst na białym tle na biały tekst na czarnym tle. Obrazy również ulegną zmianie.
Podczas ładowania strony widget spróbuje określić, jak ciemne jest tło strony za widgetem komentarzy. Oznacza to, że strona może mieć białe tło, lecz jeśli umieścisz widget komentarzy wewnątrz kontenera o czarnym tle, tryb ciemny nadal powinien zostać automatycznie włączony, aby komentarze były czytelne.
Jednakże mechanizm wykrywania, który opiera się na określaniu "luminance", może nie włączyć trybu ciemnego wtedy, kiedy tego chcesz. Aby wymusić jego włączenie, ustaw flagę hasDarkBackground na true w następujący sposób:
Run 
Przełączanie trybu ciemnego 
Dla stron, które umożliwiają przełączanie trybu ciemnego po początkowym załadowaniu strony, jest to trochę bardziej skomplikowane.
Po pierwsze, wszystkie obecne wersje biblioteki widżetu komentarzy (React, Vue) zawierają przykłady przełączania trybu ciemnego w swoich repozytoriach.
Dla widżetu VanillaJS będziemy musieli wykonać dodatkową pracę. Funkcja FastCommentsUI zwraca obiekt z funkcjami "destroy" i "update".
Możemy po prostu wywołać funkcję update za każdym razem, gdy chcemy zaktualizować konfigurację widżetu komentarzy, w następujący sposób. Oto kompletny działający przykład przełączania trybu ciemnego przy użyciu widżetu VanillaJS.
Run 
Nadpisywanie tekstu 
W FastComments cały tekst w widżecie komentarzy jest konfigurowalny.
Możesz nadpisać pojedynczy element tekstu, na przykład przycisk wysyłania, lub cały tekst w całym widżecie komentarzy.
Domyślnie tekst w widżecie komentarzy jest tłumaczony na podstawie ustawień regionalnych użytkownika. Możemy jednak nadpisać tekst, jeśli jesteśmy pewni że nasza baza użytkowników używa tego samego regionu/języka, na przykład:
Run 
Wszystkie konfigurowalne tłumaczenia można znaleźć tutaj w zakładce "zaawansowane opcje".
Istnieje jednak prostszy sposób, przez interfejs dostosowywania widżetu. Tam możemy po prostu znaleźć tekst, który pokazuje się w widżecie komentarzy w lokalizacji EN_US i określić zamiennik.
Wszystkie nadpisania tłumaczeń obecnie dotyczą wszystkich lokalizacji.
Zmiana domyślnego awatara 
Gdy użytkownik po raz pierwszy komentuje za pomocą FastComments, spróbujemy pobrać jego awatar z http://gravatar.com/.
Jeśli jednak nie znajdziemy awatara lub użytkownik nigdy go nie ustawił w swoim koncie, wyświetlamy statyczny domyślny obraz awatara.
Aby określić własny statyczny obraz awatara, możemy użyć ustawienia defaultAvatarSrc.
Run 
Można to również zrobić bez użycia kodu. Na stronie dostosowywania widżetu zobacz sekcję "Domyślny Avatar".
Należy pamiętać, że definiowanie awatara dla konkretnego użytkownika, na przykład w przypadku SSO, jest omówione w osobnej sekcji.
Wyłączanie awatarów 
Awatary można całkowicie usunąć z widżetu komentarzy, nawet jeśli użytkownicy ustawili własny awatar.
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widżetu:
Wyłączanie wszystkich domyślnych stylów 
W przypadku większych projektów z niestandardowym stylem może być pożądane rozpoczęcie od zera i całkowite zrezygnowanie z domyślnych stylów.
Wszystkie domyślne style można usunąć, ustawiając parametr noStyles na true, w następujący sposób:
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widgetu, w sekcji Opcje zaawansowane:
Łączenie komentarzy ze stronami 
Kiedy wysyłasz powiadomienia e-mail, lub renderujesz komentarze w interfejsach użytkownika, takich jak strona moderacji, przydatne jest umożliwienie linkowania z komentarza do strony, na której się znajduje.
Jeśli identyfikator URL nie zawsze jest rzeczywistym identyfikatorem, musimy przechowywać URL gdzie indziej. Do tego służy właściwość "url", zdefiniowana w następujący sposób.
Run 
Typowym przypadkiem użycia jest powiązanie wątku komentarzy z identyfikatorem, takim jak artykuł, a następnie odwołanie się do konkretnej strony, na przykład:
Run 
URL nie jest oczyszczany z typowych parametrów marketingowych. Domyślnie zapisywany z komentarzem jest dokładnie bieżący URL strony.
Domyślne zwijanie odpowiedzi 
Domyślnie odpowiedzi na komentarze najwyższego poziomu są widoczne.
Można to skonfigurować tak, aby użytkownik musiał kliknąć "Pokaż odpowiedzi" przy komentarzach najwyższego poziomu, aby zobaczyć odpowiedzi podrzędne.
Run 
To można dostosować bez użycia kodu, na stronie personalizacji widżetu:
To ustawienie nie wpłynie na liczbę początkowo załadowanych komentarzy najwyższego poziomu. Jeśli masz jeden komentarz najwyższego poziomu i 29 odpowiedzi, po włączeniu tego ustawienia zobaczysz:
- Zobacz komentarz najwyższego poziomu.
- Zobacz "Pokaż odpowiedzi (29)" pod tym komentarzem.
Jeśli chcesz wyświetlić wszystkie komentarze najwyższego poziomu w połączeniu z tą opcją, ustaw stronę początkową na -1.
Włączenie WYSIWYG 
Domyślnie funkcje formatowania w FastComments są realizowane przez dodawanie widocznych znaczników kotwic, takich jak <b></b>, wokół twojego tekstu. Kliknięcie paska narzędzi
lub użycie skrótów wykonuje to za Ciebie. Jednak niektóre społeczności mogą chcieć włączyć korzystanie z formatowania bez widocznych znaczników kotwic. Nazywa się to włączeniem
edytora WYSIWYG (co widzisz, to dostajesz). Ten edytor wygląda dokładnie tak samo jak domyślny, z wyjątkiem tego, że ładuje pewien
dodatkowy kod, który pozwala użytkownikom pogrubiać, podkreślać itp. tekst bez widocznych znaczników kotwic.
Run 
Można to również zrobić bez kodu. Na stronie dostosowywania widżetu zobacz opcję "Włącz zaawansowane formatowanie".
Wyłączanie paska narzędzi 
Domyślnie FastComments wyświetla pasek narzędzi podczas pisania komentarza, aby zapewnić skróty do formatowania tekstu i przesyłania obrazów.
This toolbar can be disabled in code or with the Customization UI.
Run 
To można również zrobić bez użycia kodu. Na stronie dostosowywania widżetu zobacz opcję "Wyłącz pasek narzędzi odpowiedzi".
Wyłączanie blokowania 
Domyślnie FastComments pozwala użytkownikom blokować innych użytkowników. Zablokowanie użytkownika spowoduje, że jego komentarze będą ukryte, zapobiegnie wysyłaniu powiadomień między tymi użytkownikami i tak dalej.
Może zaistnieć potrzeba wyłączenia tej funkcjonalności. Można to zrobić w następujący sposób:
Run 
Można to również zrobić bez użycia kodu, co dodatkowo umożliwia poprawną walidację po stronie serwera, za pomocą interfejsu dostosowywania widżetu:
Określanie, którą stronę wyświetlić 
Kiedy pobierane i renderowane są komentarze, widżet komentarzy musi wiedzieć, od której strony rozpocząć. Domyślnie zaczyna od pierwszej strony i renderuje tylko tę stronę.
W razie potrzeby dokładna strona do wyrenderowania może zostać przekazana do widżetu komentarzy jako ustawienie startingPage.
Run 
Zwróć uwagę, że numeracja stron zaczyna się od zera, więc powyższy przykład renderuje drugą stronę.
Przełączanie wątków komentarzy bez przeładowania strony 
Omówiliśmy, jak urlId jest identyfikatorem strony lub artykułu, z którym powiązane są komentarze.
Aby przypomnieć: jeśli nie zostanie zdefiniowany, urlId domyślnie przyjmie wartość bieżącego adresu URL strony.
A co z aplikacjami SPA, czyli Single-Page-Applications, gdzie strona lub zawartość, do której przypisane są komentarze, zmienia się dynamicznie bez pełnego przeładowania strony?
Angular, React, Vue itp.
W naszych bibliotekach, takich jak Angular i React, wystarczy zaktualizować właściwość urlId przekazywaną do widżetu,
aby widżet komentarzy odświeżył się. Możesz zobaczyć to w akcji dla aplikacji React, na przykład tutaj.
VanillaJS
Jeśli używasz biblioteki VanillaJS, jest to nieco bardziej skomplikowane, ponieważ nie ma tam frameworka takiego jak Angular czy React, który obsługiwałby wiązanie danych lub propagację stanu.
Kiedy tworzysz instancję widżetu VanillaJS, zwraca on kilka funkcji, które można wywołać, aby go zaktualizować.
Oto działający przykład, w którym zmieniamy fragment strony (hash) i aktualizujemy widżet komentarzy:
Run 
Daty bezwzględne (wyłącz czytelne znaczniki czasu) 
Domyślnie używane są lokalizowane daty względne. Na przykład obok niedawno dodanego komentarza możesz zobaczyć "11 minut temu".
Może być konieczne lub pożądane użycie dat absolutnych, w takim przypadku należy ustawić ten parametr na true.
Run 
Można to dostosować bez kodu, na stronie dostosowywania widżetu, w Opcjach zaawansowanych:
Wyświetlanie dat absolutnych i względnych 
Domyślnie używane są zlokalizowane daty względne. Na przykład obok niedawno dodanego komentarza możesz zobaczyć "11 minutes ago".
Może być konieczne lub pożądane zachowanie tego formatu daty względnej, a jednocześnie wyświetlenie pełnej daty obok niej — w takim przypadku ustaw ten parametr na true.
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widżetu, w sekcji Zaawansowane opcje. Najpierw musisz włączyć Daty absolutne, aby zobaczyć tę opcję w interfejsie użytkownika.
Dodawanie tekstu w nagłówku 
Niektóry tekst, taki jak nagłówek lub wiadomość, może być wyświetlany poniżej licznika komentarzy, ale nad tekstem statusu logowania.
Nazywamy to nagłówkiem, który jest domyślnie ukryty.
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widżetu, w Opcjach zaawansowanych:
Wyświetlanie linków jako tekst 
Domyślnie FastComments będzie renderować linki w ten sposób: https://exmaple.com - gdzie adres URL linku staje się klikalnym elementem kotwicy HTML.
Niektóre serwisy mogą chcieć to wyłączyć, na przykład aby zniechęcić oszustów. Udostępniamy to poprzez ustawienie Comment HTML Rendering Option na Links as Text.
Można to dostosować bez kodu, na stronie dostosowywania widgetu, dla całej domeny, lub strony:
Przełączanie komentarzy za pomocą przycisku 
Domyślnie FastComments renderuje pole wprowadzania komentarza i wątek komentarzy jednocześnie. Aby zaoszczędzić trochę pionowej przestrzeni, ukrywa także wszelkie inne wymagane pola, dopóki nie nastąpi interakcja z widgetem.
Jednak widget komentarzy można ukryć za przyciskiem, na przykład:
Przycisk używa różnych przetłumaczonych tekstów w zależności od tego, czy komentarze są aktualnie widoczne, czy nie. Jeśli komentarze są ukryte, używa translations.SHOW_COMMENTS_BUTTON_TEXT. Jeśli komentarze są widoczne, używa translations.HIDE_COMMENTS_BUTTON_TEXT. Tłumaczenia mogą zawierać tekst [count], który zostanie zastąpiony przez zlokalizowaną liczbę.
Run 
To zostało zaprojektowane, aby zastąpić konfigurację hideCommentsUnderCountTextFormat.
Liczba jest aktualizowana na żywo wraz z wątkiem komentarzy. Przycisk nie jest wyświetlany, jeśli nie ma żadnych komentarzy.
Funkcję tę można włączyć bez użycia kodu, tworząc regułę dostosowywania i włączając "Kliknij, aby wyświetlić komentarze":
Dostosowywanie tekstu liczby komentarzy 
Liczba komentarzy wyświetlana na górze widżetu komentarzy może być dostosowana.
Można ją zastąpić dowolnym ciągiem tekstowym, a wartość [count] zostanie zastąpiona faktyczną liczbą, zlokalizowaną dla użytkownika.
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widżetu:
Wyłącz przekierowanie obrazów 
Domyślnie FastComments pozwala użytkownikom na przesyłanie obrazów. Kiedy użytkownik kliknie ten obraz, FastComments domyślnie otworzy nową kartę, aby wyświetlić obraz w pełnym rozmiarze. Ustawienie tego przełącznika na true wyłącza to zachowanie:
Run 
Jeśli nie zamierzasz samodzielnie przechwytywać kliknięć obrazów (zobacz onImageClicked), zalecamy połączenie tego ze stylem, który usunie wygląd sugerujący, że obraz jest klikalny.
Wyłącz automatyczne tworzenie hashtagów 
Kiedy użytkownicy wpisują hashtagi, w formie #someexampletag, FastComments automatycznie utworzy ten HashTag i
wyróżni go w ich komentarzu.
W niektórych przypadkach pożądane jest wyłączenie tej funkcji lub kontrola, które hashtagi mogą być używane za pomocą API.
Aby to zrobić, po prostu włącz Disable Automatic #hashtag Creation w interfejsie dostosowywania widżetu.
Wyłącz dzwonek powiadomień 
Domyślnie FastComments pokaże ikonę dzwonka powiadomień w prawym górnym rogu obszaru komentarzy.
Ten dzwonek zmieni kolor na czerwony i pokaże liczbę powiadomień użytkownika. Przykładowe powiadomienia to:
- Użytkownik odpowiedział Ci.
- Użytkownik odpowiedział w wątku, w którym skomentowałeś(-aś).
- Użytkownik zagłosował pozytywnie na Twój komentarz.
- Użytkownik odpowiedział na stronie, którą subskrybujesz.
Dzwonek powiadomień umożliwia również subskrybowanie całej strony.
Można jednak całkowicie wyłączyć dzwonek powiadomień:
Run 
To można również zrobić bez użycia kodu. Na stronie dostosowywania widżetu zobacz sekcję "Wyłącz dzwonek powiadomień".
Wyłącz profile 
Domyślnie FastComments pokaże profil użytkownika, gdy klikniesz jego awatar.
Jednak możemy wyłączyć tę funkcję:
Run 
Można to również zrobić bez kodu. Na stronie dostosowywania widgetu zobacz sekcję "Wyłącz profile".
Wyłącz komunikat o powodzeniu 
Domyślnie FastComments wyświetla komunikat o powodzeniu po dodaniu komentarza. Można to wyłączyć w następujący sposób:
Run 
Można to również zrobić bez użycia kodu. Na stronie dostosowywania widżetu:
Zmień ocenę zawartości GIF-ów 
Domyślnie widżet komentarzy FastComments ustawi gif rating na pg.
Dostępne opcje to g, pg, pg-13 i r.
Można to ustawić w kodzie lub za pomocą UI. W kodzie możemy to zrobić w następujący sposób:
Run 
W UI znajdziesz to pod Gif Picker Rating, o ile Disable Image Uploads? nie jest zaznaczone.
Moderacja treści obrazów 
Domyślnie widżet komentarzy FastComments ma moderowanie zawartości obrazów ustawione na off.
Dostępne opcje to off, low, medium i high.
W interfejsie dostosowywania widżetu znajdziesz to w sekcji Image Content Moderation Level, o ile nie jest zaznaczone Disable Image Uploads?.
Zmień styl głosowania 
Domyślnie FastComments wyświetla opcje głosowania jako strzałki w górę i w dół, umożliwiając użytkownikom oddanie głosu za lub przeciw komentarzowi.
Jednak można zmienić styl paska narzędzi głosowania. Obecne opcje to domyślne przyciski W górę/W dół lub użycie mechanizmu głosowania w stylu serca.
Używamy flagi voteStyle w następujący sposób:
Run 
Zdecydowanie zalecamy zrobienie tego bez kodu, ponieważ włącza to również walidacje po stronie serwera. Na stronie dostosowywania widżetu zobacz sekcję "Vote Style".
Głosowanie można również wyłączyć — zobacz Disable Voting powyżej opcji stylu.
Wyłącz usuwanie 
Domyślnie FastComments pozwala użytkownikom usuwać ich komentarze.
Jednak można temu zapobiec.
Na stronie dostosowywania widżetu zobacz opcję "Disable Deleting".
- To dotyczy tylko zwykłych komentujących, a nie moderatorów ani administratorów, którzy nadal będą mogli usuwać.
- To będzie miało również wpływ na integracje API w przypadku przekazania
contextUserId.
Wyłącz edycję 
Domyślnie FastComments pozwala użytkownikom edytować ich komentarze.
Jednak można temu zapobiec.
Na stronie dostosowywania widżetu zobacz opcję "Wyłącz edycję".
- To dotyczy tylko zwykłych komentujących, a nie moderatorów ani administratorów, którzy nadal będą mogli edytować.
- To będzie miało również wpływ na integracje API, gdy zostanie przekazane
contextUserId.
Wyróżnianie nowych komentarzy 
FastComments oferuje kilka sposobów wyróżniania nowych komentarzy.
Przede wszystkim, domyślnie komentarze, które wywołały powiadomienie w aplikacji (odpowiedzi, odpowiedzi w tym samym wątku, lub komentarze na stronie
którą subskrybujesz), będą automatycznie wyróżnione poprzez lekkie świecenie awatara użytkownika. Kolor można dostosować przez CSS
używając klasy is-unread.
Komentarze opublikowane w ciągu ostatnich 24 godzin mają przypisaną klasę 24hr, którą można wykorzystać do stylizacji.
Wreszcie, wszystkie nowe komentarze na żywo, które pojawią się w sesji użytkownika, będą przez kilka sekund wyróżnione animacją. Odbywa się to za pomocą
klasy CSS is-live i również można to dostosować.
Rozmiary stron 
Domyślnie rozmiar strony w FastComments to 30. Obejmuje to odpowiedzi w wątkach.
Rozmiar strony można dostosować w Interfejsie konfiguracji widżetu w różnych rozmiarach od 10 do 200.
Zwróć uwagę, że zmiana rozmiaru strony wymaga przeliczenia wszystkich wątków komentarzy w Twoim koncie. Może to potrwać kilka minut.
Nie można tego skonfigurować w widżecie po stronie klienta, ponieważ strony są obliczane po stronie serwera.
Przykładowa konfiguracja przedstawiona jest poniżej:
Rozmiary stron można dostosować globalnie, dla domeny lub dla konkretnej strony, tworząc różne reguły dostosowań.
To wpłynie na wszystkich klientów, integracje i frameworki, których możesz używać do wyświetlania komentarzy za pomocą naszej platformy.
Szablony e-mail 
E-maile wysyłane przez FastComments do Twoich klientów można dostosować. Szablon, logika, i tłumaczenia można zmienić. Treść można dostosować w zależności od lokalizacji (locale), a styl można nawet zmieniać w zależności od domeny. Dowiedz się więcej o niestandardowych szablonach e-mail tutaj.
Formaty nazw użytkowników 
Domyślnie FastComments pokaże nazwę użytkownika tak, jak ją wprowadził, lub tak, jak została przekazana przez SSO.
Jednak może być pożądane zamaskowanie lub wyświetlenie nazwy użytkownika w inny sposób. Na przykład, jeśli nazwa użytkownika to Allen Rex, być może chcesz pokazywać tylko "Allen R.".
Można to zrobić bez kodu w Widget Customization UI, w ustawieniu o nazwie Commenter Name Format:
Dostępne formaty to:
- Capitalize (wyświetla Example User jako Example User)
- Last Initial (wyświetla Example User jako Example U.)
- All Initials (wyświetla Example User jako E. U.)
- Pokaż "Anonim"
Efekt tej zmiany jest natychmiastowy. Użytkownicy nadal będą widzieć swoją pełną nazwę użytkownika na górze obszaru komentarzy, dla siebie, ale ich komentarze będą pokazywać zmodyfikowaną nazwę użytkownika.
Nazwy użytkowników są maskowane po stronie serwera w celu ochrony użytkowników.
Wyłączanie przesyłania obrazów 
Domyślnie FastComments umożliwia przesyłanie obrazów. Można to wyłączyć ustawiając flagę noImageUploads na true.
Run 
Można to dostosować bez pisania kodu, na stronie personalizacji widgetu:
Włącz pole wyszukiwania 
Domyślnie w widżecie komentarzy nie jest wyświetlane pole wyszukiwania.
Możemy jednak włączyć to, ustawiając flagę enableSearch na true:
Run 
Można to także zrobić bez użycia kodu. Na stronie personalizacji widżetu zobacz opcję "Enable Search Box".
Włącz spoilery 
Możemy włączyć obsługę spoilerów ustawiając flagę enableSpoilers na true:
Run 
Można to również zrobić bez kodu. Na stronie dostosowywania widżetu zobacz opcję "Włącz spoilery".
Gdy tekst jest zaznaczony, a teraz widoczny przycisk SPOILER zostanie kliknięty, tekst zostanie zamaskowany aż do momentu, gdy użytkownik najedzie na niego kursorem. W trybie ciemnym robimy to samo, używając innych kolorów, które lepiej pasują do trybu ciemnego.
Jest to również zgodne z edytorem WYSIWYG.
Włącz liczniki wyświetleń komentarzy 
Domyślnie FastComments nie śledzi, kto obejrzał dany komentarz ani nie dostarcza żadnych statystyk w tym zakresie.
Możemy jednak włączyć tę funkcję — wówczas system zacznie śledzić, gdy użytkownik przewinie do komentarza.
Kiedy to nastąpi, licznik obok ikony oka przy każdym komentarzu zostanie zwiększony. Licznik jest aktualizowany na żywo i skracany zgodnie z ustawieniami regionalnymi użytkownika.
Możemy to włączyć, ustawiając flagę enableViewCounts na true:
Run 
Można to dostosować bez kodu, na stronie personalizacji widżetu:
Śledzimy user id* osoby, która obejrzała komentarz, dzięki czemu ponowne obejrzenie komentarza przez tę samą osobę nie zwiększa licznika. Jeśli komentarz zostanie obejrzany ponownie po upływie dwóch lat, licznik zostanie ponownie zwiększony.
- *Uwaga: albo anon session id, albo user's IP jako wartość haszowana.
Wyświetlaj komentarze na żywo od razu 
Domyślnie komentowanie na żywo jest włączone. Oznacza to, że jeśli jakiekolwiek komentarze zostaną dodane, usunięte, edytowane lub przypięte, zmiany powinny pojawić się dla wszystkich użytkowników przeglądających wątek komentarzy w tym samym czasie.
Jednak domyślnie nowe komentarze pojawią się pod dynamicznie wyświetlanym przyciskiem z tekstem podobnym do "Pokaż 2 nowe komentarze".
Jeżeli nowe komentarze są odpowiedziami bezpośrednio do strony, przycisk pojawi się u góry wątku komentarzy. Jeśli są odpowiedziami na konkretny komentarz, przycisk pojawi się pod tym komentarzem.
Ma to zapobiec ciągłej zmianie rozmiaru strony dla użytkownika, co może powodować frustrację przy próbie chwycenia paska przewijania.
W niektórych przypadkach użycia, takich jak licytacje na żywo, lub wydarzenia online, takie zachowanie nie jest pożądane - możesz chcieć, aby widżet komentarzy był bardziej jak pole "chat", gdzie nowe komentarze "pokazują się od razu".
Stąd nazwa flagi, która włącza tę funkcję: showLiveRightAway.
Możemy ją włączyć w następujący sposób:
Run 
Można to dostosować bez kodu, na stronie personalizacji widżetu:
Wyłączanie komentowania na żywo 
Domyślnie w FastComments komentowanie na żywo jest włączone.
Oznacza to, że każdy widz wątku komentarzy powinien widzieć tę samą zawartość.
Na przykład, jeśli komentarz zostanie dodany, ten komentarz powinien się pojawić. Jeśli komentarz zostanie edytowany lub usunięty, to komentarze te zostaną edytowane lub usunięte dla wszystkich widzów wątku. To samo dotyczy głosów i wszystkich działań moderacyjnych.
Jednakże możemy to wyłączyć:
Run 
To można też zrobić bez użycia kodu. Na stronie dostosowywania widżetu zobacz sekcję "Disable Live Commenting".
Nowe komentarze na żywo na dół 
Domyślnie nowe komentarze na żywo pojawiają się na górze listy komentarzy w momencie ich publikacji w czasie rzeczywistym.
Po włączeniu tej opcji nowe komentarze na żywo będą dodawane zamiast tego na dół listy. Ma to wpływ na sposób wyświetlania komentarzy, gdy są publikowane na żywo podczas przeglądania wątku komentarzy przez użytkowników.
Run 
Po włączeniu tego ustawienia:
- Nowe komentarze na żywo publikowane przez innych użytkowników będą pojawiać się na dole listy komentarzy
- Użytkownicy będą widzieć nowe komentarze pojawiające się poniżej istniejących komentarzy w czasie rzeczywistym
- To wpływa tylko na aktualizacje komentarzy na żywo - nie na początkowe ładowanie strony
- Może to pomóc w zachowaniu ciągłości czytania, gdy użytkownicy śledzą dyskusję
Zwróć uwagę, że to ustawienie wpływa tylko na to, gdzie umieszczane są nowe komentarze na żywo w momencie ich nadejścia w czasie rzeczywistym. Nie ma wpływu na początkowe ustawienie sortowania przy ładowaniu strony.
Włączanie nieskończonego przewijania 
Domyślnie widżet FastComments automatycznie dopasowuje swoją wysokość, aby zmieścić wszystkie widoczne komentarze. Paginacja jest realizowana za pomocą przycisku "Pokaż następne" na końcu bieżącej strony, ponieważ uznaliśmy, że taka interakcja jest najbardziej naturalna dla większości użytkowników.
Jednak w niektórych przypadkach preferowane jest przewijanie nieskończone. Na przykład używamy tej funkcji w naszym produkcie Stream Chat.
Możemy ukryć przyciski "Pokaż następne" i przełączyć na przewijanie nieskończone ustawiając flagę enableInfiniteScrolling na true:
Run 
Wymaga to również dodania niestandardowego CSS. Dodaj niestandardowy CSS dla selektora .comments, aby włączyć przewijanie, na przykład:
Run 
Pełny, działający przykład wyglądałby następująco:
Run 
W powyższym przykładzie używamy właściwości customCSS, jednak zalecane jest użycie interfejsu konfiguracji widżetu ze względów wydajnościowych. Zobacz dokumentację niestandardowego CSS.
Zmiana domyślnego kierunku sortowania 
Domyślnie FastComments sortuje komentarze według kierunku sortowania „Most Relevant”.
Sortowanie „Most Relevant” bierze pod uwagę czas dodania komentarza oraz liczbę głosów przy ustalaniu kolejności.
Użytkownik może następnie zmienić kierunek sortowania na Najstarsze najpierw lub Najnowsze najpierw w interfejsie widżetu komentarzy.
Możemy jednak ustawić domyślny kierunek na dowolny z tych trzech. Na przykład, jeśli chcesz pokazywać najpierw najstarsze komentarze:
Run 
Ustawiamy wartość defaultSortDirection na "OF", aby ustawić kierunek na "OF".
Aby ustawić kierunek sortowania na najnowsze najpierw, zrobimy następująco:
Run 
Prawidłowe wartości dla defaultSortDirection to:
- MR: "Most Recent"
- NF: "Newest First"
- OF: "Oldest First"
Można to także zrobić bez użycia kodu. Na stronie dostosowywania widżetu zobacz sekcję „Domyślny kierunek sortowania”.
Zauważ, że komentarze na każdej stronie dla każdego kierunku sortowania są wstępnie obliczane, więc wszystkie kierunki sortowania mają taką samą wydajność.
Wyświetlanie wszystkich komentarzy naraz — wyłącz paginację 
Aby wyłączyć paginację i wyświetlić wszystkie komentarze jednocześnie, ustaw startingPage na -1.
Run 
Przeniesienie pola odpowiedzi za komentarze 
Domyślnie pole wpisywania komentarza znajduje się przed wątkiem komentarzy. Jednak ustawiając ten parametr konfiguracji na true możemy przenieść je po.
Run 
Można to dostosować bez kodu, na stronie dostosowywania widżetu:
Ograniczenie długości komentarza 
Maksymalna liczba znaków, które można wprowadzić w polu komentarza, może być ograniczona przez parametr maxCommentCharacterLength.
Wartość domyślna to 2000.
Elementy takie jak adresy URL obrazów nie są uwzględniane przy określaniu długości.
Run 
Można to dostosować bez użycia kodu, na stronie dostosowywania widżetu:
Wyłącz wielolinijkowe komentowanie 
Domyślnie FastComments pozwala użytkownikowi wpisać komentarz składający się z dowolnej liczby wierszy, aż do domyślnego limitu znaków.
Jednakże może być pożądane ograniczenie użytkownika do wpisania tylko jednej linii tekstu. Przykładowe zastosowania to aukcje online lub czat na żywo, do których FastComments może być użyty.
Włączamy flagę useSingleLineCommentInput w następujący sposób:
Run 
Można to również zrobić bez kodu. Na stronie dostosowywania widżetu zobacz sekcję "Włącz jednolinijkowe pole komentarza".
Należy pamiętać, że komentarze na każdej stronie dla każdego kierunku sortowania są wstępnie obliczane, więc wszystkie kierunki sortowania mają taką samą wydajność.
Ogranicz liczbę komentarzy na użytkownika 
Domyślnie każdy użytkownik może przesłać do 5 comments w tej samej minucie.
To jest śledzone na podstawie user id, anon user id i ip address (hashed).
Można to dostosować bez użycia kodu, na stronie konfiguracji widgetu:
Uwaga: jeśli używasz comment creation API, możesz chcieć przekazać oryginalny adres ip użytkownika w żądaniu do naszego backendu, aby rate limiting był stosowany
per user, a nie globalnie dla twojego konta.
Zablokuj dodawanie nowych komentarzy najwyższego poziomu 
Ustawienie noNewRootComments na true spowoduje, że widżet ukryje obszar odpowiedzi głównej, ale nadal pozwoli użytkownikom odpowiadać
na komentarze podrzędne. Możesz na przykład ustawić to warunkowo podczas ładowania strony, aby tylko niektórzy użytkownicy mogli zostawiać komentarze najwyższego poziomu.
Run 
Maksymalna głębokość odpowiedzi 
Domyślnie FastComments pozwala na nieograniczone zagnieżdżanie odpowiedzi, tworząc strukturę wątków, w której użytkownicy mogą odpowiadać na odpowiedzi w nieskończoność.
Opcja maxReplyDepth pozwala ograniczyć, jak głęboko mogą sięgać wątki odpowiedzi. Gdy osiągnięty zostanie maksymalny poziom, użytkownicy nie będą już widzieć przycisku odpowiedzi przy komentarzach na tym poziomie.
Run 
Przy ustawieniu maxReplyDepth na 2:
- Użytkownicy mogą komentować na najwyższym poziomie (głębokość 0)
- Użytkownicy mogą odpowiadać na komentarze najwyższego poziomu (głębokość 1)
- Użytkownicy mogą odpowiadać na te odpowiedzi (głębokość 2)
- Dalsze odpowiedzi poza głębokością 2 nie są dozwolone
Ustawienie na 1 pozwoliłoby tylko na odpowiedzi na komentarze najwyższego poziomu, tworząc płytszą strukturę dyskusji.
Ustawienie maxReplyDepth na 0 wyłączyłoby wszystkie odpowiedzi, pozwalając jedynie na komentarze najwyższego poziomu. Jeśli nie zostanie określone, odpowiedzi mogą być zagnieżdżane bez ograniczeń.
Przegląd Single Sign-On (SSO) 
SSO, czyli single-sign-on, to zbiór konwencji używanych, aby umożliwić Tobie lub Twoim użytkownikom korzystanie z FastComments bez tworzenia kolejnego konta.
Zakładając, że nie dopuszczasz anonimowego komentowania, konto jest wymagane, aby komentować za pomocą FastComments. Upraszczamy ten proces rejestracji — użytkownik po prostu zostawia swój e-mail przy komentowaniu. Rozumiemy jednak, że nawet to może być dodatkową barierą, której niektóre serwisy chcą uniknąć.
Możemy zredukować to utrudnienie, stosując tylko jeden przepływ logowania dla całej Twojej witryny.
Jak to uzyskać?
Wszystkie typy kont obecnie mają dostęp do SSO. Jednak maksymalna liczba użytkowników SSO będzie się różnić w zależności od Twojego pakietu. Podobnie jak w przypadku innych funkcji, plany Pro i wyższe zapewniają bezpośrednie wsparcie deweloperskie.
Porównajmy opcje, a następnie przejdźmy do szczegółów każdej z nich.
Migracje użytkowników i komentarzy
Podczas migracji z platformy ze SSO, takiej jak Disqus, będziesz już mieć użytkowników i ich komentarze.
Komentarze są importowane w ramach migracji, albo przez API, nasze narzędzie Import UI, albo przez wsparcie klienta. Import UI jest preferowany, jeśli obsługuje platformę, z której migrujesz, ponieważ zawiera obsługę błędów, ekstrakcję i przesyłanie avatarów oraz mediów oraz system monitorowania zadań wsadowych.
Sami użytkownicy są dodawani automatycznie przy pierwszym wyświetleniu wątków komentarzy. Alternatywnie mogą być wcześniej dodani za pomocą API, ale takie działanie nie daje wielu korzyści.
Jeśli komentarze są importowane, a użytkownicy SSO nie zostaną dodani ręcznie przez API, to komentarze zostaną automatycznie przypisane do kont użytkowników w momencie, gdy konto zostanie utworzone po ich pierwszym wyświetleniu dowolnego wątku komentarzy. Wówczas będą mogli zarządzać, edytować i usuwać komentarze, które pierwotnie napisali.
Automatyczna migracja odbywa się za pomocą e-maila lub nazwy użytkownika. Niektóre platformy nie udostępniają e-maili podczas eksportu, jak Disqus, więc w takim przypadku używamy nazwy użytkownika jako zastępstwa.
- Jeśli podasz pasującą nazwę użytkownika oraz e-mail w SSO payload, dodamy e-mail do poszczególnych obiektów komentarzy, aby powiadomienia i wzmianki działały.
Jeśli chcesz zaimportować komentarze i użytkowników jednocześnie, współpracuj ze wsparciem, aby przenieść komentarze do odpowiednich kont użytkowników po zaimportowaniu użytkowników przez API.
Podsumowując, najprostsza ścieżka migracji to:
- Import komentarzy.
- Avatary i inne media są migrowane automatycznie, jeśli używasz Import UI w
Manage Data -> Imports.
- Avatary i inne media są migrowane automatycznie, jeśli używasz Import UI w
- Skonfiguruj Secure lub Simple SSO.
- Pozwól, aby migracja odbyła się automatycznie dla każdego użytkownika przy jego pierwszym logowaniu.
- Zazwyczaj dodaje to mniej niż sekundę do czasu ładowania strony, jeśli użytkownik ma mniej niż 50k komentarzy.
Użytkownicy WordPress
Jeśli używasz naszej wtyczki WordPress, nie musisz pisać żadnego kodu! Po prostu przejdź do strony administracyjnej wtyczki, kliknij SSO Settings, a następnie Enable.
Spowoduje to uruchomienie kreatora z jednym przyciskiem, który utworzy Twój klucz API, wyśle go do Twojej instalacji WordPress i włączy SSO. Uprościliśmy to dla Ciebie do jednego kliknięcia.
Zwróć uwagę, że jeśli instalujesz wtyczkę po raz pierwszy, będziesz musiał przejść proces konfiguracji, zanim zobaczysz stronę administracyjną z przyciskiem SSO Settings.
WordPress SSO - Moderatorzy
Zauważ, że obecnie aby obok komentarzy Twoich moderatorów pojawiła się odznaka "Moderator" podczas komentowania przy użyciu wtyczki FastComments dla WordPress, musi on być również dodany jako Moderator w panelu FastComments oraz mieć zweryfikowany e-mail.
Integracje niestandardowe
Dla integracji niestandardowych istnieją dwie opcje.
Opcja pierwsza - Secure SSO
W przypadku Secure SSO FastComments wie, że użytkownik komentujący, głosujący i czytający komentarze jest prawdziwym użytkownikiem na Twojej stronie.
Jeśli utworzysz prawidłowy payload, użytkownik zawsze będzie miał płynne doświadczenie komentowania.
W Secure SSO payload SSO jest tworzony po stronie server-side przy użyciu uwierzytelniania HMAC, a następnie przekazywany do widżetu po stronie client.
W Secure SSO konto użytkownika jest całkowicie oddzielone od reszty bazy użytkowników FastComments. Oznacza to, że jeśli mamy dwóch partnerów Company A i Company B, każdy z nich może mieć użytkownika SSO o nazwie użytkownika "Bob".
Wymagania
- Podstawowa wiedza z zakresu tworzenia backendu.
- Podstawowa wiedza dotycząca obchodzenia się z tajnymi kluczami API.
- Podstawowa wiedza dotycząca tworzenia API lub renderowania po stronie serwera.
Zalety
- Bezpieczne.
- Płynne doświadczenie komentowania.
Wady
- Wymaga prac backendowych.
Aktualizowanie danych użytkownika
W Secure SSO za każdym razem, gdy przekażesz sso user payload, zaktualizujemy użytkownika do najnowszych informacji. Na przykład, jeśli
użytkownik ma nazwę użytkownika X, a Ty przekażesz Y w SSO payload, jego nazwa użytkownika zmieni się na Y.
Jeśli chcesz usunąć wartości przy użyciu tego podejścia, ustaw je na null (nie undefined).
Secure SSO API
Udostępniamy również API do interakcji z użytkownikami SSO. Zobacz the docs.
Zwróć uwagę, że przy użyciu Secure SSO, użytkownicy są tworzeni automatycznie w tle podczas ładowania strony. Nie musisz masowo importować swoich użytkowników.
Opcja druga - Simple SSO
Alternatywą dla Secure SSO jest po prostu przekazanie informacji o użytkowniku do widżetu komentarzy.
Podanie e-maila przy Simple SSO nie jest wymagane, jednak bez niego ich komentarze będą wyświetlane jako "Unverified".
Uwaga! Od początku 2022 nazwy użytkowników w Simple SSO nie muszą być unikalne w całym serwisie FastComments.com.
Idealnie Simple SSO powinno być wybierane tylko podczas tworzenia na platformie, która nie daje dostępu do backendu.
Wymagania
- Podstawowa wiedza z zakresu programowania po stronie klienta.
- Znajomość przynajmniej e-maila użytkownika.
Zalety
- Proste.
- Wszystkie działania są nadal weryfikowane.
- Użytkownik nigdy nie wprowadza swojej nazwy użytkownika ani e-maila.
Wady
- Mniej bezpieczne niż Secure SSO, ponieważ payload po stronie klienta może być spreparowany, aby podszyć się pod dowolnego użytkownika.
Simple SSO API
Użytkownicy tworzeni automatycznie przez przepływ Simple SSO są przechowywani jako obiekty SSOUser. Można uzyskać do nich dostęp i nimi zarządzać za pomocą API SSOUser. Zobacz the docs.
Integracje niestandardowe — bezpieczne Single Sign-On (SSO) 
FastComments Secure SSO używa szyfrowania HMAC-SHA256 jako mechanizmu implementacji SSO. Najpierw omówimy ogólną architekturę, przedstawimy przykłady i szczegółowe kroki.
Istnieje również dokumentacja dotycząca migracji z innych dostawców z podobnymi mechanizmami SSO oraz różnic.
Przepływ wygląda tak:
Ponieważ Secure SSO obejmuje rozwój full-stack, pełne działające przykłady kodu w Java/Spring, NodeJS/Express i czystym PHP są obecnie na GitHub.
Chociaż w przykładzie NodeJS używamy ExpressJS, a w przykładzie Java używamy Spring, w tych środowiskach uruchomieniowych nie są wymagane żadne frameworki/biblioteki do implementacji FastComments SSO — działają natywne pakiety kryptograficzne.
Nie musisz tworzyć żadnych nowych punktów końcowych API przy użyciu FastComments SSO. Po prostu zaszyfruj informacje użytkownika za pomocą swojego klucza sekretnego i przekaż ładunek do widgetu komentarzy.
Pobierz swój tajny klucz API
Twój tajny klucz API można pobrać z tej strony. Możesz także znaleźć tę stronę, przechodząc do Moje konto, klikając kafelek API/SSO, a następnie klikając "Get API Secret Key".
Parametry widgetu komentarzy
Wysokopoziomowa dokumentacja API dla widgetu komentarzy jest dostępna tutaj.
Przejdźmy do bardziej szczegółowego opisu, co oznaczają te parametry.
Widget komentarzy przyjmuje obiekt konfiguracyjny — przekazujesz go już, jeśli używasz FastComments do przekazania identyfikatora klienta (nazywanego tenantId).
Aby włączyć SSO, przekaż nowy obiekt "sso", który musi zawierać następujące parametry. Wartości powinny być generowane po stronie serwera.
- userDataJSONBase64: Dane użytkownika w formacie JSON, które następnie są kodowane w Base64.
- verificationHash: HMAC-SHA256 hash utworzony z UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Znacznik czasu epoch w milisekundach. Nie może być w przyszłości ani starszy niż dwa dni wstecz.
- loginURL: URL, który widget komentarzy może wyświetlić, aby zalogować użytkownika.
- logoutURL: URL, który widget komentarzy może wyświetlić, aby wylogować użytkownika.
- loginCallback: Gdy jest podany zamiast loginURL, funkcja, którą widget komentarzy wywoła po kliknięciu przycisku logowania.
- logoutCallback: Gdy jest podany zamiast logoutURL, funkcja, którą widget komentarzy wywoła po kliknięciu przycisku wylogowania.

The User Object
The User object contains the following schema:

Moderatorzy i administratorzy
Dla administratorów i moderatorów przekaż odpowiednio flagi isAdmin lub isModerator w obiekcie SSOUser.
Powiadomienia
Aby włączyć lub wyłączyć powiadomienia, ustaw wartość optedInNotifications na true lub false. Przy pierwszym załadowaniu strony przez użytkownika z tą wartością w ładunku SSO, jego ustawienia powiadomień zostaną zaktualizowane.
Dodatkowo, jeśli chcesz, aby użytkownicy otrzymywali e-maile z powiadomieniami o aktywności na stronach, na które się zapisali (w przeciwieństwie do samych powiadomień w aplikacji), ustaw optedInSubscriptionNotifications na true.
Użytkownicy VIP i specjalne etykiety
Możesz wyświetlić specjalną etykietę obok imienia użytkownika, używając opcjonalnego pola "displayLabel".
Niezalogowani użytkownicy
Aby przedstawić niezalogowanego użytkownika, po prostu nie wypełniaj userDataJSONBase64, verificationHash ani timestamp. Podaj loginURL.
Tacy użytkownicy nie będą mogli komentować; zamiast tego zostanie im wyświetlony komunikat logowania (wiadomość, link lub przycisk, w zależności od konfiguracji).
Bezpośrednie przykłady serializacji i haszowania danych użytkownika
Więcej szczegółów i przykłady tutaj (js), tutaj (java) oraz tutaj (php).
Rozumiemy, że każda integracja może być skomplikowana i uciążliwa. Nie wahaj się skontaktować ze swoim przedstawicielem lub skorzystać ze strony wsparcia.
Integracje niestandardowe — proste Single Sign-On (SSO) 
Dzięki Simple SSO możemy dostarczyć widgetowi komentarzy informacje o użytkowniku, aby nie musiał podawać swojej nazwy użytkownika ani adresu e-mail, aby skomentować.
Możemy skonfigurować Simple SSO w następujący sposób:
Run 
Użytkownik zostanie zalogowany i za kulisami zostanie utworzony użytkownik SSO. Użytkownik będzie miał ustawione createdFromSimpleSSO na true, jeśli zostanie pobrany z API.
Notes:
- E-mail jest unikalnym identyfikatorem dla Simple SSO.
- Podanie adresu e-mail przy Simple SSO nie jest wymagane, jednak domyślnie ich komentarze będą wyświetlane jako "Niezweryfikowany". Jeśli nie zostanie podany adres e-mail, użytkownik nie może zostać w pełni uwierzytelniony.
- NOWOŚĆ Od stycznia 2022: Nazwy użytkowników nie muszą być unikalne w całym fastcomments.com
- Simple SSO może automatycznie tworzyć i aktualizować użytkowników SSO, jeśli podany jest adres e-mail i użytkownik nie został pierwotnie utworzony przez Secure SSO.
- Możesz określić odznaki dla użytkownika za pomocą właściwości
badgeConfig. TablicabadgeIdszawiera identyfikatory odznak, które mają być powiązane z użytkownikiem. Jeślioverridejest ustawione natrue, zastąpi wszystkie istniejące odznaki wyświetlane przy komentarzach; jeślifalse, doda je do istniejących odznak.
Integracje niestandardowe — migracja z Disqus SSO 
Największe różnice między Disqus a FastComments Secure SSO polegają na tym, że Disqus używa SHA1 do szyfrowania, podczas gdy my używamy SHA256. Oznacza to, że migracja z Disqus jest prosta - zmień używany algorytm skrótu z SHA1 na SHA256 i zaktualizuj nazwy właściwości przekazywanych do UI.
Integracje niestandardowe — migracja z Commento SSO 
Commento używa radykalnie innego podejścia do SSO - wymagają udostępnienia punktu końcowego, który wywołują w celu uwierzytelnienia użytkownika.
FastComments działa odwrotnie - po prostu zakoduj i oblicz skrót informacji o użytkowniku przy użyciu swojego klucza tajnego i przekaż je dalej.
Ochrona wątków komentarzy za pomocą Single Sign-On (SSO) 
FastComments SSO (szczegóły tutaj) zapewnia Twoim użytkownikom możliwość komentowania bez konieczności logowania się do innej platformy.
Jednak samo to nie zabezpiecza wątków komentarzy, ponieważ domyślnie dane komentarzy są informacją publiczną - każdy, kto może zobaczyć stronę, może zobaczyć komentarze.
Zmieniając ustawienie, możemy zabronić pobierania komentarzy, chyba że robi to administrator lub prawidłowy użytkownik SSO.
Konfiguracja bez kodu
Możemy uniemożliwić przeglądanie i interakcję z naszymi wątkami komentarzy, gdy SSO jest skonfigurowane, tworząc regułę dostosowywania.
When doing so, search for SSO, and you will find this option:
Włącz tę opcję i zapisz regułę dostosowywania.
Ochrona wybranej domeny lub strony
Aby chronić tylko określoną Domain lub Page, po prostu skonfigurujemy regułę dostosowywania tak, aby to robiła.
Na górze interfejsu dostosowywania znajdziemy dwa pola wejściowe, Domain i URL ID.
Aby chronić konkretną domenę, wpisz daną domenę w pole "domain".
Aby chronić konkretną stronę, wpisz adres URL strony w polu "URL ID". Jeśli masz niestandardową integrację z FastComments, możesz zamiast URL wpisać tutaj inny typ identyfikatora.
Poziomy zabezpieczeń
Decydując się na wymaganie SSO, będziesz chciał zdecydować, czy wymagasz Simple SSO czy Secure SSO. Jeśli wymagasz Simple SSO, obie metody są dozwolone, ale jeśli wymagasz Secure SSO, to zawartość musi być pobrana z Secure SSO payload zahaszowanym Twoim API key, aby mogła być wyświetlona.
Opcja poziomu zabezpieczeń pojawi się, gdy wybierzesz "Require SSO To View Comments".
Ochrona wykraczająca poza odczyt
Włączenie tej opcji zabezpieczy stronę lub domenę przed dodawaniem komentarzy, chyba że użytkownik jest zalogowany przez SSO.
Uwaga
Użytkownicy, którzy utworzyli komentarze przed integracją SSO, nie będą mogli ich zobaczyć, chyba że zalogują się przez Twoją integrację SSO.
Zezwalaj na anonimowe komentowanie 
Domyślnie FastComments będzie wymagać adresu e-mail, aby komentować. Nie musi to być prawidłowy adres e-mail, jednak dopóki użytkownik nie kliknie wysłanego do niego linku, jego komentarz będzie oznaczony etykietą "Niezweryfikowany komentarz".
Możemy jednak usunąć wymóg podawania adresu e-mail. Pole do wprowadzania adresu e-mail nadal będzie wyświetlane, ale nie będzie już wymagane.
Można to skonfigurować w interfejsie dostosowywania widżetu:
Zapobieganie wygaśnięciu anonimowych komentarzy 
FastComments można skonfigurować tak, aby usuwał niezweryfikowane komentarze po określonej liczbie dni. To pomaga zwalczać spam.
Domyślnie tego nie robi.
Można to skonfigurować lub wyłączyć na stronie Ustawienia moderacji.
Wyłącz pola e-mail 
Gdy użytkownicy komentują i nie są zalogowani, zostaną poproszeni o podanie swojego adresu e-mail.
Spowoduje to utworzenie dla tego użytkownika "unverified session", a my poprosimy go o zweryfikowanie tej sesji za pomocą e-maila.
W przypadku niektórych witryn lub aplikacji pożądane jest, aby nie prosić użytkownika o adres e-mail podczas komentowania lub głosowania.
Włączenie anonimowego komentowania sprawia, że pole wprowadzania adresu e-mail staje się opcjonalne. Jednak można je całkowicie wyłączyć. Najpierw włącz anonimowe komentowanie, a następnie pojawi się opcja wyłączenia pól wprowadzania adresu e-mail.
Po włączeniu tej opcji pola e-mail nie będą w ogóle wyświetlane we wszystkich naszych produktach komentowania.
Zauważ, że przy takiej konfiguracji wszystkie komentarze będą niezweryfikowane, chyba że użytkownik utworzy konto i zaloguje się na https://fastcomments.com.
Możesz rozważyć wyłączenie etykiety „niezweryfikowane”.
Wyłącz etykietę „Niezweryfikowany” 
Domyślnie FastComments pokaże etykietę "Niezweryfikowany komentarz" dla komentarzy, które zostały zostawione dla użytkownika, który ma niezweryfikowaną sesję przeglądarki. Więcej informacji o komentowaniu bez weryfikacji znajdziesz tutaj.
Run 
Dodatkowo tę funkcję można zastosować bez pisania kodu w interfejsie personalizacji:
Ustawianie domyślnej nazwy użytkownika 
Kiedy użytkownicy komentują lub głosują i nie są zalogowani, zostaną poproszeni o podanie swojego adresu e-mail i nazwy użytkownika.
W przypadku anonimowego komentowania czasami warto zdefiniować domyślną nazwę użytkownika, aby zmniejszyć bariery przy komentowaniu. Można to zrobić w interfejsie personalizacji. Anonimowe komentowanie musi być najpierw włączone.
Wywołania zwrotne 
Wszystkie biblioteki dla widżetu komentarzy (obecnie Angular, React, Vue) obsługują wywołania zwrotne.
Wywołania zwrotne są określane w obiekcie konfiguracji, z tym samym podpisem dla każdej biblioteki.
Wywołania zwrotne obsługiwane to:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
Dokładne sygnatury można znaleźć w definicjach TypeScript.
Oto przykład z użyciem wszystkich wywołań zwrotnych:
Run 
Ręczne określanie lokalizacji użytkownika 
Domyślnie FastComments wyświetla widżet komentarzy w lokalizacji (locale) określonej przez system i przeglądarkę użytkownika.
Gdy użytkownik doda komentarz lub się zaloguje, aktualizujemy jego ostatnio używaną lokalizację i wykorzystujemy ją również do wysyłania e‑maili.
Ma to wpływ na sposób, w jaki widżet komentarzy jest tłumaczony dla użytkownika. Locale składa się z języka i regionu użytkownika, więc skonfigurowanie locale\nzazwyczaj zmieni język używany do wyświetlania tekstu.
Via The UI
Można to zdefiniować za pomocą interfejsu dostosowywania widżetu. Zobacz opcję "Locale / Language":
Via Code
Można to nadpisać, ustawiając żądane locale.
Run 
Supported Languages and Locale Codes
Pełną listę obsługiwanych języków i odpowiadających im kodów locale znajdziesz tutaj.
SSO Note
Jeśli używasz SSO, warto przekazać locale użytkownika w obiekcie użytkownika, aby e‑maile i inne treści były dla użytkownika poprawnie zlokalizowane.
Ograniczanie dozwolonych języków 
Domyślnie FastComments nie ogranicza języków używanych do komentowania.
Może być pożądane ograniczenie języków używanych przez społeczność.
Można to skonfigurować bez użycia kodu, na stronie dostosowywania widżetu:
System przeanalizuje ich komentarz i określi jego język, a następnie porówna go z listą dozwolonych języków.
Jeśli komentarz jest napisany w języku, który nie jest dozwolony, zostanie wyświetlony zlokalizowany komunikat o błędzie.
Tytuły stron 
Aktualny tytuł strony jest powiązany ze wskazanym urlId i zapisany do wykorzystania w narzędziach moderacji.
Domyślnie jest pobierany z document.title.
Jeżeli chcesz, możesz określić własny tytuł strony w następujący sposób:
Run 
Zablokuj nowe odpowiedzi i wyłącz głosowanie 
Komentowanie można zablokować, tak aby nie można było zostawiać nowych komentarzy ani głosów, ustawiając flagę readonly na true.
Komentarze również nie będą mogły być edytowane ani usuwane.
Run 
Można to dostosować bez kodu, na stronie dostosowywania widżetu, dla całej domeny lub pojedynczej strony:
Aktualizacja!
Od listopada 2022 wątki mogą być blokowane lub odblokowywane na żywo przez administratorów i moderatorów za pomocą menu z trzema kropkami nad polem odpowiedzi.
To uniemożliwi dodawanie nowych komentarzy, jednocześnie umożliwiając głosowanie oraz pozwalając użytkownikom usunąć swoje komentarze, jeśli chcą, natomiast readonly tego nie pozwala.
To odpowiada polu isClosed w API Page.
Ograniczanie domen linków 
Domyślnie FastComments pozwala na umieszczanie linków do dowolnych zewnętrznych stron.
Można to ograniczyć do określonej listy stron lub domen. Próba opublikowania linku do strony lub domeny, której nie ma na zdefiniowanej liście, spowoduje wyświetlenie użytkownikowi komunikatu o błędzie.
Ta walidacja dotyczy tylko widżetu komentarzy i API. Importy nie są objęte.
To odbywa się bez kodu, na stronie dostosowywania widżetu:
---Liczba komentarzy i zliczanie wszystkich zagnieżdżonych odpowiedzi 
Liczba komentarzy wyświetlana u góry widżetu komentarzy może albo pokazywać wszystkie "top-level" komentarze, czyli te odpowiedzi, które są odpowiedziami bezpośrednio do strony lub artykułu, albo może być liczbą wszystkich zagnieżdżonych komentarzy.
Domyślnie jest to true - jest to liczba tej drugiej kategorii - wszystkich komentarzy. W starszych wersjach widżetu komentarzy wartością domyślną jest false.
Możemy zmienić zachowanie, tak aby była to liczba wszystkich zagnieżdżonych komentarzy, ustawiając flagę countAll na true.
Run 
Jeśli chcielibyśmy, aby liczba odzwierciedlała tylko komentarze najwyższego poziomu, ustawiamy flagę na false.
Run 
Obecnie nie można tego dostosować bez zmiany kodu.
Włączanie linków do autorów komentarzy 
Domyślnie FastComments poprosi użytkownika tylko o komentarz, nazwę użytkownika i adres e-mail.
Jednak w niektórych sytuacjach możesz chcieć, aby użytkownik zostawił link do własnego bloga lub strony internetowej.
Możemy włączyć wyświetlanie dodatkowego pola do wprowadzenia adresu URL strony użytkownika, ustawiając flagę enableCommenterLinks na true:
Run 
Po podaniu tego adresu URL konto użytkownika zostanie zaktualizowane, a nazwa użytkownika we wszystkich wcześniejszych i przyszłych komentarzach będzie prowadzić do tego adresu URL.
To można dostosować bez użycia kodu, na stronie dostosowywania widżetu:
Grupy moderacji 
Lista identyfikatorów wygenerowanych na stronie Grupy moderacji.
Jeśli zostanie określone, komentarze dodane przy użyciu tej konfiguracji będą zawierać ten sam zestaw moderationGroupIds.
Jeśli Moderator ma zdefiniowaną jedną lub więcej [Grupy moderacji], zobaczy on tylko komentarze na stronie Moderate Comments powiązane z jego grupą(ami).
Run 
Identyfikatory grup do wzmiankowania 
Lista identyfikatorów do użycia w autouzupełnianiu @mentions. Przydatne, gdy chcesz zapobiec oznaczaniu użytkowników, którzy nie mają wspólnych grup.
Jeśli zostanie określone, w autouzupełnianiu będą wyświetlani tylko użytkownicy z innych grup po wpisaniu znaku @.
Run 
Omijanie plików cookie stron trzecich 
W celu uwierzytelniania FastComments wymaga włączenia cookies stron trzecich w Twojej przeglądarce. Bez nich użytkownicy zawsze będą musieli zostawić swój adres e‑mail, aby skomentować (chyba że pole adresu e‑mail jest ukryte), a ich komentarze będą zawsze wyświetlane jako niezweryfikowane (domyślnie).
Aby to obejść, możesz włączyć mechanizm obejścia cookies stron trzecich.
Po włączeniu tego ustawienia pojawi się małe okienko popup informujące, że użytkownik jest logowany. To okienko pojawia się zawsze, gdy użytkownik wchodzi w interakcję z widżetem komentarzy; na przykład gdy zostawia komentarz.
Możemy to zrobić w kodzie, ustawiając flagę enableThirdPartyCookieBypass na true:
Run 
Możemy to także skonfigurować przez interfejs dostosowywania widżetu, w sekcji Enable Third-Party Cookie Popup:
Usuwanie komentarzy z odpowiedziami 
Domyślnie użytkownicy mogą usuwać własne komentarze. Ponadto usunięcie ich komentarza automatycznie usuwa wszystkie komentarze podrzędne i tymczasowe w wątku. To zachowanie jest również aktywne na żywo.
Możesz ograniczyć to w następujący sposób:
- Zamiast tego zanonimizuj usunięty komentarz (ustaw name i text na
[deleted]lub wartość niestandardową). - Nie pozwalaj na usuwanie komentarzy, gdy istnieją odpowiedzi. Wyświetlany jest konfigurowalny komunikat o błędzie.
- Ogranicz możliwość usuwania komentarzy z odpowiedziami tylko do administratorów i moderatorów.
To można skonfigurować w sekcji Comment Thread Deletion w interfejsie dostosowywania widżetu.
Wyświetl odznaki na górnym pasku 
Domyślnie FastComments wyświetla odznaki użytkowników tylko przy ich komentarzach w wątku komentarzy.
Możemy jednak wyświetlić odznaki użytkowników obok ich nazwy nad formularzem komentarza, włączając tę funkcję na stronie dostosowywania widżetu:
Spowoduje to wyświetlenie odznak użytkownika obok jego nazwy w obszarze górnego paska, dzięki czemu jego osiągnięcia i status będą bardziej widoczne podczas pisania komentarza.
Uwaga: ta funkcja musi być włączona w interfejsie dostosowywania widżetu, aby działała. Opcjonalnie możesz ustawić flagę showBadgesInTopBar na false w konfiguracji kodu, aby selektywnie ją wyłączyć nawet gdy jest włączona na poziomie serwera:
Run 