
언어 🇰🇷 한국어
기본
모양 및 느낌
실시간 댓글
페이지 매김 및 정렬
답글 박스
SSO
익명 댓글
기타
맞춤 설정 및 구성
사용자 지정 및 구성
컨텍스트
여기에서는 댓글 위젯이 지원하는 각 기능 및 설정에 대한 심층 문서를 찾을 수 있습니다.
이 문서에서는 핵심 개념을 다루고, 사용 방법과 각 기능 영역별로 알아야 할 주의사항까지 깊이 있게 설명합니다.
관련 줄이 강조된 코드 예제가 제공됩니다. 해당되는 경우 구성 페이지의 스크린샷도 제공됩니다.
코드 예제는 당사의 바닐라 JavaScript 라이브러리를 사용하지만, 구성 옵션은 모든 댓글 위젯 버전(React, Vue 등)에서 정확히 동일한 이름을 사용합니다.
이 가이드에 설명된 대부분의 구성 및 기능은 코드를 작성할 필요가 없습니다.
계정 식별 
댓글 위젯이 예를 들어 테넌트 ID가 "demo"인 상태로 사용될 수 있다는 것을 알 수 있습니다:
Run 
이것은 댓글 위젯을 시험해 보거나 가지고 놀아보기 위한 목적일 뿐입니다. 실제 운영 환경에서는 다음과 같이 자신의 테넌트 ID를 전달해야 합니다:
Run 
귀하의 테넌트 ID는 계정의 댓글 위젯 코드 스니펫에 이미 적용되어 있습니다.
또한 테넌트 ID를 확인하고 API 키를 관리하려면 API 자격 증명 페이지를 확인하세요.
앞으로는 FastComments에 로그인한 상태라면(https://fastcomments.com에 로그인한 경우) 코드 예제들이 실제 테넌트 ID를 사용합니다.
댓글이 페이지와 기사에 연결되는 방식 
댓글 스레드를 렌더링하거나 댓글을 작성할 때, FastComments는 해당 댓글들이 어떤 페이지, 아티클, 또는 상품에 속하는지 알아야 합니다.
이를 위해 우리는 "URL ID"라고 부르는 것을 사용합니다. 이는 문자열이나 숫자 같은 식별자이거나 URL입니다.
기본적으로 urlId를 지정하지 않으면 페이지 URL이 사용됩니다. 현재 페이지 URL을 가져와서 일반적인 마케팅 파라미터나 추적 식별자를 제거하도록 정리합니다.
WordPress와 같은 서드파티 통합의 경우, 우리 플러그인은 일반적으로 현재 보고 있는 정보를 나타내는 식별자(예: 아티클/페이지 ID)를 URL ID로 사용합니다.
Run 
이 문서에서 자주 언급할 것 중 하나는 위젯 커스터마이제이션 UI입니다.
이 UI를 사용하면 코드를 작성하지 않고도 댓글 위젯을 여러 방식으로 변경할 수 있습니다.
커스터마이제이션 규칙을 만들 때는 사이트의 모든 페이지에 적용되기를 원하는 경우가 많습니다. 하지만 특정 페이지의 댓글 위젯을 커스터마이즈하고 싶은 경우도 있습니다. 예를 들어 사용자 정의 스타일을 적용하거나, 해당 페이지의 댓글을 익명으로 만들 수 있습니다. 또한 어떤 페이지에서는 라이브 댓글이 바로 표시되고, 다른 페이지에서는 알림 버튼 아래에 숨겨지도록 설정할 수도 있습니다.
이 모든 것은 이 페이지의 URL ID 입력 필드를 통해 가능하며, 해당 필드는 다음과 같이 생겼습니다:
이 필드의 값은 댓글 위젯에 전달되는 urlId 파라미터와 일치해야 합니다. 커스터마이제이션 규칙이 urlId에 상관없이 적용되기를 원한다면, 이 필드를 비워 두거나 *를 입력하세요.
2023년부터 위젯 커스터마이제이션의 URL ID 필드는 이제 패턴도 허용합니다! 예를 들어 */blog/*를 사용하여 블로그에 특화된 스타일을, */store/*를 사용하여 스토어에 특화된 스타일을 적용할 수 있으며, 모두 동일한 도메인을 사용하면서 가능합니다.
주의 사항
- 페이지에 해시 파라미터(예: example.com#page-1)가 있는 경우, 기본적으로 이것이 URL ID의 일부가 됩니다.
- 마이그레이션 중, 예를 들어 WordPress에서 Gatsby로 이전할 때, 초기 마이그레이션 이후 URL ID 댓글 값을 마이그레이션해야 할 수 있습니다. 이 경우 저희에게 문의해 주세요.
다른 페이지에 동일한 댓글 표시 
urlId 매개변수는 댓글이 연결될 페이지(또는 ID)를 정의할 수 있게 해주므로, 해당 페이지들에서 urlId를 같은 값으로 설정하면 됩니다.
Run 
맞춤 스타일링 
FastComments는 사용자 정의가 가능하도록 설계되었습니다. 보안상의 이유로 댓글 위젯 자체가 iframe 안에서 실행되기 때문에, 맞춤 스타일을 적용하려면 두 가지 방법 중 하나를 따라야 합니다.
첫 번째이자 가장 쉬운 방법은 저희가 권장하는 위젯 커스터마이징 페이지(widget customization page)를 이용하는 것입니다.
위젯 커스터마이징 페이지에서 “고급 옵션 표시” 섹션을 확인하면 “Custom CSS” 라벨이 붙은 영역이 있습니다:
이 방법의 장점:
- 입력된 CSS는 사용자에게 전달되기 전에 최소화(minify)되며, 편집 UI에서 포맷이 일관되게 유지됩니다.
- 위젯 커스터마이징 UI의 모든 이점을 활용할 수 있어, 예를 들어 사이트마다 댓글 위젯을 쉽게 다르게 커스터마이징할 수 있습니다.
- 저희가 댓글 위젯을 업데이트할 때, 여러분의 맞춤 스타일도 릴리스 프로세스의 일부로 테스트됩니다.
두 번째 방법은 위젯 설정에 customCSS 매개변수를 지정하는 것입니다:
Run 
하지만 이 방법에는 제한 사항이 있습니다:
- 헤더 크기 제한으로 인해 서버가 요청을 거부하기 전에 전달할 수 있는 맞춤 CSS 양에 제한이 있습니다.
- 인프라와 빌드 시스템에서 맞춤 CSS를 직접 관리해야 합니다. 이는 단점이라기보다 장점이 될 수도 있습니다.
- 이 경우 맞춤 CSS가 네트워크를 통해 두 번 전송되는 추가 오버헤드가 발생합니다(서버로 전송된 뒤 iframe 콘텐츠에 다시 전달). 대부분의 페이로드 크기에서는 눈에 띄지 않습니다.
- 일반적인 최적화 방법은 CSS를 최소화하여 네트워크 전송 크기를 줄이는 것이지만, 이 방법을 사용할 경우 직접 처리해야 합니다.
- 저희가 위젯을 업데이트할 때 맞춤 CSS가 테스트되지 않습니다.
외부 CSS 파일
@import를 사용하여 위젯이 외부 파일을 가져오도록 할 수 있습니다!
@import는 커스터마이징 규칙 안에 넣는 것이 권장됩니다. 이렇게 하면 댓글 위젯에 변경이 필요할 때 자동화 도구를 사용해 설정을 검증할 수 있습니다. 예를 들어, 위젯 커스터마이징 UI에서 Custom CSS에 Advanced를 클릭하고 다음과 같이 입력합니다:
@import url(https://example.com/styles.css);
코드 내 - 권장되지 않음
customCSS 속성을 통해 외부 CSS 파일을 로드할 수도 있습니다:
Run 
하지만 이렇게 하면 저희가 해당 CSS를 테스트할 수 없다는 점을 기억하세요.
사용자 프로필 모달 스타일링
사용자 프로필 모달도 맞춤 CSS로 스타일링할 수 있습니다. 다만, 사용자 프로필에 맞춤 스타일이 적용되도록 하려면 모든 CSS 선택자 앞에 .user-profile 접두사를 붙여야 합니다. 이 접두사가 없으면 사용자 프로필 모달에 대한 맞춤 스타일이 무시됩니다.
예시:
Run 
이전 버전 호환성
FastComments에서는 고객이 댓글 위젯을 커스터마이징한다는 점을 잘 알고 있습니다. 이는 설계상의 의도이며, 저희 제품이 고객 제품의 디자인 일관성을 해치는 상황을 원치 않습니다.
이 중요한 부분을 위해 저희는 각 릴리스마다 고객별로 댓글 위젯 변경 사항을 검토할 수 있는 빌드 파이프라인을 운영하고 있습니다.
작은 문제가 발견되면 계정을 업데이트하여 릴리스가 원활히 진행되도록 하고, 큰 파괴적 변경이 감지되면 릴리스를 중단할 수 있습니다.
맞춤 글꼴 
FastComments는 사용자 맞춤형으로 설계되었으며, 위젯에서 사용하는 글꼴도 예외는 아닙니다.
기본적으로 FastComments는 가능한 한 다양한 기기에서 보기 좋게 표시되도록 system font stack을 사용합니다.
자신의 글꼴을 정의하려면 맞춤 CSS 문서를 참조하세요.
해당 문서에서는 원하는 글꼴을 지정할 수 있는 맞춤 CSS 정의 방법을 확인할 수 있습니다.
글꼴을 정의하는 방법
글꼴을 재정의하려면 .fast-comments, textarea 선택자를 사용하여 CSS를 정의하는 것을 권장합니다. 예:
Run 
브랜딩 제거 
Pro 또는 Enterprise 계정을 보유한 고객에게는 화이트 라벨링이 허용됩니다. 간단히 문의해 주세요 그러면 저희가 기꺼이 도와드리겠습니다.
댓글 위젯에서 저희 로고만 제거하려는 경우, 이는 Flex 및 Pro 요금제에서 자동으로 활성화됩니다.
이 요금제들은 또한 당사 플랫폼에서 발송되는 이메일에 대해서도 동일한 기능을 제공합니다.
다크 배경 지원 (다크 모드) 
기본적으로 FastComments 댓글 위젯은 대부분의 사이트에서 다크 모드를 자동으로 감지합니다.
다크 모드가 감지되면 FastComments는 흰 배경의 검은색 텍스트에서 검은 배경의 흰색 텍스트로 전환합니다. 이미지도 변경됩니다.
페이지 로드 시, 위젯은 댓글 위젯 뒤에 있는 페이지 배경이 얼마나 어두운지를 판단하려고 시도합니다. 이는 페이지가 흰 배경일 수 있지만, 댓글 위젯을 검은색 배경의 컨테이너 안에 넣으면 댓글을 읽기 쉽게 하기 위해 다크 모드가 여전히 자동으로 활성화되어야 함을 의미합니다.
그러나 "휘도(luminance)"를 결정하는 방식에 의존하는 감지 메커니즘은 원할 때 다크 모드를 활성화하지 않을 수 있습니다. 강제로 활성화하려면 hasDarkBackground 플래그를 다음과 같이 true로 설정하십시오:
Run 
다크 모드 전환 
초기 페이지 로드 후 다크 모드를 토글할 수 있는 사이트의 경우, 이는 조금 더 복잡합니다.
먼저, Comment 위젯 라이브러리의 현재 모든 버전(React, Vue)은 각 저장소에 다크 모드 토글 예제를 포함하고 있습니다.
VanillaJS 위젯의 경우에는 좀 더 작업이 필요합니다. 먼저, FastCommentsUI는 "destroy"와 "update" 함수를 가진 객체를 반환합니다.
댓글 위젯 구성을 업데이트할 때마다 update 함수를 단순히 호출하면 됩니다. 다음은 VanillaJS 위젯으로 다크 모드를 토글하는 완전한 작동 예제입니다.
Run 
텍스트 재정의 
FastComments와 함께, 댓글 위젯의 모든 텍스트는 사용자 정의가 가능합니다.
제출 버튼과 같은 단일 텍스트 조각을 재정의하거나, 전체 댓글 위젯의 모든 텍스트를 재정의할 수 있습니다.
기본적으로, 댓글 위젯의 텍스트는 사용자의 로케일에 따라 번역됩니다. 그러나 사용자가 동일한 로케일/언어를 사용하고 있다고 확신하는 경우, 텍스트를 재정의할 수 있습니다. 예를 들어:
Run 
모든 사용자 정의 가능한 번역은 여기의 "고급 옵션" 탭에서 찾을 수 있습니다.
하지만 위젯 커스터마이징 UI를 통해 더 쉬운 방법이 있습니다. 여기서 우리는 EN_US 로케일의 댓글 위젯에 표시되는 텍스트를 찾아서 교체 텍스트를 지정할 수 있습니다.
모든 번역 재정의는 현재 모든 로케일에 영향을 미칩니다.
이는 위젯 자체의 텍스트를 다룹니다. 방문자가 작성한 댓글을 번역하려면, Comment Translation 을 참조하십시오.
기본 아바타 변경 
사용자가 FastComments에 처음 댓글을 달면 우리는 그들의 아바타를 https://gravatar.com/에서 가져오려고 시도합니다.
하지만 아바타를 찾지 못하거나 사용자가 계정에 아바타를 설정하지 않은 경우, 우리는 정적인 기본 아바타 이미지를 표시합니다.
자신만의 정적 아바타 이미지를 지정하려면 defaultAvatarSrc 설정을 사용할 수 있습니다.
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 사용자 정의 페이지에서 "Default Avatar" 섹션을 확인하세요.
SSO와 같이 특정 사용자의 아바타를 정의하는 방법은 별도의 섹션에서 다룹니다.
아바타 비활성화 
아바타는 사용자가 자체 아바타를 정의했더라도 댓글 위젯에서 완전히 제거될 수 있습니다.
Run 
코드 없이 위젯 맞춤 설정 페이지에서 이를 사용자 지정할 수 있습니다:
모든 기본 스타일 비활성화 
보다 큰 맞춤 스타일링 프로젝트의 경우, 기본 스타일링을 전혀 사용하지 않고 깨끗한 상태에서 시작하는 것이 바람직할 수 있습니다.
다음과 같이 noStyles 매개변수를 true로 설정하면 모든 기본 스타일링을 제거할 수 있습니다:
Run 
코드 없이 위젯 맞춤 설정 페이지의 고급 옵션에서 이를 사용자 지정할 수 있습니다:
댓글에서 페이지로 연결 
알림 이메일을 보내거나 관리 페이지와 같은 사용자 인터페이스에서 댓글을 렌더링할 때, 댓글에서 해당 댓글이 달린 페이지로 연결할 수 있으면 유용합니다.
URL ID가 항상 ID가 아니라면, URL을 다른 곳에 저장해야 합니다. 그것이 바로 "url" 속성의 용도이며, 다음과 같이 정의됩니다.
Run 
일반적인 사용 사례는 댓글 스레드를 게시글과 같은 식별자에 연결한 다음, 특정 페이지로 다시 연결하는 것입니다. 예를 들면:
Run 
URL은 일반적인 마케팅 매개변수가 제거되지 않습니다. 기본적으로 현재 페이지 URL이 그대로 댓글과 함께 저장되는 URL이 됩니다.
기본적으로 답글 접기 
기본적으로, 최상위 댓글에 대한 답글이 표시됩니다.
이 설정을 변경하면 사용자가 최상위 댓글에서 "Show Replies"를 클릭해야 자식 댓글을 볼 수 있습니다.
Run 
코드를 사용하지 않고 위젯 맞춤 설정 페이지에서 이 옵션을 사용자 지정할 수 있습니다:
이 설정은 처음 로드되는 최상위 댓글 수에 영향을 주지 않습니다. 최상위 댓글이 하나이고, 자식 댓글이 29개인 경우, 이 설정을 켜면 다음과 같이 표시됩니다:
- 최상위 댓글을 확인합니다.
- 이 댓글 아래에 Show Replies (29)를 확인합니다.
이 옵션과 함께 모든 최상위 댓글을 표시하려면, 시작 페이지를 -1로 설정하십시오.
WYSIWYG 활성화 
기본적으로 FastComments의 서식 기능은 텍스트 주변에 <b></b>와 같은 보이는 앵커 태그를 추가하여 수행됩니다. 툴바를 클릭
하거나 단축키를 사용하면 이 작업이 자동으로 이루어집니다. 그러나 일부 커뮤니티에서는 앵커 태그 없이 서식을 사용하도록 선택하고 싶을 수 있습니다. 이를
WYSIWYG(what you see is what you get) 편집기라고 합니다. 이 편집기는 기본 편집기와 정확히 동일하게 보이지만, 추가 코드를 로드하여
사용자가 보이는 앵커 태그 없이도 텍스트를 굵게, 밑줄 등으로 서식 지정할 수 있게 합니다.
Run 
코드 없이도 이 작업을 수행할 수 있습니다. 위젯 커스터마이징 페이지에서 "Enable Advanced Formatting" 옵션을 확인하십시오.
툴바 비활성화 
기본적으로 FastComments는 댓글을 작성할 때 텍스트를 꾸미고 업로드
이미지를 위한 바로 가기를 제공하는 툴바를 표시합니다.
이 툴바는 코드나 커스터마이제이션 UI를 통해 비활성화할 수 있습니다.
Run 
코드 없이도 이 작업을 수행할 수 있습니다. 위젯 커스터마이제이션 페이지에서 "Disable The Reply Toolbar" 옵션을 확인하세요.
차단 비활성화 
기본적으로 FastComments는 사용자가 다른 사용자를 차단할 수 있도록 허용합니다. 사용자를 차단하면 해당 사용자의 댓글이 가려지고, 사용자 간 알림이 차단되는 등 여러 효과가 있습니다.
이 기능을 비활성화하고 싶을 수 있습니다. 다음과 같이 할 수 있습니다:
Run 
코드 없이도 이 작업을 수행할 수 있으며, 이는 적절한 서버 측 검증을 가능하게 합니다. 위젯 맞춤 설정 UI를 통해 수행합니다:
렌더링할 페이지 결정 
댓글을 가져오고 렌더링할 때, 댓글 위젯은 어느 페이지에서 시작할지 알아야 합니다. 기본적으로는 시작 페이지로 첫 번째 페이지만 렌더링합니다.
원한다면, 렌더링할 정확한 페이지를 설정 startingPage로 댓글 위젯에 전달할 수 있습니다.
Run 
페이지 번호는 0부터 시작한다는 점에 유의하세요. 따라서 위의 예제는 두 번째 페이지를 렌더링합니다.
페이지를 새로 고치지 않고 댓글 스레드 전환 
우리는 urlId가 댓글이 연결되는 페이지 또는 게시물의 ID라는 것을 다뤘습니다.
또한 요약하면, 정의되지 않으면 urlId는 현재 페이지 URL로 기본값이 설정됩니다.
페이지나 콘텐츠가 전체 페이지 리로드 없이 동적으로 변경되는 SPA(싱글 페이지 애플리케이션)의 경우는 어떨까요?
Angular, React, Vue 등
Angular 및 React와 같은 라이브러리를 사용하는 경우, 위젯에 전달되는 urlId 속성을 단순히 업데이트하면 댓글 위젯이 새로고침됩니다. 예를 들어 React 앱에서 동작하는 모습을 여기에서 확인할 수 있습니다.
VanillaJS
VanillaJS 라이브러리를 사용하고 있다면, 데이터 바인딩이나 상태 전파를 처리해 주는 Angular나 React 같은 프레임워크가 없기 때문에 약간 더 복잡합니다.
VanillaJS 위젯을 인스턴스화하면, 이를 업데이트할 수 있는 몇 가지 함수들이 반환됩니다.
다음은 페이지 해시를 변경하고 댓글 위젯을 업데이트하는 작동 예제입니다:
Run 
절대 날짜 (인간 친화적 타임스탬프 비활성화) 
기본적으로 로컬화된 상대 날짜가 사용됩니다. 예를 들어, 최근에 남긴 댓글 옆에 "11분 전"이라고 표시될 수 있습니다.
절대 날짜를 사용해야 하거나 원하는 경우, 이 매개변수를 true로 설정합니다.
Run 
코드를 사용하지 않고도 위젯 맞춤 설정 페이지의 고급 옵션에서 이를 사용자 지정할 수 있습니다:
절대 날짜와 상대 날짜 모두 표시 
기본적으로 로컬화된 상대 날짜가 사용됩니다. 예를 들어, 최근에 남긴 댓글 옆에 "11분 전"과 같은 표시가 보일 수 있습니다.
이 상대 날짜 형식을 유지하면서 전체 날짜를 함께 표시해야 하거나 원하는 경우, 이 매개변수를 true로 설정하면 됩니다.
Run 
이는 코드를 사용하지 않고 위젯 사용자 정의 페이지의 고급 옵션에서 맞춤 설정할 수 있습니다. UI에서 이 옵션을 보려면 먼저 절대 날짜를 활성화해야 합니다.
헤더 텍스트 추가 
일부 텍스트(예: 헤더 또는 메시지)는 댓글 수 아래에, 로그인 상태 텍스트 위에 표시될 수 있습니다.
이를 헤더라고 부르며, 기본적으로는 숨겨져 있습니다.
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), 이 동작을 일부 스타일과 결합하는 것을 권장합니다 이미지가 클릭 가능한 것처럼 보이는 외관을 제거하기 위해.
알림 벨 비활성화 
기본적으로 FastComments는 댓글 영역 오른쪽 상단에 알림 벨을 표시합니다.
이 벨은 빨간색으로 변하고 사용자가 받은 알림 수를 표시합니다. 예시 알림은 다음과 같습니다:
- 사용자가 당신에게 답글을 달았습니다.
- 사용자가 당신이 댓글을 단 스레드에 답글을 달았습니다.
- 사용자가 당신의 댓글에 찬성을 표시했습니다.
- 사용자가 당신이 구독한 페이지에 답글을 달았습니다.
알림 벨은 전체 페이지를 구독하는 메커니즘도 제공합니다.
그러나 알림 벨을 완전히 비활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 할 수 있습니다. 위젯 사용자 정의 페이지에서 "알림 벨 끄기" 섹션을 확인하세요.
프로필 비활성화 
기본적으로 FastComments는 사용자가 아바타를 클릭하면 해당 사용자의 프로필을 표시합니다.
하지만 이 기능을 비활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 커스터마이징 페이지에서 "Disable Profiles" 섹션을 확인하세요.
프로필 댓글 비활성화 
기본적으로 FastComments는 사용자 프로필에 "Profile Comments" 탭을 표시하여 방문자가 누군가의 프로필에 댓글을 남길 수 있게 합니다.
하지만 이 탭을 비활성화할 수 있습니다:
Run 
코드 없이도 이 작업을 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서 "프로필 댓글 비활성화" 섹션을 확인하세요.
프로필 직접 메시지 비활성화 
기본적으로 FastComments는 사용자 프로필에 "Direct Messages" 탭을 표시하여 방문자가 사용자에게 직접 메시지를 보낼 수 있도록 합니다.
하지만 이 탭을 비활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 할 수 있습니다. 위젯 맞춤 설정 페이지에서 "Disable Direct Messages" 섹션을 확인하세요.
성공 메시지 비활성화 
기본적으로 FastComments는 댓글을 달면 성공 메시지를 표시합니다. 다음과 같이 비활성화할 수 있습니다:
Run 
코드 없이도 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서:
GIF의 콘텐츠 등급 변경 
기본적으로 FastComments 댓글 위젯은 gif rating을 pg로 설정합니다.
사용 가능한 옵션은 g, pg, pg-13, r입니다.
이 설정은 코드에서 또는 UI를 통해 지정할 수 있습니다. 코드에서는 다음과 같이 할 수 있습니다:
Run 
UI에서는 Disable Image Uploads? 옵션이 선택되지 않은 경우 Gif Picker Rating 아래에서 찾을 수 있습니다.
투표 스타일 변경 
기본적으로 FastComments는 투표 옵션을 위쪽 및 아래쪽 화살표로 표시하여 사용자가 댓글에 찬성 또는 반대표를 할 수 있게 합니다.
그러나 투표 도구 모음의 스타일을 변경할 수 있습니다. 현재 옵션은 기본 위/아래 버튼이거나 하트 스타일 투표 메커니즘을 사용하는 것입니다.
다음과 같이 voteStyle 플래그를 사용합니다:
Run 
코드 없이 이 작업을 수행하는 것을 강력히 권장합니다. 이렇게 하면 서버 측 검증도 활성화됩니다. 위젯 커스터마이징 페이지에서 "Vote Style" 섹션을 확인하세요.
투표는 또한 비활성화할 수 있으며, 스타일 옵션 위에 있는 Disable Voting을 참조하십시오.
새 댓글 강조 
FastComments는 새 댓글을 강조하는 여러 가지 방법을 제공합니다.
무엇보다도, 기본적으로 인앱 알림을 트리거한 댓글(답글, 같은 스레드 내 답글, 또는 구독 중인 페이지의 댓글)은 사용자의 아바타가 살짝 빛나는 방식으로 자동으로 강조됩니다. 이 색상은 is-unread 클래스를 사용하여 CSS를 통해 사용자 지정할 수 있습니다.
지난 24시간 동안 게시된 댓글에는 스타일링에 사용할 수 있는 24hr 클래스가 적용됩니다.
마지막으로, 사용자의 세션 중에 나타나는 새로운 실시간 댓글은 애니메이션을 통해 몇 초 동안 강조됩니다. 이는 is-live CSS 클래스를 통해 수행되며 이 역시 사용자 지정할 수 있습니다.
페이지 크기 
기본적으로 FastComments 페이지 크기는 30입니다. 여기에는 스레드의 답글도 포함됩니다.
페이지 크기는 Widget Configuration UI에서 10부터 200까지 다양한 크기로 사용자 지정할 수 있습니다.
페이지 크기를 변경하면 계정의 모든 댓글 스레드를 다시 계산해야 합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
페이지는 서버 측에서 계산되므로 클라이언트 측 위젯에서는 이 설정을 구성할 수 없습니다.
아래에 예시 구성이 표시됩니다:
페이지 크기는 전역적으로, 도메인별로 또는 페이지별로 다양한 사용자 지정 규칙을 만들어 맞춤 설정할 수 있습니다.
이는 플랫폼을 통해 댓글을 표시하는 모든 클라이언트, 통합 및 프레임워크에 영향을 미칩니다.
이메일 템플릿 
FastComments에서 고객에게 보내는 이메일은 맞춤 설정할 수 있습니다. 템플릿, 로직 및 번역을 모두 변경할 수 있습니다. 텍스트는 로케일별로 맞춤 설정할 수 있으며, 스타일은 도메인별로 변경할 수도 있습니다. 맞춤 이메일 템플릿에 대해 자세히 알아보려면 여기를 확인하세요.
사용자 이름 형식 
기본적으로 FastComments는 사용자가 입력한 이름이나 SSO를 통해 전달된 이름을 표시합니다.
하지만 사용자의 이름을 가리거나 다른 방식으로 표시하고 싶을 수도 있습니다. 예를 들어, 사용자의 이름이 Allen Rex인 경우 "Allen R."만 표시하고 싶을 수 있습니다.
이것은 Commenter Name Format이라는 설정 아래 위젯 커스터마이제이션 UI에서 코드를 작성하지 않고도 할 수 있습니다:
사용 가능한 형식은 다음과 같습니다:
- Capitalize (예시 사용자를 Example User로 표시)
- Last Initial (예시 사용자를 Example U.로 표시)
- All Initials (예시 사용자를 E. U.로 표시)
- "Anonymous" 표시
이 설정을 변경하면 효과가 즉시 적용됩니다. 사용자는 댓글 영역 상단에서 자신의 전체 사용자 이름을 볼 수 있지만, 댓글에는 수정된 사용자 이름이 표시됩니다.
사용자 이름은 서버 측에서 마스킹되어 사용자를 보호합니다.
이미지 업로드 비활성화 
기본적으로 FastComments는 이미지 업로드를 허용합니다. 이 설정은 noImageUploads 플래그를 true로 설정하여 비활성화할 수 있습니다.
Run 
코드 없이 위젯 커스터마이징 페이지에서 이 설정을 사용자 지정할 수 있습니다:
미디어 임베드 허용 
기본적으로 FastComments는 댓글에서 iframe을 허용하지 않습니다. 미디어 임베드를 활성화하면 댓글 작성자가 YouTube, Vimeo, SoundCloud, Spotify와 같은 신뢰할 수 있는 제공업체의 임베드 코드(<iframe> 스니펫)를 붙여넣을 수 있으며, 댓글 내에 인라인으로 렌더링됩니다.
보안을 위해 이것은 클라이언트 측 위젯 설정 플래그가 아닙니다. 각 댓글이 저장될 때 검증되는 서버 측 설정이므로, 페이지에서 켤 수 없습니다. 내장된 신뢰할 수 있는 제공업체 목록을 가리키는 iframe만 허용됩니다. 그 외의 iframe은 제거됩니다.
이 작업은 코드 없이 위젯 사용자 지정 페이지에서 수행할 수 있습니다:
자체 제공업체 추가하기
내장된 신뢰 목록에 없는 제공업체의 임베드를 허용하려면 같은 페이지의 "추가 임베드 도메인(Additional Embed Domains)" 필드에 해당 호스트명을 추가하세요. 이 호스트명은 내장 제공업체에 추가로 허용됩니다. 매칭은 정확히 일치해야 하므로 전체 호스트명을 포함해야 합니다(예: player.example.com). 목록에 없는 것은 계속 차단됩니다.
일반 댓글 입력창과 WYSIWYG 편집기 모두 임베드 붙여넣기를 지원합니다. WYSIWYG 편집기에서는 임베드가 제거 가능한 블록으로 삽입됩니다.
검색 상자 활성화 
기본적으로 댓글 위젯에 검색 상자가 표시되지 않습니다.
하지만 enableSearch 플래그를 true로 설정하면 이를 켤 수 있습니다:
Run 
코드 없이도 이 작업을 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서 "Enable Search Box" 옵션을 확인하세요.
스포일러 활성화 
우리는 enableSpoilers 플래그를 true로 설정하여 스포일러 지원을 활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 커스터마이징 페이지에서 "Enable Spoilers" 옵션을 확인하세요.
텍스트를 강조 표시하고 이제 보이는 SPOILER 버튼을 클릭하면, 텍스트가 마스크 처리되어 사용자가 마우스를 올릴 때까지 숨겨집니다. 다크 모드에서는 동일한 방식을 사용하지만, 다크 모드에 더 잘 맞는 다른 색상을 사용합니다.
이 기능은 WYSIWYG 편집기와도 호환됩니다.
댓글 조회수 활성화 
기본적으로 FastComments는 누가 각 댓글을 보았는지 추적하거나 이에 대한 통계를 제공하지 않습니다.
하지만 이 기능을 활성화하면, 사용자가 댓글까지 스크롤할 때마다 시스템이 추적을 시작합니다.
이 경우 각 댓글에 표시되는 눈 아이콘 옆의 카운트가 증가합니다. 카운트는 실시간으로 업데이트되며 사용자의 로케일에 맞게 축약됩니다.
enableViewCounts 플래그를 true로 설정하면 이 기능을 활성화할 수 있습니다:
Run 
코드를 사용하지 않고 위젯 사용자 정의 페이지에서 이 설정을 맞춤화할 수 있습니다:
우리는 댓글을 본 사용자 ID*를 일주일 동안 추적합니다. 따라서 일주일 이내에 다시 댓글을 보면 카운트가 증가하지 않습니다. 일주일이 지난 후 다시 댓글을 보면 카운트가 다시 증가합니다.
- *참고: 익명 세션 ID 또는 사용자의 IP를 해시한 값.
실시간 댓글 즉시 표시 
기본적으로 실시간 댓글이 활성화됩니다. 이는 댓글이 추가, 삭제, 편집 또는 고정될 경우, 해당 변경 사항이 댓글 스레드를 보고 있는 모든 사용자에게 동시에 표시된다는 의미입니다.
하지만 기본적으로 새 댓글은 "Show 2 New Comments"와 유사한 텍스트가 표시된 동적으로 나타나는 버튼 아래에 표시됩니다.
새 댓글이 페이지에 직접 달린 답글인 경우, 버튼은 댓글 스레드 상단에 표시됩니다. 특정 댓글에 대한 답글인 경우, 버튼은 해당 댓글 아래에 표시됩니다.
이는 페이지 크기가 지속적으로 변하는 것을 방지하여 사용자가 스크롤 바를 잡으려 할 때 발생할 수 있는 불편함을 최소화하기 위함입니다.
실시간 입찰이나 온라인 이벤트와 같은 일부 사용 사례에서는 이러한 동작이 원하지 않을 수 있습니다. 새 댓글이 즉시 표시되는 "채팅" 상자와 같은 형태의 댓글 위젯을 원할 수 있습니다.
따라서 해당 기능을 활성화하는 플래그 이름은 showLiveRightAway 입니다.
다음과 같이 활성화할 수 있습니다:
Run 
코드 없이 위젯 맞춤 설정 페이지에서 이 설정을 사용자 지정할 수 있습니다:
실시간 댓글 비활성화 
기본적으로 FastComments는 실시간 댓글 기능이 활성화됩니다.
이는 댓글 스레드를 보는 모든 사용자가 동일한 내용을 보게 된다는 의미입니다.
예를 들어, 댓글이 추가되면 해당 댓글이 표시됩니다. 댓글이 편집되거나 삭제되면, 해당 댓글은 스레드를 보는 모든 사용자에게 편집되거나 삭제된 것으로 반영됩니다. 투표 및 모든 관리 작업도 마찬가지입니다.
하지만 이를 비활성화할 수 있습니다:
Run 
코드 없이도 할 수 있습니다. 위젯 커스터마이징 페이지에서 "실시간 댓글 비활성화" 섹션을 확인하세요.
새 실시간 댓글을 하단에 표시 
기본적으로 새 라이브 댓글은 실시간으로 게시될 때 댓글 목록의 맨 위에 나타납니다.
이 옵션을 활성화하면 새 라이브 댓글이 대신 목록의 맨 아래에 추가됩니다. 이는 사용자가 댓글 스레드를 보는 동안 댓글이 실시간으로 게시될 때 댓글이 나타나는 방식에 영향을 줍니다.
Run 
이 설정을 활성화하면:
- 다른 사용자가 게시한 새 라이브 댓글이 댓글 목록의 하단에 나타납니다
- 사용자는 새 댓글이 기존 댓글 아래에 실시간으로 나타나는 것을 보게 됩니다
- 이것은 라이브 댓글 업데이트에만 영향을 미치며 초기 페이지 로드에는 영향을 주지 않습니다
- 사용자가 토론을 따라갈 때 읽기 흐름을 유지하는 데 도움이 될 수 있습니다
이 설정은 새 라이브 댓글이 실시간으로 도착할 때 배치되는 위치에만 영향을 미친다는 점에 유의하세요. 페이지 로드 시의 초기 정렬 순서에는 영향을 주지 않습니다.
무한 스크롤 활성화 
기본적으로 FastComments 위젯은 모든 보이는 댓글이 보이도록 세로 크기를 자동으로 조정합니다. 페이지 매김은 현재 페이지 끝에 있는 "다음 보기" 버튼으로 이루어지며, 이는 대부분의 사용자에게 가장 쾌적한 상호작용이라고 판단했습니다.
그러나 무한 스크롤이 더 선호되는 경우도 있습니다. 예를 들어, 당사 Stream Chat 제품에서 이 기능을 사용합니다.
"다음 보기" 버튼을 숨기고 enableInfiniteScrolling 플래그를 true로 설정하여 무한 스크롤로 전환할 수 있습니다:
Run 
또한 이를 위해 사용자 지정 CSS를 추가해야 합니다. 예를 들어 스크롤을 활성화하려면 .comments 선택자에 대한 사용자 지정 CSS를 추가하세요:
Run 
전체 작동 예시는 다음과 같습니다:
Run 
위 예제에서는 customCSS 속성을 사용했지만, 성능상의 이유로 위젯 구성 UI를 대신 사용하는 것이 권장됩니다. 사용자 지정 CSS 문서 참조.
기본 정렬 방향 변경 
기본적으로 FastComments는 댓글을 "Most Relevant" 정렬 방향으로 정렬합니다.
Most Relevant 정렬은 댓글이 작성된 시간과 투표 수를 고려하여 정렬합니다.
사용자는 댓글 위젯 UI에서 정렬 방향을 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 
코드를 사용하지 않고도 설정할 수 있습니다. 위젯 맞춤 설정 페이지에서 "Enable Single-Line Comment Input" 섹션을 확인하세요.
각 정렬 방향에 대한 페이지별 댓글이 사전 계산되므로, 모든 정렬 방향에서 동일한 성능을 제공합니다.
새 최상위 댓글 방지 
noNewRootComments를 true로 설정하면 위젯이 루트 댓글 작성 영역을 숨기지만, 사용자가 여전히 자식 댓글에는 답글을 달 수 있습니다. 예를 들어, 페이지 로드 시 조건부로 이 값을 설정하여 일부 사용자만 최상위 댓글을 작성할 수 있도록 할 수 있습니다.
Run 
최대 답글 깊이 
기본적으로 FastComments는 답글의 중첩을 무제한으로 허용하여 사용자가 답글에 계속해서 답글을 달 수 있는 스레드 구조를 만듭니다.
maxReplyDepth 옵션은 답글 스레드가 얼마나 깊게 중첩될 수 있는지를 제한할 수 있게 해줍니다. 최대 깊이에 도달하면 해당 수준의 댓글에는 더 이상 답글 버튼이 표시되지 않습니다.
Run 
With maxReplyDepth set to 2:
- 사용자는 최상위 수준(깊이 0)에 댓글을 달 수 있습니다
- 사용자는 최상위 댓글에 답글을 달 수 있습니다 (깊이 1)
- 사용자는 그 답글들에 다시 답글을 달 수 있습니다 (깊이 2)
- 깊이 2를 넘어서 추가 답글은 허용되지 않습니다
Setting to 1 would only allow replies to top-level comments, creating a flatter discussion structure.
maxReplyDepth를 0으로 설정하면 모든 답글이 비활성화되어 최상위 댓글만 허용됩니다. 지정하지 않으면 답글은 무제한으로 중첩될 수 있습니다.
서비스 약관 동의 필요 
FastComments는 첫 댓글 작성자가 댓글을 제출하기 전에 서비스 약관에 동의하도록 요구할 수 있습니다.
활성화하면:
- 익명 사용자는 댓글을 작성할 때마다 TOS 체크박스가 표시됩니다
- 인증된 사용자는 첫 댓글 작성 시 또는 TOS를 업데이트했을 때만 체크박스가 표시됩니다
설정
위젯 사용자 지정 페이지로 이동하여 "Require Terms of Service acceptance" 체크박스를 활성화하세요. 활성화하면 다음 옵션이 표시됩니다:
- TOS 텍스트 모드: 기본적으로 체크박스에는 두 문서에 대한 링크와 함께 "I agree to the Terms of Service and Privacy Policy"가 표시됩니다. "Customize text per locale"을 선택하여 언어별로 사용자 지정 텍스트를 제공할 수 있습니다.
- TOS 마지막 업데이트 날짜: 서비스 약관을 업데이트할 때 이 날짜를 설정하세요. 이 날짜 이전에 동의한 사용자는 다시 동의해야 합니다.
작동 방식
- TOS 동의 타임스탬프는 사용자별 및 댓글별로 저장됩니다
- 사용자가 TOS에 동의하면 해당 날짜가 사용자 프로필(테넌트별)에 기록됩니다
- 사용자의 동의 날짜 이후로 "마지막 업데이트" 날짜를 설정하면 다시 동의해야 합니다
- 추적할 수 없는 익명 사용자의 경우 댓글을 제출할 때마다 체크박스가 표시됩니다
전송되지 않은 댓글이 있을 때 떠나기 전 경고 
기본적으로 사용자가 댓글을 입력한 후 제출하기 전에 페이지를 새로 고치거나 탭을 닫거나 다른 페이지로 이동하면 초안이 조용히 사라집니다.
warnOnUnsavedComment 를 true 로 설정하면, 댓글 입력란이나 진행 중인 편집에 텍스트가 남아 있는 동안 페이지를 떠나기 전에 브라우저가 사용자에게 확인을 요청합니다. 댓글이 제출되면 텍스트가 지워지므로 프롬프트가 표시되지 않습니다.
Run 
프롬프트는 브라우저 자체 대화 상자를 사용합니다. 최신 브라우저는 자체 문구를 표시하고 사용자 지정 텍스트를 무시하므로 메시지를 맞춤 설정할 수 없습니다.
이 옵션은 필요에 따라 작은 확장을 로드하므로, 이를 활성화하지 않은 사이트의 위젯에 아무런 영향을 주지 않습니다.
투표 활성화 
설문조사는 댓글 작성자가 2~10개의 옵션이 있는 질문을 댓글에 첨부할 수 있게 합니다. 페이지에 있는 모든 사용자는 해당 위치에서 투표하고 실시간으로 결과가 업데이트되는 것을 볼 수 있습니다.
설문조사는 기본적으로 비활성화되어 있습니다. 위젯 사용자 정의 설정에서 설문 조사 활성화를 선택하면 댓글 도구 모음에 설문 조사 버튼이 추가됩니다. 그러면 두 가지 설정이 추가로 나타납니다:
- 설문 조사 생성 가능자: 관리자/중재자만 (기본값), 또는 모두.
- 익명 설문 조사 투표 허용: 선택 해제된 경우 (기본값), 로그인한 사용자만 투표할 수 있습니다.
설문 조사 생성, 투표, 프라이버시 및 설문 조사 알림이 어떻게 작동하는지에 대해서는 설문 조사 가이드를 참조하세요.
단일 로그인(SSO) 개요 
SSO(Single Sign-On, 싱글 사인온)는 사용자 여러분이나 여러분의 사용자가 다른 계정을 새로 만들 필요 없이 FastComments를 사용할 수 있도록 해주는 일련의 규약입니다.
익명 댓글 작성을 허용하지 않는 경우, FastComments로 댓글을 작성하려면 계정이 필요합니다. 우리는 이 가입 과정을 매우 쉽게 만들었습니다. 사용자는 댓글을 작성할 때 이메일만 남기면 됩니다. 하지만 일부 사이트에서는 그마저도 피하고 싶은 추가적인 마찰 요소라는 점을 우리는 잘 이해하고 있습니다.
사이트 전체에 단 하나의 로그인 흐름만 두면 이 마찰을 줄일 수 있습니다.
어떻게 사용할 수 있나요?
현재 모든 계정 유형에서 SSO를 사용할 수 있습니다. 다만 최대 SSO 사용자 수는 사용 중인 패키지에 따라 다릅니다. 다른 기능과 마찬가지로 Pro 플랜 이상에서는 직접적인 개발 지원을 제공합니다.
먼저 옵션들을 비교해 본 뒤, 각각의 세부 사항을 살펴보겠습니다.
사용자 및 댓글 마이그레이션
Disqus처럼 SSO를 사용하는 플랫폼에서 마이그레이션하는 경우, 이미 사용자와 그들의 댓글을 보유하고 있을 것입니다.
댓글은 API, Import UI 또는 고객 지원팀을 통해 마이그레이션의 일부로 가져옵니다. 마이그레이션하는 플랫폼을 지원하는 경우에는 Import UI를 사용하는 것이 좋습니다. Import UI에는 오류 처리, 아바타 및 미디어 추출과 업로드, 배치 작업 모니터링 시스템이 포함되어 있습니다.
사용자 자체는 댓글 스레드를 처음 볼 때 자동으로 추가됩니다. 또는 API를 통해 미리 추가할 수도 있지만, 이 작업에는 큰 이점이 없습니다.
댓글을 가져왔고 SSO 사용자가 API를 통해 수동으로 추가되지 않은 경우, 사용자가 댓글 스레드를 볼 때 계정이 처음 생성되는 시점에 댓글이 자동으로 해당 사용자의 계정으로 마이그레이션됩니다. 그 후 사용자는 원래 작성한 댓글을 관리, 편집, 삭제할 수 있게 됩니다.
자동 마이그레이션은 이메일 또는 사용자 이름을 통해 수행됩니다. Disqus처럼 일부 플랫폼은 내보내기 시 이메일을 제공하지 않으므로, 이 경우 사용자 이름으로 대체합니다.
- 일치하는 사용자 이름과 SSO 페이로드에 이메일을 전달하기만 하면, 개별 댓글 객체에 이메일을 추가하여 알림과 멘션이 작동하도록 합니다.
댓글과 사용자를 한 번에 가져오고 싶다면, API를 통해 사용자를 가져온 후 지원팀과 협력하여 댓글을 사용자의 각 계정으로 마이그레이션하면 됩니다.
요약하면, 마이그레이션을 위한 가장 쉬운 방법은 다음과 같습니다:
- 댓글을 가져옵니다.
Manage Data -> Imports의 Import UI를 사용하면 아바타와 기타 미디어가 자동으로 마이그레이션됩니다.
- Secure SSO 또는 Simple SSO를 설정합니다.
- 사용자가 처음 로그인할 때 사용자별로 마이그레이션이 자동으로 진행되도록 합니다.
- 사용자의 댓글이 5만 개 미만인 경우 일반적으로 페이지 로드 시간에 1초 미만만 추가됩니다.
WordPress 사용자
WordPress 플러그인을 사용 중이라면 작성할 코드가 없습니다! 플러그인의 관리자 페이지로 이동하여 SSO Settings를 클릭한 다음 Enable을 클릭하기만 하면 됩니다.
그러면 원클릭 마법사로 이동하여 API 키를 생성하고, WordPress 설치 환경으로 전송한 뒤 SSO를 활성화합니다. 우리는 이 과정을 단 한 번의 버튼 클릭으로 통합했습니다.
플러그인을 처음 설치하는 경우에는 SSO Settings 버튼이 있는 관리자 페이지가 보이기 전에 설정 과정을 먼저 완료해야 한다는 점에 유의하세요.
WordPress SSO - 중재자(Moderators)
FastComments WordPress 플러그인으로 댓글을 작성할 때 중재자 옆에 "Moderator" 배지가 표시되려면, 현재로서는 해당 사용자가 FastComments 대시보드에서도 중재자(Moderator)로 추가되어 있고 이메일 인증이 완료되어 있어야 합니다.
커스텀 통합
커스텀 통합에는 두 가지 옵션이 있습니다.
옵션 1 - Secure SSO
Secure SSO를 사용하면 FastComments는 댓글을 작성하고, 투표하고, 댓글을 읽는 사용자가 여러분 사이트의 실제 사용자임을 알 수 있습니다.
유효한 페이로드를 생성하기만 하면 사용자는 항상 매끄러운 댓글 작성 경험을 누릴 수 있습니다.
Secure SSO에서는 SSO 페이로드가 HMAC 인증을 사용하여 서버 측에서 생성된 후 클라이언트의 위젯에 전달됩니다.
Secure SSO에서는 사용자의 계정이 나머지 FastComments 사용자 기반과 완전히 분리됩니다. 즉, Company A와 Company B라는 두 파트너가 있을 경우, 각각 사용자 이름이 "Bob"인 SSO 사용자를 가질 수 있습니다.
요구 사항
- 백엔드 개발에 대한 기본적인 지식.
- 시크릿 API 키 처리에 대한 기본적인 지식.
- API 개발 또는 서버 사이드 렌더링에 대한 기본적인 지식.
장점
- 안전합니다.
- 매끄러운 댓글 작성 경험.
단점
- 백엔드 개발이 필요합니다.
사용자 데이터 업데이트
Secure SSO에서는 sso 사용자 페이로드를 전달할 때마다 최신 정보로 사용자를 업데이트합니다. 예를 들어, 사용자의 사용자 이름이 X인데 SSO 페이로드에서 Y를 전달하면 사용자 이름이 Y로 변경됩니다.
이 방식으로 값을 제거하려면 undefined가 아닌 null로 설정하세요.
Secure SSO API
SSO 사용자와 상호 작용하기 위한 API도 제공합니다. 문서를 참조하세요.
Secure SSO를 사용하면 페이지 로드 시 사용자가 백그라운드에서 자동으로 생성됩니다. 사용자를 대량으로 가져올 필요가 없습니다.
옵션 2 - Simple SSO
Secure SSO의 대안은 사용자 정보를 댓글 위젯에 직접 전달하는 것입니다.
Simple SSO에서는 이메일 제공이 필수는 아니지만, 이메일이 없으면 해당 사용자의 댓글이 "Unverified"로 표시됩니다.
참고! 2022년 초부터 Simple SSO의 사용자 이름은 FastComments.com 전체에서 고유할 필요가 없습니다.
이상적으로는 Simple SSO는 백엔드 접근 권한을 제공하지 않는 플랫폼에서 개발할 때만 선택해야 합니다.
요구 사항
- 클라이언트 측 개발에 대한 기본적인 지식.
- 최소한 사용자의 이메일을 알아야 합니다.
장점
- 간단합니다.
- 모든 활동이 여전히 인증됩니다.
- 사용자는 사용자 이름이나 이메일을 입력할 필요가 없습니다.
단점
- 클라이언트 측 페이로드가 조작되어 어떤 사용자로도 위장될 수 있으므로 Secure SSO보다 덜 안전합니다.
Simple SSO API
Simple SSO 흐름을 통해 자동으로 생성된 사용자는 SSOUser 객체로 저장됩니다. SSOUser API를 통해 접근하고 관리할 수 있습니다. 문서를 참조하세요.
맞춤 통합 - 보안 단일 로그인(SSO) 
FastComments Secure SSO는 SSO를 구현하기 위한 메커니즘으로 HMAC-SHA256 암호화를 사용합니다. 먼저 전체 아키텍처를 살펴본 후, 예제와 상세한 단계를 제공합니다.
또한 유사한 SSO 메커니즘을 가진 다른 공급자로부터 마이그레이션하는 방법과 그 차이점에 대한 문서도 있습니다.
흐름은 다음과 같습니다:
Secure SSO는 풀스택 개발이 필요하므로, Java/Spring, NodeJS/Express, 그리고 순수 PHP로 작성된 완전히 동작하는 코드 예제가 현재 GitHub에 있습니다.
NodeJS 예제에서는 ExpressJS를, Java 예제에서는 Spring을 사용하지만, FastComments SSO를 구현하는 데 이러한 런타임에서 프레임워크/라이브러리가 필요하지 않습니다 - 기본 암호화 패키지로 충분합니다.
FastComments SSO를 사용하면 새로운 API 엔드포인트를 작성할 필요가 없습니다. 시크릿 키를 사용하여 사용자 정보를 암호화하고 페이로드를 댓글 위젯에 전달하기만 하면 됩니다.
API 시크릿 키 발급 받기
API 시크릿은 이 페이지에서 확인할 수 있습니다. My Account로 이동하여 API/SSO 타일을 클릭한 다음 "Get API Secret Key"를 클릭해서도 이 페이지를 찾을 수 있습니다.
댓글 위젯 파라미터
댓글 위젯에 대한 상위 수준 API 문서는 여기에서 확인할 수 있습니다.
이러한 파라미터의 의미를 좀 더 자세히 살펴보겠습니다.
댓글 위젯은 설정 객체를 받습니다 - FastComments를 사용하여 고객 ID(tenantId라고 함)를 전달하고 있다면 이미 이 객체를 전달하고 있는 것입니다.
SSO를 활성화하려면 다음 파라미터를 포함해야 하는 새로운 "sso" 객체를 전달합니다. 값은 서버 측에서 생성되어야 합니다.
- userDataJSONBase64: JSON 형식의 사용자 데이터로, Base64로 인코딩됩니다.
- verificationHash: UNIX_TIME_MILLIS + userDataJSONBase64로 생성된 HMAC-SHA256 해시입니다.
- timestamp: 에포크 타임스탬프, 밀리초 단위입니다. 미래 시점이거나 이틀 이상 과거일 수 없습니다.
- loginURL: 댓글 위젯이 사용자 로그인을 위해 표시할 수 있는 URL입니다.
- logoutURL: 댓글 위젯이 사용자 로그아웃을 위해 표시할 수 있는 URL입니다.
- loginCallback: 로그인 URL 대신 제공되는 경우, 로그인 버튼을 클릭할 때 댓글 위젯이 호출할 함수입니다.
- logoutCallback: 로그아웃 URL 대신 제공되는 경우, 로그아웃 버튼을 클릭할 때 댓글 위젯이 호출할 함수입니다.

사용자 객체
사용자(User) 객체는 다음 스키마를 포함합니다:

중재자 및 관리자
관리자 및 중재자의 경우 SSOUser 객체에 각각 isAdmin 또는 isModerator 플래그를 전달합니다.
알림
알림을 활성화 또는 비활성화하려면 optedInNotifications 값을 각각 true 또는 false로 설정합니다. SSO 페이로드에 이 값이 포함된 상태로 사용자가 처음 페이지를 로드하면 알림 설정이 업데이트됩니다.
또한 사용자가 앱 내 알림뿐만 아니라 구독한 페이지의 활동에 대한 알림 이메일을 받도록 하려면 optedInSubscriptionNotifications를 true로 설정합니다.
VIP 사용자 및 특별 라벨
선택적인 "displayLabel" 필드를 사용하여 사용자 이름 옆에 특별 라벨을 표시할 수 있습니다.
인증되지 않은 사용자
인증되지 않은 사용자를 나타내려면 userDataJSONBase64, verificationHash, timestamp를 채우지 않으면 됩니다. loginURL을 제공합니다.
이러한 사용자는 댓글을 작성할 수 없으며, 대신 로그인 메시지(설정에 따라 메시지, 링크 또는 버튼)가 표시됩니다.
사용자 데이터 직렬화 및 해싱 직접 예제
자세한 내용은 예제로 여기(js), 여기(java), 여기(php)에서 확인할 수 있습니다.
모든 통합이 복잡하고 어려운 과정이 될 수 있다는 것을 우리는 이해하고 있습니다. 담당자에게 문의하거나 지원 페이지를 이용하는 것을 주저하지 마세요.
맞춤 통합 - 간단한 단일 로그인(SSO) 
Simple SSO를 사용하면, 사용자가 댓글을 달기 위해 사용자 이름이나 이메일을 입력할 필요 없이 댓글 위젯에 사용자 정보를 제공할 수 있습니다.
Simple SSO는 다음과 같이 구성할 수 있습니다:
Run 
사용자는 로그인된 상태가 되며, 백그라운드에서 SSO 사용자가 생성됩니다. API에서 가져온 경우 사용자는 createdFromSimpleSSO가 true로 설정됩니다.
참고:
- 이메일은 Simple SSO의 고유 식별자입니다.
- Simple SSO에 이메일을 제공하는 것은 필수가 아니지만, 기본적으로 해당 사용자의 댓글은 "Unverified"로 표시됩니다. 이메일이 제공되지 않으면 사용자를 완전히 인증할 수 없습니다.
- NEW 2022년 1월 이후: 사용자 이름은 fastcomments.com 전체에서 고유할 필요가 없습니다.
- Simple SSO는 이메일이 제공되고 사용자가 원래 Secure SSO에서 생성되지 않은 경우 SSO 사용자를 자동으로 생성 및 업데이트할 수 있습니다. Simple SSO 페이로드가 Secure SSO 또는 API에 의해 생성된 사용자를 지정하면 해당 사용자는 그대로 유지되고 방문자는 별도의 사용자를 얻게 됩니다.
- 사용자에게 배지를 지정하려면
badgeConfig속성을 사용할 수 있습니다.badgeIds배열은 사용자와 연결할 전역 배지 ID를 포함합니다.pageBadgeIds배열은 현재 페이지(urlId)에 한정된 배지 ID를 포함하며, 이러한 배지는 할당된 페이지에서만 표시됩니다.override가true로 설정되면 기존에 표시된 배지를 교체합니다(전역 및 페이지 범위 배지는 독립적으로 교체됨).false인 경우 기존 배지에 추가됩니다.
Simple SSO 설정
Simple SSO는 항상 사용할 수 있습니다. 두 가지 설정이 FastComments가 이를 얼마나 신뢰할지 제어합니다. 커스터마이징 규칙에서 SSO를 검색하면 찾을 수 있습니다. 두 설정 모두 기본적으로 비활성화되어 있으며, "Require SSO To View Comments"가 켜져 있든 꺼져 있든 적용됩니다.
이 설정이 추가될 때 이미 Simple SSO를 사용하고 있던 계정은 두 설정이 모두 켜져 있었으므로 해당 계정에는 변화가 없습니다.
페이지와 가장 잘 일치하는 커스터마이징 규칙만 적용되므로, 규칙이 여러 개 있는 경우 각각에 이 설정을 적용해야 합니다. 다른 규칙 중 하나에 이 설정이 켜져 있으면 새 규칙도 기본적으로 켜진 상태로 시작합니다.
Simple SSO를 통한 자동 댓글 인증
이 옵션이 켜져 있으면 Simple SSO 사용자의 댓글이 즉시 인증됩니다.
이 옵션이 꺼져 있으면 Simple SSO 사용자의 댓글은 Simple SSO 페이로드에 있는 주소로 이메일을 보내고 사용자가 해당 링크를 클릭할 때까지 "Unverified"로 표시됩니다. 인증된 댓글만 자동 승인하도록 설정한 경우에도 해당 링크를 기다리게 됩니다. 페이로드에 이메일이 없으면 댓글은 계속 미확인 상태로 유지됩니다.
이 설정은 댓글에만 영향을 미칩니다. Simple SSO 사용자의 투표는 항상 즉시 집계됩니다.
Simple SSO 관리자 허용
이 옵션이 켜져 있으면 Simple SSO 사용자가 계정의 관리자 또는 중재자가 될 수 있습니다:
- 관리자 또는 중재자 권한을 가진 Simple SSO 사용자는 해당 권한을 유지합니다.
- 관리자 또는 중재자 중 하나와 동일한 이메일을 가진 Simple SSO 사용자는 해당 권한을 획득합니다.
이 옵션이 꺼져 있으면 Simple SSO는 이러한 권한을 부여하지 않습니다. 해당 권한을 가진 사용자를 지정하는 Simple SSO 페이로드는 권한이 없는 별도의 사용자를 생성하며, 원래 사용자는 그대로 유지됩니다.
Simple SSO 페이로드는 서명되지 않으므로, 이 옵션이 켜져 있으면 관리자의 이메일이나 사용자 ID를 아는 누구든지 해당 관리자로 가장할 수 있습니다. 사이트에서 이것이 문제가 된다면 이 옵션을 끄고 관리자는 Secure SSO를 사용하십시오.
Secure SSO 또는 API에 의해 생성된 사용자는 Simple SSO가 접근할 수 없으며, 이 옵션이 켜져 있든 꺼져 있든 마찬가지입니다.
맞춤 통합 - Disqus SSO에서 마이그레이션 
Disqus와 FastComments Secure SSO 사이의 가장 큰 차이점은 Disqus는 암호화에 SHA1을 사용하는 반면, 우리는 SHA256을 사용한다는 점입니다.
이는 Disqus에서의 마이그레이션이 쉽다는 것을 의미합니다 - 사용되는 해싱 알고리즘을 SHA1에서 SHA256으로 변경하고 UI에 전달되는 속성 이름들을 업데이트하면 됩니다.
맞춤 통합 - Commento SSO에서 마이그레이션 
Commento는 근본적으로 다른 SSO 접근 방식을 사용합니다 - 사용자를 인증하기 위해 호출하는 엔드포인트를 보유하도록 요구합니다.
FastComments는 그와 반대로 작동합니다 - 단순히 비밀 키를 사용해 사용자의 정보를 인코딩하고 해시한 후 전달하면 됩니다.
단일 로그인으로 댓글 스레드 보호 
FastComments SSO (자세히 보기)는 사용자가 다른 플랫폼에 로그인하지 않고도 댓글을 달 수 있는 방법을 제공합니다.
하지만 이것만으로는 댓글 스레드를 보호하지 못합니다. 기본적으로 댓글 데이터는 공개 정보이므로 페이지를 볼 수 있는 사람은 누구든지 댓글을 볼 수 있습니다.
설정을 변경하면 관리자가 아니거나 유효한 SSO 사용자가 아닌 경우 댓글을 가져오는 것을 제한할 수 있습니다.
코드 없이 설정
SSO가 설정된 경우 맞춤 규칙을 생성하여 댓글 스레드의 조회 및 상호작용을 방지할 수 있습니다.
이때 SSO를 검색하면 다음 옵션을 찾을 수 있습니다:
이를 활성화하고 맞춤 규칙을 저장합니다.
특정 도메인 또는 페이지만 보호하기
특정 도메인이나 페이지만 보호하려면 맞춤 규칙을 해당하도록 구성하면 됩니다.
맞춤 UI 상단에 도메인과 URL ID 두 개의 입력란이 있습니다.
특정 도메인만 보호하려면 해당 도메인을 "domain" 필드에 입력합니다.
특정 페이지를 보호하려면 "URL ID" 필드에 페이지 URL을 입력합니다. FastComments와 맞춤형 통합을 사용 중이라면 URL 대신 ID 유형을 입력할 수 있습니다.
보안 수준
SSO를 요구할 때 Simple SSO와 Secure SSO 중 어떤 것을 요구할지 결정해야 합니다. Simple SSO를 요구하면 두 가지 모두 허용되지만, Secure SSO를 요구하면 콘텐츠를 보기 위해 API 키로 해시된 Secure SSO 페이로드를 사용해 가져와야 합니다.
"댓글 보기를 위한 SSO 요구"를 선택하면 보안 수준 옵션이 표시되며, 해당 옵션이 켜져 있는 동안에만 적용됩니다.
Simple SSO를 통한 자동 댓글 검증 및 Simple SSO 관리자 허용 설정은 별도로 존재하며, 이 옵션의 켜짐 여부와 관계없이 적용됩니다.
읽기 이상의 보호
이 옵션을 활성화하면 사용자가 SSO를 통해 로그인하지 않는 한 해당 페이지나 도메인에 댓글을 달 수 없게 보호합니다.
주의사항
SSO 통합 이전에 댓글을 만든 사용자는 SSO 통합을 통해 로그인하지 않으면 해당 댓글을 볼 수 없습니다.
익명 댓글 허용 
기본적으로 FastComments는 댓글을 달기 위해 이메일을 요구합니다. 이메일이 유효할 필요는 없지만, 사용자가 전송된 링크를 클릭할 때까지 해당 댓글은 "Unverified Comment" 라벨이 표시됩니다.
하지만 이메일 요구 사항을 제거할 수 있습니다. 이메일 입력 필드는 여전히 표시되지만 더 이상 필수는 아닙니다.
이 설정은 위젯 사용자 정의 UI를 통해 구성할 수 있습니다:
사용자 이름은 여전히 필요합니다. 이 단계도 제거하려면, 모든 사용자가 공유하는 기본 사용자 이름 설정 를 설정하거나, FastComments가 각 방문자를 위해 고유 사용자 이름 생성 하도록 할 수 있습니다.
익명 댓글 만료 방지 
FastComments는 원하는 일수 이후에 확인되지 않은 댓글을 삭제하도록 구성할 수 있습니다. 이는 스팸 방지에 도움이 됩니다.
기본 설정에서는 삭제되지 않습니다.
이는 조정 설정 페이지를 통해 구성하거나 비활성화할 수 있습니다.
이메일 입력 비활성화 
사용자가 댓글을 달고 로그인하지 않은 경우, 이메일을 제공하라는 요청을 받게 됩니다.
이렇게 하면 해당 사용자에 대해 "검증되지 않은 세션"이 생성되며, 이메일을 통해 해당 세션을 검증하도록 요청합니다.
일부 사이트나 애플리케이션에서는 댓글이나 투표 시 사용자에게 이메일을 요청하지 않는 것이 바람직합니다.
익명 댓글을 활성화하면 이메일 입력 필드가 선택 사항이 됩니다. 그러나 이를 완전히 비활성화할 수도 있습니다. 먼저 익명 댓글을 활성화하고, 그러면 이메일 입력 필드를 비활성화하는 옵션이 나타납니다.
이 옵션을 켜면 모든 댓글 제품에서 이메일 필드가 전혀 표시되지 않습니다.
이 설정에서는 사용자가 계정을 만들고 https://fastcomments.com 에 로그인하지 않는 한 모든 댓글이 검증되지 않은 상태가 됩니다.
검증되지 않은 라벨 비활성화를 고려해 볼 수 있습니다.
미인증 라벨 비활성화 
기본적으로 FastComments는 확인되지 않은 브라우저 세션을 가진 사용자에게 남겨진 댓글에 대해 "Unverified Comment" 라벨을 표시합니다.
확인되지 않은 댓글에 대해 자세히 알아보려면 여기를 참조하세요.
Run 
또한, 이 기능은 코드를 작성하지 않고도 커스터마이제이션 UI에서 사용할 수 있습니다:
기본 사용자 이름 설정 
사용자가 댓글을 작성하거나 투표할 때 로그인하지 않은 상태라면 이메일과 사용자 이름을 입력하라는 안내가 표시됩니다.
익명 댓글 작성의 경우, 댓글 작성 시의 마찰을 줄이기 위해 기본 사용자 이름을 정의하는 것이 바람직할 때가 있습니다. 이는 Customization UI에서 설정할 수 있습니다. 먼저 익명 댓글 작성(Anonymous Commenting)이 활성화되어 있어야 합니다.
기본 사용자 이름 공유
기본 사용자 이름은 공유되는 표시 이름이지, 신원(identity)이 아닙니다. 기본값을 그대로 사용하고 이메일을 입력한 방문자는 자신만의 계정을 갖게 되며, 기본 사용자 이름이 공개 이름으로 표시됩니다. 여러 방문자가 동일한 기본값을 사용할 수 있으므로 "Anonymous"가 이미 사용 중이라고 표시되는 일은 없습니다.
방문자가 직접 입력한 사용자 이름은 여전히 고유해야 합니다.
방문자가 직접 이름을 고민하지 않고도 각자 고유한 이름을 갖게 하고 싶다면 사용자 이름 자동 생성 문서를 참고하세요.
사용자 이름 자동 생성 
사용자가 로그인하지 않은 상태에서 댓글을 작성하거나 투표하면 이메일과 사용자 이름을 입력하라는 안내가 표시됩니다.
일부 사이트에서는 방문자에게 고유한 사용자 이름을 직접 만들도록 요구하는 것이, 특히 모바일에서는 진입 장벽이 될 수 있습니다. FastComments는 새 방문자마다 중립적인 사용자 이름을 생성하여 사용자 이름 필드에 미리 채워 넣을 수 있습니다. 예: BraveOtter4172.
방문자는 그대로 사용하거나 원하는 이름으로 바꿀 수 있습니다.
이 기능은 Customization UI에서 Generate Usernames Automatically 설정을 통해 활성화할 수 있습니다:
동작 방식
- 생성되는 각 이름은 고유합니다. 기존 계정과 대조하여 확인되며 해당 방문자의 브라우저 세션에 예약되므로, 두 방문자에게 동일한 이름이 제안되지 않습니다.
- 이름은 아직 이름이 없는 방문자에게만 생성됩니다. 로그인한 사용자, SSO 사용자, 이미 댓글을 작성한 방문자는 기존 이름을 유지합니다.
- 익명 댓글이 켜져 있든 꺼져 있든 작동합니다. 익명 댓글이 꺼져 있으면 방문자는 여전히 이메일을 입력하지만, 사용자 이름을 고민할 필요는 없습니다.
- 이전에 사용한 적 있는 이메일을 입력한 재방문자는 기존 계정과 매칭되며, 해당 계정의 이름을 유지합니다.
- 기본 사용자 이름도 설정되어 있는 경우, 생성된 이름이 우선 적용됩니다.
콜백 
댓글 위젯용 모든 라이브러리(현재 Angular, React, Vue)는 콜백을 지원합니다.
콜백은 구성 객체(configuration object)에 지정되며, 각 라이브러리에서 동일한 시그니처를 가집니다.
지원되는 콜백은:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
정확한 시그니처는 TypeScript 정의에서 확인할 수 있습니다.
다음은 모든 콜백을 사용한 예제입니다:
Run 
사용자 로케일 수동 정의 
기본적으로 FastComments는 사용자의 시스템과 브라우저에 의해 결정된 로캘에 따라 댓글 위젯을 렌더링합니다.
사용자가 댓글을 작성하거나 로그인하면, 마지막으로 사용한 로캘을 업데이트하여 이메일 발송 등에도 이를 사용합니다.
이는 사용자에게 댓글 위젯이 번역되는 방식에 영향을 미칩니다. 로캘은 사용자의 언어와 지역으로 구성되므로, 로캘을 설정하면 일반적으로 사용자에게 표시되는 텍스트의 언어가 변경됩니다.
UI를 통해
위젯 사용자 지정 UI를 사용하여 이를 정의할 수 있습니다. "Locale / Language" 옵션을 참조하세요:
코드를 통해
원하는 로캘로 재정의할 수 있습니다.
Run 
지원되는 언어 및 로캘 코드
지원되는 언어 및 해당 로캘 코드의 전체 목록은 여기에서 확인할 수 있습니다.
SSO 참고 사항
SSO를 사용하는 경우, 이메일 및 기타 항목이 사용자에게 올바르게 현지화되도록 사용자 객체에 사용자의 로캘을 전달하는 것이 좋습니다.
댓글 번역 
기본적으로 FastComments는 위젯 자체 인터페이스(버튼, 레이블, 오류 메시지)를 뷰어의 언어로 번역하지만, 댓글은 작성된 그대로 표시됩니다.
Comment Translation은 댓글 자체의 번역을 추가하여, 여러 언어로 작성하는 커뮤니티가 모든 댓글을 자신의 언어로 읽을 수 있게 합니다.
두 가지 모드가 있습니다:
- Automatic: 위젯 언어와 다른 언어로 작성된 댓글은 번역되어 표시됩니다. 댓글 아래에 "Translated from Spanish"와 같은 문구가 나타나며, Show original 링크를 통해 번역된 텍스트와 원본 텍스트를 전환할 수 있습니다.
- Manual: 모든 댓글에 Translate 링크가 표시됩니다. 이를 클릭하면 해당 댓글이 뷰어의 언어로 번역되며, 이후 동일한 Show original 토글이 제공됩니다. 이미 뷰어 언어로 된 댓글은 대신 해당 언어임을 표시합니다.
대상 언어는 위젯의 언어입니다: 동일한 커스터마이징 규칙에 설정된 로케일 / 언어 설정이 있으면 그 값을 사용하고, 없으면 방문자의 브라우저 언어를 사용합니다. 방문자에게 별도의 계정, 확장 프로그램 또는 추가 소프트웨어가 필요하지 않으며, 임베드된 위젯과 독립형 댓글 페이지 모두에서 동일하게 작동합니다.
이 기능은 커스터마이징 규칙당 활성화되므로 전체 사이트, 하나의 도메인 또는 단일 페이지에 적용할 수 있습니다. 기본적으로 비활성화되어 있습니다.
번역은 서버 측 설정입니다. 위젯의 JavaScript 구성에 commentTranslation을 전달해도 활성화되지 않으며, 해당 규칙이 이를 활성화합니다.
각 댓글은 대상 언어당 최대 한 번만 번역되며, 결과는 댓글과 함께 저장됩니다. 따라서 천 명의 스페인어 사용자가 읽는 댓글도 한 번만 번역됩니다. 작성자나 모더레이터가 댓글을 편집하면 저장된 번역이 폐기되고 다음 조회 시 다시 번역됩니다. 번역된 텍스트는 원본 댓글과 동일한 정화 및 링크 규칙을 적용받습니다. 너무 길거나 언어를 감지할 수 없는 댓글은 번역되지 않은 상태로 표시됩니다.
사용량은 AI 에이전트와 동일한 요율로 LLM 토큰으로 청구되며, 청구 상세 내 동일한 위치에 표시됩니다.
페이지 제목 
현재 페이지 제목은 지정된 urlId에 연결되어 모더레이션 도구에서 사용하기 위해 저장됩니다.
기본적으로 이는 document.title에서 가져옵니다.
원한다면, 다음과 같이 페이지 제목을 지정할 수 있습니다:
Run 
새 답글 방지 및 투표 비활성화 
댓글 작성을 잠글 수 있어, readonly 플래그를 true로 설정하면 새로운 댓글이나 투표를 남길 수 없습니다.
댓글은 편집하거나 삭제할 수도 없습니다.
Run 
코드를 사용하지 않고 위젯 커스터마이징 페이지에서 전체 도메인이나 페이지에 대해 맞춤 설정할 수 있습니다:
Update!
2022년 11월부터, 스레드는 답글 영역 위의 점 세 개 메뉴를 통해 관리자와 모더레이터가 실시간으로 잠그거나 잠금 해제할 수 있습니다.
이렇게 하면 새로운 댓글을 방지하면서도 투표는 허용하고, 사용자가 원한다면 자신의 댓글을 삭제할 수 있게 됩니다. 반면 readonly는 이러한 기능을 허용하지 않습니다.
이는 Page API의 isClosed 필드에 해당합니다.
댓글 수 및 모든 중첩 답글 계산 
댓글 위젯 상단에 표시되는 댓글 수는 페이지나 게시물 자체에 직접 달린 답글을 의미하는 "top-level" 댓글만을 표시할 수도 있고, 또는 모든 중첩된 댓글의 수를 셀 수도 있습니다.
기본적으로 이것은 true입니다 - 후자의, 즉 모든 댓글의 수를 셉니다. 댓글 위젯의 이전 버전에서는 기본값이 false였습니다.
우리는 동작을 변경하여 모든 중첩 댓글의 수가 되도록 countAll 플래그를 true로 설정할 수 있습니다.
Run 
카운트가 오직 최상위 댓글만 반영하도록 하려면, 플래그를 false로 설정합니다.
Run 
이 동작은 현재 코드 변경 없이 사용자화할 수 없습니다.
댓글 작성자 링크 활성화 
기본적으로 FastComments는 사용자에게 댓글, 사용자 이름 및 이메일만 요청합니다.
하지만 경우에 따라 사용자가 자신의 블로그나 웹사이트 링크를 남기도록 할 수 있습니다.
enableCommenterLinks 플래그를 true로 설정하면 사용자의 웹사이트 URL을 입력할 수 있는 추가 입력 필드를 표시하도록 활성화할 수 있습니다:
Run 
해당 URL이 제공되면 사용자의 계정이 업데이트되고 과거 및 미래의 모든 댓글에서 사용자 이름이 이 URL에 연결됩니다.
이는 코드 없이 위젯 맞춤 설정 페이지에서 사용자 지정할 수 있습니다:
중재 그룹 
이 목록은 모더레이션 그룹 페이지에서 생성된 ID들의 목록입니다.
지정하면, 해당 설정을 사용하여 남긴 댓글에는 동일한 moderationGroupIds 세트가 포함됩니다.
만약 Moderator가 하나 이상의 모더레이션 그룹 을 정의해 둔 경우, 그들은
자신의 그룹과 연관된 댓글만 Moderate Comments 페이지에서 보게 됩니다.
Run 
그룹 ID 멘션 
@mentions 자동 완성에 사용할 id 목록입니다. 교집합 그룹이 없는 사용자에게 태그되는 것을 방지하려는 경우에 유용합니다.
지정하면 @ 문자를 입력한 후 자동 완성에는 다른 그룹에 속한 사용자만 제공됩니다.
Run 
제3자 쿠키 우회 
인증을 위해 FastComments는 브라우저에서 제3자 쿠키가 활성화되어 있어야 합니다. 쿠키가 없으면 사용자는 항상 이메일을 입력해야 댓글을 달 수 있습니다(이메일 입력 필드가 숨겨져 있지 않은 경우), 그리고 기본적으로 댓글이 확인되지 않은 상태로 표시됩니다.
이를 해결하려면 제3자 쿠키 우회를 활성화할 수 있습니다.
이 설정을 활성화하면 사용자가 로그인 중임을 알리는 메시지가 표시되는 작은 팝업이 나타납니다. 이 팝업은 사용자가 댓글 위젯과 상호작용할 때마다 표시됩니다; 예를 들어, 댓글을 남길 때.
코드에서 enableThirdPartyCookieBypass 플래그를 true로 설정하여 이 작업을 수행할 수 있습니다:
Run 
위젯 커스터마이징 UI에서 Enable Third-Party Cookie Popup 아래에 이 설정을 할 수도 있습니다:
답글이 있는 댓글 삭제 
기본적으로 사용자는 자신의 댓글을 삭제할 수 있습니다. 또한, 댓글을 삭제하면 해당 스레드의 모든 하위 및 일시적인 댓글이 자동으로 삭제됩니다. 이 동작은 실시간으로 적용됩니다.
다음과 같은 방법으로 이를 제한할 수 있습니다:
- 대신, 삭제된 댓글을 익명 처리합니다 (이름과 텍스트를
[deleted]또는 사용자 정의 값으로 설정). - 답글이 있는 경우 댓글 삭제를 허용하지 않습니다. 사용자 정의 가능한 오류 메시지가 표시됩니다.
- 댓글에 답글이 있을 때 삭제를 관리자와 중재자에게만 제한합니다.
이는 위젯 맞춤 UI의 Comment Thread Deletion 섹션을 통해 구성할 수 있습니다.
상단 바에 배지 표시 
기본적으로 FastComments는 댓글 스레드 내에서 사용자의 댓글에만 배지를 표시합니다.
하지만 위젯 커스터마이징 페이지에서 이 기능을 활성화하면 댓글 양식 위에 이름 옆에 사용자 배지를 표시할 수 있습니다:
이렇게 하면 상단 바 영역에 사용자의 이름 옆에 배지가 표시되어, 댓글을 작성할 때 사용자의 업적과 상태가 더 눈에 띄게 됩니다.
이 기능이 작동하려면 위젯 커스터마이징 UI에서 반드시 활성화되어야 합니다. 서버 수준에서 켜져 있더라도 코드 구성에서 showBadgesInTopBar 플래그를 false로 설정하여 선택적으로 비활성화할 수 있습니다:
Run 
온라인 사용자 목록 표시 
기본적으로 FastComments는 페이지에 사용자 목록을 표시하지 않습니다.
현재 페이지를 보고 있는 사람들의 목록을 댓글 위젯과 함께 렌더링할 수 있습니다. 사용자가 입장하거나 퇴장할 때 목록이 실시간으로 업데이트되며, 이름, 아바타 및 온라인 표시기가 표시됩니다.
다음 세 가지 레이아웃 옵션이 있습니다:
1- Top: 댓글 위에 렌더링되는 겹치는 아바타들의 가로 행.2- Left: 위젯 왼쪽에 렌더링되는 이름과 온라인 점이 있는 사이드바.3- Right: 위젯 오른쪽에 렌더링되는 동일한 사이드바.
usersListLocation 플래그를 설정하여 기능을 활성화합니다:
Run 
기본적으로 목록은 현재 온라인인 사용자만 표시합니다. 과거에 페이지에 댓글을 달았지만 현재 보고 있지 않은 사람들을 포함하려면 usersListIncludeOffline을 true로 설정합니다:
Run 
과거 댓글 작성자는 녹색 온라인 점 없이 렌더링되어 현재 누가 있는지 명확히 표시됩니다.
비공개 프로필을 가진 사용자는 일반 아바타와 "Private Profile" 라벨로 표시되어, 신원을 밝히지 않으면서도 카운트가 정확하게 유지됩니다.
코드 없이도 설정할 수 있습니다. 위젯 커스터마이징 페이지에서 "Users List Location" 옵션을 확인하세요. 위치가 Off가 아닌 값으로 설정되면, 아래에 "Include past commenters" 체크박스가 나타납니다.
지난 500명의 실시간 사용자에 대해, 목록은 최대 30초 정도 지연될 수 있습니다.