
Език 🇧🇬 Български
Основи
Външен вид и усещане
Живо коментиране
Пагинация и сортиране
Полето за отговор
Еднократно влизане (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).
Как коментарите са свързани със страници и статии 
When rendering a comment thread, or leaving a comment, FastComments needs to know what page, or article, or product those comments belong to.
To do this, we use something we call the "URL ID". It's either an identifier, like a string or a number, or a URL.
By default, if you do not specify the urlId, it will become the page URL. We will take the current page URL, and clean it to remove any common marketing parameters or tracking identifiers.
In the case of third party integrations, like WordPress, our plugin will usually use the identifier that represents the current information being viewed as the URL ID, for example the article/page id.
Run 
One thing that we'll often reference in this document is the Потребителски интерфейс за персонализиране на уиджета.
This UI can be used to make many changes to the comment widget without using code.
When creating a customization rule, we'll often want it to apply to all pages to our site. However, in some cases we want to customize the comment widget on a particular page, either to apply custom styling, or maybe make comments for that particular page anonymous. You could also, for example, have live comments appear right away on some pages, while hiding them under notification buttons on others.
This is all possible via the URL ID input field on this page, which looks like as follows:
The value in this field should match the urlId parameter passed into the comment widget. If you want your customization rule to be urlId agnostic, leave this field empty or enter *.
As of 2023 the URL ID field in widget customization now also takes patterns! For example you may
have */blog/* to add styling specific to your blog and */store/* to have styling specific to your store,
all while using the same domain.
Gotchas
- If your page has hash parameters (like example.com#page-1) - this will become part of the URL ID, by default.
- During migrations, for example from WordPress to Gatsby, you may have to migrate the URL ID comment values after the initial migration. For that, reach out to us.
Показване на едни и същи коментари на различни страници 
Тъй като параметърът urlId ни позволява да определим към коя страница или id принадлежат коментарите, можем просто да зададем urlId със същата стойност на тези страници.
Run 
Персонализирани стилове 
FastComments е проектиран да бъде персонализиран. Самият уиджет за коментари се изпълнява в iframe по причини за сигурност, така че за прилагане на персонализирано стилизиране трябва да следвате един от двата подхода.
Първият, най-лесният подход и предпочитан от нас, е да използвате страницата за персонализиране на уиджета.
В страницата за персонализиране на уиджета, вижте секцията „Показване на разширени опции“, под която има област с етикет „Персонализиран CSS“:
Този подход има някои предимства:
- Въведеният CSS се минифицира преди да бъде изпратен на потребителя, а форматирането се запазва последователно в потребителския интерфейс за редактиране.
- Получавате всички предимства на UI за персонализиране на уиджета, например лесно персонализиране на уиджета за коментари различно за различни сайтове.
- Когато правим промени в уиджета за коментари, вашият персонализиран стил ще бъде тестван като част от процеса на нашия релийз.
Вторият подход е да зададете параметъра customCSS в конфигурацията на уиджета, както следва:
Run 
Въпреки това, това има ограничения:
- Съществува ограничение за количеството персонализиран CSS, което може да бъде предадено, преди нашите сървъри да отхвърлят заявката, поради размера на заглавните части.
- Трябва да управлявате персонализирания CSS във вашата инфраструктура и система за изграждане. Това може също да бъде предимство, а не недостатък.
- Има допълнително натоварване при изпращане на персонализирания CSS по мрежата два пъти в този случай, тъй като трябва да бъде изпратен към нашите сървъри и след това обратно в съдържанието на iframe. Въпреки това за повечето размери на полезния товар това не се забелязва.
- Често използвана оптимизация е минифициране на CSS, за да се намали размерът му по мрежата, но с този подход вие ще трябва да се справите с това.
- Вашият персонализиран CSS няма да бъде тестван, когато правим промени.
External CSS Files
Можете да укажете на уиджета да зареди външен файл, като използвате @import!
Препоръчително е да поставите @import в правило за персонализиране. По този начин, ако някога се наложи да направим промяна в уиджета за коментари, можем да използваме нашите автоматизирани инструменти, за да проверим вашата настройка. Например, ще създадете правило за персонализиране в UI за персонализиране на уиджета, кликнете върху Advanced и въведете в Custom CSS:
@import url(https://example.com/styles.css);
In Code - Not Recommended
Можете също да заредите външен CSS файл чрез свойството customCSS:
Run 
Въпреки това, имайте предвид, че вашият CSS няма да може да бъде тестван от нас, ако направите това.
User Profile Modal Styling
Модалните прозорци за потребителски профил също могат да бъдат стилизирани с персонализиран CSS. Въпреки това, за да се гарантира, че персонализираното стилизиране се прилага към потребителските профили, всички CSS селектори трябва да бъдат с префикс .user-profile. Без този префикс персонализираното стилизиране ще бъде игнорирано за модалните прозорци на потребителския профил.
Например:
Run 
Backwards Compatibility
В FastComments знаем, че нашите клиенти персонализират уиджета за коментари. Това е по замисъл – последното, което искаме, е нашият продукт да предизвика несъответствия в дизайна на вашия продукт.
Тъй като това е важна част от нашия продукт, имаме процес за изграждане, който ни позволява да преглеждаме промените в уиджета за коментари, за всеки клиент, при всеки релийз.
Ако открием малки проблеми, ще актуализираме вашия акаунт, за да осигурим гладкото протичане на нашия релийз. Ако видим големи, разрушителни промени, това ни позволява да спрем релийза.
Персонализирани шрифтове 
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 целият текст в уиджетa за коментари е персонализируем.
Можете да замените отделен елемент от текста, като бутона за изпращане, или целия текст в целия уиджет за коментари.
По подразбиране текстът в уиджетa за коментари се превежда според локала на потребителя. Въпреки това можем да заменим текста, ако сме уверени, че нашата потребителска база използва същия локал/език, например:
Run 
Всички персонализируеми преводи могат да се намерят тук под таба „разширени опции“.
Въпреки това има по‑лесен начин, чрез UI за персонализиране на уиджета. Там можем просто да намерим текста, който се показва в уиджета за коментари в локала EN_US, и да зададем замяна.
Всички замени на преводи в момента засягат всички локали.
Промяна на подразбиращия се аватар 
Когато потребител коментира с 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 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Разрешаване на вграждане на медии 
By default FastComments does not allow iframes in comments. When you enable media embeds, commenters can paste the embed code (the <iframe> snippet) from trusted providers like YouTube, Vimeo, SoundCloud, and Spotify, and it will render inline in the comment.
По подразбиране FastComments не позволява iframe елементи в коментарите. Когато активирате медийни вграждания, коментаторите могат да поставят кода за вграждане (фрагмента <iframe>) от доверени доставчици като YouTube, Vimeo, SoundCloud и Spotify, и той ще се визуализира в реда на коментара.
For security, this is not a client-side widget config flag. It is a server-side setting, validated when each comment is saved, so it cannot be turned on from the page. Only iframes pointing at a built-in list of trusted providers are allowed. Any other iframe is removed.
За сигурност това не е флаг за конфигурация на уиджета от клиентската страна. Това е настройка от сървърната страна, проверявана при запазване на всеки коментар, така че не може да бъде включена от страницата. Само iframe‑ове, които сочат към вградения списък с доверени доставчици, са разрешени. Всички други iframe‑ове се премахват.
This is done without code, on the widget customization page:
Adding Your Own Providers
If you want to allow embeds from a provider that is not on the built-in trusted list, add its hostname in the "Additional Embed Domains" field on the same page. These hostnames are allowed in addition to the built-in providers. Matching is exact, so include the full hostname (for example, player.example.com). Anything you do not list stays blocked.
Ако искате да разрешите вграждания от доставчик, който не е в вградения списък с доверени доставчици, добавете неговото име на хост в полето „Additional Embed Domains“ (Допълнителни домейни за вграждане) на същата страница. Тези имена на хостове се разрешават в допълнение към вградените доставчици. Съответствието е точно, затова включете пълното име на хост (например, player.example.com). Всичко, което не е изброено, остава блокирано.
Both the plain comment box and the WYSIWYG editor support pasting an embed. In the WYSIWYG editor the embed is inserted as a removable block.
Как обикновеното поле за коментари, така и WYSIWYG редакторът поддържат поставяне на вграждане. В WYSIWYG редактора вграждането се вмъква като блок, който може да се премахне.
Активиране на полето за търсене 
По подразбиране в уиджетa за коментари не се показва поле за търсене.
Въпреки това можем да го включим, като зададем флага enableSearch на true:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията „Enable Search Box“.
Активиране на спойлери 
Можем да активираме поддръжката на спойлери, като зададем флага enableSpoilers на true:
Run 
Това може да се направи и без код. На страницата за персонализиране на уиджета, вижте опцията „Enable Spoilers“.
Когато текстът е маркиран и сега видимият бутон SPOILER се кликне, текстът ще бъде скрит, докато потребителят не задържи мишката върху него. За тъмен режим правим същото, но с различни
цветове, които по‑добре съвпадат с тъмния режим.
Това също е съвместимо с WYSIWYG редактора.
Активиране на брояча за прегледи на коментари 
По подразбиране FastComments не проследява кой е прегледал всеки коментар и не предоставя статистика за това.
Въпреки това можем да активираме тази функция и системата ще започне да проследява, докато всеки потребител превърта до коментар.
Когато това се случи, брояч до иконата на око, показана до всеки коментар, ще се увеличи. Броят се актуализира в реално време и се съкращава според локала на потребителя.
Можем да активираме това, като зададем флага enableViewCounts на true:
Run 
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Ние проследяваме потребителското ID* което е прегледало коментара, така че ако го прегледате отново, броят не се увеличава. Ако прегледате коментара отново след две години, броят ще се увеличи повече.
- *Забележка: или анонимното 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 comments в същата минута.
Това се проследява чрез user id, anon user id и ip address (hashed).
Това може да се персонализира без код, на страницата за персонализиране на уиджета:
Обърнете внимание, че ако използвате comment creation API може да искате да предадете оригиналния ip address на потребителя в заявката към нашия backend, за да се приложи rate limiting
per user and not globally to your account.
Предотвратяване на нови основни коментари 
Задаването на noNewRootComments на true ще накара джаджата да скрие областта за отговори на кореново ниво, но все пак ще позволи на потребителите да отговарят
на подкоментари. Например, можете да зададете това условно при зареждане на страницата, за да позволите само на някои потребители да оставят коментари на най-горно ниво.
Run 
Максимална дълбочина на отговорите 
По подразбиране FastComments позволява неограничено вграждане на отговори, създавайки структура от нишки, в която потребителите могат да отговарят на отговори безкрайно.
Опцията maxReplyDepth ви позволява да ограничите колко дълбоко могат да стигнат нишките с отговори. Когато е достигната максималната дълбочина, потребителите вече няма да виждат бутон за отговор при коментари на това ниво.
Run 
С maxReplyDepth зададено на 2:
- Потребителите могат да коментират на най-горното ниво (дълбочина 0)
- Потребителите могат да отговарят на коментари от най-горното ниво (дълбочина 1)
- Потребителите могат да отговарят на тези отговори (дълбочина 2)
- Допълнителни отговори не са разрешени след дълбочина 2
Задаването на 1 би позволило само отговори на коментари от най-горното ниво, създавайки по-плитка структура на дискусията.
Задаването на maxReplyDepth на 0 ще деактивира всички отговори и ще позволява само коментари на най-горното ниво. Ако не е зададено, отговорите могат да се вграждат без ограничение.
Изискване за приемане на условията за ползване 
FastComments ви позволява да изискате от коментаторите, които коментират за първи път, да приемат вашите Условия за ползване, преди да изпратят коментар.
When enabled:
- Anonymous users will see a TOS checkbox every time they comment
- Authenticated users will see the checkbox only on their first comment, or when you update your TOS
Configuration
Navigate to the widget customization page and enable the "Require Terms of Service acceptance" checkbox. Once enabled, you'll see the following options:
- TOS Text Mode: By default, the checkbox displays "I agree to the Terms of Service and Privacy Policy" with links to both documents. Select "Customize text per locale" to provide your own text for each language.
- TOS Last Updated Date: When you update your Terms of Service, set this date. Users who accepted before this date will be required to accept again.
How It Works
- The TOS acceptance timestamp is stored per-user and per-comment
- When a user accepts the TOS, the date is recorded on their user profile (per-tenant)
- If you set a "Last Updated" date that is after the user's acceptance date, they will need to re-accept
- For anonymous users who cannot be tracked, the checkbox appears on every comment submission
Преглед на Еднократно влизане (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 включва разработка от край до край, пълни работещи примери на код на Java/Spring, NodeJS/Express и чист PHP в момента са в GitHub.
Въпреки че в примера за NodeJS използваме ExpressJS и в Java примера използваме Spring, не са необходими допълнителни фреймуърци/библиотеки в тези среди за реализиране на FastComments SSO — работят собствените крипто пакети на езика.
Не е нужно да пишете нови API крайни точки с FastComments SSO. Просто криптирайте информацията за потребителя с вашия таен ключ и подайте payload-а на коментарния уиджет.
Вземете своя API Secret Key
Вашият API Secret може да бъде получен от тази страница. Можете също да намерите тази страница като отидете в My Account, кликнете върху плочката API/SSO и след това кликнете "Get API Secret Key".
Параметри на коментарния уиджет
Документация на високо ниво за API на коментарния уиджет може да бъде намерена тук.
Нека разгледаме по-подробно какво означават тези параметри.
Коментарният уиджет приема обект за конфигурация — вече подавате това, ако използвате FastComments, за да подадете вашия customer id (наречен tenantId).
За да активирате SSO, подайте нов обект "sso", който трябва да има следните параметри. Стойностите трябва да се генерират от страна на сървъра.
- userDataJSONBase64: Данните на потребителя в JSON формат, които след това се кодират в Base64.
- verificationHash: HMAC-SHA256 хеш, създаден от UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Епохален timestamp, в милисекунди. Не трябва да е в бъдещето или да е с повече от два дни в миналото.
- loginURL: URL, който коментарният уиджет може да покаже за вписване на потребителя.
- logoutURL: URL, който коментарният уиджет може да покаже за излизане на потребителя.
- loginCallback: Когато се предостави вместо login URL, функция, която коментарният уиджет ще извика при клик върху бутона за вход.
- logoutCallback: Когато се предостави вместо logout URL, функция, която коментарният уиджет ще извика при клик върху бутона за изход.

Обект на потребителя
Потребителският обект съдържа следната схема:

Moderators and Administrators
За администратори и модератори, подайте съответните флагове isAdmin или isModerator в обекта SSOUser.
Notifications
За да активирате или деактивирате известията, задайте стойността на optedInNotifications на true или false съответно. Първият път когато потребителят зареди страницата със тази стойност в SSO полезния товар, настройките му за известия ще бъдат обновени.
Освен това, ако искате потребителите да получават имейли за известия за активност на страници, на които са се абонирали (за разлика от само вътрешните известия в приложението), задайте optedInSubscriptionNotifications на true.
VIP Users & Special Labels
Можете да покажете специален етикет до името на потребителя чрез опционалното поле "displayLabel".
Unauthenticated users
За да представите неаутентифициран потребител, просто не попълвайте 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съдържа идентификаторите на глобалните значки, които да се асоциират с потребителя. МасивътpageBadgeIdsсъдържа идентификаторите на значки, обвързани с текущата страница (urlId) — тези значки се показват само на страницата, на която са присвоени. Ако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 потребител.
No-Code Setup
Можем да предотвратим преглеждането и взаимодействието с нашите нишки от коментари, когато SSO е настроен, като създадем правило за персонализиране.
Когато го правите, потърсете SSO и ще намерите тази опция:
Активирайте я и запазете правилото за персонализиране.
Only Protect a Certain Domain or Page
За да защитите само определен домейн или страница, просто ще конфигурираме правилото за персонализиране да го направи.
В горната част на потребителския интерфейс за персонализиране ще намерим две полета – Domain и URL ID.
За да защитите конкретен домейн, въведете съответния домейн в полето „domain“.
За да защитите конкретна страница, въведете URL на страницата в полето „URL ID“. Ако имате персонализирана интеграция с FastComments, тук можете да въведете тип идентификатор вместо URL.
Security Levels
Когато изисквате SSO, ще искате да решите дали да изисквате Simple SSO или Secure SSO. Ако изберете Simple SSO, и двете са позволени, но ако изберете Secure SSO, съдържанието трябва да се извлече със Secure SSO полезен товар, хеширан с вашия API ключ, за да бъде видяно.
Опцията за ниво на сигурност ще се появи, когато изберете „Require SSO To View Comments“.
Protection Beyond Reading
Активирането на тази опция ще защити страницата или домейна от коментиране, освен ако потребителят не е влязъл чрез SSO.
Gotchas
Всеки потребител, който е създал коментари преди вашата SSO интеграция, няма да може да ги види, освен ако не влезе чрез вашата SSO интеграция.
Разрешаване на анонимно коментиране 
По подразбиране FastComments изисква имейл за коментиране. Не е необходимо имейлът да е валиден, но докато потребителят не кликне върху изпратения линк, неговият коментар ще показва етикет „Непроверен коментар“.
Въпреки това можем да премахнем изискването за имейл. Полето за въвеждане на имейл ще се показва, но вече няма да бъде задължително.
Това може да се конфигурира чрез UI за персонализиране на уиджета:
Предотвратяване на изтичането на анонимни коментари 
FastComments може да бъде конфигуриран да премахва непроверени коментари след желан брой дни. Това помага в борбата със спама.
По подразбиране, не го прави.
Това може да бъде конфигурирано или деактивирано чрез страницата Настройки за модериране.
Деактивиране на полетата за имейл 
Когато потребителите коментират и не са влезли в профила, ще им бъде поискано да предоставят своя имейл.
Това ще създаде „непотвърдена сесия“ за този потребител и ще ги помолим да потвърдят сесията чрез имейл.
За някои сайтове или приложения е желателно да не се изисква имейл от потребителя при коментиране или гласуване.
Активирането на анонимно коментиране прави полето за имейл незадължително. Въпреки това можем да го изключим напълно. Първо активирайте анонимното коментиране и след това ще се появи опцията за изключване на полетата за имейл.
С тази настройка полетата за имейл изобщо няма да се показват във всички наши продукти за коментиране.
Имайте предвид, че с тази конфигурация всички коментари ще бъдат непотвърдени, освен ако потребителят не създаде акаунт и влезе в https://fastcomments.com.
Може да обмислите изключване на етикета за непотвърден.
Деактивиране на етикета 'непотвърден' 
По подразбиране FastComments ще показва етикет „Unverified Comment“ за коментари, оставени за потребител, който има непроверена браузър сесия. Прочетете повече за непровереното коментиране тук.
Run 
Освен това, тази функция може да се използва, без писане на код, в потребителския интерфейс за персонализиране:
Задаване на потребителско име по подразбиране 
Когато потребителите коментират или гласуват и не са влезли в системата, ще им бъде поискано да предоставят своя имейл и потребителско име.
В случай на анонимно коментиране понякога е желателно да се зададе потребителско име по подразбиране, за да се намали съпротивлението при коментиране. Това може да се направи от потребителския интерфейс за персонализиране. Анонимното коментиране трябва първо да бъде активирано.
---Обратни извиквания 
Всички библиотеки за коментарния уиджет (в момента 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 не ограничава езиците, използвани за коментиране.
Може да е желателно да се ограничат езиците, които общността използва.
Това може да се конфигурира без код, на страницата за персонализиране на уиджета:
Системата ще анализира техния коментар и ще определи неговия език, след което ще го съпостави с разрешения списък.
Ако коментарът е написан на език, който не е разрешен, ще се покаже локализирано съобщение за грешка.
Заглавия на страници 
Текущото заглавие на страницата е свързано с посочения 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 
Можем също да настроим това чрез 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 секунди закъснение.