
Език 🇧🇬 Български
Основи
Визуален вид
Живо коментиране
Страниране и сортиране
Полето за отговор
SSO
Анонимно коментиране
Разни
Персонализиране и конфигурация
Персонализация и конфигурация
Контекст
Тук ще намерите задълбочена документация за всяка от функциите и настройките, които поддържа компонентът за коментари.
Тази документация обхваща основните концепции и ще разгледа подробно всяка област от функционалността, с практически указания и често срещани подводни камъни.
Ще бъдат предоставени примери с код, като релевантните редове ще бъдат маркирани. Ще бъдат показани и екранни снимки на страниците за конфигурация, където е приложимо.
Примерите с код ще използват нашата vanilla JavaScript библиотека, но опциите за конфигурация използват същите имена за всички версии на компонента за коментари (React, Vue, etc).
Повечето конфигурации и функции, описани в това ръководство, не изискват писане на код.
Идентифициране на вашия акаунт 
Може да забележите, че коментарният widget може да се използва с Tenant ID "demo", например:
Run 
Това е само за опитване и игра с коментарния widget. В продукция трябва да подадете вашия Tenant ID, по следния начин:
Run 
Вашият Tenant ID може да бъде намерен вече приложен в коментарния widget фрагмент от кода в акаунта ви.
Също така можете да намерите вашия Tenant ID и да управлявате вашите API ключове на страницата с API идентификационни данни.
Оттук нататък, ако сте влезли в FastComments, примерите с код ще използват вашия реален Tenant ID (ако сте влезли на https://fastcomments.com).
Как коментарите са свързани със страници и статии 
Когато визуализира нишка с коментари или когато потребител оставя коментар, FastComments трябва да знае към коя страница, статия или продукт принадлежат тези коментари.
За целта използваме нещо, което наричаме "URL ID". То може да бъде идентификатор, като низ или число, или URL адрес.
По подразбиране, ако не посочите urlId, той става URL адресът на страницата. Ще вземем текущия URL адрес на страницата и ще го почистим, за да премахнем често срещани маркетингови параметри или проследяващи идентификатори.
В случая с интеграции на трети страни, като WordPress, нашият плъгин обикновено използва идентификатора, който представлява текущо преглежданата информация, като URL ID, например идентификатора на статията/страницата.
Run 
Едно нещо, което често ще споменаваме в този документ, е Widget Customization UI.
Този интерфейс може да се използва за извършване на много промени в уиджета за коментари без писане на код.
Когато създавате правило за персонализиране, често ще искате то да се прилага към всички страници на вашия сайт. В някои случаи обаче искате да персонализирате уиджета за коментари на конкретна страница – или за да приложите персонализирано стилизиране, или може би да направите коментарите за тази конкретна страница анонимни. Можете например също да накарате коментарите на живо да се показват веднага на някои страници, докато на други да са скрити под бутони за известия.
Всичко това е възможно чрез полето URL ID на тази страница, което изглежда по следния начин:
Стойността в това поле трябва да съответства на параметъра urlId, подаден към уиджета за коментари. Ако искате вашето правило за персонализиране да не зависи от urlId, оставете това поле празно или въведете *.
От 2023 г. полето URL ID в персонализирането на уиджета приема и шаблони! Например можете
да имате */blog/* за стилизиране, специфично за вашия блог, и */store/* за стилизиране, специфично за вашия магазин,
като използвате един и същ домейн.
Внимание
- Ако вашата страница има хеш параметри (като example.com#page-1) – те ще станат част от URL ID по подразбиране.
- По време на миграции, например от WordPress към Gatsby, може да се наложи да мигрирате стойностите на URL ID на коментарите след първоначалната миграция. За целта се свържете с нас.
Показване на същите коментари на различни страници 
Тъй като параметърът urlId ни позволява да определим към коя страница или id принадлежат коментарите, можем просто да зададем urlId със същата стойност на тези страници.
Run 
Персонализирано стилизиране 
FastComments е проектиран да бъде персонализиран. Самият уиджет за коментари работи в iframe по съображения за сигурност, така че за прилагане на персонализирано стилизиране трябва да следвате един от два подхода.
Първият, най-лесният подход, който предпочитаме, е да използвате страницата за персонализиране на уиджета.
В страницата за персонализиране на уиджета вижте секцията "Show Advanced Options", под която има област с етикет "Custom CSS":
Този подход има някои предимства:
- Въведеният CSS се минифицира, преди да бъде изпратен на потребителя, а форматирането се запазва последователно в интерфейса за редактиране.
- Получавате всички предимства на интерфейса за персонализиране на уиджета, например лесно персонализиране на уиджета за коментари по различен начин за различни сайтове.
- Когато правим промени в уиджета за коментари, вашето персонализирано стилизиране ще бъде тествано като част от нашия процес на издаване.
Вторият подход е да посочите параметъра customCSS в конфигурацията на уиджета, както следва:
Run 
Това обаче има ограничения:
- Има ограничение колко персонализиран CSS може да бъде подаден, преди нашите сървъри да отхвърлят заявката, поради размера на хедърите.
- Трябва да управлявате персонализирания CSS в своята инфраструктура и система за изграждане. Това може да е предимство, а не недостатък.
- Има допълнителни разходи за изпращане на персонализирания CSS по мрежата два пъти в този случай, тъй като той трябва да бъде изпратен до нашите сървъри, а след това обратно в съдържанието на iframe. За повечето размери на данните обаче това не се забелязва.
- Честа оптимизация е минифицирането на CSS, за да се намали размерът му по мрежата, но с този подход ще трябва да се погрижите за това сами.
- Вашият персонализиран CSS няма да бъде тестван, когато правим промени.
Външни CSS файлове
Можете да укажете на уиджета да извлече външен файл, като използвате @import!
Препоръчително е да поставите @import в правило за персонализиране. По този начин, ако някога се наложи да направим промяна в уиджета за коментари, можем да използваме нашите инструменти за автоматизация, за да проверим вашата конфигурация. Например, бихте създали правило за персонализиране в интерфейса за персонализиране на уиджета, щракнете Advanced и въведете в Custom CSS:
@import url(https://example.com/styles.css);
В код - Не се препоръчва
Можете също да заредите външен CSS файл чрез свойството customCSS:
Run 
Не забравяйте обаче, че вашият CSS няма да може да бъде тестван от нас, ако направите това.
Стилизиране на модала за потребителски профил
Модалите за потребителски профил също могат да бъдат стилизирани с персонализиран CSS. За да се гарантира обаче, че персонализираното стилизиране се прилага към потребителските профили, всички CSS селектори трябва да имат префикс .user-profile. Без този префикс персонализираното стилизиране ще бъде игнорирано за модалите на потребителски профил.
Например:
Run 
Обратна съвместимост
В FastComments знаем, че нашите клиенти персонализират уиджета за коментари. Това е по замисъл - последното, което искаме, е нашият продукт да причини несъответствия в дизайна на вашия продукт.
Тъй като това е важна част от нашия продукт, имаме изграждаща линия (build pipeline), която ни позволява да преглеждаме промените в уиджета за коментари, за всеки клиент, при всяко издание.
Ако открием дребни проблеми, ще актуализираме вашия акаунт, за да гарантираме, че изданието премине гладко. Ако видим големи разрушителни промени, това ни позволява да спрем изданието.
Персонализирани шрифтове 
FastComments е предназначен да бъде персонализиран, а шрифтът, който използват нашите уиджети, не е изключение.
По подразбиране FastComments използва system font stack, за да изглежда възможно най-добре на широка гама от устройства.
За да дефинирате свои собствени шрифтове, вижте Документация за персонализиран CSS.
Там ще намерите начин за дефиниране на персонализиран CSS, който ще ви позволи да зададете желаните шрифтове.
Как да зададете шрифта
За да презапишете шрифта, препоръчваме да дефинирате своя CSS, използвайки селекторите .fast-comments, textarea. Например:
Run 
Премахване на брандирането 
За клиентите с акаунти Pro или Enterprise е разрешено използване на white-label (премахване на нашето брандиране). Просто свържете се с нас и ще се радваме да помогнем.
Ако просто искате да премахнете нашето лого от уиджета за коментари, това е автоматично активирано в плановете Flex и Pro.
Тези планове също така предоставят същата функционалност за имейли, изпращани от нашата платформа.
Поддръжка на тъмни фонове (тъмен режим) 
По подразбиране компонентът за коментари на FastComments автоматично ще открива тъмен режим в повечето сайтове.
Когато се засече тъмен режим, FastComments ще премине от черен текст на бял фон към бял текст на черен фон. Снимките също ще се променят.
При зареждане на страницата уиджетът ще опита да определи колко тъмен е фонът на страницата зад коментарния уиджет. Това означава, че страницата може да има бял фон, но ако поставите коментарния уиджет в контейнер с черен фон, тъмният режим би трябвало все пак да се активира автоматично, за да направи коментарите четими.
Въпреки това, механизмът за откриване, който разчита на определяне на „луминанс“, може да не активира тъмния режим когато искате. За да го активирате насилствено, задайте флага hasDarkBackground на true както следва:
Run 
Превключване на тъмен режим 
За сайтове, които позволяват превключване на тъмен режим след първоначалното зареждане на страницата, това е малко по-сложно.
Първо, всички текущи версии на библиотеката за коментарен widget (React, Vue) съдържат примери за превключване на тъмен режим в съответните им хранилища.
За VanillaJS уиджет ще трябва да направим още някои неща. Първо, FastCommentsUI връща обект с функциите "destroy" и "update".
Можем просто да извикаме функцията "update" всеки път, когато искаме да обновим конфигурацията на коментарния уиджет, както следва. Ето пълен работещ пример за превключване на тъмен режим с VanillaJS уиджета.
Run 
Презаписване на текста 
С FastComments целият текст в уиджет‑а за коментари е персонализируем.
Можете да замените отделен елемент от текста, като бутона за изпращане, или целия текст в уиджет‑а за коментари.
По подразбиране текстът в уиджет‑а за коментари се превежда според локала на потребителя. Въпреки това можем да заменим текста, ако сме уверени, че нашата потребителска база използва същия локал/език, например:
Run 
Всички персонализируеми преводи могат да се намерят тук под раздела „разширени опции“ таб.
Въпреки това има по‑лесен начин, чрез UI‑то за персонализиране на уиджет‑а. Там можем просто да намерим текста, който се показва в уиджет‑а за коментари в локала EN_US, и да зададем замяна.
Всички замени на преводи в момента засягат всички локали.
Това обхваща текста на самия уиджет. За да преведете коментарите, които вашите посетители пишат, вижте Comment Translation.
Промяна на стандартния аватар 
Когато потребител коментира с FastComments за първи път, ще се опитаме да извлечем неговия аватар от https://gravatar.com/.
Въпреки това, ако не намерим аватар или потребителят никога не зададе такъв в своя акаунт, ще покажем статично изображение за стандартен аватар.
За да зададете собствено статично изображение за аватар, можете да използвате настройката defaultAvatarSrc.
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте секцията "Default Avatar".
Обърнете внимание, че определянето на аватар за конкретен потребител, например чрез SSO, е разгледано в отделна секция.
Деактивиране на аватари 
Аватарите могат да бъдат напълно премахнати от уиджетa за коментари, дори ако потребителите са задали свой собствен аватар.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Деактивиране на всички стандартни стилове 
За по-големи проекти за персонализирано стилизиране може да е желателно да започнете от нулата и изобщо да не използвате стандартното стилизиране.
Цялото стандартно стилизиране може да бъде премахнато, като зададете параметъра noStyles на true, както следва:
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета, под „Разширени опции“:
Свързване от коментари към страници 
Когато изпращате уведомителни имейли, или визуализирате коментари в потребителски интерфейси като страницата за модериране, е полезно да можете да направите връзка от коментара към страницата, на която се намира.
Ако URL ID не винаги е реално ID, тогава трябва да съхраним URL някъде другаде. За това служи свойството "url", дефинирано по следния начин.
Run 
Често срещан случай на употреба е свързването на нишката с коментари със идентификатор, например статия, и след това връзка обратно към конкретна страница, например:
Run 
URL адресът не се почиства от общи маркетингови параметри. По подразбиране какъвто е текущият URL на страницата, такъв се съхранява с коментара.
Сгъване на отговорите по подразбиране 
По подразбиране, отговорите към коментари от най-горно ниво се показват.
Това може да се конфигурира така, че потребителят да трябва да кликне „Show Replies“ върху коментарите от най-горно ниво, за да види дъщерните коментари.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Тази настройка няма да повлияе на броя на коментарите от най-горно ниво, заредени първоначално. Ако имате един коментар от най-горно ниво и 29 дъщерни, с включена тази настройка ще:
- Видите коментара от най-горно ниво.
- Видите „Show Replies (29)“ под този коментар.
Ако желаете да покажете всички коментари от най-горно ниво в комбинация с тази опция, задайте starting page to -1.
Активиране на WYSIWYG 
По подразбиране, функционалностите за форматиране във FastComments се извършват чрез добавяне на видими етикети като <b></b> около вашия текст. Кликването върху лентата с инструменти
или използването на клавишни комбинации прави това за вас. Въпреки това, някои общности може да искат да използват форматиране без етикети. Това се нарича активиране на
WYSIWYG (what you see is what you get) редактора. Този редактор изглежда точно същият като стандартния, но зарежда някакъв
допълнителен код, който позволява на потребителите да удебеляват, подчертават и т.н. текста си без видими етикети.
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията "Enable Advanced Formatting".
Деактивиране на лентата с инструменти 
По подразбиране FastComments показва лента с инструменти при писане на коментар, за да предостави преки пътища за оформяне на текста и качване на изображения.
Тази лента с инструменти може да бъде деактивирана чрез код или чрез потребителския интерфейс за персонализиране.
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията "Деактивиране на лентата с инструменти за отговор".
Деактивиране на блокирането 
По подразбиране FastComments позволява на потребителите да блокират други потребители. Блокирането на потребител ще доведе до маскиране на техните коментари, предотвратява известията между потребителите и т.н.
Може да бъде желателно да се изключи тази функционалност. Това може да се направи по следния начин:
Run 
Това също може да се направи без код, което също така позволява правилна валидиране от страна на сървъра, чрез потребителския интерфейс за персонализиране на уиджета:
Определяне коя страница да се визуализира 
Когато се извличат и показват коментари, уиджът за коментари трябва да знае от коя страница да започне. По подразбиране той започва с първата страница, рендерирайки само тази страница.
Ако желаете, точната страница, която да бъде рендерирана, може да бъде предадена на уиджета за коментари като настройка startingPage.
Run 
Обърнете внимание, че номерата на страниците започват от нула, така че горният пример рендерира втората страница.
Превключване на нишки от коментари без презареждане на страницата 
Вече обяснихме как urlId е идентификаторът на страницата или статията, към която са свързани коментарите.
Също така, за да обобщим, ако не е дефиниран, urlId по подразбиране ще бъде текущият URL на страницата.
А какво за SPA, или Single-Page-Applications, при които страницата или съдържанието, към което са свързани коментарите, се променя динамично без презареждане на страницата?
Angular, React, Vue и др
С нашите библиотеки като Angular и React, просто обновяването на свойството urlId, което се подава на джаджата, ще накара джаджата за коментари да се обнови. Можете да видите това в действие за React приложението, например тук.
VanillaJS
Ако използвате библиотеката VanillaJS, това е малко по-сложно, тъй като няма рамка като Angular или React, която да обработва свързването на данни или разпространението на състоянието.
Когато инстанцирате VanillaJS джаджата, тя връща някои функции, които могат да бъдат извикани, за да я обновят.
Ето работещ пример, в който променяме хеша на страницата и обновяваме джаджата за коментари:
Run 
Абсолютни дати (деактивиране на човешки приятелски времеви маркери) 
По подразбиране се използват локализирани относителни дати. Например, до наскоро оставен коментар може да видите "11 minutes ago".
Може да е необходимо или желателно да се използват абсолютни дати, в такъв случай задавате този параметър на true.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета, под Advanced Options:
Показване както на абсолютни, така и на относителни дати 
По подразбиране се използват локализирани относителни дати. Например, до наскоро оставен коментар може да видите "11 minutes ago".
Може да е необходимо или желателно да запазите този относителен формат на датата, но също така да покажете пълната дата до него, в който случай задавате този параметър на true.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета, под Разширени опции. Първо ще трябва да активирате Абсолютни дати, за да видите тази опция в потребителския интерфейс.
Добавяне на текст в заглавието 
Някакъв текст, като заглавие или съобщение, може да се визуализира под броя на коментарите, но над текста за състоянието на входа.
Ние наричаме това заглавка и по подразбиране е скрита.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета, в раздел „Разширени опции“:
Показване на връзки като текст 
По подразбиране FastComments ще визуализира връзки по следния начин: https://exmaple.com - където URL‑тът на връзката се превръща в кликваем
HTML елемент .
Някои сайтове може да искат да изключат това, например за да възпрепятстват измамници. Предоставяме това чрез задаване на Comment HTML Rendering Option на Links as Text.
Това може да се персонализира без код, на страницата за персонализиране на уиджета, за цял домейн или страница:
Превключване на коментари с бутон 
По подразбиране FastComments ще изобрази полето за въвеждане на коментари и нишката от коментари едновременно. За да спести вертикално пространство, той също ще скрие всички други задължителни полета, докато потребителят не взаимодейства с уиджета.
Въпреки това, уиджетът за коментари може да бъде скрит зад бутон, например:
Бутонът използва различен преведен текст в зависимост от това дали коментарите в момента са показани или не. Ако коментарите са скрити, се използва translations.SHOW_COMMENTS_BUTTON_TEXT. Ако коментарите са показани, се използва translations.HIDE_COMMENTS_BUTTON_TEXT. Преводите могат да съдържат текста [count], който ще бъде заменен с локализирания брой.
Run 
Това е предназначено да замени конфигурацията hideCommentsUnderCountTextFormat.
Броят се актуализира в реално време с нишката от коментари. Бутонът не се показва, ако няма коментари.
Това може да се активира без код, като се създаде правило за персонализиране и се включи „Кликнете, за да покажете коментарите“:
Персонализиране на текста за брой коментари 
Броят на коментарите, показван в горната част на уиджета за коментари, може да бъде персонализиран.
Това може да бъде заменено с произволен низ, а стойността [count] ще бъде заменена с броя, локализиран за потребителя.
Run 
Това може да бъде персонализирано без код, на страницата за персонализиране на уиджета:
Деактивиране на пренасочване на изображения 
По подразбиране FastComments позволява на потребителите да качват изображения. Когато потребителят кликне върху това изображение, FastComments по подразбиране, ще отвори нов раздел, за да покаже изображението в пълен размер. Задаването на този флаг на true ще деактивира това поведение:
Run 
Ако не възнамерявате сами да обработвате кликването върху изображението (вж. onImageClicked), препоръчваме това да се комбинира с някакво стилизиране за да се премахне впечатлението, че изображението може да бъде кликнато.
Деактивиране на автоматично създаване на хаштагове 
Когато потребителите въвеждат хаштагове във формата #someexampletag, FastComments автоматично създава този HashTag и го подчертава в техния коментар.
В някои случаи е желателно да се деактивира тази функция или да се контролира кои хаштагове могат да се използват чрез API.
За да направите това, просто активирайте Disable Automatic #hashtag Creation чрез потребителския интерфейс за персонализиране на уиджета.
Деактивиране на известията (звънец) 
По подразбиране FastComments ще покаже звънец за известия в горния десен ъгъл на областта за коментари.
Този звънец ще стане червен и ще покаже броя на известията, които потребителят има. Някои примерни известия са:
- Потребителят ви отговори.
- Потребителят отговори в нишка, в която сте коментирали.
- Потребителят гласува вашия коментар.
- Потребителят отговори на страница, към която сте се абонирали.
Звънецът за известия предоставя механизъм за абониране за цяла страница, също така.
Въпреки това можем напълно да изключим звънеца за известия:
Run 
Това може да се направи и без код. В страницата за персонализиране на уиджет, вижте секцията „Disable Notification Bell“.
Деактивиране на профилите 
По подразбиране FastComments ще показва профила на потребителя, когато кликнете върху неговия аватар.
Въпреки това, можем да деактивираме тази функционалност:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте раздела „Деактивиране на профилите“.
Деактивиране на коментари в профила 
По подразбиране FastComments показва раздел „Profile Comments“ в потребителските профили, позволявайки на посетителите да оставят коментари в профила на някого.
Въпреки това можем да деактивираме този раздел:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте раздела „Disable Profile Comments“.
Деактивиране на директни съобщения в профила 
По подразбиране FastComments показва раздел „Директни съобщения“ в потребителските профили, позволявайки на посетителите да изпращат директни съобщения до потребител.
Въпреки това можем да деактивираме този раздел:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте раздела „Деактивиране на директни съобщения“.
Деактивиране на съобщението за успех 
По подразбиране FastComments показва съобщение за успех след коментиране. Това може да бъде деактивирано по следния начин:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета:
Промяна на рейтинг съдържанието на GIF файлове 
По подразбиране, уиджетът за коментари FastComments ще зададе gif rating на pg.
Наличните опции са g, pg, pg-13 и r.
Това може да се зададе в кода или чрез UI. В кода можем да го направим по следния начин:
Run 
В UI ще го намерите под Gif Picker Rating, стига Disable Image Uploads? да не е отметнато.
Модериране на съдържанието на изображения 
По подразбиране уиджетът за коментари FastComments има модерация на изображеното съдържание изключена (off).
Наличните опции са off, low, medium и high.
В потребителския интерфейс за персонализиране на уиджета ще намерите това под Image Content Moderation Level, стига Disable Image Uploads? да не е отметнато.
Промяна на стила на гласуване 
По подразбиране FastComments ще визуализира опциите за гласуване като стрелки нагоре и надолу, позволявайки на потребителите да гласуват нагоре или надолу за коментар.
Въпреки това, е възможно да се промени стилът на лентата за гласуване. Текущите опции са стандартните бутони нагоре/надолу или използването на механизъм за гласуване със сърце.
Използваме флага voteStyle по следния начин:
Run 
Препоръчваме ви настоятелно да направите това без код, тъй като също така активира сървърни валидации. На страницата за персонализиране на уиджета, вижте раздела "Vote Style".
Гласуването също може да бъде деактивирано, вижте Disable Voting над опциите за стил.
Деактивиране на изтриване 
По подразбиране FastComments позволява на потребителите да изтриват своите коментари.
Въпреки това, е възможно да се предотврати това.
В страницата за персонализиране на уиджета, вижте опцията "Disable Deleting".
- Това засяга само обикновените коментатори и не модератори или администратори, които все още ще могат да изтриват.
- Това също ще засегне API интеграциите, когато се предава
contextUserId.
Деактивиране на редактиране 
По подразбиране FastComments позволява на потребителите да редактират своите коментари.
Въпреки това, е възможно да се предотврати това.
В страницата за персонализиране на уиджета, вижте опцията "Disable Editing".
- Това засяга само обикновените коментатори и не модератори или администратори, които все още ще могат да редактират.
- Това също ще засегне API интеграциите, когато се предава
contextUserId.
Подчертаване на нови коментари 
FastComments предоставя няколко начина за маркиране на нови коментари.
Първо и най-важно, по подразбиране коментарите, които са задействали вътреприложно известие (отговори, отговори в същата нишка, или коментари на страница, на която сте абонирани), автоматично ще бъдат подчертани с леко сияние около аватара на потребителя. Цветът може да бъде персонализиран чрез CSS, използвайки класа is-unread.
Коментарите, публикувани през последните 24 часа, имат приложен клас 24hr, който може да се използва за стилизиране.
Накрая, всички нови живи коментари, които се появят в сесията на потребителя, ще бъдат подчертани за няколко секунди чрез анимация. Това се осъществява чрез CSS класа is-live и също може да бъде персонализирано.
Размери на страницата 
По подразбиране, размерът на страницата в FastComments е 30. Това включва отговори в нишки.
Размерът на страницата може да се персонализира в Widget Configuration UI с различни размери, вариращи от 10 до 200.
Обърнете внимание, че промяната на размера на страницата изисква преизчисляване на всички коментари в нишките във вашия акаунт. Това може да отнеме няколко минути.
Това не може да се конфигурира в клиентския уиджет, тъй като страниците се изчисляват от сървъра.
Примерна конфигурация е показана по-долу:
Размерите на страниците могат да се персонализират глобално, или за домейн, или за страница, като се създадат различни правила за персонализиране.
Това ще засегне всички клиенти, интеграции и рамки, които може да използвате за показване на коментари чрез нашата платформа.
Шаблони за имейл 
Имейлите, изпращани от FastComments до вашите клиенти, могат да бъдат персонализирани. Шаблонът, логиката, и преводите могат да бъдат променени. Текстът може да бъде персонализиран за всеки локал, а стилирането може дори да бъде променяно за всеки домейн. Научете повече за персонализираните имейл шаблони тук.
Формати за потребителски имена 
По подразбиране FastComments ще показва името на потребителя така, както е въведено, или както е предадено чрез SSO.
Въпреки това, може да е желателно да се маскира или покаже името на потребителя по различен начин. Например, ако името на потребителя е Allen Rex, може би искате да показвате само „Allen R.“.
Това може да се направи без код в потребителския интерфейс за персонализиране на уиджета, под настройката, наречена Commenter Name Format:
Наличните формати са:
- Capitalize (показва примерен потребител като Example User)
- Last Initial (показва Example User като Example U.)
- All Initials (показва Example User като E. U.)
- Show "Anonymous"
Ефектът от промяната е незабавен. Потребителите все още ще виждат пълното си потребителско име в горната част на областта за коментари, за себе си, но техните коментари ще показват модифицираното потребителско име.
Потребителските имена се маскират от сървъра, за защита на потребителите.
Деактивиране на качване на изображения 
По подразбиране FastComments позволява качване на изображения. Това може да бъде деактивирано, като се зададе флагът noImageUploads на true.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Разрешаване на вграждане на медия 
По подразбиране FastComments не позволява iframes в коментарите. Когато активирате вграждането на медия, коментиращите могат да поставят кода за вграждане (фрагмента <iframe>) от доверени доставчици като YouTube, Vimeo, SoundCloud и Spotify, и той ще се визуализира вградено в коментара.
От съображения за сигурност това не е флаг в конфигурацията на уиджета от страна на клиента. Това е настройка от страна на сървъра, валидирана при запазването на всеки коментар, така че не може да бъде включена от страницата. Позволени са само iframes, сочещи към вграден списък с доверени доставчици. Всеки друг iframe се премахва.
Това се прави без код, на страницата за персонализиране на уиджета:
Добавяне на собствени доставчици
Ако искате да разрешите вграждания от доставчик, който не е в вградения списък с доверени, добавете неговото име на хост в полето "Additional Embed Domains" на същата страница. Тези имена на хостове са позволени в допълнение към вградените доставчици. Съвпадението е точно, така че включете пълното име на хост (например player.example.com). Всичко, което не сте посочили, остава блокирано.
И обикновеното поле за коментар, и WYSIWYG редакторът поддържат поставяне на вграждане. В WYSIWYG редактора вграждането се вмъква като блок, който може да бъде премахнат.
Активиране на полето за търсене 
По подразбиране в уиджетa за коментари не се показва поле за търсене.
Въпреки това можем да го включим, като зададем флага enableSearch на true:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията „Enable Search Box“.
Активиране на спойлери 
Можем да активираме поддръжката на спойлери, като зададем флага enableSpoilers на true:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията „Enable Spoilers“.
Когато текстът е маркиран и сега видимият бутон SPOILER се кликне, текстът ще бъде скрит, докато потребителят не задържи мишката върху него. За тъмен режим правим същото, но с различни
цветове, които по‑добре съвпадат с тъмния режим.
Това също е съвместимо с WYSIWYG редактора.
Активиране на броячи за прегледи на коментари 
По подразбиране FastComments не проследява кой е прегледал всеки коментар и не предоставя статистика за това.
Въпреки това можем да активираме тази функция и системата ще започне да проследява, докато всеки потребител превърта до коментар.
Когато това се случи, брояч до иконата на око, показана до всеки коментар, ще се увеличи. Броячът се актуализира в реално време и се съкращава според локала на потребителя.
Можем да активираме това, като зададем флага enableViewCounts на true:
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Ние проследяваме потребителското id* което е прегледало коментара за една седмица, така че ако прегледате коментара отново в рамките на тази седмица, броячът не се увеличава. Ако прегледате коментара отново след изтичане на седмицата, броячът ще се увеличи отново.
- *Забележка: или анонимното session id, или IP адресът на потребителя като хеширана стойност.
Показване на живи коментари веднага 
По подразбиране, живото коментиране е включено. Това означава, че ако се добавят, изтриват, редактират или закачат коментари, промените трябва да се покажат на всички потребители, които преглеждат нишката от коментари едновременно.
Въпреки това, по подразбиране новите коментари ще се появяват под динамично показван бутон с текст, подобен на "Show 2 New Comments".
Ако новите коментари са отговори директно към страницата, бутонът ще се покаже в горната част на нишката от коментари. Ако са отговори към конкретен коментар, бутонът ще се покаже под този коментар.
Това е за да се предотврати постоянното променяне на размера на страницата за потребителя, което може да предизвика раздразнение при опит за хващане на скрол бара.
За някои случаи на употреба, като живи наддавания или онлайн събития, това не е желаното поведение – може да искате уиджетът за коментари да бъде по‑подобен на „чат“, където новите коментари „се показват веднага“.
Следователно, името на флага, който активира тази функция: showLiveRightAway.
Можем да го включим по следния начин:
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Деактивиране на живото коментиране 
По подразбиране FastComments ще има активирано живо коментиране.
Това означава, че всеки зрител на нишката с коментари трябва да вижда едно и също съдържание.
Например, ако се добави коментар, този коментар трябва да се покаже. Ако коментарът бъде редактиран или премахнат, тогава тези коментари ще бъдат редактирани или премахнати за всички зрители на нишката. Същото важи за гласовете и всички модераторски действия.
Въпреки това, можем да изключим това:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте секцията "Disable Live Commenting".
Новите живи коментари в края 
По подразбиране новите живи коментари се появяват най-горе в списъка с коментари, когато са публикувани в реално време.
Когато тази опция е включена, новите живи коментари ще се добавят в долната част на списъка вместо това. Това влияе на начина, по който коментарите се показват, когато са публикувани в реално време, докато потребителите разглеждат нишката с коментари.
Run 
С тази настройка включена:
- Новите живи коментари, публикувани от други потребители, ще се появяват в долната част на списъка с коментари
- Потребителите ще виждат как новите коментари се появяват под вече съществуващите коментари в реално време
- Това влияе само на актуализациите на живите коментари - а не на първоначалното зареждане на страницата
- Това може да помогне за запазване на потока на четене, когато потребителите следят дискусия
Обърнете внимание, че тази настройка влияе само на това къде се поставят новите живи коментари при тяхното пристигане в реално време. Тя не променя първоначалния ред на сортиране при зареждане на страницата.
Активиране на безкрайно превъртане 
По подразбиране FastComments уиджетът ще се преоразмерява вертикално, за да побере всички видими коментари. Пагинацията се реализира чрез бутон "Прегледай следващите" в края на текущата страница, тъй като установихме, че това е взаимодействието, което се усеща най-удобно за повечето потребители.
Въпреки това има случаи, в които е предпочитано безкрайно превъртане. Например, ние използваме тази функция в нашия продукт Stream Chat.
Можем да скрием бутоните "Прегледай следващите" и да превключим към безкрайно превъртане, като зададем флага enableInfiniteScrolling на true:
Run 
Това също изисква добавяне на персонализиран CSS. Добавете персонализиран CSS за селектора .comments, за да позволите превъртане, например:
Run 
Пълният работещ пример би бил:
Run 
В горния пример използваме свойството customCSS, но се препоръчва вместо това да се използва потребителският интерфейс за конфигурация на уиджета по причини за производителност. Вижте документацията за персонализиран CSS.
Промяна на стандартната посока за сортиране 
По подразбиране FastComments ще сортира коментарите по посоката за сортиране "Най-относими".
Сортирането "Най-относими" взема предвид времето, в което е оставен коментарът, и броя гласове при сортирането.
Потребителят може след това да промени посоката за сортиране на Oldest или Newest First в потребителския интерфейс на уиджета за коментари.
Въпреки това можем да променим подразбиращата се стойност на която и да е от трите. Например, ако искате да покажете най-старите коментари първо:
Run 
Задаваме стойността на defaultSortDirection на "OF", за да зададем посоката на "OF".
За посоката за сортиране "Newest First", ще направим следното:
Run 
Валидните стойности за defaultSortDirection са:
- MR: "Най-скорошен"
- NF: "Най-нови първо"
- OF: "Най-стари първо"
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте секцията "Default Sort Direction" section.
Обърнете внимание, че коментарите на всяка страница за всяка посока за сортиране са предварително изчислени, така че всички посоки за сортиране имат еднаква производителност.
Показване на всички коментари наведнъж – деактивиране на странирането 
За да деактивирате пагинацията и да покажете всички коментари наведнъж, задайте startingPage на -1.
Run 
Преместване на полето за отговор след коментарите 
По подразбиране областта за въвеждане на коментари е преди нишката с коментари. Въпреки това, като зададем този конфигурационен параметър на true, можем да я преместим след.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Ограничаване дължината на коментара 
Максималният брой символи, разрешени за въвеждане в полето за коментар, може да бъде ограничен чрез параметъра maxCommentCharacterLength.
По подразбиране е 2000.
Не се включват неща като URL адреси на изображения в определянето на дължината.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Деактивиране на многоредово коментиране 
По подразбиране FastComments позволява на потребителя да въведе коментар с толкова редове, колкото желае, до зададения лимит на знаците.
Въпреки това, може да е желателно да се ограничи потребителят да въвежда само един ред текст. Примери за употреба включват онлайн наддаване или жив чат, за които FastComments може да се използва.
Активираме флага useSingleLineCommentInput по следния начин:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте секцията „Enable Single-Line Comment Input“.
Обърнете внимание, че коментарите на всяка страница за всяка посока на сортиране са предварително изчислени, така че всички посоки на сортиране имат еднаква производителност.
Ограничаване на обема на коментари на потребител 
По подразбиране всеки потребител може да изпрати до 5 коментара в същата минута.
Това се проследява по потребителски идентификатор, идентификатор на анонимен потребител и IP адрес (хеширан).
Това може да се персонализира без код, на страницата за персонализация на уиджета:
Имайте предвид, че ако използвате API за създаване на коментари, може да искате да предадете оригиналния ip адрес на потребителя в заявката към нашия бекенд, така че ограничението на честотата да се прилага
за всеки потребител, а не глобално за вашия акаунт.
Предотвратяване на нови коментари от най-горно ниво 
Задаването на noNewRootComments на true ще накара джаджата да скрие областта за отговори на кореново ниво, но все пак ще позволи на потребителите да отговарят
на подкоментари. Например, можете да зададете това условно при зареждане на страницата, за да позволите само на някои потребители да оставят коментари на най-горно ниво.
Run 
Максимална дълбочина на отговорите 
По подразбиране FastComments позволява неограничено вграждане на отговори, създавайки структура от нишки, в която потребителите могат да отговарят на отговори безкрайно.
Опцията maxReplyDepth ви позволява да ограничите колко дълбоко могат да стигнат нишките с отговори. Когато е достигната максималната дълбочина, потребителите вече няма да виждат бутон за отговор при коментари на това ниво.
Run 
С maxReplyDepth зададено на 2:
- Потребителите могат да коментират на най-горното ниво (дълбочина 0)
- Потребителите могат да отговарят на коментари от най-горното ниво (дълбочина 1)
- Потребителите могат да отговарят на тези отговори (дълбочина 2)
- Допълнителни отговори не са разрешени след дълбочина 2
Задаването на 1 би позволило само отговори на коментари от най-горното ниво, създавайки по-плитка структура на дискусията.
Задаването на maxReplyDepth на 0 ще деактивира всички отговори и ще позволява само коментари на най-горното ниво. Ако не е зададено, отговорите могат да се вграждат без ограничение.
Изискване приемане на условията за ползване 
FastComments ви позволява да изисквате от коментиращите за първи път да приемат вашите Условия за ползване, преди да изпратят коментар.
Когато е активирано:
- Анонимните потребители ще виждат квадратче за Условията за ползване всеки път, когато коментират
- Удостоверените потребители ще виждат квадратчето само при първия си коментар или когато обновите вашите Условия за ползване
Конфигурация
Придвижете се до страницата за персонализиране на уиджета и активирайте квадратчето "Require Terms of Service acceptance". След активиране ще видите следните опции:
- TOS Text Mode: По подразбиране квадратчето показва "I agree to the Terms of Service and Privacy Policy" с връзки към двата документа. Изберете "Customize text per locale", за да предоставите собствен текст за всеки език.
- TOS Last Updated Date: Когато обновите вашите Условия за ползване, задайте тази дата. Потребителите, приели преди тази дата, ще трябва да приемат отново.
Как работи
- Времевият печат на приемането на TOS се съхранява за всеки потребител и всеки коментар
- Когато потребител приеме TOS, датата се записва в неговия потребителски профил (на ниво tenant)
- Ако зададете дата "Last Updated", която е след датата на приемане на потребителя, той ще трябва да приеме отново
- За анонимни потребители, които не могат да бъдат проследявани, квадратчето се показва при всяко изпращане на коментар
Предупреждение преди напускане с неизпратен коментар 
По подразбиране, ако потребител напише коментар и след това опресни страницата, затвори раздела или навигира далеч преди да го изпрати, черновата се губи тихо.
Задаването на warnOnUnsavedComment на true кара браузъра да попита потребителя за потвърждение преди да напусне страницата, докато някое поле за коментар или текущо редактиране все още съдържа текст. След като коментарът бъде изпратен, текстът се изчиства, така че няма да се показва подсказка.
Run 
Подсказката използва диалоговия прозорец на браузъра. Съвременните браузъри показват собственото си формулиране и игнорират персонализиран текст, така че съобщението не може да бъде променено.
Тази опция зарежда малко разширение при поискване, така че не добавя нищо към уиджета за сайтове, които не я активират.
Активиране на анкети 
Анкетите позволяват на коментаторите да прикачат въпрос с 2 до 10 опции към коментар. Всеки на страницата гласува на място и вижда резултатите да се обновяват в реално време.
Анкетите са изключени по подразбиране. Поставете отметка на Enable Polls в настройките за персонализиране на уиджета, за да добавите бутон за анкета към лентата с инструменти за коментари. След това се появяват още две настройки:
- Who Can Create Polls: Само администратори/модератори (по подразбиране), или всички.
- Allow Anonymous Poll Votes: когато не е отметнато (по подразбиране), само влезли потребители могат да гласуват.
Вижте Ръководство за анкети за това как създаването, гласуването, поверителността и известията за анкети работят.
Общ преглед на единичното влизане (SSO) 
SSO, или единен вход (single-sign-on), е набор от конвенции, които позволяват на вас или вашите потребители да използват FastComments, без да създават още една регистрация.
Ако не разрешавате анонимно коментиране, за да се коментира с FastComments е необходима регистрация. Ние правим този процес много лесен - потребителят просто оставя имейла си, когато коментира. Разбираме обаче, че дори това е допълнително триене, което някои сайтове искат да избегнат.
Можем да намалим това триене, като имаме само един процес на влизане за целия ви сайт.
Как да го получа?
Всички типове акаунти в момента имат достъп до SSO. Максималният брой SSO потребители обаче варира в зависимост от вашия пакет. Както при другите функции, Pro плановете и по-високите осигуряват директна поддръжка за разработчици.
Нека сравним опциите, а после да разгледаме всяка от тях в детайли.
Миграция на потребители и коментари
При миграция от платформа със SSO като Disqus, вече ще имате потребителите и техните коментари.
Коментарите се импортират като част от миграцията - чрез API, нашия Import UI или поддръжката. Import UI е предпочитаният вариант, ако поддържа платформата, от която мигрирате, тъй като включва обработка на грешки, извличане и качване на аватари и медии, и система за наблюдение на пакетни задачи.
Самите потребители се добавят автоматично при първото разглеждане на нишка с коментари. Алтернативно, те могат да бъдат предварително добавени чрез API, но това не носи много предимства.
Ако коментарите са импортирани, а SSO потребителите не са добавени ръчно чрез API, то коментарите автоматично ще бъдат мигрирани към акаунта на потребителя при първото му създаване, когато той разгледа която и да е нишка с коментари. Тогава той ще може да управлява, редактира и изтрива коментарите, които е написал първоначално.
Автоматичната миграция се извършва по имейл или потребителско име. Някои платформи не предоставят имейли при експорт, като Disqus, така че в този случай използваме потребителското име като резервен вариант.
- Докато подадете съвпадащо потребителско име и имейл в SSO payload-а, ние ще добавим имейла към отделните обекти на коментарите, така че известията и споменаванията да работят.
Ако желаете да импортирате коментарите и потребителите си наведнъж, сътрудничете с поддръжката, за да мигрират коментарите към съответните акаунти на потребителите, след като потребителите бъдат импортирани чрез API.
И така, накратко, най-лесният път за миграцията е:
- Импортирайте коментарите.
- Аватарите и другите медии се мигрират автоматично, ако използвате Import UI в
Manage Data -> Imports.
- Аватарите и другите медии се мигрират автоматично, ако използвате Import UI в
- Настройте Secure или Simple SSO.
- Оставете миграцията да се случи автоматично за всеки потребител, когато влезе за първи път.
- Това обикновено добавя по-малко от секунда към времето за зареждане на страницата, ако потребителят има по-малко от 50k коментара.
WordPress потребители
Ако използвате нашия WordPress плъгин, няма код за писане! Просто отидете на Admin страницата на плъгина, щракнете SSO Settings и после Enable.
Това ще ви отведе до съветник с едно бутонче, който ще създаде вашия API ключ, ще го изпрати към вашата WordPress инсталация и ще включи SSO. Консолидирахме това в едно единствено натискане на бутон за вас.
Имайте предвид, че ако инсталирате плъгина за първи път, ще трябва да завършите процеса на настройка, преди да видите админ страницата с бутона SSO Settings.
WordPress SSO - Модератори
Имайте предвид, че в момента, за да се показва значката "Moderator" до модераторите ви, когато коментират с FastComments WordPress плъгина, те трябва също да са добавени като Moderator в FastComments таблото и да имат потвърден имейл.
Персонализирани интеграции
За персонализирани интеграции има две опции.
Опция Първа - Secure SSO
С Secure SSO, FastComments знае, че потребителят, който коментира, гласува и чете коментари, е истински потребител на вашия сайт.
Докато създавате валиден payload, потребителят винаги ще има безпроблемно коментиране.
С Secure SSO, SSO payload-ът се създава от страна на сървъра чрез HMAC автентикация и след това се предава на уиджета от страна на клиента.
С Secure SSO, акаунтът на потребителя е напълно отделен от останалата част от потребителската база на FastComments. Това означава, че ако имаме двама партньори Company A и Company B, всеки може да има SSO потребител с потребителско име "Bob".
Изисквания
- Основни познания по backend разработка.
- Основни познания за работа със секретни API ключове.
- Основни познания по API разработка или server-side rendering.
Предимства
- Сигурно.
- Безпроблемно коментиране.
Недостатъци
- Изисква backend разработка.
Обновяване на потребителски данни
С Secure SSO, всеки път, когато подадете SSO потребителския payload, ние обновяваме потребителя с най-новата информация. Например, ако
потребителят има потребителско име X, а вие подадете Y в SSO payload-а, потребителското му име ще стане Y.
Ако искате да премахнете стойности с този подход, задайте ги на null (не undefined).
Secure SSO API
Предоставяме и API за взаимодействие със SSO потребителите. Вижте документацията.
Имайте предвид, че при използване на Secure SSO, потребителите се създават автоматично на заден план при зареждане на страницата. Не е нужно да импортирате потребителите си групово.
Опция Втора - Simple SSO
Алтернативата на Secure SSO е просто да подадете информацията за потребителя на уиджета за коментиране.
Предоставянето на имейл със Simple SSO не е задължително, но без него коментарите ще се показват като "Unverified".
Внимание! От началото на 2022 г. потребителските имена със Simple SSO не трябва да са уникални в целия FastComments.com.
В идеалния случай, Simple SSO трябва да се избира само при разработка на платформа, която не предоставя достъп до backend.
Изисквания
- Основни познания по client-side разработка.
- Трябва да знаете поне имейла на потребителя.
Предимства
- Просто.
- Цялата активност продължава да се потвърждава.
- Потребителят никога не въвежда своето потребителско име или имейл.
Недостатъци
- По-малко сигурно от Secure SSO, тъй като client-side payload-ът може да бъде манипулиран, за да стане всеки потребител.
Simple SSO API
Потребителите, създадени автоматично чрез Simple SSO процеса, се съхраняват като SSOUser обекти. Те могат да бъдат достъпвани и управлявани чрез SSOUser API. Вижте документацията.
Персонализирани интеграции – сигурно единично влизане (SSO) 
FastComments Secure SSO използва HMAC-SHA256 криптиране като механизъм за имплементиране на SSO. Първо ще разгледаме общата архитектура, ще предоставим примери и подробни стъпки.
Има и документация относно мигриране от други доставчици с подобни SSO механизми, както и разликите.
Процесът изглежда така:
Тъй като Secure SSO включва full-stack разработка, пълни работещи примери с код на Java/Spring, NodeJS/Express и чист PHP в момента са в GitHub.
Макар че използваме ExpressJS в примера за NodeJS и Spring в примера за Java, няма необходими framework-и/библиотеки в тези среди за имплементиране на FastComments SSO - вградените crypto пакети работят.
Не е нужно да пишете никакви нови API endpoints с FastComments SSO. Просто криптирайте информацията на потребителя с вашия секретен ключ и подайте payload-а на коментарния уиджет.
Получете вашия API Secret Key
Вашият API Secret може да бъде получен от тази страница. Можете да намерите тази страница и като отидете на My Account, кликнете върху плочката API/SSO и след това кликнете "Get API Secret Key".
Параметри на коментарния уиджет
Документация на високо ниво за коментарния уиджет може да бъде намерена тук.
Нека разгледаме по-подробно какво означават тези параметри.
Коментарният уиджет приема конфигурационен обект - вие вече го подавате, ако използвате FastComments, за да предадете вашия customer id (наречен tenantId).
За да активирате SSO, подайте нов обект "sso", който трябва да има следните параметри. Стойностите трябва да бъдат генерирани от сървъра.
- userDataJSONBase64: Данните на потребителя в JSON формат, които след това са Base64 кодирани.
- verificationHash: HMAC-SHA256 хеш, създаден от UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Epoch timestamp, в милисекунди. Не трябва да е в бъдещето или повече от два дни в миналото.
- loginURL: URL адрес, който коментарният уиджет може да покаже за влизане на потребителя.
- logoutURL: URL адрес, който коментарният уиджет може да покаже за излизане на потребителя.
- loginCallback: Когато е предоставен вместо login URL, функция, която коментарният уиджет ще извика при кликване върху бутона за влизане.
- logoutCallback: Когато е предоставен вместо logout URL, функция, която коментарният уиджет ще извика при кликване върху бутона за излизане.

Обектът User
Обектът User съдържа следната схема:

Модератори и администратори
За администратори и модератори подайте съответните флагове isAdmin или isModerator в обекта SSOUser.
Известия
За да активирате или деактивирате известията, задайте стойността на optedInNotifications съответно на true или false. Първия път, когато потребителят зареди страницата с тази стойност в SSO payload-а, настройките му за известия ще бъдат обновени.
Освен това, ако искате потребителите да получават имейли за известия за активност на страници, които следят (вместо само известия в приложението), задайте optedInSubscriptionNotifications на true.
VIP потребители и специални етикети
Можете да покажете специален етикет до името на потребителя, като използвате опционалното поле "displayLabel".
Неудентифицирани потребители
За да представите неудентифициран потребител, просто не попълвайте userDataJSONBase64, verificationHash или timestamp. Предоставете loginURL.
Тези потребители няма да могат да коментират, а вместо това ще им бъде показано съобщение за влизане (съобщение, линк или бутон, в зависимост от конфигурацията).
Директни примери за сериализация и хеширане на потребителски данни
Повече подробности като примери тук (js), тук (java) и тук (php).
Разбираме, че всяка интеграция може да бъде сложен и болезнен процес. Не се колебайте да се свържете с вашия представител или да използвате страницата за поддръжка.
Персонализирани интеграции – просто единично влизане (SSO) 
С Simple SSO можем да предоставим на уиджета за коментари информация за потребителя, така че да не се налага да въвежда потребителско име или имейл, за да коментира.
Можем да конфигурираме Simple SSO по следния начин:
Run 
Потребителят ще бъде влязъл и ще създаде SSO потребител зад кулисите. Потребителят ще има createdFromSimpleSSO, зададено на true, ако е получен от API.
Бележки:
- Имейлът е уникалният идентификатор за Simple SSO.
- Предоставянето на имейл с Simple SSO не е задължително, но по подразбиране техните коментари ще се показват като „Непроверени“. Ако не е предоставен имейл, потребителят не може да бъде напълно удостоверен.
- НОВО От януари 2022 г.: Потребителските имена не трябва да бъдат уникални за целия fastcomments.com
- Simple SSO може автоматично да създава и актуализира SSO потребители, ако е предоставен имейл и потребителят не е бил създаден първоначално от Secure SSO. Ако Simple SSO полезният товар назове потребител, създаден от Secure SSO или API, този потребител остава непроменен и посетителят получава отделен потребител.
- Можете да зададете значки за потребителя чрез свойството
badgeConfig. МасивътbadgeIdsсъдържа идентификаторите на глобалните значки, които да се асоциират с потребителя. МасивътpageBadgeIdsсъдържа идентификатори на значки, ограничени до текущата страница (urlId) — тези значки се показват само на страницата, където са зададени. Акоoverrideе зададено наtrue, ще замени съществуващите показани значки (глобалните и страничните се заменят независимо); ако еfalse, ще се добави към съществуващите значки.
Настройки за Simple SSO
Simple SSO винаги е достъпен. Две настройки контролират колко FastComments му се доверява. Можете да ги намерите, като потърсите SSO в правило за персонализиране. И двете са изключени по подразбиране и се прилагат независимо дали „Изисквай SSO за преглед на коментари“ е включено.
Акаунти, които вече използваха Simple SSO, когато тези настройки бяха добавени, имат и двете включени, така че за тях нищо не се промени.
Само правилото за персонализиране, което най-добре съвпада със страницата, се прилага, затова ако имате повече от едно правило, задайте тези настройки за всяко от тях. Ново правило започва с тях включени, ако някое от вашите други правила ги има включени.
Автоматично проверяване на коментари чрез Simple SSO
Когато това е включено, коментарите от Simple SSO потребители се проверяват веднага.
Когато това е изключено, коментарите от Simple SSO потребители се показват като „Непроверени“, докато потребителят не кликне върху връзка, която изпращаме на имейл адреса в Simple SSO полезния товар. Ако автоматично одобрявате само проверени коментари, те също чакат тази връзка. Ако в полезния товар няма имейл, коментарът остава непроверен.
Тази настройка засяга само коментарите. Гласовете от Simple SSO потребители винаги се броят веднага.
Позволяване на Simple SSO администратори
Когато това е включено, Simple SSO потребител може да бъде администратор или модератор на вашия акаунт:
- Simple SSO потребител, който има администраторски или модераторски права, ги запазва.
- Simple SSO потребител със същия имейл като един от вашите администратори или модератори получава техните права.
Когато това е изключено, Simple SSO не предоставя тези права. Simple SSO полезният товар, който назовава потребител с такива права, получава отделен потребител без права, а оригиналният потребител остава непроменен.
Simple SSO полезните товари не са подписани, затова когато това е включено, всеки, който знае имейла или потребителското ID на администратор, може да се представя за него. Ако това е важно за вашия сайт, оставете това изключено и използвайте Secure SSO за вашите администратори.
Потребители, създадени от Secure SSO или API, не могат да бъдат достъпени от Simple SSO, независимо дали това е включено.
Персонализирани интеграции – миграция от Disqus SSO 
Най-голямата разлика между Disqus и FastComments Secure SSO е, че Disqus използва SHA1 за криптиране, докато ние използваме SHA256.
Това означава, че мигрирането от Disqus е лесно - променете използвания хеш алгоритъм от SHA1 на SHA256 и актуализирайте имената на свойствата, предавани на UI.
Персонализирани интеграции – миграция от Commento SSO 
Commento използва драстично различен SSO подход - те изискват да имате endpoint, който да извикат, за да удостоверят потребителя.
FastComments е обратното - просто кодирате и хеширате информацията за потребителя, използвайки вашия таен ключ, и я предавате.
Защита на нишки от коментари с единично влизане 
FastComments SSO (детайли тук) предоставя на вашите потребители начин за коментиране без да се налага да влизат в друга платформа.
Въпреки това, това само по себе си не защитава вашите дискусии, тъй като по подразбиране данните за коментарите са публично достъпна информация – всеки, който може да види страницата, може да види и коментарите.
Чрез промяна на настройка можем да ограничим извличането на коментари, освен ако не е извършено от администратор или валиден SSO потребител.
Настройка без код
Можем да предотвратим преглеждането и взаимодействието с нашите дискусии, когато SSO е настроен, като създадем правило за персонализиране.
Когато го направите, потърсете SSO и ще откриете тази опция:
Активирайте я и запазете правилото за персонализиране.
Защита само на определен домейн или страница
За да защитим само определен домейн или страница, просто ще конфигурираме правилото за персонализиране да го направи.
В горната част на интерфейса за персонализиране ще намерим две полета – Domain и URL ID.
За да защитите конкретен домейн, въведете съответния домейн в полето „domain“.
За да защитите конкретна страница, въведете URL на страницата в полето „URL ID“. Ако имате персонализирана интеграция с FastComments, тук можете да въведете тип идентификатор вместо URL.
Нива на сигурност
Когато изисквате SSO, ще трябва да решите дали искате Simple SSO или Secure SSO. Ако изберете Simple SSO, и двете са разрешени, но ако изберете Secure SSO, съдържанието трябва да се извлича със Secure SSO полезен товар, хеширан с вашия API ключ, за да бъде видяно.
Опцията за ниво на сигурност ще се появи, когато изберете „Изискване на SSO за преглед на коментари“, и ще влезе в сила само докато тази опция е активирана.
Настройките Автоматична проверка на коментари чрез Simple SSO и разрешаване на Simple SSO администратори са отделни и се прилагат независимо дали тази опция е включена.
Защита надхвърляща четенето
Активирането на тази опция ще защити страницата или домейна от коментиране, освен ако потребителят не е влязъл чрез SSO.
Капани
Потребителите, които са създали коментари преди вашата SSO интеграция, няма да могат да ги видят, освен ако не влязат чрез вашата SSO интеграция.
Разрешаване на анонимно коментиране 
По подразбиране FastComments изисква имейл за коментиране. Не е необходимо имейлът да е валиден, но докато потребителят не кликне върху изпратения линк, неговият коментар ще показва етикет „Непроверен коментар“.
Въпреки това можем да премахнем изискването за имейл. Полето за въвеждане на имейл все още ще се показва, но вече няма да бъде задължително.
Това може да се конфигурира чрез потребителския интерфейс за персонализиране на уиджета:
Потребителско име все още е задължително. За да премахнете и тази стъпка, можете задайте подразбиращо се потребителско име което всички споделят, или да накарате FastComments генерира уникално потребителско име за всеки посетител.
Предотвратяване изтичането на анонимни коментари 
FastComments може да бъде конфигуриран да премахва непроверени коментари след желан брой дни. Това помага в борбата със спама.
По подразбиране, не го прави.
Това може да бъде конфигурирано или деактивирано чрез страницата Настройки за модериране.
Деактивиране на полетата за имейл 
Когато потребителите коментират и не са влезли в профила, ще им бъде поискано да предоставят своя имейл.
Това ще създаде „непотвърдена сесия“ за този потребител и ще ги помолим да потвърдят сесията чрез имейл.
За някои сайтове или приложения е желателно да не се изисква имейл от потребителя при коментиране или гласуване.
Активирането на анонимно коментиране прави полето за имейл незадължително. Въпреки това можем да го изключим напълно. Първо активирайте анонимното коментиране и след това ще се появи опцията за изключване на полетата за имейл.
С тази настройка полетата за имейл изобщо няма да се показват във всички наши продукти за коментиране.
Имайте предвид, че с тази конфигурация всички коментари ще бъдат непотвърдени, освен ако потребителят не създаде акаунт и влезе в https://fastcomments.com.
Може да обмислите изключване на етикета за непотвърден.
Деактивиране на етикета „Непроверен“ 
По подразбиране FastComments ще показва етикет „Unverified Comment“ за коментари, оставени за потребител, който има непроверена браузър сесия. Прочетете повече за непровереното коментиране тук.
Run 
Освен това, тази функция може да се използва, без писане на код, в потребителския интерфейс за персонализиране:
Задаване на потребителско име по подразбиране 
Когато потребителите коментират или гласуват и не са вписани, ще им бъде поискано да предоставят своя имейл и потребителско име.
В случай на анонимно коментиране понякога е желателно да се зададе подразбиращо се потребителско име, за да се намали съпротивата
при коментиране. Това може да се направи от интерфейса за персонализиране. Анонимното коментиране трябва първо да бъде активирано.
Споделяне на подразбиращото се потребителско име
Подразбиращото се потребителско име е споделено име за показване, а не идентичност. Посетител, който запази подразбиращото се име и въведе своя имейл
получава собствен акаунт, като подразбиращото се се показва като публично име. Неограничен брой посетители могат да запазят едно и също подразбиращо се име,
така че „Anonymous“ никога не се счита за заето.
Потребителските имена, които посетителят въвежда сам, все още трябва да бъдат уникални.
Ако предпочитате всеки посетител да получи различно име, без да се налага да мисли за него, вижте
Генериране на потребителски имена автоматично.
Автоматично генериране на потребителски имена 
Когато потребителите коментират или гласуват, а не са влезли в системата, ще бъдат помолени да предоставят своя имейл и потребителско име.
За някои сайтове искането към посетителя да измисли уникално потребителско име е пречка, особено на мобилни устройства. FastComments може
да генерира неутрално потребителско име за всеки нов посетител и да го предварително попълни в полето за потребителско име, като BraveOtter4172.
Посетителят може да го остави както е, или да го замени с име по свой избор.
Това може да се активира от интерфейса за персонализация, под настройката Generate Usernames Automatically:
Как се държи
- Всяко генерирано име е уникално. То се проверява срещу съществуващите акаунти и се резервира за браузърната сесия на този посетител, така че двама посетители не получават едно и също име.
- Името се генерира само за посетители, които все още нямат такова. Влезли потребители, SSO потребители и посетители, които вече са коментирали, запазват съществуващото си име.
- Работи със или без анонимно коментиране. При изключено анонимно коментиране посетителят все още въвежда своя имейл, но вече не трябва да измисля потребителско име.
- Връщащ се посетител, който въведе имейл, който е използвал преди, се съпоставя със съществуващия си акаунт и запазва името от този акаунт.
- Ако е зададено и Default Username, генерираното име има предимство.
Обратни извиквания 
Всички библиотеки за коментарния уиджет (в момента Angular, React, Vue) поддържат callback-и.
Callback-ите се задават в конфигурационния обект, със същия подпис за всяка библиотека.
Поддържаните callback-и са:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
Точните подписи могат да бъдат намерени в TypeScript дефинициите.
Ето пример, в който се използват всички callback-и:
Run 
Ръчно задаване на локала на потребителя 
По подразбиране FastComments ще визуализира уиджета за коментари в локала, определен от системата и браузъра на потребителя.
Когато потребител коментира или влезе в системата, ние актуализираме последния използван от него локал и го използваме и за изпращане на имейли.
Това влияе върху начина, по който уиджетът за коментари се превежда за потребителя. Локалът се състои от езика и региона на потребителя, така че конфигурирането на локала обикновено ще промени езика, използван за показване на текста на потребителя.
Чрез UI
Това може да се зададе чрез UI за персонализиране на уиджета. Вижте опцията „Locale / Language“:
Чрез код
Това може да бъде заменено с желан локал.
Run 
Поддържани езици и кодове на локали
Можете да намерите пълен списък с поддържаните езици и съответните кодове на локали тук.
Забележка за SSO
Ако използвате SSO, може да искате да предадете локала на потребителя в обекта за потребителя, за да бъдат имейлите и другите неща локализирани правилно за него.
Ограничаване на разрешените езици 
По подразбиране FastComments не ограничава езиците, използвани за коментиране.
Може да е желателно да се ограничат езиците, които общността използва.
Това може да се конфигурира без код, на страницата за персонализиране на уиджета:
Системата ще анализира техния коментар и ще определи неговия език, след което ще го съпостави с разрешения списък.
Ако коментарът е написан на език, който не е разрешен, ще се покаже локализирано съобщение за грешка.
Превод на коментари 
По подразбиране FastComments превежда собствения интерфейс на уиджета (бутони, етикети, съобщения за грешки) на езика на зрителя, но коментарите се показват точно както са написани.
Преводът на коментари добавя превод на самите коментари, така че общност, която пише на повече от един език, може да прочете всеки коментар на своя език.
Има два режима:
- Автоматично: коментари, написани на език, различен от езика на уиджета, се показват преведени. Под коментара се появява ред „Преведено от испански“ с връзка Покажи оригинал, която превключва между превода и непреведения текст.
- Ръчно: всеки коментар получава връзка Преведи. При кликване превежда този конкретен коментар на езика на зрителя, след което се появява същият превключвател Покажи оригинал. Коментари, които вече са на езика на зрителя, показват, че са така.
Целевият език е езикът на уиджета: настройката Locale / Language в същото правило за персонализиране, ако е зададена, иначе езикът на браузъра на посетителя. Не се изисква нищо от посетителя – без акаунт, разширение или допълнителен софтуер, и работи по същия начин в вградените уиджети и на отделни страници с коментари.
Това се активира за всяко правило за персонализиране, така че може да се приложи за целия ви сайт, един домейн или една страница. По подразбиране е изключено.
Преводът е настройка от страна на сървъра. Предаване на commentTranslation в JavaScript конфигурацията на уиджета не го активира; правилото го прави.
Всеки коментар се превежда най-много веднъж за целевия език и резултатът се съхранява заедно с коментара, така че коментар, прочетен от хиляда испански говорещи, се превежда само веднъж. Ако авторът или модераторът редактира коментара, съхраненият превод се отхвърля и коментарът се превежда отново при следващия преглед. Преведеният текст преминава през същите правила за почистване и линкове като оригиналния коментар. Коментари, които са твърде дълги или чийто език не може да бъде определен, се показват непреведени.
Използването се таксува като LLM токени със същата ставка като AI Agents и се появява на същото място във вашите данни за фактуриране.
Заглавия на страници 
Текущото заглавие на страницата е свързано с посочения urlId и се запазва за използване в инструментите за модериране.
По подразбиране това се извлича от document.title.
Ако желаете, можете да зададете собствено заглавие на страницата, както следва:
Run 
Предотвратяване на нови отговори и деактивиране на гласуване 
Коментарите могат да бъдат заключени, така че да не могат да се оставят нови коментари или гласове, като се зададе флагът readonly на true.
Коментарите също няма да могат да бъдат редактирани или изтривани.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета, за цял домейн или страница:
Актуализация!
От ноември 2022 г. нишките могат да бъдат заключени или отключени на живо от администратори и модератори чрез менюто с три точки над областта за отговор.
Това ще предотврати нови коментари, като същевременно позволява гласуване и позволява на потребителите да изтриват своите коментари, ако желаят, докато readonly не позволява тези неща.
Това съответства на полето isClosed в API-то Page.
Ограничаване на домейните за връзки 
По подразбиране FastComments позволява свързване към всеки външен сайт.
Това може да бъде ограничено до желан списък от сайтове или домейни. Опитът да се публикува връзка към сайт или домейн, който не е в определения списък, ще доведе до показване на грешка на потребителя.
Тази проверка важи само за уиджета за коментари и API. Импортите не са засегнати.
Това се прави без код, на страницата за персонализиране на уиджета:
Броя на коментарите и броене на всички вложени отговори 
Броят на коментарите, показван в горната част на уиджета за коментари, може да показва или всички "top-level" коментари, което означава тези отговори, които са отговори директно към страницата или самата статия, или може да бъде брой на всички вложени коментари.
По подразбиране това е true - това е брой на последното - всички коментари. В по-старите версии на уиджета за коментари стойността по подразбиране е false.
Можем да променим поведението, така че то да бъде брой на всички вложени коментари, като зададем флага countAll на true.
Run 
Ако искаме броят да отразява само коментарите от най-горно ниво, задаваме флага на false.
Run 
В момента това не може да бъде персонализирано без промени в кода.
Активиране на връзки към коментаторите 
По подразбиране FastComments ще иска от потребителя само неговия коментар, потребителско име и имейл.
Въпреки това, в някои ситуации може да искате потребителят да остави връзка към своя блог или уебсайт.
Можем да активираме показването на допълнително поле за въвеждане, където потребителят да остави URL на своя уебсайт, като зададем флага enableCommenterLinks на true:
Run 
Когато този URL бъде предоставен, акаунтът на потребителя ще бъде актуализиран и всички негови потребителски имена в минали и бъдещи коментари ще водят към този URL.
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Групи за модериране 
Списък с идентификатори, генерирани от страницата Групи за модерация.
Когато е посочено, коментарите, оставени с използване на посочената конфигурация, ще съдържат същия набор от moderationGroupIds.
Ако един Moderator има дефинирани една или повече Групи за модерация, те ще
виждат само коментарите в страницата Moderate Comments, свързани с техните групи.
Run 
Споменаване на ID-та на групи 
Списък с идентификатори за използване при автоматично допълване на @mentions. Полезно, когато искате да предотвратите маркирането на потребители, които нямат пресичащи се групи.
Когато е зададено, в автоматичното допълване ще се показват само потребители от други групи след въвеждане на символа @.
Run 
Заобикаляне на бисквитки от трети страни 
За удостоверяване FastComments зависи от това, бисквитките от трети страни да са активирани в браузъра ви. Без тях потребителите винаги ще трябва да оставят имейл, за да коментират (освен ако полето за имейл е скрито), а коментарите им винаги ще се показват като непотвърдени (по подразбиране).
За да заобиколите това, можете да активирате заобикалянето на бисквитки от трети страни.
Когато тази настройка е активирана, ще се появи малък изскачащ прозорец, който показва съобщение, че потребителят се вписва. Този прозорец се показва всеки път, когато потребителят взаимодейства с уиджета за коментари; например, ако остави коментар.
Можем да направим това в кода, като зададем флага enableThirdPartyCookieBypass на true:
Run 
Можем също да настроим това чрез UI за персонализиране на уиджета, под Enable Third-Party Cookie Popup:
Изтриване на коментари с отговори 
По подразбиране потребителите могат да изтриват собствените си коментари. Също така, изтриването на техния коментар автоматично изтрива всички дъщерни и преходни коментари в нишката. Това поведение също е активно.
Можете да ограничите това по следните начини:
- Вместо това анонимизирайте изтрития коментар (задайте име и текст като
[deleted]или персонализирана стойност). - Не позволявайте изтриване на коментари, когато има отговори. Показва се персонализирано съобщение за грешка.
- Ограничете изтриването, когато коментар има отговори, само за администратори и модератори.
Това може да се конфигурира чрез секцията Comment Thread Deletion в потребителския интерфейс за персонализиране на уиджета.
Показване на значки в горната лента 
По подразбиране FastComments ще показва потребителските значки само върху техните коментари в нишката за коментари.
Въпреки това можем да покажем потребителските значки до името им над формуляра за коментари, като активираме тази функция в страницата за персонализиране на уиджета:
Това ще покаже значките на потребителя заедно с името му в областта на горната лента, като прави постиженията и статуса им по-видими, докато съставят коментар.
Обърнете внимание, че тази функция трябва да бъде активирана в потребителския интерфейс за персонализиране на уиджета, за да работи. Можете по избор да зададете флага showBadgesInTopBar на false във вашата конфигурация на кода, за да я изключите избирателно, дори когато е включена на ниво сървър:
Run 
Показване на списъка с онлайн потребители 
По подразбиране FastComments не показва списък с потребители на страницата.
Можете да изобразите списък с хора, които в момента преглеждат страницата, заедно с уиджета за коментари. Списъкът се актуализира в реално време, когато потребителите се присъединяват или напускат, и показва тяхното име, аватар и индикатор за онлайн статус.
Има три варианта за оформление:
1- Горен: хоризонтален ред от припокриващи се аватари, изобразени над коментарите.2- Ляво: странична лента с имена и онлайн точки, изобразени отляво на уиджета.3- Дясно: същата странична лента, изобразена отдясно на уиджета.
Задайте флага usersListLocation, за да активирате функцията:
Run 
По подразбиране списъкът показва само потребителите, които са онлайн в момента. За да включите и хора, които са коментирали страницата в миналото (но в момента не я преглеждат), задайте usersListIncludeOffline на true:
Run 
Потребителите, които са коментирали в миналото, се изобразяват без зеления онлайн индикатор, за да е ясно кой е присъстващ в момента.
Потребителите с частни профили се показват с общ аватар и етикет "Private Profile", за да се запази точният брой без разкриване на идентичностите.
Това може да се конфигурира и без код. На страницата за персонализиране на уиджета, вижте опцията "Users List Location". Когато местоположението е зададено на нещо различно от Off, се появява отметка "Include past commenters" под нея.
До 500 живи потребители, списъкът е с до 30 секунди закъснение.