
Език 🇧🇬 Български
Основи
Външен вид и усещане
Коментари в реално време
Пагинация и сортиране
Поле за отговор
Еднократно влизане (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, например id на статията/страницата.
Run 
Едно нещо, към което често ще се отнасяме в този документ, е Потребителският интерфейс за персонализиране на уиджета.
Този потребителски интерфейс може да се използва за правене на много промени в уиджета за коментари без използване на код.
Когато създаваме правило за персонализиране, често искаме то да се прилага за всички страници на нашия сайт. Въпреки това, в някои случаи искаме да персонализираме уиджета за коментари на конкретна страница, например за прилагане на персонализирани стилове или може би да направим коментарите за тази конкретна страница анонимни. Можете също така, например, да показвате живи коментари веднага на някои страници, докато на други да ги скриете зад бутони за известяване.
Всичко това е възможно чрез полето за въвеждане на URL ID на тази страница, което изглежда по следния начин:
Стойността в това поле трябва да съвпада с параметъра urlId, подаван към уиджета за коментари. Ако искате вашето правило за персонализиране да е независимо от urlId, оставете това поле празно или въведете *.
Към 2023 г. полето URL ID в персонализирането на уиджета вече приема и шаблони! Например може да имате */blog/*, за да добавите стилизиране, специфично за вашия блог, и */store/*, за да имате стилизиране, специфично за вашия магазин, като и двете използват същия домейн.
Подводни камъни
- Ако вашата страница има hash параметри (като example.com#page-1) - това по подразбиране ще стане част от URL ID.
- По време на миграции, например от WordPress към Gatsby, може да се наложи да мигрирате стойностите на URL ID за коментари след първоначалната миграция. За това се свържете с нас.
Изобразяване на същите коментари на различни страници 
Тъй като параметърът urlId ни позволява да определим към коя страница или id принадлежат коментарите, можем просто да зададем urlId със същата стойност на тези страници.
Run 
Персонализиран стил 
FastComments е проектиран да бъде персонализиран. Същинският widget за коментари работи вътре в iframe по съображения за сигурност, така че за да приложите персонализирано стилизиране трябва да следвате един от двата подхода.
Първият, най-лесният подход и предпочитан от нас, е да използвате widget customization page.
В страницата за персонализиране на widget-а вижте секцията "Show Advanced Options", под която има област с етикет "Custom CSS":
Този подход има няколко предимства:
- Въведеният CSS се минифицира преди да бъде изпратен до потребителя и форматирането се запазва консистентно в UI за редактиране.
- Получавате всички предимства на потребителския интерфейс за персонализиране на widget-а, например лесно персонализиране на widget-а за коментари различно за различни сайтове.
- Когато правим промени по widget-а за коментари, вашето персонализирано стилизиране ще бъде тествано като част от нашия процес на издаване.
Вторият подход е да зададете параметъра customCSS в конфигурацията на widget-а, както следва:
Run 
Въпреки това, това има ограничения:
- Съществува ограничение колко много custom CSS може да бъде подаден, преди нашите сървъри да отхвърлят заявката, поради размера на header-ите.
- Трябва да управлявате custom CSS във вашата инфраструктура и в системата за билд. Това може да е предимство, а не недостатък.
- Има допълнителен разход за изпращане на custom CSS през мрежата дважди в този случай, тъй като трябва да бъде изпратен към нашите сървъри и след това върнат в съдържанието на iframe-а. Въпреки това за повечето размери на payload това не е забележимо.
- Честа оптимизация е минифициране на CSS, за да се намали размерът му по мрежата, но при този подход ще трябва вие да се погрижите за това.
- Вашият custom CSS няма да бъде тестван когато правим промени.
External CSS Files
Можете да накарате widget-а да зареди външен файл като използвате @import!
Препоръчително е да поставите @import в правило за персонализиране. По този начин, ако някога трябва да направим промяна в widget-а за коментари, можем да използваме нашите автоматизирани инструменти
за да проверим вашата конфигурация. Така например, бихте създали правило за персонализиране в UI-то за персонализиране на widget-а, щракнете Advanced и въведете в Custom CSS:
@import url(https://example.com/styles.css);In Code - Not Recommended
Можете също да заредите външен CSS файл чрез свойството customCSS:
Run 
Въпреки това, запомнете, че вашият CSS няма да може да бъде тестван от нас, ако направите това.
User Profile Modal Styling
Модалите с потребителски профили също могат да бъдат стилизирани с custom CSS. Въпреки това, за да се гарантира, че персонализираното стилизиране се прилага към потребителските профили, всички CSS селектори трябва да бъдат с префикс .user-profile. Без този префикс, персонализираното стилизиране ще бъде игнорирано за модалите с потребителски профили.
Например:
Run 
Backwards Compatibility
В FastComments знаем, че нашите клиенти персонализират widget-а за коментари. Това е по дизайн - последното нещо, което искаме, е нашият продукт да предизвиква дизайнерски несъответствия във вашия продукт.
Тъй като това е важна част от нашия продукт, имаме билд pipeline, който ни позволява да преглеждаме промените по widget-а за коментари, за всеки клиент, при всяко издание.
Ако открием минимални проблеми, ще актуализираме вашия акаунт, за да гарантираме, че нашето издание протича гладко. Ако видим големи разрушителни промени, това ни позволява да спрем изданието.
Персонализирани шрифтове 
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 целият текст в уиджета за коментари може да бъде персонализиран.
Можете да замените един елемент от текста, като бутона за изпращане, или целия текст във въпросния уиджeт за коментари.
По подразбиране текстът в уиджета за коментари се превежда въз основа на локала на потребителя. Въпреки това можем да пренапишем текста, ако сме уверени че нашата база потребители използва един и същ локал/език, например:
Run 
Всички персонализирани преводи могат да бъдат намерени тук под раздела "разширени опции".
Има обаче по-лесен начин, чрез UI за персонализиране на уиджета. Там просто можем да намерим текста, който се показва в уиджета за коментари в локала EN_US, и да зададем замяна.
В момента всички замествания на преводи засягат всички локали.
Промяна на стандартния аватар 
Когато потребител публикува коментар с FastComments за първи път, ще се опитаме да изтеглим техния аватар от http://gravatar.com/.
Ако обаче не намерим аватар, или потребителят никога не е задавал такъв в своя профил, показваме статично изображение по подразбиране като аватар.
За да посочите собствено статично изображение за аватар, може да използвате настройката defaultAvatarSrc.
Run 
Това може да се направи и без код. В страницата за персонализиране на уиджета вижте секцията "Аватар по подразбиране".
Обърнете внимание, че задаването на аватар за конкретен потребител, например при SSO, е разгледано в отделна секция.
Деактивиране на аватарите 
Аватарите могат да бъдат напълно премахнати от коментарния уиджет, дори ако потребителите са задали свои собствени аватари.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Деактивиране на всички стандартни стилове 
За по-големи проекти за персонализиране на стила може да е желателно да започнете от нулата и изобщо да не използвате подразбиращите се стилове.
Цялото подразбиращо се стилизиране може да бъде премахнато, като зададете параметъра noStyles на true, както следва:
Run 
Това може да бъде персонализирано без писане на код, на страницата за персонализиране на уиджета, в Разширени опции:
Свързване на коментари със страници 
Когато изпращате уведомителни имейли, или визуализирате коментари в потребителски интерфейси като страницата за модериране, е полезно да можете да направите връзка от коментара към страницата, на която се намира.
Ако URL ID не винаги е реално ID, тогава трябва да съхраним URL някъде другаде. За това служи свойството "url", дефинирано по следния начин.
Run 
Често срещан случай на употреба е свързването на нишката с коментари със идентификатор, например статия, и след това връзка обратно към конкретна страница, например:
Run 
URL адресът не се почиства от общи маркетингови параметри. По подразбиране какъвто е текущият URL на страницата, такъв се съхранява с коментара.
Свиване на отговорите по подразбиране 
По подразбиране отговорите на коментарите от най-горно ниво се показват.
Това може да се конфигурира така, че потребителят да трябва да кликне върху "Покажи отговорите" при коментарите от най-горно ниво, за да види децата.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Тази настройка няма да повлияе на броя на първоначално заредените коментари от най-горно ниво. Ако имате един коментар от най-горно ниво и 29 отговора, с включена тази настройка вие ще:
- Ще видите коментара от най-горно ниво.
- Ще видите "Покажи отговорите (29)" под този коментар.
Ако желаете да показвате всички коментари от най-горно ниво в комбинация с тази опция, задайте началната страница на -1.
Активиране на WYSIWYG редактор 
По подразбиране функционалностите за форматиране в FastComments се извършват чрез добавяне на видими маркерни тагове като <b></b> около вашия текст. Кликването върху лентата с инструменти
или използването на клавишни комбинации прави това вместо вас. Въпреки това, някои общности може да искат да изберат използване на форматиране без видими маркерни тагове. Това се нарича активиране на WYSIWYG (каквото виждате, това получавате) редактора. Този редактор изглежда точно като стандартния, с изключение че зарежда допълнителен код, който позволява на потребителите да удебеляват, подчертават и т.н. своя текст без видими маркерни тагове.
Run 
Това може да се направи и без код. В страницата за персонализиране на уиджета вижте опцията "Разреши разширено форматиране".
Деактивиране на лентата с инструменти 
По подразбиране 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 минути".
Може да е необходимо или желателно да използвате абсолютни дати, в този случай задайте този параметър на true.
Run 
Това може да се персонализира без писане на код на страницата за персонализиране на уиджета, в Разширени опции:
Показване както на абсолютни, така и на относителни дати 
По подразбиране се използват локализирани относителни дати. Например, до наскоро оставен коментар може да видите "преди 11 минути".
Може да е необходимо или желателно да запазите този относителен формат на датата, но също така да покажете пълната дата заедно с него; в този случай задайте този параметър на true.
Run 
Това може да бъде персонализирано без код, на страницата за персонализиране на джаджата, в секцията Разширени опции. Първо ще трябва да активирате Absolute Dates, за да видите тази опция в потребителския интерфейс.
Добавяне на заглавен текст 
Някакъв текст, като заглавие или съобщение, може да се показва под броя на коментарите, но над текста за статуса на влизане.
Наричаме това заглавие и по подразбиране то е скрито.
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.
Броят се обновява в реално време заедно с нишката с коментари. Бутонът не се показва, ако няма коментари.
Това може да бъде включено без код чрез създаване на правило за персонализиране и активиране на "Click to Show Comments":
Персонализиране на текста за броя коментари 
Броят на коментарите, показван в горната част на коментарния уиджет, може да бъде персонализиран.
Това може да бъде заменено с произволен текст, а стойността [count] ще бъде заменена с числото, локализирано за потребителя.
Run 
Това може да бъде персонализирано без писане на код, чрез страницата за персонализиране на уиджета:
Деактивиране на пренасочване на изображения 
По подразбиране FastComments позволява на потребителите да качват изображения. Когато потребителят кликне върху това изображение, FastComments по подразбиране, ще отвори нов раздел, за да покаже изображението в пълен размер. Задаването на този флаг на true ще деактивира това поведение:
Run 
Ако не възнамерявате сами да обработвате кликването върху изображението (вж. onImageClicked), препоръчваме това да се комбинира с някакво стилизиране за да се премахне впечатлението, че изображението може да бъде кликнато.
Деактивиране на автоматичното създаване на хаштагове 
Когато потребителите въвеждат хаштагове, под формата на #someexampletag, FastComments автоматично ще създаде този HashTag и
ще го открои в техния коментар.
В някои случаи е желателно да се забрани тази функция или да се контролира кои хаштагове могат да се използват чрез API.
За да направите това, просто активирайте Disable Automatic #hashtag Creation чрез интерфейса за персонализиране на уиджета.
Деактивиране на звънеца за известия 
По подразбиране FastComments ще покаже звънец за уведомления в горния десен ъгъл на зоната за коментари.
Този звънец ще стане червен и ще покаже брой на уведомленията, които потребителят има. Някои примерни уведомления са:
- Потребителят ви отговори.
- Потребителят отговори в нишка, в която сте коментирали.
- Потребителят гласува положително за вашия коментар.
- Потребителят отговори на страница, за която сте се абонирали.
Звънецът за уведомления предоставя и механизъм за абониране за цяла страница.
Въпреки това, можем да деактивираме звънеца за уведомления напълно:
Run 
Това може да се направи и без код. В страницата за персонализиране на джаджата вижте раздела "Disable Notification Bell".
Деактивиране на профилите 
По подразбиране FastComments ще показва профила на потребителя, когато кликнете върху аватара им.
Въпреки това, можем да деактивираме тази функционалност:
Run 
Това може да се направи и без код. На страницата за персонализиране на джаджата вижте секцията "Деактивиране на профили".
Деактивиране на съобщението за успех 
По подразбиране FastComments ще покаже съобщение за успех след публикуване на коментар. Това може да бъде деактивирано по следния начин:
Run 
Това може да се направи и без код. В страницата за персонализиране на уиджета:
Промяна на рейтинга на съдържанието за GIF 
По подразбиране коментарният виджет на FastComments ще зададе gif rating на pg.
Достъпните опции са g, pg, pg-13 и r.
Това може да се зададе в кода или чрез потребителския интерфейс. В кода можем да го направим по следния начин:
Run 
В потребителския интерфейс това се намира под Gif Picker Rating, стига опцията Disable Image Uploads? да не е отметната.
Модерация на съдържанието на изображенията 
По подразбиране модерацията на съдържанието на изображенията в коментарния уиджет на FastComments е изключена off.
Наличните опции са off, low, medium и high.
В интерфейса за персонализиране на уиджета това ще намерите под Image Content Moderation Level, стига опцията Disable Image Uploads? да не е отметната.
Промяна на стила на гласуване 
По подразбиране FastComments ще показва опциите за гласуване като стрелки нагоре и надолу, позволявайки на потребителите да гласуват за или против коментар.
Възможно е обаче да се промени стилът на лентата за гласуване. Настоящите опции са по подразбиране бутоните Нагоре/Надолу или използване на механизъм за гласуване със сърце.
Използваме флага voteStyle по следния начин:
Run 
Препоръчваме силно да го направите без код, тъй като това също активира валидации на сървърната страна. На страницата за персонализиране на джаджата вижте секцията "Стил на гласуване".
Гласуването може да бъде деактивирано, вижте Disable Voting по-горе при опциите за стил.
Деактивиране на изтриването 
По подразбиране FastComments позволява на потребителите да изтриват коментарите си.
Въпреки това е възможно това да бъде предотвратено.
В страницата за персонализиране на уиджета вижте опцията "Изключване на изтриването".
- Това засяга само обикновените Commenters и не засяга модераторите или администраторите, които все още ще могат да изтриват.
- Това ще засегне и API интеграциите, когато бъде предаден
contextUserId.
Деактивиране на редактирането 
По подразбиране FastComments ще позволи на потребителите да редактират коментарите си.
Въпреки това, възможно е това да бъде предотвратено.
На страницата за персонализиране на уиджета вижте опцията „Забрани редактирането“.
- Това влияе само на обикновените коментатори и не засяга модератори или администратори, които все още ще могат да редактират.
- Това ще засегне и интеграциите чрез API, когато е подаден
contextUserId.
Открояване на новите коментари 
FastComments предоставя няколко начина за маркиране на нови коментари.
Първо и най-важно, по подразбиране коментарите, които са задействали вътреприложно известие (отговори, отговори в същата нишка, или коментари на страница, на която сте абонирани), автоматично ще бъдат подчертани с леко сияние около аватара на потребителя. Цветът може да бъде персонализиран чрез CSS, използвайки класа is-unread.
Коментарите, публикувани през последните 24 часа, имат приложен клас 24hr, който може да се използва за стилизиране.
Накрая, всички нови живи коментари, които се появят в сесията на потребителя, ще бъдат подчертани за няколко секунди чрез анимация. Това се осъществява чрез CSS класа is-live и също може да бъде персонализирано.
Размери на страниците 
По подразбиране размерът на страницата в FastComments е 30. Това включва отговорите в нишките.
Размерът на страницата може да се персонализира в Интерфейс за конфигурация на уиджета в различни стойности в диапазона от 10 до 200.
Обърнете внимание, че промяната на размера на страницата изисква преизчисляване на всички нишки с коментари в акаунта ви. Това може да отнеме няколко минути.
Това не може да се конфигурира в клиентския уиджет, тъй като страниците се изчисляват на сървъра.
Примерна конфигурация е показана по-долу:
Размерите на страниците могат да се персонализират глобално, или на ниво домейн, или на ниво страница, чрез създаване на различни правила за персонализиране.
Това ще засегне всички клиенти, интеграции и рамки, които използвате за показване на коментари чрез нашата платформа.
Шаблони за имейли 
Имейлите, изпращани от FastComments до вашите клиенти, могат да бъдат персонализирани. Шаблонът, логиката, и преводите могат да бъдат променени. Текстът може да бъде персонализиран за всеки локал, а стилирането може дори да бъде променяно за всеки домейн. Научете повече за персонализираните имейл шаблони тук.
Формати на потребителските имена 
По подразбиране FastComments ще показва името на потребителя както е въведено от него, или както ни е предадено чрез SSO.
Въпреки това може да е желателно да се маскира или да се покаже името на потребителя по различен начин. Например, ако името на потребителя е Allen Rex, може да искате да показвате само "Allen R.".
Това може да се направи без код в интерфейса за персонализиране на уиджета, в настройката наречена Commenter Name Format:
Наличните формати са:
- Capitalize (показва Example User като Example User)
- Инициал на фамилията (показва Example User като Example U.)
- Всички инициали (показва Example User като E. U.)
- Показване като "Анонимен"
Промяната влиза в сила незабавно. Потребителите ще продължат да виждат пълното си потребителско име в горната част на зоната за коментари, само за себе си, но в коментарите им ще се показва модифицираното потребителско име.
Потребителските имена се маскират на сървърната страна, за да се защитят потребителите.
Деактивиране на качването на изображения 
По подразбиране FastComments позволява качване на изображения. Това може да бъде забранено чрез задаване на флага noImageUploads на true.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Активиране на полето за търсене 
По подразбиране в коментарния уиджет не се показва поле за търсене.
Въпреки това можем да го включим, като зададем флага enableSearch на true:
Run 
Това може да се направи и без код. В страницата за персонализиране на уиджета вижте опцията "Включване на полето за търсене".
Активиране на спойлери 
Можем да активираме поддръжката на спойлери, като зададем флага enableSpoilers на true:
Run 
Това може да се направи и без код. На страницата за персонализиране на джаджата, вижте опцията "Активиране на спойлери".
Когато текстът е маркиран, и се кликне върху вече видимия бутон SPOILER, текстът ще бъде маскиран, докато потребителят не премести курсора на мишката върху него. За тъмен режим правим същото, с различни
цветове, които по-добре съответстват на тъмния режим.
Това е съвместимо и с WYSIWYG редактора.
Активиране на брояча за прегледи на коментари 
По подразбиране FastComments не следи кой е прегледал всеки коментар и не предоставя статистика за това.
Въпреки това, можем да активираме тази функция и системата ще започне да следи, когато всеки потребител превърти до коментар.
Когато това се случи, броячът до икона с око, показан на всеки коментар, ще бъде увеличен. Броячът се обновява в реално време и се съкращава според локала на потребителя.
Можем да активираме това като зададем флага enableViewCounts на true:
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Ние следим идентификатора на потребителя*, който е прегледал коментара, така че ако прегледате коментара отново, той да не се увеличава. Ако прегледате коментара отново след две години, броячът ще се увеличи отново.
- *Забележка: или anon session id, или потребителския IP като хеширана стойност.
Показване на коментари в реално време веднага 
По подразбиране активността в секцията за коментари в реално време е включена. Това означава, че ако се добавят, изтриват, редактират или прикрепят коментари, промените трябва да се появят за всички потребители, които преглеждат нишката с коментари по едно и също време.
Въпреки това, по подразбиране тези нови коментари ще се появят под динамично показан бутон с текст, подобен на "Show 2 New Comments".
Ако новите коментари са отговори директно на страницата, бутонът ще се покаже в горната част на нишката с коментари. Ако са отговори на конкретен коментар, бутонът ще се покаже под този коментар.
Това е, за да се предотврати постоянното променяне на размера на страницата за потребителя, което може да причинява раздразнение при опит да хване лентата за превъртане.
За някои случаи на използване, като живо наддаване или онлайн събития, това не е желаното поведение - може да искате уиджитът за коментари да бъде по-скоро като чат прозорец, където новите коментари "show right away".
Hence, the name of the flag that enables that feature: showLiveRightAway.
We can turn it on as follows:
Run 
This can be customized without code, on the widget customization page:
Деактивиране на коментари в реално време 
По подразбиране FastComments ще има включени живи коментари.
Това означава, че всеки преглеждащ нишката с коментари трябва да вижда едно и също съдържание.
Например, ако е добавен коментар, този коментар трябва да се покаже. Ако коментар бъде редактиран или премахнат, тези коментари ще бъдат редактирани или премахнати за всички преглеждащи нишката. Същото важи за гласуванията и всички модераторски действия.
Въпреки това, можем да деактивираме това:
Run 
Това може да бъде направено и без код. На страницата за персонализиране на уиджета вижте секцията "Изключване на живи коментари".
Нови коментари в реално време в долната част 
По подразбиране новите живи коментари се появяват най-горе в списъка с коментари, когато са публикувани в реално време.
Когато тази опция е включена, новите живи коментари ще се добавят в долната част на списъка вместо това. Това влияе на начина, по който коментарите се показват, когато са публикувани в реално време, докато потребителите разглеждат нишката с коментари.
Run 
С тази настройка включена:
- Новите живи коментари, публикувани от други потребители, ще се появяват в долната част на списъка с коментари
- Потребителите ще виждат как новите коментари се появяват под вече съществуващите коментари в реално време
- Това влияе само на актуализациите на живите коментари - а не на първоначалното зареждане на страницата
- Това може да помогне за запазване на потока на четене, когато потребителите следят дискусия
Обърнете внимание, че тази настройка влияе само на това къде се поставят новите живи коментари при тяхното пристигане в реално време. Тя не променя първоначалния ред на сортиране при зареждане на страницата.
Активиране на безкрайно превъртане 
По подразбиране FastComments уиджетът ще се преоразмерява вертикално, за да побере всички видими коментари. Пагинацията се реализира чрез бутон "Прегледай следващите" в края на текущата страница, тъй като установихме, че това е взаимодействието, което се усеща най-удобно за повечето потребители.
Въпреки това има случаи, в които е предпочитано безкрайно превъртане. Например, ние използваме тази функция в нашия продукт Stream Chat.
Можем да скрием бутоните "Прегледай следващите" и да превключим към безкрайно превъртане, като зададем флага enableInfiniteScrolling на true:
Run 
Това също изисква добавяне на персонализиран CSS. Добавете персонализиран CSS за селектора .comments, за да позволите превъртане, например:
Run 
Пълният работещ пример би бил:
Run 
В горния пример използваме свойството customCSS, но се препоръчва вместо това да се използва потребителският интерфейс за конфигурация на уиджета по причини за производителност. Вижте документацията за персонализиран CSS.
Промяна на подразбиращата се посока на сортиране 
По подразбиране, FastComments сортира коментари по посоката на сортиране "Most Relevant".
Сортирането по Most Relevant взема предвид времето, когато е оставен коментарът, и броя гласове при сортиране.
Потребителят след това може да промени посоката на сортиране на или Oldest, или Newest First в потребителския интерфейс на уиджета за коментари.
Въпреки това, можем да променим подразбиращото се на всяка от трите. Например ако искате да показвате първо най-старите коментари:
Run 
Задаваме стойността на defaultSortDirection на "OF", за да зададем посоката на "OF".
За посоката на сортиране newest-first, бихме направили следното:
Run 
Валидните стойности за defaultSortDirection са:
- MR: "Most Recent"
- NF: "Newest First"
- OF: "Oldest First"
Това може да се направи и без код. В страницата за персонализиране на уиджета вижте секцията "Default Sort Direction".
Имайте предвид, че коментарите на всяка страница за всяка посока на сортиране са предварително пресметнати, така че всички посоки на сортиране имат една и съща производителност.
Изобразяване на всички коментари наведнъж - деактивиране на пагинацията 
За да деактивирате пагинацията и да покажете всички коментари наведнъж, задайте startingPage на -1.
Run 
Преместване на полето за отговор след коментарите 
По подразбиране полето за въвеждане на коментар е преди нишката с коментари. Въпреки това, като зададем този конфигурационен параметър на true, можем да го преместим след нея.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Ограничаване на дължината на коментара 
Максималният брой символи, които могат да бъдат въведени в полето за коментар, може да бъде ограничен чрез параметъра maxCommentCharacterLength.
По подразбиране е 2000.
Елементи като URL адреси на изображения не се включват при определянето на дължината.
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Деактивиране на многоредовите коментари 
По подразбиране FastComments позволява на потребителя да въведе коментар с толкова редове, колкото желае, до зададения по подразбиране лимит на символите.
Въпреки това може да е желателно да ограничите потребителя да въвежда само един ред текст. Някои примерни случаи на употреба включват онлайн наддаване или чат на живо, за които FastComments може да бъде използван.
Активираме флага useSingleLineCommentInput по следния начин:
Run 
Това може да се направи и без код. В страницата за персонализиране на джаджата вижте секцията "Активиране на едноредово въвеждане на коментари".
Обърнете внимание, че коментарите на всяка страница за всяка посока на сортиране са предварително изчислени, така че всички посоки на сортиране имат еднаква производителност.
Ограничаване на броя коментари на потребител 
По подразбиране всеки потребител може да изпрати до 5 comments в същата минута.
Това се проследява по user id, anon user id, and ip address (hashed).
Това може да се персонализира без код, на страницата за персонализиране на widget-а:
Имайте предвид, че ако използвате API за създаване на коментари, може да искате да предадете оригиналния ip адрес на потребителя в заявката към нашия бекенд, така че ограничаването по честота да се прилага на потребител, а не глобално за вашия акаунт.
Предотвратяване на нови коментари от най-горно ниво 
Задаването на noNewRootComments на true ще накара джаджата да скрие областта за отговори на кореново ниво, но все пак ще позволи на потребителите да отговарят
на подкоментари. Например, можете да зададете това условно при зареждане на страницата, за да позволите само на някои потребители да оставят коментари на най-горно ниво.
Run 
Максимална дълбочина на отговорите 
По подразбиране FastComments позволява неограничено вграждане на отговори, създавайки структура от нишки, в която потребителите могат да отговарят на отговори безкрайно.
Опцията maxReplyDepth ви позволява да ограничите колко дълбоко могат да стигнат нишките с отговори. Когато е достигната максималната дълбочина, потребителите вече няма да виждат бутон за отговор при коментари на това ниво.
Run 
С maxReplyDepth зададено на 2:
- Потребителите могат да коментират на най-горното ниво (дълбочина 0)
- Потребителите могат да отговарят на коментари от най-горното ниво (дълбочина 1)
- Потребителите могат да отговарят на тези отговори (дълбочина 2)
- Допълнителни отговори не са разрешени след дълбочина 2
Задаването на 1 би позволило само отговори на коментари от най-горното ниво, създавайки по-плитка структура на дискусията.
Задаването на maxReplyDepth на 0 ще деактивира всички отговори и ще позволява само коментари на най-горното ниво. Ако не е зададено, отговорите могат да се вграждат без ограничение.
Преглед на Еднократно влизане (SSO) 
SSO, или единно влизане (single-sign-on), е набор от конвенции, използвани за да позволят на вас или вашите потребители да използват FastComments без да се налага да създават още един акаунт.
Ако не позволявате анонимни коментари, акаунт е задължителен за коментиране с FastComments. Правим процеса на регистрация много лесен - потребителят просто оставя своя имейл, когато коментира. Разбираме обаче, че дори това може да е излишно препятствие, което някои сайтове искат да избегнат.
Можем да намалим това препятствие, като имате само един поток за влизане за целия си сайт.
How do I get it?
Всички типове акаунти в момента имат достъп до SSO. Въпреки това максималният брой SSO потребители ще варира в зависимост от вашия пакет. Както при другите функции, Pro плановете и по-високите предоставят директна разработчикова поддръжка.
Нека сравним опциите и после да разгледаме детайлите на всяка от тях.
User and Comment Migrations
Когато мигрирате от платформа със SSO като Disqus, вече ще имате потребители и техните коментари.
Коментарите се импортират като част от вашата миграция, или чрез API-то, нашия Import UI, или чрез поддръжката на клиенти. Import UI е предпочитан, ако поддържа платформата, от която мигрирате, тъй като включва обработка на грешки, извличане и качване на аватари и медии и система за наблюдение на пакетни задачи.
Самите потребители се добавят автоматично при първото разглеждане на нишки с коментари. Като алтернатива, те могат да бъдат предварително добавени чрез API-то, но тази работа няма много предимства.
Ако коментарите са импортирани и SSO потребителите не са добавени ръчно чрез API-то, тогава коментарите автоматично ще бъдат мигрирани към акаунта на потребителя при първото му създаване, когато разгледа някоя нишка с коментари. След това те ще могат да управляват, редактират и изтриват коментарите, които първоначално са написали.
Автоматичната миграция се прави чрез имейл или потребителско име. Някои платформи не предоставят имейли при експорта, като Disqus, така че в този случай използваме потребителското име.
- Докато подадете съвпадащо потребителско име и имейл в SSO payload, ние ще добавим имейла към отделните обекти на коментарите, така че уведомленията и споменаванията да работят.
Ако желаете да импортирате коментарите и потребителите едновременно, работете с поддръжката, за да мигрирате коментарите към съответните акаунти на потребителите след като потребителите бъдат импортирани чрез API-то.
Като обобщение, най-лесният път за миграция е:
- Import comments.
- Аватарите и другите медии се мигрират автоматично ако използвате Import UI в
Manage Data -> Imports.
- Аватарите и другите медии се мигрират автоматично ако използвате Import UI в
- Настройте Secure или Simple SSO.
- Оставете миграцията да се случи по потребител автоматично при първото им влизане.
- Това обикновено добавя по-малко от секунда към времето за зареждане на страницата, ако потребителят има по-малко от 50k коментара.
WordPress Users
Ако използвате нашия WordPress плъгин, няма код за писане! Просто отидете на административната страница на плъгина, кликнете върху SSO Settings, и после Enable.
Това ще ви отведе до съветник с еднократно натискане на бутон, който ще създаде вашия API ключ, ще го изпрати към вашата WordPress инсталация и ще включи SSO. Консолидирали сме това в едно натискане на бутон за ваше улеснение.
Имайте предвид, че ако инсталирате плъгина за първи път ще трябва да завършите процеса на настройка преди да видите административната страница с бутона SSO Settings.
WordPress SSO - Moderators
Имайте предвид, че в момента, за да се покаже бейджът "Moderator" до вашите модератори когато коментират с FastComments WordPress плъгина, те също трябва да бъдат добавени като Moderator в таблото за управление на FastComments и техният имейл трябва да бъде верифициран.
Custom Integrations
За потребителски интеграции има две опции.
Option One - Secure SSO
С Secure SSO, FastComments знае, че потребителят, който коментира, гласува и чете коментари е реален потребител на вашия сайт.
Докато създадете валидна payload, потребителят винаги ще има безпроблемно изживяване при коментиране.
С Secure SSO, SSO payload се създава от страна на сървъра използвайки HMAC автентикация и след това се предава към widget-а на клиента.
С Secure SSO, акаунтът на потребителя е напълно отделен от останалата база потребители на FastComments. Това означава, че ако имаме двама партньори Company A и Company B, всеки може да има SSO потребител с потребителско име "Bob".
Requirements
- Някои базови познания в бекенд разработка.
- Някои базови познания при работа с тайни API ключове.
- Някои базови познания относно разработка на API или рендериране от страна на сървъра.
Pros
- Сигурно.
- Безшевно изживяване при коментиране.
Cons
- Изисква бекенд разработка.
Updating User Data
С Secure SSO, всеки път когато подадете sso user payload, ние ще обновим техния потребител с последната информация. Например, ако потребителят има потребителско име X, и в SSO payload подадете Y, неговото потребителско име ще стане Y.
Ако искате да премахнете стойности използвайки този подход, задайте ги на null (не на undefined).
Secure SSO API
Ние също предоставяме API за взаимодействие със SSO потребителите. Вижте the docs.
Имайте предвид, че при използване на Secure SSO, потребителите се създават автоматично зад кулисите при зареждане на страницата. Не е необходимо да правите масов импорт на вашите потребители.
Option Two - Simple SSO
Алтернативата на Secure SSO е просто да подадете информацията за потребителя към widget-а за коментари.
Подаването на имейл при Simple SSO не е задължително, но без него техните коментари ще се показват като "Unverified".
Забележка! От началото на 2022 г. потребителските имена при Simple SSO не е нужно да са уникални в целия FastComments.com.
Идеално би било Simple SSO да се избира само при разработка на платформа, която не предоставя достъп до бекенда.
Requirements
- Някои базови познания по клиентска разработка.
- Трябва да знаете поне имейла на потребителя.
Pros
- Просто.
- Всяка активност все още се верифицира.
- Потребителят никога не въвежда своето потребителско име или имейл.
Cons
- По-малко сигурно от Secure SSO, тъй като payload-ът от страна на клиента може да бъде създаден така, че да се представя за всеки потребител.
Simple SSO API
Потребителите, създадени автоматично чрез Simple SSO потока, се съхраняват като SSOUser обекти. Те могат да бъдат достъпвани и управлявани чрез SSOUser API. Вижте the docs.
Персонализирани интеграции - Сигурно еднократно влизане (SSO) 
FastComments Secure SSO използва HMAC-SHA256 криптиране като механизъм за реализиране на SSO. Първо ще разгледаме цялостната архитектура, ще дадем примери и подробни стъпки.
Има и документация относно мигриране от други доставчици с подобни SSO механизми и разликите.
Потокът изглежда по следния начин:
Тъй като Secure SSO включва full-stack разработка, пълни работещи примери на код в Java/Spring, NodeJS/Express и чист PHP в момента са в GitHub.
Въпреки че използваме ExpressJS в примера за NodeJS и Spring в Java примера, в тези среди не са необходими допълнителни фреймуърки/библиотеки, за да се реализира FastComments SSO - нативните крипто пакети работят.
Не е нужно да създавате никакви нови API endpoints за FastComments SSO. Просто криптирайте информацията за потребителя с вашия секретен ключ и предайте payload-а на коментарния widget.
Get Your API Secret Key
Вашият API Secret може да бъде извлечен от тази страница. Можете да намерите тази страница и като отидете в My Account, кликнете върху плочката API/SSO и след това кликнете "Get API Secret Key".
Comment Widget Parameters
Документация на високо ниво за API на коментарния widget може да бъде намерена тук.
Нека разгледаме по-подробно какво означават тези параметри.
Коментарният widget приема обект за конфигурация - вие вече подавате това, ако използвате FastComments, за да предадете своя customer id (наречен tenantId).
За да активирате SSO, подайте нов обект "sso", който трябва да има следните параметри. Стойностите трябва да бъдат генерирани от сървърната страна.
- userDataJSONBase64: Данните за потребителя в JSON формат, които след това са кодирани в Base64.
- verificationHash: HMAC-SHA256 хеш, създаден от UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Епохален времеви печат, в милисекунди. Не трябва да е в бъдещето или повече от два дни в миналото.
- loginURL: URL, който коментарният widget може да покаже за вписване на потребителя.
- logoutURL: URL, който коментарният widget може да покаже за излизане на потребителя.
- loginCallback: Когато се предостави вместо login URL, функция която коментарният widget ще извика при натискане на бутона за вход.
- logoutCallback: Когато се предостави вместо logout URL, функция която коментарният widget ще извика при натискане на бутона за излизане.

Потребителски обект

Moderators and Administrators
За админи и модератори, подайте съответните флагове isAdmin или isModerator в обекта SSOUser.
Notifications
За да включите или изключите известията, задайте стойността на optedInNotifications на true или false съответно. Първият път когато потребителят зареди страницата с тази стойност в SSO payload-а, настройките му за известия ще бъдат обновени.
Освен това, ако искате потребителите да получават имейли за известия за активност на страници, на които са абонирани (а не само известия в приложението), задайте optedInSubscriptionNotifications на true.
VIP Users & Special Labels
Можете да покажете специален етикет до името на потребителя, като използвате опционалното поле "displayLabel".
Unauthenticated users
За да представите непотребител (unauthenticated user), просто не попълвайте userDataJSONBase64, verificationHash или timestamp. Осигурете loginURL.
Тези потребители няма да могат да коментират и вместо това ще им бъде показано съобщение за вход (съобщение, линк или бутон, в зависимост от конфигурацията).
Direct Examples for Serializing and Hashing User Data
Повече детайли и примери могат да бъдат намерени тук (js), тук (java) и тук (php).
Разбираме, че всяка интеграция може да бъде сложен и болезнен процес. Не се колебайте да се свържете с вашия представител или да използвате страницата за поддръжка.
Персонализирани интеграции - Просто еднократно влизане (SSO) 
С Simple SSO можем да предоставим на уиджета за коментари информация за потребителя, така че той да не трябва да въвежда потребителското си име или имейл, за да коментира.
Можем да конфигурираме Simple SSO по следния начин:
Run 
Потребителят ще бъде влязъл и зад кулисите ще бъде създаден SSO потребител. Потребителят ще има createdFromSimpleSSO зададено като true, ако е извлечен от API-то.
Notes:
- Имейлът е уникалният идентификатор за Simple SSO.
- Предоставянето на имейл с Simple SSO не е задължително, но по подразбиране техните коментари ще се показват като "Непотвърдено". Ако не е предоставен имейл, потребителят не може да бъде напълно удостоверен.
- НОВО От януари 2022 г.: Потребителските имена не е необходимо да бъдат уникални в целия fastcomments.com
- Simple SSO може автоматично да създава и обновява SSO потребители, ако е предоставен имейл и потребителят не е бил първоначално създаден чрез Secure SSO.
- Можете да зададете значки за потребителя чрез свойството
badgeConfig. МасивътbadgeIdsсъдържа идентификаторите на значките, които да се асоциират с потребителя. Акоoverrideе зададено наtrue, то ще замени всички съществуващи значки, показвани върху коментарите; ако еfalse, то ще добави към вече съществуващите значки.
Персонализирани интеграции - Мигриране от Disqus SSO 
Най-голямата разлика между Disqus и FastComments Secure SSO е, че Disqus използва SHA1 за криптиране, докато ние използваме SHA256.
Това означава, че мигрирането от Disqus е лесно - променете използвания хеш алгоритъм от SHA1 на SHA256 и актуализирайте имената на свойствата, предавани на UI.
Персонализирани интеграции - Мигриране от Commento SSO 
Commento използва драстично различен SSO подход - те изискват да имате endpoint, който да извикат, за да удостоверят потребителя.
FastComments е обратното - просто кодирате и хеширате информацията за потребителя, използвайки вашия таен ключ, и я предавате.
Защита на нишки с коментари чрез еднократно влизане 
FastComments SSO (подробности тук) предоставя на вашите потребители начин да коментират, без да се налага да влизат в друга платформа.
Въпреки това, това само по себе си не осигурява защита на нишките с коментари, тъй като по подразбиране данните за коментарите са публично достъпна информация - всеки, който може да види страницата, може да види коментарите.
Чрез промяна на настройка можем да ограничим извличането на коментари, освен ако това не е извършено от администратор или валиден SSO потребител.
Настройка без код
Можем да предотвратим преглеждането и взаимодействието с нашите нишки с коментари, когато SSO е настроен, като създадем правило за персонализиране.
Когато го правите, потърсете SSO и ще намерите тази опция:
Активирайте опцията и запазете правилото за персонализиране.
Защитa само на определен домейн или страница
За да защитите само определен Domain или Page, просто ще конфигурираме правилото за персонализиране да го прави.
В горната част на интерфейса за персонализиране ще намерите два полета, Domain и URL ID.
За да защитите конкретен домейн, въведете домейна в съответното "domain" поле.
За да защитите конкретна страница, въведете URL на страницата в полето "URL ID". Ако имате персонализирана интеграция с FastComments, може да въведете тип ID тук вместо URL.
Нива на сигурност
Когато изисквате SSO, ще трябва да решите дали изисквате Simple SSO или Secure SSO. Ако изисквате Simple SSO, и двата варианта са позволени, но ако изисквате Secure SSO, съдържанието трябва да бъде извлечено със Secure SSO payload, хеширано с вашия API key, за да може да бъде видяно.
Опцията за ниво на сигурност ще се появи, когато изберете "Require SSO To View Comments".
Защита отвъд четенето
Активирането на тази опция ще защити страницата или домейна от коментиране, освен ако потребителят не е влязъл чрез SSO.
Подводни камъни
Потребителите, които са създали коментари преди интеграцията на SSO, няма да могат да ги виждат, освен ако не влязат чрез вашата SSO интеграция.
Позволяване на анонимни коментари 
По подразбиране FastComments ще изисква имейл за коментар. Не е необходимо да е валиден имейл, но докато потребителят не кликне върху изпратена до него връзка, неговият коментар ще покаже етикет "Непотвърден коментар".
Въпреки това, можем да премахнем изискването за имейл. Полето за въвеждане на имейл все още ще се показва, но вече няма да е задължително.
Това може да бъде конфигурирано чрез интерфейса за персонализиране на уиджета:
Предотвратяване на изтичане на анонимни коментари 
FastComments може да бъде конфигуриран да премахва непотвърдени коментари след желан брой дни. Това помага в борбата със спама.
По подразбиране не го прави.
Това може да се конфигурира, или да бъде деактивирано, чрез страницата Настройки за модериране.
Деактивиране на полетата за имейл 
Когато потребителите коментират и не са влезли в системата, ще им бъде поискано да предоставят имейл.
Това ще създаде "unverified session" за този потребител и ние ще поискаме от тях да потвърдят тази сесия чрез имейл.
За някои сайтове или приложения е желателно да не се иска имейл от потребителя при коментиране или гласуване.
Активирането на анонимно коментиране прави полето за имейл по избор. Въпреки това, можем да го изключим напълно. Първо, активирайте анонимното коментиране, след което ще се появи опцията за деактивиране на полетата за въвеждане на имейл.
С включена тази опция, полетата за имейл няма да се показват изобщо във всичките ни продукти за коментиране.
Обърнете внимание, че с тази конфигурация всички коментари ще бъдат unverified, освен ако потребителят не създаде акаунт и не се впише в https://fastcomments.com.
Може да помислите за деактивиране на етикета "unverified".
Деактивиране на етикета "Непотвърден" 
По подразбиране FastComments ще показва етикет "Непотвърден коментар" за коментари, които са оставени за потребител, който има непотвърдена сесия в браузъра. Прочетете повече за непотвърденото коментиране тук.
Run 
Освен това тази функция може да се използва, без да се пише код, в интерфейса за персонализиране:
Задаване на подразбиращо се потребителско име 
Когато потребителите коментират или гласуват и не са влезли в профила си, ще им бъде поискано да предоставят своя имейл и потребителско име.
В случай на анонимно коментиране, понякога е желателно да се зададе потребителско име по подразбиране, за да се намали препятствието при коментиране. Това може да бъде направено от интерфейса за персонализиране. Анонимното коментиране трябва да бъде разрешено първо.
Обратни повиквания 
Всички библиотеки за коментарния уиджет (в момента Angular, React, Vue) поддържат обратни извиквания.
Обратните извиквания се задават в конфигурационния обект и имат еднаква сигнатура за всяка библиотека.
Поддържаните обратни извиквания са:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
Точните сигнатури могат да бъдат намерени в TypeScript дефиниции.
Ето пример с всички използвани обратни извиквания:
Run 
Ръчно задаване на локала на потребителя 
По подразбиране FastComments ще рендерира уиджета за коментари в локала, определен от системата и браузъра на потребителя.
Когато потребител коментира или влезе в системата, ние актуализираме последно използвания от него локал и го използваме и за изпращане на имейли.
Това влияе на начина, по който уиджета за коментари се превежда за потребителя. Локалът се състои от езика и региона на потребителя, така че конфигурирането на локала обикновено ще промени езика, използван за показване на текста на потребителя.
Чрез потребителския интерфейс
Това може да бъде зададено чрез потребителския интерфейс за персонализиране на уиджета. Вижте опцията "Locale / Language":
Чрез код
Това може да бъде презаписано с желания локал.
Run 
Поддържани езици и кодове за локал
Можете да намерите пълния списък на поддържаните езици и съответните кодове за локал тук.
Забележка за SSO
Ако използвате SSO, може да искате да предадете локала на потребителя в обекта на потребителя, така че имейлите и други неща да бъдат локализирани правилно за тях.
Ограничаване на разрешените езици 
По подразбиране FastComments не ограничава езиците, използвани за коментиране.
Може да е желателно да се ограничат езиците, които използва общността.
Това може да се конфигурира без код, на страницата за персонализиране на уиджета:
Системата ще анализира техния коментар и ще определи езика му, след което ще го съпостави със списъка на разрешените.
Ако коментарът е написан на език, който не е разрешен, се показва локализирано съобщение за грешка.
Заглавия на страници 
Текущото заглавие на страницата е свързано с посочения 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 
Идентификатори на групи за споменаване 
Списък с идентификатори за използване при автоматично допълване на @mentions. Полезно, когато искате да предотвратите маркирането на потребители, които нямат пресичащи се групи.
Когато е зададено, в автоматичното допълване ще се показват само потребители от други групи след въвеждане на символа @.
Run 
Заобикаляне на бисквитки от трети страни 
За удостоверяване FastComments разчита на това бисквитките от трети страни да са разрешени в браузъра ви. Без тях, потребителите винаги ще трябва да оставят своя имейл, за да коментират (освен ако полето за имейл не е скрито), и техните коментари винаги ще се показват като неверифицирани (по подразбиране).
За да заобиколите това, можете да активирате заобикалянето на бисквитките от трети страни.
Когато тази настройка е активирана, ще се появи малък изскачащ прозорец, който показва съобщение, че потребителят се вписва. Този изскачащ прозорец се появява всеки път, когато потребителят взаимодейства с компонента за коментари; например, ако остави коментар.
Можем да направим това в кода, като зададем флага enableThirdPartyCookieBypass на true:
Run 
Можем също да го настроим чрез интерфейса за персонализиране на уиджета, под Enable Third-Party Cookie Popup:
Изтриване на коментари с отговори 
По подразбиране потребителите могат да изтриват собствените си коментари. Освен това изтриването на техния коментар автоматично изтрива всички дъщерни и временни коментари в нишката. Това поведение е и в реално време.
Можете да ограничите това по следните начини:
- Вместо това анонимизирайте изтрития коментар (задайте name и text на
[deleted]или персонализирана стойност). - Не позволявайте изтриването на коментари, когато има отговори. Показва се настройваемо съобщение за грешка.
- Ограничете изтриването при коментари с отговори само до администратори и модератори.
Това може да се конфигурира чрез секцията Comment Thread Deletion в UI за персонализиране на джаджата.
Показване на значки в горната лента 
По подразбиране FastComments ще показва значките на потребителите само върху техните коментари в рамките на нишката с коментари.
Въпреки това можем да показваме значките на потребителите до тяхното име над формата за коментар, като активираме тази функция в страницата за персонализиране на джаджата:
Това ще показва значките на потребителя до неговото име в областта на горната лента, правейки техните постижения и статус по-видими, когато пишат коментар.
Обърнете внимание, че тази функция трябва да бъде активирана в UI за персонализиране на джаджата, за да работи. По желание можете да зададете флага showBadgesInTopBar на false във вашата конфигурация на кода, за да го деактивирате селективно, дори когато е включен на ниво сървър:
Run 