
Мова 🇺🇦 Українська
Основи
Зовнішній вигляд
Живі коментарі
Пагінація та сортування
Поле відповіді
Єдиний вхід (SSO)
Анонімні коментарі
Різне
Налаштування та конфігурація
Контекст
Тут ви знайдете детальну документацію щодо кожної з функцій та налаштувань, які підтримує віджет коментарів.
Ця документація охоплює основні концепції та детально розглядає кожну область функціональності, включно з інструкціями "як це зробити" та поширеними підводними каменями.
Наведено приклади коду з виділенням відповідних рядків. За потреби будуть надані знімки екрана сторінок конфігурації.
Приклади коду використовують нашу бібліотеку vanilla JavaScript, однак параметри конфігурації мають точно ті самі назви для всіх версій віджета коментарів (React, Vue тощо).
Більшість налаштувань та функцій, описаних у цьому посібнику, не потребують написання коду.
Ідентифікація вашого облікового запису 
Ви можете помітити, що віджет коментарів можна використовувати з Tenant ID "demo", наприклад:
Run 
Це призначено лише для ознайомлення та експериментів з віджетом коментарів. У продакшені ви передаватимете свій Tenant ID ось так:
Run 
Ваш Tenant ID вже застосовано у фрагменті коду віджета коментарів у вашому обліковому записі.
Ви також можете знайти свій 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, залиште це поле пустим або введіть *.
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.
Підводні камені
- Якщо на вашій сторінці є хеш-параметри (наприклад example.com#page-1) — за замовчуванням вони стануть частиною URL ID.
- Під час міграцій, наприклад з WordPress на Gatsby, можливо, доведеться перенести значення URL ID у коментарях після початкової міграції. У такому випадку зверніться до нас.
Відображення одних і тих самих коментарів на різних сторінках 
Оскільки параметр urlId дозволяє нам визначити, до якої сторінки або ідентифікатора прив'язані коментарі, ми можемо просто встановити urlId на те саме значення на цих сторінках.
Run 
Користувацьке оформлення 
FastComments створено з урахуванням можливості кастомізації. Віджет коментарів сам запускається всередині iframe з міркувань безпеки, тому для застосування власних стилів потрібно скористатися одним із двох підходів.
Перший, найпростіший підхід, і той, який ми надаємо перевагу, — це використання сторінки налаштування віджета.
На сторінці налаштування віджета перегляньте розділ "Show Advanced Options", у якому є область з позначкою "Custom CSS":
Цей підхід має кілька переваг:
- Введений CSS мініфікується перед відправленням користувачеві, а форматування зберігається послідовним у інтерфейсі редагування.
- Ви отримуєте всі переваги інтерфейсу налаштування віджета, наприклад, просте налаштування віджета коментарів по-іншому для різних сайтів.
- Коли ми вносимо зміни до віджета коментарів, ваші власні стилі будуть протестовані в рамках нашого процесу випуску.
Другий підхід — вказати параметр customCSS у конфігурації віджета, ось так:
Run 
Однак це має обмеження:
- Існує обмеження на обсяг кастомного CSS, який можна передати, перш ніж наші сервери відхилять запит через розмір заголовків.
- Ви маєте керувати кастомним CSS у своїй інфраструктурі та системі збірки. Це також може бути перевагою, а не недоліком.
- Існує додаткове накладне передавання кастомного CSS по мережі двічі в цьому випадку: його необхідно відправити на наші сервери, а потім повернути вмістом iframe. Проте для більшості обсягів даних це непомітно.
- Поширена оптимізація — мініфікувати CSS, щоб зменшити його розмір при передаванні по мережі; проте з таким підходом вам доведеться робити це самостійно.
- Ваш кастомний CSS не буде протестований, коли ми вносимо зміни.
External CSS Files
You can tell the widget to fetch an external file by using @import!
Рекомендується розміщувати @import у правилі кастомізації. Таким чином, якщо нам колись знадобиться внести зміни до віджета коментарів, ми зможемо використовувати наші автоматизовані
інструменти для перевірки вашої конфігурації. Тобто, наприклад, ви створите правило кастомізації в інтерфейсі налаштування віджета, натиснете Advanced і введете в Custom CSS:
@import url(https://example.com/styles.css);In Code - Not Recommended
You can also load an external CSS file via the customCSS property:
Run 
However, remember that your CSS won't be able to be tested by us if you do this.
User Profile Modal Styling
Модальні вікна профілю користувача також можна стилізувати за допомогою кастомного CSS. Проте щоб переконатися, що кастомні стилі застосовуються до профілів користувачів, усі CSS-селектори повинні мати префікс .user-profile. Без цього префіксу кастомні стилі будуть ігноруватися для модальних вікон профілю користувача.
For example:
Run 
Backwards Compatibility
У FastComments ми знаємо, що наші клієнти налаштовують віджет коментарів. Це задумано спеціально — останнє, чого ми хочемо, щоб наш продукт спричиняв дизайн невідповідності у вашому продукті.
Оскільки це важлива частина нашого продукту, у нас є конвеєр збірки, який дозволяє нам переглядати зміни у віджеті коментарів для кожного клієнта під час кожного випуску.
If we find minor issues, we will update your account to ensure our release goes smoothly. If we see major breaking changes, this allows us to halt the release.
Користувацькі шрифти 
FastComments призначений для налаштування, і шрифт, який використовують наші віджети, не є винятком.
За замовчуванням FastComments використовує system font stack, щоб виглядати якомога краще на широкому діапазоні пристроїв.
Щоб задати власні шрифти, дивіться Документація з Custom CSS.
Там ви знайдете спосіб визначити кастомний CSS, що дозволить вам задати бажані шрифти.
Як задати шрифт
Щоб перевизначити шрифт, ми рекомендуємо визначати ваш CSS, використовуючи селектори .fast-comments, textarea. Наприклад:
Run 
Видалення брендингу 
Для клієнтів з тарифними планами Pro або Enterprise дозволено брендування під власний бренд (white labeling). Просто зв'яжіться з нами, і ми із задоволенням допоможемо.
Якщо ви просто хочете видалити наш логотип із віджета коментарів, це автоматично доступно на тарифах Flex та Pro.
Ці тарифи також надають таку саму функціональність для електронних листів, що надсилаються з нашої платформи.
Підтримка темного фону (темний режим) 
За замовчуванням віджет коментарів FastComments автоматично визначає темний режим на більшості сайтів.
Коли виявлено темний режим, FastComments переключається з чорного тексту на білому фоні на білий текст на чорному фоні. Також змінюватимуться зображення.
Під час завантаження сторінки віджет намагатиметься визначити, наскільки темним є фон сторінки за віджетом коментарів. Це означає, що сторінка може мати білий фон, але якщо ви розмістите віджет коментарів всередині контейнера з чорним фоном, темний режим має все одно автоматично вмикатись, щоб зробити коментарі читабельними.
Проте механізм виявлення, який спирається на визначення "luminance", може не активувати темний режим тоді, коли ви цього хочете. Щоб примусово увімкнути його, встановіть прапорець hasDarkBackground у true таким чином:
Run 
Перемикання темного режиму 
Для сайтів, які дозволяють перемикати темний режим після початкового завантаження сторінки, це трохи складніше.
По-перше, усі поточні версії бібліотеки віджета коментарів (React, Vue) містять приклади перемикання темного режиму у відповідних репозиторіях.
Для VanillaJS віджета нам потрібно зробити трохи більше роботи. По-перше, FastCommentsUI повертає об'єкт з функціями "destroy" і "update".
Ми можемо просто викликати функцію update щоразу, коли хочемо оновити конфігурацію віджета коментарів, як показано нижче. Ось повний робочий приклад перемикання темного режиму з VanillaJS віджетом.
Run 
Перевизначення тексту 
У FastComments увесь текст у віджеті коментарів налаштовується.
Ви можете замінити окремий фрагмент тексту, наприклад кнопку відправки, або весь текст у віджеті коментарів.
За замовчуванням, текст у віджеті коментарів перекладається залежно від локалі користувача. Однак ми можемо перевизначити текст, якщо ми впевнені що наша база користувачів використовує ту саму локаль/мову, наприклад:
Run 
Усі налаштовувані переклади можна знайти тут на вкладці "додаткові параметри".
Проте є простіший спосіб — через інтерфейс налаштування віджета. Там ми можемо просто знайти текст, який показується у віджеті коментарів для локалі EN_US, і вказати заміну.
Усі перевизначення перекладів наразі впливають на всі локалі.
Зміна аватара за замовчуванням 
Коли користувач коментує через FastComments вперше, ми спробуємо отримати його аватар з http://gravatar.com/.
Однак якщо ми не знайдемо аватар або користувач ніколи не встановлював його у своєму обліковому записі, ми відображаємо статичне зображення аватара за замовчуванням.
Щоб вказати власне статичне зображення аватара, можна використати налаштування defaultAvatarSrc.
Run 
Це також можна зробити без коду. На сторінці налаштування віджета див. розділ «Аватар за замовчуванням».
Зверніть увагу, що визначення аватара для конкретного користувача, наприклад при SSO, описано в окремому розділі.
Вимкнення аватарів 
Аватари можуть бути повністю видалені з віджета коментарів, навіть якщо користувачі встановили власний аватар.
Run 
Це можна налаштувати без коду на сторінці налаштування віджета:
Вимкнення всіх стилів за замовчуванням 
Для більших проєктів із власним оформленням може бути доцільно почати з чистого листа й зовсім не використовувати стилі за замовчуванням.
Усі стилі за замовчуванням можна видалити, встановивши параметр noStyles в true, як показано нижче:
Run 
Це можна налаштувати без коду на сторінці налаштування віджета в розділі «Додаткові параметри»:
Посилання з коментарів на сторінки 
Коли надсилаються сповіщення електронною поштою або відображаються коментарі в інтерфейсах користувача, наприклад на сторінці модерації, корисно мати можливість посилатися з коментаря на сторінку, де він розміщений.
Якщо URL 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.
Кількість оновлюється в реальному часі разом із потоком коментарів. Кнопка не відображається, якщо коментарів немає.
Цю опцію можна ввімкнути без коду, створивши правило налаштування та увімкнувши «Натисніть, щоб показати коментарі»:
Налаштування тексту лічильника коментарів 
Кількість коментарів, що відображається вгорі віджета коментарів, можна налаштувати.
Цей текст можна замінити будь-яким рядком, а значення [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 дозволяє користувачам видаляти свої коментарі.
Однак це можна заборонити.
На сторінці налаштувань віджета знайдіть опцію «Вимкнути видалення».
- Це впливає лише на звичайних коментаторів, а не на модераторів або адміністраторів, які все ще зможуть видаляти.
- Це також впливатиме на інтеграції через API у випадку, коли передається
contextUserId.
Вимкнути редагування 
За замовчуванням FastComments дозволяє користувачам редагувати свої коментарі.
Проте це можна заборонити.
На сторінці налаштування віджета знайдіть опцію "Вимкнути редагування".
- Це впливає лише на звичайних коментаторів і не зачіпає модераторів або адміністраторів, які все одно зможуть редагувати.
- Це також вплине на інтеграції через API, коли передається
contextUserId.
Виділення нових коментарів 
FastComments пропонує кілька способів виділити нові коментарі.
По-перше й найголовніше, за замовчуванням коментарі, які спричинили внутрішнє сповіщення (відповіді, відповіді в тій же темі, або коментарі на сторінці
на яку ви підписані), автоматично виділяються тим, що аватар користувача трохи світиться. Колір можна налаштувати через CSS
використовуючи клас is-unread.
Коментарі, опубліковані протягом останніх 24 годин, мають застосований клас 24hr, який можна використовувати для стилізації.
Нарешті, будь-які нові живі коментарі, які з'являються в сесії користувача, будуть виділені протягом кількох секунд за допомогою анімації. Це робиться через
is-live CSS клас і також може бути налаштоване.
Розміри сторінок 
За замовчуванням розмір сторінки FastComments становить 30. Це включає відповіді в тредах.
Розмір сторінки можна налаштувати в інтерфейсі налаштування віджета на різні значення від 10 до 200.
Зверніть увагу, що зміна розміру сторінки вимагає перерахунку всіх тредів коментарів у вашому обліковому записі. Це може зайняти кілька хвилин.
Це не можна налаштувати у клієнтському віджеті, оскільки сторінки обчислюються на сервері.
Приклад конфігурації показано нижче:
Розміри сторінок можна налаштувати глобально, для кожного домену або для кожної сторінки, створюючи різні правила налаштування.
Це вплине на всі клієнти, інтеграції та фреймворки, які ви можете використовувати для відображення коментарів через нашу платформу.
Шаблони електронних листів 
Електронні листи, які надсилає FastComments вашим клієнтам, можна налаштувати. Шаблон, логіка, та переклади — усе можна змінити. Текст можна налаштовувати для кожної локалі, а оформлення можна навіть змінювати для кожного домену. Дізнайтеся більше про власні шаблони електронних листів тут.
Формати імен користувачів 
За замовчуванням FastComments показує ім'я користувача таким, яким він його ввів, або таким, яким воно було передано нам через SSO.
Однак може виникнути бажання замаскувати або показувати ім'я користувача іншим способом. Наприклад, якщо ім'я користувача Allen Rex, можливо ви захочете показувати лише "Allen R.".
Це можна зробити без коду в інтерфейсі налаштування віджета, у налаштуванні під назвою Commenter Name Format:
Доступні формати:
- Капіталізація (відображає Example User як Example User)
- Ініціал прізвища (відображає Example User як Example U.)
- Усі ініціали (відображає Example User як E. U.)
- Показувати "Anonymous"
Наслідки зміни застосовуються негайно. Користувачі все одно бачитимуть своє повне ім'я користувача у верхній частині області коментарів, для себе, але їхні коментарі будуть показувати змінене ім'я користувача.
Імена користувачів маскуються на сервері для захисту користувачів.
Вимкнення завантаження зображень 
За замовчуванням FastComments дозволяє завантаження зображень. Це можна вимкнути, встановивши прапорець noImageUploads у true.
Run 
Це можна налаштувати без коду на сторінці налаштування віджета:
Увімкнути поле пошуку 
За замовчуванням у віджеті коментарів поле пошуку не відображається.
Проте ми можемо увімкнути його, встановивши прапорець enableSearch на true:
Run 
Це також можна зробити без коду. На сторінці налаштування віджета знайдіть опцію "Enable Search Box".
Увімкнути спойлери 
Ми можемо увімкнути підтримку спойлерів, встановивши прапорець enableSpoilers в true:
Run 
Це також можна зробити без коду. На сторінці налаштування віджета знайдіть опцію "Enable Spoilers".
Коли текст виділяють і натискають тепер видиму кнопку SPOILER, текст буде замасковано, поки користувач не наведе на нього курсор. У темному режимі ми робимо те ж саме, але з іншими
кольорами, які краще підходять до темного режиму.
Це також сумісно з WYSIWYG-редактором.
Увімкнути лічильники переглядів коментарів 
За замовчуванням FastComments не відстежує, хто переглянув кожен коментар, і не надає жодної статистики з цього приводу.
Однак цю функцію можна увімкнути, і тоді система почне відстежувати перегляди під час того, як користувачі прокручують до коментаря.
Коли це відбувається, лічильник поруч із значком ока на кожному коментарі збільшуватиметься. Лічильник оновлюється в реальному часі та скорочується відповідно до локалі користувача.
Ми можемо увімкнути це, встановивши прапорець enableViewCounts у true:
Run 
Це можна налаштувати без коду на сторінці налаштування віджета:
Ми відстежуємо id користувача*, який переглянув коментар, тож якщо ви переглянете коментар ще раз, лічильник не збільшиться. Якщо ви переглянете коментар через два роки, лічильник знову збільшиться.
- *Примітка: або анонімний id сесії, або IP користувача у вигляді хешованого значення.
Показувати живі коментарі одразу 
За замовчуванням живе коментування увімкнене. Це означає, що якщо будь-які коментарі додаються, видаляються, редагуються або закріплюються, зміни мають відображатися для всіх користувачів, які одночасно переглядають нитку коментарів.
Однак за замовчуванням ці нові коментарі з'являються під динамічно показаною кнопкою з текстом, подібним до "Показати 2 нові коментарі".
Якщо нові коментарі є відповідями безпосередньо на сторінку, кнопка з'явиться у верхній частині нитки коментарів. Якщо вони є відповідями на певний коментар, кнопка з'явиться під цим коментарем.
Це робиться для того, щоб запобігти постійному зміненню розміру сторінки для користувача, що може спричиняти роздратування при спробі перемістити смугу прокрутки.
Для деяких випадків використання, наприклад живих торгів або онлайн-подій, така поведінка небажана — можливо, ви захочете, щоб віджет коментарів більше нагадував "чат", де нові коментарі "з'являються одразу".
Отже, назва прапорця, що вмикає цю функцію: showLiveRightAway.
Ми можемо увімкнути його таким чином:
Run 
Це можна налаштувати без коду, на сторінці налаштування віджета:
Вимкнення живих коментарів 
За замовчуванням у FastComments живе коментування увімкнено.
Це означає, що всі глядачі треду коментарів бачать однаковий вміст.
Наприклад, якщо додається коментар, цей коментар має відобразитися. Якщо коментар редагується або видаляється, то ці коментарі також будуть редаговані або видалені для всіх глядачів треду. Те саме стосується голосів і всіх дій модерації.
Однак це можна вимкнути:
Run 
Це також можна зробити без коду. На сторінці налаштування віджета див. розділ "Вимкнути живе коментування".
Розміщувати нові живі коментарі внизу 
За замовчуванням нові live-коментарі з'являються у верхній частині списку коментарів у міру їхньої публікації в реальному часі.
Коли ця опція увімкнена, нові live-коментарі замість цього додаватимуться внизу списку. Це впливає на те, як коментарі з'являються під час їхньої публікації в реальному часі, коли користувачі переглядають тему коментарів.
Run 
With this setting enabled:
- New live comments posted by other users will appear at the bottom of the comment list
- Users will see new comments appear below existing comments in real-time
- This only affects live comment updates - not the initial page load
- This can help maintain reading flow when users are following a discussion
Note that this setting only affects where new live comments are placed as they arrive in real-time. It does not affect the initial sort order when the page loads.
Увімкнення безкінечного прокручування 
За замовчуванням віджет FastComments автоматично змінює свою висоту, щоб вмістити всі видимі коментарі. Пагінація реалізується за допомогою кнопки "Показати наступні" в кінці поточної сторінки, оскільки ми виявили, що така взаємодія найбільше подобається більшості користувачів.
Однак є випадки, коли віддають перевагу нескінченному прокручуванню. Наприклад, ми використовуємо цю функцію в нашому продукті Stream Chat.
Ми можемо приховати кнопки "Показати наступні" і переключитися на нескінченне прокручування, встановивши прапорець enableInfiniteScrolling у true:
Run 
Це також вимагає додавання власного CSS. Додайте кастомні стилі для селектора .comments, щоб увімкнути прокручування, наприклад:
Run 
Повний робочий приклад буде таким:
Run 
У наведеному вище прикладі ми використовуємо властивість customCSS, однак для причин продуктивності рекомендується замість цього використовувати інтерфейс налаштування віджета. Див. документацію з Custom 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, та ip address (hashed).
Це можна налаштувати без коду, на сторінці налаштувань віджета:
Зверніть увагу, що якщо ви використовуєте comment creation API, можливо, варто передати оригінальну ip адресу користувача в запиті до нашого backend, щоб rate limiting застосовувався per user і не глобально до вашого акаунту.
Запобігти створенню нових коментарів верхнього рівня 
Встановлення noNewRootComments в true призведе до того, що віджет приховає область відповіді на кореневі коментарі, але все ще дозволятиме користувачам відповідати
на дочірні коментарі. Ви, наприклад, можете встановити це умовно під час завантаження сторінки, щоб лише деяким користувачам дозволити залишати коментарі верхнього рівня.
Run 
Максимальна глибина відповідей 
За замовчуванням FastComments дозволяє необмежену глибину вкладення відповідей, створюючи структуру нитки, де користувачі можуть нескінченно відповідати на відповіді.
Опція maxReplyDepth дозволяє обмежити, наскільки глибоко можуть розвиватися ланцюжки відповідей. Коли досягається максимальна глибина, користувачі більше не бачитимуть кнопку відповіді для коментарів на цьому рівні.
Run 
With maxReplyDepth set to 2:
- Користувачі можуть залишати коментарі на верхньому рівні (глибина 0)
- Користувачі можуть відповідати на коментарі верхнього рівня (глибина 1)
- Користувачі можуть відповідати на ці відповіді (глибина 2)
- Подальші відповіді не дозволені за межами глибини 2
Встановлення значення 1 дозволить лише відповіді на коментарі верхнього рівня, створюючи більш пласку структуру обговорення.
Встановлення maxReplyDepth у 0 відключить усі відповіді, дозволяючи лише коментарі верхнього рівня. Якщо не вказано, відповіді можуть вкладатися без обмежень.
Огляд єдиного входу (SSO) 
SSO, або єдиний вхід, — це набір конвенцій, що дозволяє вам або вашим користувачам використовувати 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 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-автентифікації, а потім передається віджету на клієнті.
З Secure SSO акаунт користувача є повністю відокремленим від решти бази користувачів FastComments. Це означає, що якщо у нас є два партнери Company A і Company B, кожен може мати SSO-користувача з ім'ям користувача "Bob".
Requirements
- Базові знання бекенд-розробки.
- Базові знання роботи з секретними API-ключами.
- Базові знання розробки API або рендерингу на стороні сервера.
Pros
- Захищено.
- Безшовний досвід коментування.
Cons
- Потребує розробки на бекенді.
Updating User Data
З Secure SSO щоразу, коли ви передаєте sso user payload, ми оновлюємо їхній акаунт з останньою інформацією. Наприклад, якщо
у користувача було ім'я користувача X, а ви передаєте Y в SSO payload, їхнє ім'я користувача стане Y.
Якщо ви хочете видалити значення, використовуючи цей підхід, то встановіть їх у null (не undefined).
Secure SSO API
Ми також надаємо API для взаємодії з SSO-користувачами. Див. the docs.
Зверніть увагу, що при використанні Secure SSO користувачі автоматично створюються за лаштунками при завантаженні сторінки. Вам не потрібно масово імпортувати ваших користувачів.
Option Two - Simple SSO
Альтернативою Secure SSO є просто передача інформації про користувача віджету коментарів.
Надання електронної пошти в Simple SSO не є обов'язковим, проте без неї їхні коментарі відображатимуться як "Unverified".
Увага! Починаючи з початку 2022 року імена користувачів у Simple SSO не повинні бути унікальними по всьому FastComments.com.
Ідеально, якщо Simple SSO обирають тільки при розробці на платформі, яка не надає доступу до бекенду.
Requirements
- Базові знання клієнтської розробки.
- Потрібно знати принаймні електронну пошту користувача.
Pros
- Просто.
- Вся активність все ще перевіряється.
- Користувач ніколи не вводить своє ім'я користувача або електронну пошту.
Cons
- Менш безпечно, ніж Secure SSO, оскільки payload на клієнті може бути підроблений, щоб стати будь-яким користувачем.
Simple SSO API
Користувачі, автоматично створені через Simple SSO, зберігаються як об'єкти SSOUser. До них можна отримати доступ і керувати ними через API SSOUser. Див. 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
Ваш секретний ключ API можна отримати з цієї сторінки. Ви також можете знайти цю сторінку, перейшовши в My Account, натиснувши плитку API/SSO, а потім натиснувши «Get API Secret Key».
Параметри віджета коментарів
Документація високого рівня по API для віджета коментарів доступна тут.
Давайте розглянемо детальніше, що означають ці параметри.
Віджет коментарів приймає конфігураційний об'єкт — ви вже передаєте його, якщо використовуєте FastComments для передачі вашого ідентифікатора клієнта (названого tenantId).
Щоб увімкнути SSO, передайте новий об'єкт "sso", який має містити такі параметри. Значення повинні генеруватися на сервері.
- userDataJSONBase64: Дані користувача у форматі JSON, які потім кодуються у Base64.
- verificationHash: HMAC-SHA256 хеш, створений з UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Епохальний часовий штамп у мілісекундах. Не повинен бути у майбутньому або більше ніж на два дні в минулому.
- loginURL: URL, який віджет коментарів може показати для входу користувача.
- logoutURL: URL, який віджет коментарів може показати для виходу користувача.
- loginCallback: Коли вказано замість loginURL, функція, яку віджет коментарів викличе при натисканні кнопки входу.
- logoutCallback: Коли вказано замість logoutURL, функція, яку віджет коментарів викличе при натисканні кнопки виходу.

The User Object

Moderators and Administrators
Для адміністраторів і модераторів передайте відповідні прапорці isAdmin або isModerator в об'єкті SSOUser.
Notifications
Щоб увімкнути або вимкнути сповіщення, встановіть значення optedInNotifications в true або false відповідно. Перший раз, коли користувач завантажить сторінку з цим значенням у SSO-пейлоаді, його налаштування сповіщень будуть оновлені.
Крім того, якщо ви хочете, щоб користувачі отримували електронні листи про активність на сторінках, на які вони підписані (на відміну від тільки внутрішніх сповіщень у додатку), встановіть optedInSubscriptionNotifications в true.
VIP Users & Special Labels
Ви можете відобразити спеціальну мітку поруч із іменем користувача, використавши необов'язкове поле "displayLabel".
Неавторизовані користувачі
Щоб представити неавторизованого користувача, просто не заповнюйте userDataJSONBase64, verificationHash або timestamp. Надайте loginURL.
Ці користувачі не зможуть залишати коментарі, натомість їм буде показано повідомлення про вхід (повідомлення, посилання або кнопка, залежно від конфігурації).
Прямі приклади серіалізації та хешування даних користувача
Додаткові деталі та приклади доступні тут (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містить ID бейджів, які потрібно пов'язати з користувачем. Якщо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 налаштовано, створивши правило налаштування.
When doing so, search for SSO, and you will find this option:
Увімкніть її та збережіть правило налаштування.
Only Protect a Certain Domain or Page
Щоб захистити лише певний домен або сторінку, ми просто налаштуємо правило налаштування відповідним чином.
У верхній частині інтерфейсу налаштування ми знайдемо два поля, Domain та URL ID.
Щоб захистити конкретний домен, введіть відповідний домен у поле "domain".
Щоб захистити певну сторінку, введіть URL сторінки у поле "URL ID". Якщо у вас є власна інтеграція з FastComments, ви можете ввести тут тип ID замість URL.
Security Levels
Коли ви вимагаєте SSO, потрібно вирішити, чи потрібен вам Simple SSO або Secure SSO. Якщо ви обираєте Simple SSO, дозволені обидва варіанти, але якщо ви вимагаєте Secure SSO, тоді контент має отримуватися з Secure SSO payload, захешованим за допомогою вашого API key, щоб його можна було переглянути.
Опція рівня безпеки з’явиться, коли ви оберете "Require SSO To View Comments".
Protection Beyond Reading
Увімкнення цієї опції захистить сторінку або домен від коментування, якщо користувач не ввійшов через SSO.
Gotchas
Користувачі, які створили коментарі до інтеграції SSO, не зможуть їх бачити, якщо тільки вони не увійдуть через вашу інтеграцію SSO.
Дозволити анонімні коментарі 
За замовчуванням FastComments вимагатиме електронну адресу для коментування. Вона не має бути дійсною електронною адресою, проте поки користувач не натисне на надіслане їм посилання, їхній коментар відображатиметься з міткою "Непідтверджений коментар".
Однак ми можемо скасувати вимогу щодо електронної адреси. Поле введення електронної адреси все ще відображатиметься, але більше не буде обов'язковим.
Це можна налаштувати через інтерфейс налаштування віджета:
Запобігання закінченню терміну дії анонімних коментарів 
FastComments можна налаштувати так, щоб видаляти неперевірені коментарі через обрану кількість днів. Це допомагає боротися зі спамом.
За замовчуванням цього не відбувається.
Це можна налаштувати або вимкнути на сторінці Налаштування модерації.
Вимкнути введення електронної пошти 
Коли користувачі залишають коментарі й не увійшли в систему, у них попросять вказати свою електронну пошту.
Це створить "непідтверджену сесію" для цього користувача, і ми попросимо його підтвердити цю сесію електронною поштою.
Для деяких сайтів або застосунків бажано не запитувати електронну пошту у користувача при коментуванні або голосуванні.
Увімкнення анонімного коментування робить поле введення електронної пошти необов'язковим. Однак ми можемо повністю вимкнути його. Спочатку увімкніть анонімне коментування, і тоді з'явиться опція вимкнення полів введення електронної пошти.
Якщо це ввімкнено, поля електронної пошти взагалі не відображатимуться у всіх наших продуктах для коментування.
Зверніть увагу, що за цієї конфігурації всі коментарі будуть непідтвердженими, якщо тільки користувач не створить обліковий запис і не ввійде на https://fastcomments.com.
Можливо, ви захочете розглянути відключення позначки «непідтверджено».
Вимкнути мітку «Непідтверджено» 
За замовчуванням FastComments відображатиме мітку "Неперевірений коментар" для коментарів, які були залишені для користувача, у якого неперевірена сесія браузера. Докладніше про неперевірені коментарі читайте тут.
Run 
Крім того, цю функцію можна використовувати без написання коду в інтерфейсі налаштування:
Встановлення імені користувача за замовчуванням 
Коли користувачі залишають коментар або голосують, і вони не увійшли в систему, їх попросять вказати свою електронну адресу та ім'я користувача.
У випадку анонімного коментування іноді бажано задати ім'я користувача за замовчуванням, щоб зменшити перешкоди при коментуванні. Це можна зробити з інтерфейсу налаштувань. Анонімне коментування має бути спочатку увімкнено.
Зворотні виклики 
Усі бібліотеки для віджета коментарів (наразі Angular, React, Vue) підтримують зворотні виклики.
Зворотні виклики вказуються в об’єкті конфігурації й мають однакову сигнатуру для кожної бібліотеки.
Підтримувані зворотні виклики:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
Точні сигнатури можна знайти в визначеннях TypeScript.
Ось приклад із використанням усіх зворотних викликів:
Run 
Ручне визначення локалі користувача 
За замовчуванням FastComments відображає віджет коментарів у локалі, визначеній системою та браузером користувача.
Коли користувач залишає коментар або входить у систему, ми оновлюємо його останній використаний локаль і також використовуємо його для надсилання електронних листів.
Це впливає на те, як віджет коментарів буде перекладено для користувача. Locale складається з мови та регіону користувача, тому налаштування locale зазвичай змінює мову, якою відображається текст для користувача.
Через інтерфейс
Це можна задати за допомогою інструментів налаштування віджета. Див. опцію "Locale / Language":
Через код
Це можна перевизначити, вказавши бажаний locale.
Run 
Підтримувані мови та коди локалі
Повний список підтримуваних мов та відповідних кодів локалі можна знайти тут.
Примітка щодо SSO
Якщо ви використовуєте SSO, можливо, варто передавати locale користувача в об'єкті user, щоб електронні листи та інші елементи були правильно локалізовані для нього.
Обмеження дозволених мов 
За замовчуванням 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 
Ідентифікатори груп для згадування 
Список id для використання в автозаповненні @mentions. Корисно, коли потрібно запобігти відміченню користувачів, які не мають спільних груп.
Коли вказано, в автозаповненні після введення символу @ будуть показані лише користувачі з інших груп.
Run 
Обхід сторонніх cookie 
Для автентифікації FastComments залежить від того, щоб сторонні cookie були увімкнені у вашому браузері. Без них користувачам завжди доведеться залишати свою електронну пошту, щоб коментувати (якщо тільки поле вводу електронної пошти не приховане), і їхні коментарі за замовчуванням завжди відображатимуться як неперевірені.
Щоб обійти це, ви можете увімкнути обхід сторонніх cookie.
Коли цей параметр увімкнено, з’являтиметься невелике спливаюче вікно з повідомленням, що користувач входить у систему. Це спливаюче вікно показується щоразу, коли користувач взаємодіє з віджетом коментарів; наприклад, коли він залишає коментар.
Ми можемо зробити це в коді, встановивши прапорець enableThirdPartyCookieBypass у true:
Run 
Ми також можемо налаштувати це через інтерфейс налаштування віджета, у розділі Enable Third-Party Cookie Popup:
Видалення коментарів з відповідями 
За замовчуванням користувачі можуть видаляти власні коментарі. Крім того, видалення їхнього коментаря автоматично видаляє всі дочірні та тимчасові коментарі в ланцюжку. Ця поведінка також відбувається в реальному часі.
Ви можете обмежити це наступними способами:
- Замість цього анонімізуйте видалений коментар (встановіть name та text у
[deleted]або власне значення). - Не дозволяти видалення коментарів, коли є відповіді. Відображається налаштоване повідомлення про помилку.
- Обмежити видалення коментаря з відповідями тільки адміністраторам та модераторам.
Це можна налаштувати через розділ Comment Thread Deletion в інтерфейсі налаштування віджета.
Показувати бейджі у верхній панелі 
За замовчуванням FastComments відображає бейджі користувачів лише на їхніх коментарях у потоці коментарів.
Однак ми можемо показувати бейджі користувачів поруч із їхнім ім'ям над формою коментаря, увімкнувши цю опцію на сторінці налаштування віджета:
Це відображатиме бейджі користувача поруч із його ім'ям у верхній панелі, роблячи їхні досягнення та статус більш помітними під час написання коментаря.
Зверніть увагу, що ця функція має бути ввімкнена в інтерфейсі налаштування віджета для роботи. За потреби ви можете встановити прапорець showBadgesInTopBar у значення false у конфігурації коду, щоб вибірково вимкнути його навіть якщо він увімкнений на рівні сервера:
Run 