
언어 🇰🇷 한국어
기본 사항
모양 및 느낌
실시간 댓글
페이지 매김 및 정렬
답글 입력 상자
SSO
익명 댓글
기타
사용자 정의 및 구성
사용자 지정 및 구성
컨텍스트
여기에서는 댓글 위젯이 지원하는 각 기능 및 설정에 대한 심층 문서를 찾을 수 있습니다.
이 문서에서는 핵심 개념을 다루고, 사용 방법과 각 기능 영역별로 알아야 할 주의사항까지 깊이 있게 설명합니다.
관련 줄이 강조된 코드 예제가 제공됩니다. 해당되는 경우 구성 페이지의 스크린샷도 제공됩니다.
코드 예제는 당사의 바닐라 JavaScript 라이브러리를 사용하지만, 구성 옵션은 모든 댓글 위젯 버전(React, Vue 등)에서 정확히 동일한 이름을 사용합니다.
이 가이드에 설명된 대부분의 구성 및 기능은 코드를 작성할 필요가 없습니다.
계정 식별 
댓글 위젯이 예를 들어 테넌트 ID가 "demo"인 상태로 사용될 수 있다는 것을 알 수 있습니다:
Run 
이것은 댓글 위젯을 시험해 보거나 가지고 놀아보기 위한 목적일 뿐입니다. 실제 운영 환경에서는 다음과 같이 자신의 테넌트 ID를 전달해야 합니다:
Run 
귀하의 테넌트 ID는 계정의 댓글 위젯 코드 스니펫에 이미 적용되어 있습니다.
또한 테넌트 ID를 확인하고 API 키를 관리하려면 API 자격 증명 페이지를 확인하세요.
앞으로는 FastComments에 로그인한 상태라면(https://fastcomments.com에 로그인한 경우) 코드 예제들이 실제 테넌트 ID를 사용합니다.
댓글이 페이지와 기사에 연결되는 방법 
When rendering a comment thread, or leaving a comment, FastComments needs to know what page, or article, or product those comments belong to.
댓글 스레드를 렌더링하거나 댓글을 남길 때, FastComments는 해당 댓글이 어느 페이지, 기사, 혹은 제품에 속하는지 알아야 합니다.
To do this, we use something we call the "URL ID". It's either an identifier, like a string or a number, or a URL.
이를 위해 우리는 "URL ID"라고 부르는 것을 사용합니다. 이는 문자열이나 숫자와 같은 식별자이거나 URL일 수 있습니다.
By default, if you do not specify the urlId, it will become the page URL. We will take the current page URL, and clean it to remove any common marketing parameters or tracking identifiers.
기본적으로 urlId를 지정하지 않으면 페이지 URL이 사용됩니다. 현재 페이지 URL을 가져와 일반적인 마케팅 파라미터나 추적 식별자를 제거하도록 정리합니다.
In the case of third party integrations, like WordPress, our plugin will usually use the identifier that represents the current information being viewed as the URL ID, for example the article/page id.
WordPress와 같은 서드파티 통합의 경우, 플러그인은 일반적으로 현재 보고 있는 정보(예: 기사/페이지 ID)를 URL ID로 사용합니다.
Run 
One thing that we'll often reference in this document is the 위젯 커스터마이징 UI.
This UI can be used to make many changes to the comment widget without using code.
When creating a customization rule, we'll often want it to apply to all pages to our site. However, in some cases we want to customize the comment widget on a particular page, either to apply custom styling, or maybe make comments for that particular page anonymous. You could also, for example, have live comments appear right away on some pages, while hiding them under notification buttons on others.
This is all possible via the URL ID input field on this page, which looks like as follows:
The value in this field should match the urlId parameter passed into the comment widget. If you want your customization rule to be urlId agnostic, leave this field empty or enter *.
이 필드의 값은 댓글 위젯에 전달되는 urlId 매개변수와 일치해야 합니다. 커스터마이징 규칙을 urlId와 무관하게 만들고 싶다면, 이 필드를 비워두거나 *를 입력하세요.
As of 2023 the URL ID field in widget customization now also takes patterns! For example you may
have */blog/* to add styling specific to your blog and */store/* to have styling specific to your store,
all while using the same domain.
2023년 현재 위젯 커스터마이징의 URL ID 필드는 이제 패턴도 지원합니다! 예를 들어 */blog/*를 사용해 블로그에 특화된 스타일을 적용하고, */store/*를 사용해 스토어에 특화된 스타일을 적용할 수 있으며, 모두 동일한 도메인을 사용합니다.
주의사항
- If your page has hash parameters (like example.com#page-1) - this will become part of the URL ID, by default.
- 페이지에 해시 파라미터가 있는 경우(예: example.com#page-1) - 기본적으로 이것이 URL ID의 일부가 됩니다.
- During migrations, for example from WordPress to Gatsby, you may have to migrate the URL ID comment values after the initial migration. For that, reach out to us.
- 마이그레이션 중, 예를 들어 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 로케일의 댓글 위젯에 표시되는 텍스트를 찾아 교체 텍스트를 지정할 수 있습니다.
현재 모든 번역 재정의는 모든 로케일에 영향을 미칩니다.
기본 아바타 변경 
사용자가 FastComments에 처음 댓글을 달면 우리는 그들의 아바타를 https://gravatar.com/에서 가져오려고 시도합니다.
하지만 아바타를 찾지 못하거나 사용자가 계정에 아바타를 설정하지 않은 경우, 우리는 정적인 기본 아바타 이미지를 표시합니다.
자신만의 정적 아바타 이미지를 지정하려면 defaultAvatarSrc 설정을 사용할 수 있습니다.
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 사용자 정의 페이지에서 "Default Avatar" 섹션을 확인하세요.
SSO와 같이 특정 사용자의 아바타를 정의하는 방법은 별도의 섹션에서 다룹니다.
아바타 비활성화 
아바타는 사용자가 자체 아바타를 정의했더라도 댓글 위젯에서 완전히 제거될 수 있습니다.
Run 
코드 없이 위젯 맞춤 설정 페이지에서 이를 사용자 지정할 수 있습니다:
모든 기본 스타일 비활성화 
보다 큰 맞춤 스타일링 프로젝트의 경우, 기본 스타일링을 전혀 사용하지 않고 깨끗한 상태에서 시작하는 것이 바람직할 수 있습니다.
다음과 같이 noStyles 매개변수를 true로 설정하면 모든 기본 스타일링을 제거할 수 있습니다:
Run 
코드 없이 위젯 맞춤 설정 페이지의 고급 옵션에서 이를 사용자 지정할 수 있습니다:
댓글에서 페이지로 링크하기 
알림 이메일을 보내거나, 모더레이션 페이지와 같은 사용자 인터페이스에 댓글을 렌더링할 때, 댓글에서 해당 댓글이 달린 페이지로 링크를 걸 수 있으면 유용합니다.
If URL ID isn't always an ID, then we have to store the URL some place else. That's what the "url" property is for, defined as follows.
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는 새 댓글을 강조 표시하는 여러 방법을 제공합니다.
First and foremost, by default comments that triggered an in-app notification (replies, replies in same thread, or comments on a page
that you're subscribed to), will automatically be highlighted with the user's avatar glowing slightly. 색상은 CSS를 사용하여
is-unread 클래스로 사용자화할 수 있습니다.
최근 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 
코드 없이 위젯 커스터마이징 페이지에서 이 설정을 사용자 지정할 수 있습니다:
미디어 임베드 허용 
By default FastComments does not allow iframes in comments. When you enable media embeds, commenters can paste the embed code (the <iframe> snippet) from trusted providers like YouTube, Vimeo, SoundCloud, and Spotify, and it will render inline in the comment.
기본적으로 FastComments는 댓글에서 iframe을 허용하지 않습니다. 미디어 임베드를 활성화하면, 댓글 작성자는 YouTube, Vimeo, SoundCloud, Spotify와 같은 신뢰할 수 있는 제공업체의 임베드 코드( <iframe> 스니펫)를 붙여넣을 수 있으며, 댓글에 인라인으로 렌더링됩니다.
For security, this is not a client-side widget config flag. It is a server-side setting, validated when each comment is saved, so it cannot be turned on from the page. Only iframes pointing at a built-in list of trusted providers are allowed. Any other iframe is removed.
보안을 위해, 이는 클라이언트 측 위젯 구성 플래그가 아닙니다. 각 댓글이 저장될 때 검증되는 서버 측 설정이며, 페이지에서 켤 수 없습니다. 신뢰할 수 있는 제공업체의 내장 목록을 가리키는 iframe만 허용됩니다. 그 외의 모든 iframe은 제거됩니다.
This is done without code, on the widget customization page:
자체 제공업체 추가
If you want to allow embeds from a provider that is not on the built-in trusted list, add its hostname in the "Additional Embed Domains" field on the same page. These hostnames are allowed in addition to the built-in providers. Matching is exact, so include the full hostname (for example, player.example.com). Anything you do not list stays blocked.
내장된 신뢰 목록에 없는 제공업체의 임베드를 허용하려면, 같은 페이지의 "Additional Embed Domains" 필드에 해당 호스트명을 추가하십시오. 이러한 호스트명은 내장된 제공업체에 추가로 허용됩니다. 일치 여부는 정확히 비교되므로 전체 호스트명(예: player.example.com)을 포함해야 합니다. 목록에 포함되지 않은 모든 항목은 차단됩니다.
Both the plain comment box and the WYSIWYG editor support pasting an embed. In the WYSIWYG editor the embed is inserted as a removable block.
일반 댓글 입력 상자와 WYSIWYG 편집기 모두 임베드 붙여넣기를 지원합니다. WYSIWYG 편집기에서는 임베드가 제거 가능한 블록으로 삽입됩니다.
검색 상자 활성화 
기본적으로 댓글 위젯에 검색 상자가 표시되지 않습니다.
하지만 enableSearch 플래그를 true로 설정하면 이를 켤 수 있습니다:
Run 
코드 없이도 이 작업을 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서 "Enable Search Box" 옵션을 확인하세요.
스포일러 활성화 
우리는 enableSpoilers 플래그를 true로 설정하여 스포일러 지원을 활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 커스터마이징 페이지에서 "Enable Spoilers" 옵션을 확인하세요.
텍스트를 강조 표시하고 이제 보이는 SPOILER 버튼을 클릭하면, 텍스트가 마스크 처리되어 사용자가 마우스를 올릴 때까지 숨겨집니다. 다크 모드에서는 동일한 방식을 사용하지만, 다크 모드에 더 잘 맞는 다른 색상을 사용합니다.
이 기능은 WYSIWYG 편집기와도 호환됩니다.
댓글 조회수 표시 활성화 
기본적으로 FastComments는 누가 각 댓글을 보았는지 추적하지 않으며 이에 대한 통계도 제공하지 않습니다.
하지만 이 기능을 활성화하면 시스템이 각 사용자가 댓글을 스크롤할 때 추적을 시작합니다.
이 경우 각 댓글에 표시되는 눈 아이콘 옆의 카운트가 증가합니다. 카운트는 실시간으로 업데이트되며 사용자의 로케일에 따라 축약됩니다.
이 기능은 enableViewCounts 플래그를 true로 설정하여 활성화할 수 있습니다:
Run 
코드 없이 위젯 커스터마이징 페이지에서 이 설정을 맞춤화할 수 있습니다:
우리는 댓글을 본 사용자 ID*를 추적하므로, 같은 댓글을 다시 보면 카운트가 증가하지 않습니다. 두 년 후에 다시 보면 카운트가 증가합니다.
- *Note: 익명 세션 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" 섹션을 확인하세요.
각 정렬 방향에 대한 페이지별 댓글이 사전 계산되므로, 모든 정렬 방향에서 동일한 성능을 제공합니다.
새 최상위 댓글 금지 
Setting noNewRootComments to true will cause the widget to hide the root reply area, but still allow users to reply
하위 댓글에 답글을 달 수 있게 합니다. 예를 들어, 페이지 로드 시 조건부로 이 값을 설정하여 일부 사용자만 최상위 댓글을 남길 수 있도록 할 수 있습니다.
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는 처음 댓글을 다는 사용자가 댓글을 제출하기 전에 서비스 약관에 동의하도록 요구할 수 있게 합니다.
활성화된 경우:
- Anonymous users will see a TOS checkbox every time they comment
- Authenticated users will see the checkbox only on their first comment, or when you update your TOS
Configuration
Navigate to the widget customization page and enable the "Require Terms of Service acceptance" checkbox. Once enabled, you'll see the following options:
- TOS Text Mode: 기본적으로 체크박스는 "I agree to the Terms of Service and Privacy Policy" 라는 문구와 두 문서에 대한 링크를 표시합니다. "Customize text per locale"을 선택하면 각 언어에 대한 자체 텍스트를 제공할 수 있습니다.
- TOS Last Updated Date: 서비스 약관을 업데이트할 때 이 날짜를 설정합니다. 이 날짜 이전에 동의한 사용자는 다시 동의해야 합니다.
How It Works
- The TOS acceptance timestamp is stored per-user and per-comment
- When a user accepts the TOS, the date is recorded on their user profile (per-tenant)
- If you set a "Last Updated" date that is after the user's acceptance date, they will need to re-accept
- For anonymous users who cannot be tracked, the checkbox appears on every comment submission
싱글 사인온(SSO) 개요 
SSO, 또는 싱글 사인온은 FastComments를 사용하기 위해 별도의 계정을 만들지 않고도 사용자나 귀하가 FastComments를 사용할 수 있게 해주는 규약 집합입니다.
익명 댓글을 허용하지 않는다고 가정하면, FastComments에서 댓글을 달기 위해서는 계정이 필요합니다. 우리는 이 가입 과정을 매우 간단하게 만듭니다 — 사용자는 댓글을 남길 때 이메일만 입력하면 됩니다. 그렇지만 일부 사이트는 그조차도 추가적인 마찰이라고 느낄 수 있다는 것을 이해하고 있습니다.
전체 사이트에 대해 하나의 로그인 흐름만 가지도록 하여 그 마찰을 줄일 수 있습니다.
How do I get it?
모든 계정 유형은 현재 SSO에 접근할 수 있습니다. 다만 SSO 사용자 수의 최대치는 패키지에 따라 달라집니다. 다른 기능들과 마찬가지로 Pro 플랜 이상은 직접적인 개발 지원을 제공합니다.
옵션들을 비교한 후 각 항목의 세부 사항으로 들어갑니다.
User and Comment Migrations
Disqus와 같은 SSO를 제공하는 플랫폼에서 마이그레이션하는 경우, 이미 사용자와 그들의 댓글이 있을 것입니다.
댓글은 API, 우리의 Import UI, 또는 고객 지원을 통해 마이그레이션의 일부로 가져옵니다. 이전 플랫폼을 지원하는 경우 Import UI를 사용하는 것이 권장되며, 이는 오류 처리, 아바타 및 미디어 추출 및 업로드, 그리고 배치 작업 모니터링 시스템을 포함합니다.
사용자 계정 자체는 댓글 스레드를 처음 볼 때 자동으로 추가됩니다. 또는 API를 통해 사전 추가할 수도 있지만, 이 작업은 큰 이점이 많지 않습니다.
댓글이 가져와졌고 SSO 사용자가 API로 수동 추가되지 않았다면, 댓글은 사용자가 어떤 댓글 스레드를 처음 볼 때 해당 사용자의 계정으로 자동으로 마이그레이션됩니다. 그러면 그들은 원래 작성한 댓글을 관리, 편집 및 삭제할 수 있게 됩니다.
자동 마이그레이션은 이메일이나 사용자 이름을 통해 수행됩니다. 일부 플랫폼은 Disqus처럼 내보내기 시 이메일을 제공하지 않으므로 이 경우 사용자 이름으로 대체합니다.
- 일치하는 사용자 이름과 SSO 페이로드에 이메일을 전달하는 한, 알림 및 멘션이 작동하도록 개별 댓글 객체에 이메일을 추가합니다.
댓글과 사용자를 한 번에 가져오고 싶다면, 사용자가 API를 통해 가져온 후 고객 지원과 협력하여 댓글을 해당 사용자 계정으로 마이그레이션하세요.
요약하자면 마이그레이션을 위한 가장 쉬운 경로는 다음과 같습니다:
- 댓글을 가져옵니다.
- 아바타 및 기타 미디어는
Manage Data -> Imports의 Import UI를 사용하는 경우 자동으로 마이그레이션됩니다.
- 아바타 및 기타 미디어는
- Secure 또는 Simple SSO를 설정합니다.
- 사용자가 처음 로그인할 때 사용자별로 자동 마이그레이션이 이루어지게 둡니다.
- 사용자의 댓글 수가 50k 미만인 경우 보통 페이지 로드 시간에 1초 미만만 추가됩니다.
WordPress Users
귀하가 우리 WordPress 플러그인을 사용하고 있다면 작성할 코드는 없습니다! 플러그인의 관리자 페이지로 이동하여 SSO 설정을 클릭한 다음 활성화하면 됩니다.
그러면 API 키를 생성하고 이를 귀하의 WordPress 설치로 전송하며 SSO를 켜는 단일 버튼 클릭 마법사로 이동합니다. 이를 단일 버튼 클릭으로 통합해 두었습니다.
플러그인을 처음 설치하는 경우 관리자 페이지의 SSO 설정 버튼을 보기 전에 설정 과정을 완료해야 한다는 점을 유의하세요.
WordPress SSO - Moderators
현재 FastComments WordPress 플러그인으로 댓글을 달 때 모더레이터 옆에 "Moderator" 배지가 표시되려면, 해당 사용자들은 FastComments 대시보드에서 Moderator로도 추가되어 있어야 하며 이메일이 확인되어야 합니다.
Custom Integrations
커스텀 통합의 경우 두 가지 옵션이 있습니다.
Option One - Secure SSO
Secure SSO를 사용하면 FastComments는 댓글을 작성하고 투표하며 댓글을 읽는 사용자가 귀하의 사이트의 실제 사용자임을 알 수 있습니다.
유효한 페이로드만 생성하면, 사용자는 항상 원활한 댓글 작성 경험을 갖게 됩니다.
Secure SSO에서는 SSO 페이로드가 HMAC 인증을 사용하여 서버 측에서 생성된 다음 클라이언트의 위젯에 전달됩니다.
Secure SSO에서는 사용자의 계정이 FastComments 사용자 기반의 나머지와 완전히 분리됩니다. 즉, 파트너 A와 파트너 B가 있을 때 각 파트너는 모두 사용자 이름이 "Bob"인 SSO 사용자를 가질 수 있습니다.
Requirements
- 백엔드 개발에 대한 기본 지식.
- 비밀 API 키를 다루는 기본 지식.
- API 개발 또는 서버 측 렌더링에 대한 기본 지식.
Pros
- 안전함.
- 원활한 댓글 작성 경험.
Cons
- 백엔드 개발이 필요함.
Updating User Data
Secure SSO를 사용하면 SSO 사용자 페이로드를 전달할 때마다 최신 정보로 사용자를 업데이트합니다. 예를 들어,
사용자의 사용자 이름이 X였고 SSO 페이로드에 Y를 전달하면 그들의 사용자 이름은 Y가 됩니다.
이 방법으로 값을 제거하려면 값을 null로 설정하세요 (undefined가 아님).
Secure SSO API
SSO 사용자와 상호작용하기 위한 API도 제공합니다. the docs를 참조하세요.
Secure SSO를 사용할 때 사용자는 페이지 로드 시 백그라운드에서 자동으로 생성된다는 점에 유의하세요. 사용자를 대량으로 가져올 필요가 없습니다.
Option Two - Simple SSO
Secure SSO의 대안은 단순히 사용자 정보를 댓글 위젯에 전달하는 Simple SSO입니다.
Simple SSO에서는 이메일을 제공할 필요가 없지만, 이메일이 없으면 그들의 댓글은 "Unverified"로 표시됩니다.
참고! 2022년 초부터 Simple SSO의 사용자 이름은 FastComments.com 전체에서 고유할 필요가 없습니다.
이상적으로 Simple SSO는 백엔드 접근을 제공하지 않는 플랫폼에서 개발할 때만 선택해야 합니다.
Requirements
- 클라이언트 측 개발에 대한 기본 지식.
- 적어도 사용자 이메일을 알고 있어야 함.
Pros
- 단순함.
- 모든 활동은 여전히 검증됨.
- 사용자는 자신들의 사용자 이름이나 이메일을 입력하지 않음.
Cons
- 클라이언트 측 페이로드가 임의로 조작되어 어떤 사용자로도 될 수 있기 때문에 Secure SSO보다 보안성이 낮음.
Simple SSO API
Simple SSO 흐름을 통해 자동으로 생성된 사용자는 SSOUser 객체로 저장됩니다. 이들은 SSOUser API를 통해 접근하고 관리할 수 있습니다. the docs를 참조하세요.
맞춤 통합 - 보안 싱글 사인온(SSO) 
FastComments Secure SSO는 SSO를 구현하는 메커니즘으로 HMAC-SHA256 암호화를 사용합니다. 먼저 전체 아키텍처를 살펴보고 예제와 상세 단계를 제공합니다.
유사한 SSO 메커니즘을 사용하는 다른 제공업체에서 마이그레이션하는 방법 및 차이점에 관한 문서도 있습니다.
The flow looks like this:
Secure SSO는 풀스택 개발을 포함하므로 Java/Spring, NodeJS/Express, 그리고 순수 PHP의 전체 동작 코드 예제가 현재 on GitHub.
NodeJS 예제에서는 ExpressJS를, Java 예제에서는 Spring을 사용했지만 FastComments SSO를 구현하는 데 이 런타임에서 특정 프레임워크나 라이브러리가 필요하지 않습니다 - 네이티브 암호화 패키지로 충분합니다.
FastComments SSO로 새로운 API 엔드포인트를 작성할 필요가 없습니다. 단순히 비밀 키로 사용자의 정보를 암호화하고 페이로드를 댓글 위젯에 전달하면 됩니다.
API 시크릿 키 받기
Your API Secret can be retrieved from this page. 이 페이지는 내 계정(My Account)에서 API/SSO 타일을 클릭한 다음 "API 시크릿 키 받기"를 클릭해서도 찾을 수 있습니다.
댓글 위젯 매개변수
댓글 위젯에 대한 상위 수준 API 문서는 here에서 찾을 수 있습니다.
이제 이 매개변수들이 무엇을 의미하는지 자세히 살펴보겠습니다.
댓글 위젯은 구성 객체를 사용합니다 - FastComments를 사용하여 고객 id(tenantId)를 전달하고 있다면 이미 이 객체를 전달하고 있는 것입니다.
SSO를 활성화하려면 새로운 "sso" 객체를 전달하세요. 이 객체는 다음 매개변수를 포함해야 합니다. 값들은 서버 측에서 생성되어야 합니다.
- userDataJSONBase64: 사용자의 데이터(JSON 형식)를 Base64로 인코딩한 값.
- verificationHash: UNIX_TIME_MILLIS + userDataJSONBase64로 생성된 HMAC-SHA256 해시.
- timestamp: Epoch 타임스탬프, 밀리초 단위. 미래여서는 안 되며, 과거 2일을 초과해서는 안 됩니다.
- loginURL: 댓글 위젯이 사용자 로그인을 위해 표시할 수 있는 URL.
- logoutURL: 댓글 위젯이 사용자 로그아웃을 위해 표시할 수 있는 URL.
- loginCallback: 로그인 URL 대신 제공될 경우, 댓글 위젯이 로그인 버튼을 클릭할 때 호출할 함수.
- logoutCallback: 로그아웃 URL 대신 제공될 경우, 댓글 위젯이 로그아웃 버튼을 클릭할 때 호출할 함수.

사용자 객체

Moderators and Administrators
관리자 및 모더레이터의 경우, SSOUser 객체에 각각 isAdmin 또는 isModerator 플래그를 전달하세요.
알림
알림을 활성화하거나 비활성화하려면 optedInNotifications 값을 각각 true 또는 false로 설정하세요. 사용자가 이 값이 포함된 SSO 페이로드로 페이지를 처음 로드하면 알림 설정이 업데이트됩니다.
또한, 사용자가 구독한 페이지에서의 활동에 대해 (인앱 알림뿐만 아니라) 이메일 알림을 받게 하려면 optedInSubscriptionNotifications를 true로 설정하세요.
VIP 사용자 및 특수 라벨
선택적 "displayLabel" 필드를 사용하여 사용자 이름 옆에 특수 라벨을 표시할 수 있습니다.
인증되지 않은 사용자
인증되지 않은 사용자를 나타내려면 userDataJSONBase64, verificationHash, 또는 timestamp를 채우지 마세요. loginURL을 제공하세요.
이 사용자들은 댓글을 달 수 없으며, 대신 로그인 메시지(구성에 따라 메시지, 링크 또는 버튼)가 표시됩니다.
사용자 데이터 직렬화 및 해싱에 대한 직접 예제
자세한 예제는 여기 (js), 여기 (java) 및 여기 (php)를 참조하세요.
어떤 통합 작업도 복잡하고 어려울 수 있다는 것을 이해합니다. 담당자에게 문의하거나 support page를 이용하는 것을 주저하지 마세요.
맞춤 통합 - 단순 싱글 사인온(SSO) 
Simple SSO를 사용하면 댓글 위젯에 사용자의 정보를 제공하여 사용자가 댓글을 달 때 사용자 이름이나 이메일을 입력할 필요가 없게 할 수 있습니다.
Simple SSO는 다음과 같이 구성할 수 있습니다:
Run 
사용자는 로그인된 상태가 되며, 내부적으로 SSO 사용자가 생성됩니다. API에서 가져온 경우 사용자의 createdFromSimpleSSO는 true로 설정됩니다.
Notes:
- 이메일은 Simple SSO의 고유 식별자입니다.
- Simple SSO에 이메일을 제공하는 것은 필수가 아니지만, 기본적으로 이들의 댓글은 "확인되지 않음"으로 표시됩니다. 이메일이 제공되지 않으면 사용자는 완전히 인증될 수 없습니다.
- NEW 2022년 1월 이후: 사용자 이름은 fastcomments.com 전체에서 고유할 필요가 없습니다
- 이메일이 제공되고 사용자가 원래 Secure SSO에서 생성되지 않은 경우 Simple SSO는 SSO 사용자를 자동으로 생성하고 업데이트할 수 있습니다.
- 사용자에 대한 배지는
badgeConfig속성으로 지정할 수 있습니다.badgeIds배열에는 사용자와 연결할 글로벌 배지의 ID들이 포함됩니다.pageBadgeIds배열에는 현재 페이지(urlId)에 범위가 지정된 배지 ID들이 포함되며 — 이러한 배지는 할당된 페이지에서만 표시됩니다.override가true로 설정되면 기존에 표시된 배지들을 대체합니다(글로벌과 페이지 범위 배지는 각각 독립적으로 대체됩니다);false이면 기존 배지에 추가됩니다.
맞춤 통합 - Disqus SSO에서 마이그레이션 
Disqus와 FastComments Secure SSO 사이의 가장 큰 차이점은 Disqus는 암호화에 SHA1을 사용하는 반면, 우리는 SHA256을 사용한다는 점입니다.
이는 Disqus에서의 마이그레이션이 쉽다는 것을 의미합니다 - 사용되는 해싱 알고리즘을 SHA1에서 SHA256으로 변경하고 UI에 전달되는 속성 이름들을 업데이트하면 됩니다.
맞춤 통합 - Commento SSO에서 마이그레이션 
Commento는 근본적으로 다른 SSO 접근 방식을 사용합니다 - 사용자를 인증하기 위해 호출하는 엔드포인트를 보유하도록 요구합니다.
FastComments는 그와 반대로 작동합니다 - 단순히 비밀 키를 사용해 사용자의 정보를 인코딩하고 해시한 후 전달하면 됩니다.
SSO로 댓글 스레드 보호 
FastComments SSO (자세히 보기) provides your users with a way to comment without having to log in to another platform.
하지만 이것만으로는 댓글 스레드를 보호하지 못합니다. 기본적으로 댓글 데이터는 공개 정보이므로 페이지를 볼 수 있는 사람은 누구든지 댓글을 볼 수 있습니다.
설정을 변경하면 관리자가 아니거나 유효한 SSO 사용자가 아닌 경우 댓글을 가져올 수 없도록 제한할 수 있습니다.
코드 없이 설정
SSO가 설정된 경우 맞춤 규칙을 생성하여 댓글 스레드의 보기 및 상호 작용을 방지할 수 있습니다.
이렇게 할 때 SSO를 검색하면 다음 옵션을 찾을 수 있습니다:
이를 활성화하고 맞춤 규칙을 저장하십시오.
특정 도메인 또는 페이지만 보호
특정 도메인 또는 페이지만 보호하려면 맞춤 규칙을 간단히 구성하면 됩니다.
맞춤 UI 상단에서 두 개의 입력란, Domain과 URL ID를 찾을 수 있습니다.
특정 도메인만 보호하려면 해당 도메인을 "domain" 필드에 입력하십시오.
특정 페이지를 보호하려면 "URL ID" 필드에 페이지 URL을 입력하십시오. FastComments와 맞춤형 통합이 있는 경우 URL 대신 ID 유형을 입력할 수 있습니다.
보안 수준
SSO를 요구할 때 Simple SSO와 Secure SSO 중 어떤 것을 요구할지 결정해야 합니다. Simple SSO를 요구하면 두 가지 모두 허용되지만 Secure SSO를 요구하면 콘텐츠를 보기 위해 API 키로 해시된 Secure SSO 페이로드로 가져와야 합니다.
"댓글 보기를 위한 SSO 요구"를 선택하면 보안 수준 옵션이 표시됩니다.
읽기 이상의 보호
이 옵션을 활성화하면 사용자가 SSO를 통해 로그인하지 않는 한 페이지나 도메인에 댓글을 달 수 없게 보호됩니다.
주의사항
SSO 통합 이전에 댓글을 만든 사용자는 SSO 통합을 통해 로그인하지 않으면 해당 댓글을 볼 수 없습니다.
익명 댓글 만료 방지 
FastComments는 원하는 일수 이후에 확인되지 않은 댓글을 삭제하도록 구성할 수 있습니다. 이는 스팸 방지에 도움이 됩니다.
기본 설정에서는 삭제되지 않습니다.
이는 조정 설정 페이지를 통해 구성하거나 비활성화할 수 있습니다.
이메일 입력 비활성화 
사용자가 댓글을 달고 로그인하지 않은 경우, 이메일을 제공하라는 요청을 받게 됩니다.
이렇게 하면 해당 사용자에 대해 "검증되지 않은 세션"이 생성되며, 이메일을 통해 해당 세션을 검증하도록 요청합니다.
일부 사이트나 애플리케이션에서는 댓글이나 투표 시 사용자에게 이메일을 요청하지 않는 것이 바람직합니다.
익명 댓글을 활성화하면 이메일 입력 필드가 선택 사항이 됩니다. 그러나 이를 완전히 비활성화할 수도 있습니다. 먼저 익명 댓글을 활성화하고, 그러면 이메일 입력 필드를 비활성화하는 옵션이 나타납니다.
이 옵션을 켜면 모든 댓글 제품에서 이메일 필드가 전혀 표시되지 않습니다.
이 설정에서는 사용자가 계정을 만들고 https://fastcomments.com 에 로그인하지 않는 한 모든 댓글이 검증되지 않은 상태가 됩니다.
검증되지 않은 라벨 비활성화를 고려해 볼 수 있습니다.
미확인 라벨 비활성화 
기본적으로 FastComments는 확인되지 않은 브라우저 세션을 가진 사용자에게 남겨진 댓글에 대해 "Unverified Comment" 라벨을 표시합니다.
확인되지 않은 댓글에 대해 자세히 알아보려면 여기를 참조하세요.
Run 
또한, 이 기능은 코드를 작성하지 않고도 커스터마이제이션 UI에서 사용할 수 있습니다:
콜백 
댓글 위젯용 모든 라이브러리(현재 Angular, React, Vue)는 콜백을 지원합니다.
콜백은 구성 객체(configuration object)에 지정되며, 각 라이브러리에서 동일한 시그니처를 가집니다.
지원되는 콜백은:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
정확한 시그니처는 TypeScript 정의에서 확인할 수 있습니다.
다음은 모든 콜백을 사용한 예제입니다:
Run 
사용자 로케일 수동 정의 
기본적으로 FastComments는 사용자의 시스템 및 브라우저에서 결정된 로케일에 따라 댓글 위젯을 렌더링합니다.
사용자가 댓글을 달거나 로그인하면 마지막으로 사용한 로케일을 업데이트하고 이를 이메일 발송에도 사용합니다.
이는 사용자를 위한 댓글 위젯 번역 방식에 영향을 줍니다. 로케일은 사용자의 언어와 지역으로 구성되므로 로케일을 설정하면 일반적으로 사용자에게 표시되는 텍스트의 언어가 변경됩니다.
Via The UI
위젯 커스터마이징 UI를 사용하여 정의할 수 있습니다. "Locale / Language" 옵션을 확인하세요:
Via Code
원하는 로케일로 재정의할 수 있습니다.
Run 
Supported Languages and Locale Codes
지원되는 언어와 해당 로케일 코드를 전체 목록을 여기에서 확인하세요.
SSO Note
SSO를 사용하는 경우, 사용자 객체에 사용자의 로케일을 전달하여 이메일 및 기타 항목이 올바르게 현지화되도록 할 수 있습니다.
페이지 제목 
현재 페이지 제목은 지정된 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 
타사 쿠키 우회 
인증을 위해 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초 정도 지연될 수 있습니다.