
Мова 🇺🇦 Українська
Основи
Зовнішній вигляд
Живі коментарі
Пагінація та сортування
Поле відповіді
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, наприклад ідентифікатор статті/сторінки.
Run 
Одним із елементів, на який ми часто посилаємося в цьому документі, є Інтерфейс налаштування віджета.
Цей інтерфейс можна використовувати для внесення багатьох змін у віджет коментарів без коду.
При створенні правила налаштування ми часто хочемо, щоб воно застосовувалося до всіх сторінок нашого сайту. Однак у деяких випадках ми хочемо налаштувати віджет коментарів на конкретній сторінці, наприклад, застосувати власний стиль або зробити коментарі на цій сторінці анонімними. Ви також можете, наприклад, дозволити живі коментарі з’являтися одразу на деяких сторінках, а на інших приховувати їх під кнопками сповіщень.
Все це можливо за допомогою поля вводу URL ID на цій сторінці, яке виглядає наступним чином:
Значення в цьому полі має відповідати параметру urlId, переданому у віджет коментарів. Якщо ви хочете, щоб ваше правило налаштування було незалежним від urlId, залиште це поле порожнім або введіть *.
З 2023 року поле URL ID у налаштуванні віджета також підтримує шаблони! Наприклад, ви можете використати */blog/* для додавання стилю, специфічного для вашого блогу, і */store/* для стилю, специфічного для вашого магазину, використовуючи один і той самий домен.
Gotchas
- Якщо ваша сторінка має хеш‑параметри (наприклад 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 не буде протестований, коли ми вносимо зміни.
Зовнішні CSS файли
Ви можете вказати віджету завантажувати зовнішній файл за допомогою @import!
Рекомендується розміщувати @import у правилі налаштування. Таким чином, якщо нам доведеться змінити віджет коментування, ми зможемо використати наші інструменти автоматизації для перевірки вашої конфігурації. Наприклад, ви створюєте правило налаштування у UI налаштування віджету, натискаєте Advanced і вводите у Custom CSS:
@import url(https://example.com/styles.css);
У коді — не рекомендується
Ви також можете завантажити зовнішній CSS файл через властивість customCSS:
Run 
Однак пам'ятайте, що ваш CSS не зможе бути протестований нами, якщо ви це зробите.
Стилізація модального вікна профілю користувача
Модальні вікна профілю користувача також можна стилізувати за допомогою користувацького CSS. Однак, щоб забезпечити застосування користувацького стилю до профілів, усі CSS‑селектори мають мати префікс .user-profile. Без цього префікса користувацький стиль буде проігноровано для модальних вікон профілю.
Наприклад:
Run 
Сумісність назад
У FastComments ми знаємо, що наші клієнти налаштовують віджет коментування. Це задумано — останнє, чого ми хочемо, це щоб наш продукт створював несумісності дизайну у вашому продукті.
Оскільки це важлива частина нашого продукту, у нас є конвеєр збірки, який дозволяє нам переглядати зміни у віджеті коментування для кожного клієнта перед кожним випуском.
Якщо ми виявимо незначні проблеми, ми оновимо ваш обліковий запис, щоб забезпечити плавний випуск. Якщо ми помітимо серйозні критичні зміни, це дозволяє нам зупинити випуск.
Користувацькі шрифти 
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 вперше, ми спробуємо отримати його аватар з https://gravatar.com/.
Однак, якщо аватар не знайдено або користувач ніколи не встановлює його у своєму обліковому записі, ми відображаємо статичне зображення аватара за замовчуванням.
Щоб вказати власне статичне зображення аватара, можна використати налаштування defaultAvatarSrc.
Run 
Це також можна зробити без коду. На сторінці налаштування віджета перегляньте розділ «Аватар за замовчуванням».
Зверніть увагу, що визначення аватара для конкретного користувача, наприклад за допомогою SSO, розглядається в окремому розділі.
Вимкнення аватарів 
Аватари можна повністю видалити з віджету коментарів, навіть якщо користувачі визначили власний аватар.
Run 
Це можна налаштувати без коду, на сторінці налаштування віджету:
Вимкнення всіх стилів за замовчуванням 
Для великих проєктів кастомного стилювання може бути бажаним почати з чистого листа і не використовувати стилі за замовчуванням.
Усі стилі за замовчуванням можна видалити, встановивши параметр noStyles у значення true, наступним чином:
Run 
Це можна налаштувати без коду на сторінці налаштування віджету в розділі «Розширені параметри»:
Посилання з коментарів на сторінки 
Коли надсилаються сповіщення електронною поштою або відображаються коментарі в інтерфейсах користувача, наприклад на сторінці модерації, корисно мати можливість посилатися з коментаря на сторінку, де він розміщений.
Якщо URL 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" option.
Вимкнення панелі інструментів 
За замовчуванням FastComments показує панель інструментів під час написання коментаря, щоб надати швидкі клавіші для оформлення тексту та завантаження зображень.
Цю панель інструментів можна вимкнути в коді або за допомогою інтерфейсу налаштувань.
Run 
Це також можна зробити без коду. На сторінці налаштування віджету перегляньте параметр "Disable The Reply Toolbar".
Вимкнення блокування 
За замовчуванням 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 
Це можна налаштувати без коду на сторінці налаштування віджету в розділі Додаткові параметри. Спочатку вам потрібно ввімкнути Абсолютні дати, щоб побачити цю опцію в інтерфейсі.
Додавання тексту заголовка 
Деякий текст, наприклад заголовок або повідомлення, може бути відображений під кількістю коментарів, але над текстом статусу входу.
Ми називаємо це заголовком, і за замовчуванням він прихований.
Run 
Це можна налаштувати без коду на сторінці налаштування віджету в розділі «Розширені параметри»:
Показувати посилання як текст 
За замовчуванням FastComments відображає посилання так: https://exmaple.com — де URL посилання перетворюється на клікабельний HTML‑тег anchor.
Деякі сайти можуть захотіти вимкнути це, наприклад, щоб запобігти шахраям. Ми надаємо цю можливість, встановивши Comment HTML Rendering Option у Links as Text.
Це можна налаштувати без коду на сторінці налаштування віджета, для всього домену або окремої сторінки:
Перемикання коментарів за допомогою кнопки 
За замовчуванням FastComments відображає поле вводу коментаря та гілку коментарів одночасно. Щоб заощадити вертикальний простір, він також приховує інші обов’язкові поля, доки користувач не взаємодіє з віджетом.
Однак віджет коментарів можна сховати за кнопкою, наприклад:
Кнопка використовує різний перекладений текст залежно від того, чи показані коментарі в даний момент. Якщо коментарі приховані, використовується translations.SHOW_COMMENTS_BUTTON_TEXT. Якщо
коментарі показані, використовується translations.HIDE_COMMENTS_BUTTON_TEXT. Переклади можуть містити текст [count], який буде
замінений локалізованою кількістю.
Run 
Це призначено для заміни конфігурації hideCommentsUnderCountTextFormat.
Кількість оновлюється в режимі реального часу разом з гілкою коментарів. Кнопка не відображається, якщо немає коментарів.
Це можна ввімкнути без коду, створивши правило налаштування та активувавши "Click to Show Comments":
Налаштування тексту лічильника коментарів 
Кількість коментарів, що відображається у верхній частині віджета коментарів, можна налаштувати.
Це можна замінити будь‑яким рядком, і значення [count] буде замінено на кількість, локалізовану для користувача.
Run 
Це можна налаштувати без коду на сторінці налаштування віджета:
Вимкнути перенаправлення зображень 
За замовчуванням FastComments дозволяє користувачам завантажувати зображення. Коли користувач натискає на це зображення, FastComments за замовчуванням відкриває нову вкладку, щоб показати зображення у повному розмірі. Встановлення цього прапорця в true вимикає цю поведінку:
Run 
Якщо ви не плануєте самостійно перехоплювати натиск на зображення (див. onImageClicked), ми рекомендуємо поєднати це з певними стилями щоб прибрати вигляд того, що зображення можна натиснути.
Вимкнути автоматичне створення хештегів 
Коли користувачі вводять хештеги у вигляді #someexampletag, FastComments автоматично створює цей HashTag і підсвічує його у їхньому коментарі.
У деяких випадках бажано вимкнути цю функцію або контролювати, які хештеги можна використовувати через API.
Для цього просто увімкніть Disable Automatic #hashtag Creation через інтерфейс налаштування віджету.
Вимкнути дзвоник сповіщень 
За замовчуванням FastComments показує сповіщувальний дзвінок у правому верхньому куті області коментарів.
Цей дзвінок стане червоним і покаже кількість сповіщень, які має користувач. Приклади сповіщень:
- Користувач відповів вам.
- Користувач відповів у темі, в якій ви коментували.
- Користувач поставив вашому коментарю лайк.
- Користувач відповів на сторінку, на яку ви підписалися.
Сповіщувальний дзвінок також забезпечує механізм підписки на всю сторінку.
Проте, ми можемо повністю вимкнути сповіщувальний дзвінок:
Run 
Це також можна зробити без коду. На сторінці налаштування віджету, дивіться розділ «Вимкнути сповіщувальний дзвінок».
Вимкнути профілі 
За замовчуванням FastComments показує профіль користувача, коли ви клацаєте на його аватар.
Однак ми можемо вимкнути цю функціональність:
Run 
Це також можна зробити без коду. На сторінці налаштування віджета, перегляньте розділ "Вимкнути профілі".
Вимкнути коментарі в профілях 
За замовчуванням FastComments показуватиме вкладку "Коментарі профілю" у профілях користувачів, дозволяючи відвідувачам залишати коментарі на чийсь профіль.
Проте ми можемо вимкнути цю вкладку:
Run 
Це також можна зробити без коду. На сторінці налаштування віджету перегляньте розділ "Вимкнути коментарі профілю".
Вимкнути приватні повідомлення у профілях 
За замовчуванням FastComments показує вкладку «Прямі повідомлення» у профілях користувачів, дозволяючи відвідувачам надсилати прямі повідомлення користувачеві.
Проте ми можемо вимкнути цю вкладку:
Run 
Це також можна зробити без коду. На сторінці налаштування віджету перегляньте розділ «Вимкнути прямі повідомлення» розділ.
Вимкнути повідомлення про успіх 
За замовчуванням FastComments показує повідомлення про успішне надсилання після коментування. Це можна вимкнути наступним чином:
Run 
Це також можна зробити без коду. На сторінці налаштування віджету:
Змінити рейтинг вмісту GIF 
За замовчуванням віджет коментарів FastComments встановлює gif rating у pg.
Доступні варіанти: g, pg, pg-13 та r.
Це можна встановити в коді або через інтерфейс користувача. У коді це можна зробити наступним чином:
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 дозволяє користувачам редагувати їхні коментарі.
Проте, це можна запобігти.
На сторінці налаштування віджета, перегляньте параметр "Вимкнути редагування".
- Це впливає лише на звичайних коментаторів і не на модераторів або адміністраторів, які все ще зможуть редагувати.
- Це також вплине на інтеграції API, коли передається
contextUserId.
Виділення нових коментарів 
FastComments пропонує кілька способів виділити нові коментарі.
По-перше й найголовніше, за замовчуванням коментарі, які спричинили внутрішнє сповіщення (відповіді, відповіді в тій же темі, або коментарі на сторінці
на яку ви підписані), автоматично виділяються тим, що аватар користувача трохи світиться. Колір можна налаштувати через CSS
використовуючи клас is-unread.
Коментарі, опубліковані протягом останніх 24 годин, мають застосований клас 24hr, який можна використовувати для стилізації.
Нарешті, будь-які нові живі коментарі, які з'являються в сесії користувача, будуть виділені протягом кількох секунд за допомогою анімації. Це робиться через
is-live CSS клас і також може бути налаштоване.
Розміри сторінок 
За замовчуванням розмір сторінки FastComments становить 30. Це включає відповіді в гілках.
Розмір сторінки можна налаштувати в Widget Configuration UI у різних розмірах від 10 до 200.
Зверніть увагу, що зміна розміру сторінки вимагає перерахунку всіх гілок коментарів у вашому обліковому записі. Це може зайняти кілька хвилин.
Це не можна налаштувати у віджеті на стороні клієнта, оскільки сторінки обчислюються на сервері.
Нижче показано приклад конфігурації:
Розміри сторінок можна налаштовувати глобально, або для домену, або для окремої сторінки, створюючи різні правила налаштування.
Це вплине на всіх клієнтів, інтеграції та фреймворки, які ви можете використовувати для відображення коментарів через нашу платформу.
Шаблони електронних листів 
Електронні листи, які надсилає FastComments вашим клієнтам, можна налаштувати. Шаблон, логіка, та переклади — усе можна змінити. Текст можна налаштовувати для кожної локалі, а оформлення можна навіть змінювати для кожного домену. Дізнайтеся більше про власні шаблони електронних листів тут.
Формати імен користувачів 
By default, FastComments will show the user's name as they entered it, or how it was passed to us via SSO.
However, it may be desirable to mask or show the user's name in a different way. For example, if the user's name is Allen Rex, maybe you want to only show "Allen R.".
This can be done without code in the Widget Customization UI, under the setting called Commenter Name Format:
The available formats are:
- Capitalize (відображати приклад користувача як Example User)
- Last Initial (відображати Example User як Example U.)
- All Initials (відображати Example User як E. U.)
- Show "Anonymous"
The effect of changing this is immediate. User's will still see their full username at the top of the comment area, for themselves, but their comments will show the modified username.
Usernames are masked server-side to protect users.
Вимкнення завантаження зображень 
За замовчуванням 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.
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.
This is done without code, on the widget customization page:
Додавання власних провайдерів
If you want to allow embeds from a provider that is not on the built-in trusted list, add its hostname in the "Додаткові домени вбудовування" 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.
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.
Увімкнути поле пошуку 
За замовчуванням у віджеті коментарів не відображається поле пошуку.
Однак ми можемо ввімкнути його, встановивши прапорець enableSearch у значення true:
Run 
Це також можна зробити без коду. На сторінці налаштування віджета перегляньте параметр «Увімкнути поле пошуку».
Увімкнути спойлери 
Ми можемо ввімкнути підтримку спойлерів, встановивши прапорець enableSpoilers у значення true:
Run 
Це також можна зробити без коду. На сторінці налаштування віджету, перегляньте опцію "Enable Spoilers".
Коли текст виділено, і тепер видима кнопка SPOILER натискається, текст буде замасковано, доки користувач не наведеться на нього мишкою. Для темного режиму ми робимо те ж саме, з іншими кольорами, які краще підходять для темного режиму.
Це також сумісно з редактором WYSIWYG.
Увімкнути лічильники переглядів коментарів 
За замовчуванням FastComments не відстежує, хто переглянув кожен коментар, і не надає жодної статистики щодо цього.
Однак ми можемо ввімкнути цю функцію, і тоді система почне відстежувати, коли кожен користувач прокручує до коментаря.
Коли це станеться, лічильник поруч із іконкою ока, що показується під кожним коментарем, буде збільшений. Лічильник оновлюється в режимі реального часу і скорочується відповідно до локалі користувача.
Ми можемо ввімкнути це, встановивши прапорець enableViewCounts у значення true:
Run 
Це можна налаштувати без коду на сторінці налаштування віджету:
Ми відстежуємо ідентифікатор користувача*, який переглянув коментар, щоб при повторному перегляді коментар не збільшувався. Якщо ви переглянете коментар знову через два роки, лічильник збільшиться більше.
- *Примітка: або анонімний ідентифікатор сесії, або IP користувача у вигляді хешованого значення.
Показувати живі коментарі відразу 
За замовчуванням живе коментування ввімкнено. Це означає, що якщо будь‑які коментарі додаються, видаляються, редагуються або закріплюються, зміни мають з’являтися у всіх користувачів, які переглядають гілку коментарів одночасно.
Проте, за замовчуванням нові коментарі будуть відображатися під динамічно показаною кнопкою з текстом, схожим на «Show 2 New Comments».
Якщо нові коментарі є відповідями безпосередньо до сторінки, кнопка буде розташована у верхній частині гілки коментарів. Якщо це відповіді на конкретний коментар, кнопка буде під цим коментарем.
Це робиться, щоб запобігти постійному зміненню розміру сторінки у користувача, що може викликати розчарування під час спроби захопити смугу прокрутки.
Для деяких випадків використання, таких як живі торги або онлайн‑події, це не бажана поведінка — ви можете захотіти, щоб віджет коментування був більше схожим на «chat» box, де нові коментарі «з’являються одразу».
Отже, назва прапорця, який вмикає цю функцію: 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 
Це також можна зробити без коду. На сторінці налаштування віджету перегляньте розділ "Увімкнути однорядковий ввід коментаря".
Зверніть увагу, що коментарі на кожній сторінці для кожного напрямку сортування попередньо обчислюються, тому всі напрямки сортування мають однакову продуктивність.
Обмежити кількість коментарів на користувача 
By default, each user can submit up to 5 comments in the same minute.
This is tracked by user id, anon user id, and ip address (hashed).
This can be customized without code, on the widget customization page:
Note that if you're using the comment creation API may want to pass the user's original ip address in the request to our backend so rate limiting is applied
до користувача і не глобально до вашого облікового запису.
Запобігти створенню нових коментарів верхнього рівня 
Встановлення noNewRootComments в true призведе до того, що віджет приховає область відповіді на кореневі коментарі, але все ще дозволятиме користувачам відповідати
на дочірні коментарі. Ви, наприклад, можете встановити це умовно під час завантаження сторінки, щоб лише деяким користувачам дозволити залишати коментарі верхнього рівня.
Run 
Максимальна глибина відповідей 
За замовчуванням FastComments дозволяє необмежену глибину вкладення відповідей, створюючи структуру нитки, де користувачі можуть нескінченно відповідати на відповіді.
Опція maxReplyDepth дозволяє обмежити, наскільки глибоко можуть розвиватися ланцюжки відповідей. Коли досягається максимальна глибина, користувачі більше не бачитимуть кнопку відповіді для коментарів на цьому рівні.
Run 
With maxReplyDepth set to 2:
- Користувачі можуть залишати коментарі на верхньому рівні (глибина 0)
- Користувачі можуть відповідати на коментарі верхнього рівня (глибина 1)
- Користувачі можуть відповідати на ці відповіді (глибина 2)
- Подальші відповіді не дозволені за межами глибини 2
Встановлення значення 1 дозволить лише відповіді на коментарі верхнього рівня, створюючи більш пласку структуру обговорення.
Встановлення maxReplyDepth у 0 відключить усі відповіді, дозволяючи лише коментарі верхнього рівня. Якщо не вказано, відповіді можуть вкладатися без обмежень.
Вимагати прийняття умов обслуговування 
FastComments дозволяє вимагати від коментаторів, які коментують вперше, прийняти ваші Умови обслуговування перед надсиланням коментаря.
Коли увімкнено:
- Анонімні користувачі побачать чекбокс Умов обслуговування щоразу, коли вони коментують
- Авторизовані користувачі побачать чекбокс лише у своєму першому коментарі або коли ви оновлюєте ваші Умови обслуговування
Configuration
Перейдіть на сторінку налаштування віджету та увімкніть чекбокс «Вимагати прийняття Умов обслуговування». Після увімкнення ви побачите наступні параметри:
- Режим тексту Умов: За замовчуванням чекбокс відображає «I agree to the Terms of Service and Privacy Policy» з посиланнями на обидва документи. Виберіть «Customize text per locale», щоб надати власний текст для кожної мови.
- Дата останнього оновлення Умов: Коли ви оновлюєте ваші Умови обслуговування, встановіть цю дату. Користувачі, які прийняли їх до цієї дати, будуть змушені прийняти їх знову.
How It Works
- Часова мітка прийняття Умов зберігається для кожного користувача та кожного коментаря
- Коли користувач приймає Умови, дата записується у його профіль користувача (для кожного орендаря)
- Якщо ви встановите дату «Last Updated», яка пізніше дати прийняття користувачем, йому доведеться повторно прийняти
- Для анонімних користувачів, яких неможливо відстежити, чекбокс з’являється при кожному надсиланні коментаря
Огляд Single Sign-On (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.
Користувацькі інтеграції — безпечний Single Sign-On (SSO) 
FastComments Secure SSO використовує шифрування HMAC-SHA256 як механізм реалізації SSO. Спочатку ми розглянемо загальну архітектуру, наведемо приклади та детальні кроки.
Також є документація щодо міграції від інших провайдерів із подібними механізмами SSO та про відмінності.
The flow looks like this:
Оскільки Secure SSO включає full-stack розробку, повні робочі приклади коду на Java/Spring, NodeJS/Express та vanilla PHP наразі розміщені на GitHub.
Хоча в прикладі для NodeJS ми використовуємо ExpressJS, а в прикладі для Java — Spring, у цих середовищах для реалізації FastComments SSO не потрібно жодних фреймворків/бібліотек — працюють вбудовані криптографічні пакети.
Вам не потрібно створювати нові API-ендпоїнти для FastComments SSO. Просто зашифруйте інформацію про користувача за допомогою вашого секретного ключа та передайте payload у віджет коментарів.
Отримайте свій секретний ключ API
Ваш API Secret можна отримати з цієї сторінки. Ви також можете знайти цю сторінку, перейшовши до My Account, клацнувши плитку API/SSO, а потім натиснувши «Отримати секретний ключ API».
Параметри віджета коментарів
High-level API documentation for the comment widget can be found here.
Давайте детальніше розглянемо, що означають ці параметри.
Віджет коментарів приймає об'єкт конфігурації - ви вже передаєте цей об'єкт, якщо використовуєте FastComments для передачі вашого customer id (названого tenantId).
Щоб увімкнути SSO, передайте новий "sso" об'єкт, який повинен мати наступні параметри. Значення повинні генеруватися на стороні сервера.
- userDataJSONBase64: Дані користувача у форматі JSON, які потім кодуються Base64.
- verificationHash: HMAC-SHA256 хеш, створений з UNIX_TIME_MILLIS + userDataJSONBase64.
- timestamp: Epoch timestamp, in milliseconds. Не має бути датованою в майбутньому або більш ніж на два дні в минулому.
- loginURL: URL, який віджет коментарів може показати для входу користувача.
- logoutURL: URL, який віджет коментарів може показати для виходу користувача.
- loginCallback: Коли надано замість login URL, функція, яку віджет коментарів викличе при натисканні кнопки входу.
- logoutCallback: Коли надано замість logout URL, функція, яку віджет коментарів викличе при натисканні кнопки виходу.

Об'єкт користувача

Модератори та Адміністратори
Для адмінів та модераторів передайте відповідні прапорці isAdmin або isModerator в об'єкті SSOUser.
Сповіщення
Щоб увімкнути або вимкнути сповіщення, встановіть значення optedInNotifications відповідно в true або false. Першого разу, коли користувач завантажить сторінку з цим значенням у SSO-пейлоуді, його налаштування сповіщень будуть оновлені.
Крім того, якщо ви хочете, щоб користувачі отримували електронні листи зі сповіщеннями про активність на сторінках, на які вони підписані (на відміну від лише внутрішніх сповіщень), встановіть optedInSubscriptionNotifications у true.
VIP-користувачі та спеціальні мітки
Ви можете відобразити спеціальну мітку поруч із ім'ям користувача, використавши необов'язкове поле "displayLabel".
Неавторизовані користувачі
Щоб представити неавторизованого користувача, просто не заповнюйте userDataJSONBase64, verificationHash або timestamp. Надайте loginURL.
Ці користувачі не зможуть залишати коментарі; натомість їм буде показано повідомлення про вхід (повідомлення, посилання або кнопка, залежно від конфігурації).
Прямі приклади серіалізації та хешування даних користувача
Більше деталей та прикладів можна знайти тут (js), тут (java) та тут (php).
Ми розуміємо, що будь-яка інтеграція може бути складним і болісним процесом. Не соромтеся звертатися до вашого представника або скористатися сторінкою підтримки.
Користувацькі інтеграції — простий Single Sign-On (SSO) 
За допомогою Simple SSO ми можемо надати віджету коментарів інформацію про користувача, щоб йому не потрібно було вводити своє ім'я користувача або електронну пошту для коментування.
Ми можемо налаштувати Simple SSO таким чином:
Run 
Користувач буде автоматично увійдений, і за лаштунками буде створено SSO User. У користувача буде встановлено createdFromSimpleSSO в true, якщо його отримано з API.
Notes:
- Email is the unique identifier for Simple SSO.
- Providing an email with Simple SSO is not required, however by default their comments will show as "Unverified". Якщо не вказано електронну пошту, користувача неможливо повністю автентифікувати.
- NEW Since Jan 2022: Usernames do not have to be unique across all of fastcomments.com
- Simple SSO can automatically create and update SSO users, if an email is provided, and the user was not originally created from 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 робить навпаки - просто закодуйте й захешуйте інформацію про користувача, використовуючи ваш секретний ключ, і передайте її.
Захист тредів коментарів за допомогою Single Sign-On (SSO) 
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 payload, хешованого вашим API‑ключем, щоб його можна було переглянути.
Опція рівня безпеки з’явиться, коли ви виберете «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 / Language»:
Через код
Це можна перевизначити бажаною локаллю.
Run 
Підтримувані мови та коди локалі
Ви можете знайти повний список підтримуваних мов та відповідних кодів локалі тут.
Примітка щодо SSO
Якщо ви використовуєте SSO, можливо, ви захочете передати локаль користувача у об’єкті користувача, щоб електронні листи та інші елементи були правильно локалізовані для нього.
Обмеження дозволених мов 
За замовчуванням FastComments не обмежує мови, які використовуються для коментування.
Можливо, буде бажано обмежити мови, які використовує спільнота.
Це можна налаштувати без коду на сторінці налаштування віджета:
Система проаналізує їхній коментар, визначить його мову та порівняє її зі списком дозволених.
Якщо коментар написано мовою, яка не дозволена, буде показано локалізоване повідомлення про помилку.
Заголовки сторінок 
Поточний заголовок сторінки асоціюється з вказаним urlId і зберігається для використання в інструментах модерації.
За замовчуванням він отримується з document.title.
Якщо бажано, власний заголовок сторінки можна вказати таким чином:
Run 
Заборонити нові відповіді та вимкнути голосування 
Коментування можна заблокувати, щоб не залишати нових коментарів або голосів, встановивши прапорець readonly у значення true.
Коментарі також не можна буде редагувати або видаляти.
Run 
Це можна налаштувати без коду на сторінці налаштування віджету для всього домену або окремої сторінки:
Update!
Станом на листопад 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:
Видалення коментарів з відповідями 
За замовчуванням користувачі можуть видаляти свої власні коментарі. Крім того, видалення їхнього коментаря автоматично видаляє всі дочірні та тимчасові коментарі в темі. Ця поведінка також активна.
Ви можете обмежити це наступними способами:
- Натомість анонімізуйте видалений коментар (встановіть ім'я та текст у
[deleted]або інше значення). - Не дозволяйте видаляти коментарі, коли є відповіді. Показується налаштовуване повідомлення про помилку.
- Обмежте видалення коментаря з відповідями лише адміністраторами та модераторами.
Це можна налаштувати в розділі Comment Thread Deletion у UI налаштування віджету.
Показувати значки в верхній панелі 
За замовчуванням FastComments відображає значки користувачів лише у їхніх коментарях у межах потоку коментарів.
Проте ми можемо показати значки користувачів поруч із їхнім ім'ям над формою коментаря, увімкнувши цю функцію на сторінці налаштування віджету:
Це відобразить значки користувача поруч із його ім'ям у верхній панелі, роблячи його досягнення та статус більш помітними під час написання коментаря.
Зверніть увагу, що ця функція повинна бути увімкнена в інтерфейсі налаштування віджету, щоб працювати. Ви можете за бажанням встановити прапорець showBadgesInTopBar у значення false у вашій конфігурації коду, щоб вибірково вимкнути його, навіть якщо він увімкнений на рівні сервера:
Run 
Показувати список онлайн-користувачів 
За замовчуванням FastComments не показує список користувачів на сторінці.
Ви можете відобразити список людей, які зараз переглядають сторінку, поряд з віджетом коментарів. Список оновлюється в реальному часі, коли користувачі приєднуються та виходять, і показує їх ім'я, аватар та індикатор онлайн.
Існує три варіанти розташування:
1- Верх: горизонтальний ряд накладаються аватарок, розташований над коментарями.2- Ліво: бічна панель з іменами та онлайн‑точками, розташована ліворуч від віджета.3- Право: та сама бічна панель, розташована праворуч від віджета.
Встановіть прапорець usersListLocation, щоб увімкнути функцію:
Run 
За замовчуванням список показує лише користувачів, які зараз онлайн. Щоб також включити людей, які раніше коментували сторінку (але зараз її не переглядають), встановіть usersListIncludeOffline у true:
Run 
Колишні коментатори відображаються без зеленого онлайн‑крапки, щоб було зрозуміло, хто присутній зараз.
Користувачі з приватними профілями відображаються загальним аватаром і міткою "Приватний профіль", щоб підрахунок залишався точним без розкриття особистих даних.
Це також можна налаштувати без коду. На сторінці налаштування віджета перегляньте параметр "Users List Location". Коли розташування встановлено не в "Вимкнено", під ним з'являється прапорець "Include past commenters".
За останні 500 живих користувачів список може відставати до 30 секунд.