wp-discourse-featured

워드프레스와 Discourse 포럼 연동하기

디스코스(Discourse)는 요즘 ‘뜨는’ 오픈소스 기반 온라인 포럼(forum) 솔루션입니다. 얼핏 ‘디스코스’하면 워드프레스에서 흔히들 사용하는 댓글 시스템 중 하나인 ‘디스커스(Disqus)’를 떠올릴 테지만, 네 맞습니다, 둘은 전혀 다른 제품입니다.

이 디스코스를, 워드프레스처럼 소스코드를 다운로드 받아 설치하면 별로 어렵지 않게 다양한 기능과 멋진 UI를 갖춘 포럼을 뚝딱 개설할 수 있습니다. 물론 국내 정서에는 이런 포럼 방식 보다는 인터넷 카페에서 주로 쓰던 소위 ’게시판’ 방식이 좀 더 사용자들에게 친숙하긴 하지만, 그래도 특정 주제나 항목에 대해 좀 더 초점을 맞춰 다양한 토론을 주고받거나 노하우를 쌓고 나누는데는 포럼이 더 좋은 도구가 될 수 있습니다. 국내에도 네이버 개발자 포럼 같은 개발자 중심의 커뮤니티에서는 이미 디스코스가 다양하고 쓰이고 있기도 하구요.

네이버 개발자 포럼
그림. 네이버 개발자 포럼

네? 이미 포럼 솔루션이 있다구요? 네! 맞습니다. 알다시피 워드프레스에는 이미 bbPress라는 좋은 포럼 확장(플러그인)이 있습니다. 또한 그 밖에도 포럼 기능을 제공하는 다양한 플러그인들을 어렵쟎게 찾을 수 있구요. 그렇지만 이들은 대개 워드프레스 플러그인 형태다 보니 아무래도 워드프레스라고 하는 기본 틀에 얽매일 수 밖에 없고 사용성이나 확장성 면에서 한계나 제약이 따르는 경우가 종종 발생하곤 합니다.

반면 디스코스는 워드프레스와 완전히 다른 시스템이기에 워드프레스와의 관계를 설정하는데 있어 오히려 높은 자유도를 갖습니다. 다만 워드프레스와 디스코스는 전혀 다른 별개 시스템인지라 둘 간의 연동을 처리해야 하는 문제가 발생합니다. 데이터를 동기화(sync) 시키는 문제에서부터, 테마의 룩앤필(look & feel)을 일치시키는 문제, 그리고 로그인 통합(SSO) 문제에 이르기까지, 통상적으로 서로 다른 이기종 시스템 간 연동에서 발생할 수 있는 모든 문제가 워드프레스와 디스코스간 통합에서도 똑같이 발생합니다.

다만, 고맙게도, 워드프레스 플러그인 중에 워드프레스와 디스코스 간 연동 문제를 처리해주는 WP Discourse라는 플러그인이 이미 나와 있어, 이 플러그인을 사용하면 아주 간단하게 두 시스템 간의 연동을 처리할 수 있습니다. 마침 최근에 이 플러그인의 버전 1.0이 출시됨에 따라, 이 글에서는 이 플러그인을 사용한 워드프레스와 디스코스 간의 연동 처리를 다뤄 보려 합니다. (실제로 워드프레스와 디스코스가 어떻게 연동되어 작동하는지를 보려면 바로 Discourse Blog에 접속해 보면 됩니다. 이 블로그는 워드프레스로 되어 있지만 디스코스와 연동되어 작동합니다.)

디스코스(Discourse) 설치하기

당연하지만, 우선 디스코스가 설치되어 있어야 합니다. 디스코스는 PHP 기반인 워드프레스와는 달리 루비(Ruby) 기반이며 루비온레일스(Ruby on Rails) 프레임워크를 사용합니다. 따라서 디스코스를 설치하기 위해서는 루비/레일스를 작동시킬 수 있는 환경이 갖춰져야 합니다만, 워드프레스를 설치할 때 PHP 환경을 만드는 것과 비슷한 수준에서 별로 어렵지 않게 설치할 수 있습니다.

루비나 루비온레일스 환경을 만들고 디스코스를 설치하고 하는 부분은 이미 많은 자료들이 인터넷 상에 나와 있고 또한 이 글의 주제를 조금 벗어나는 부분인지라 지면 관계상 생략합니다. 여기서는 이미 디스코스가 설치되어 있다는 가정 하에 워드프레스와 디스코스 간의 연동 부분만 다루겠습니다. 디스코스 설치에 관한 내용은 디스코스 설치 문서를 참조 바랍니다.

WP Discourse 플러그인

이제 WP Discourse 플러그인을 워드프레스 사이트에 설치하고 활성화시킵니다.

WP Discourse 플러그인
그림. WP Discourse 플러그인

설치가 완료되면 관리자 메뉴에 새로 ‘Discourse’ 라는 메뉴가 생깁니다. 이 메뉴의 연결 설정(Connection Settings) 부분에서 다음과 같이 디스코스 사이트의 URL과 디스코스로부터 받은 API키 값을 등록해 넣으면 설정이 완료됩니다.

WP Discourse 연결 설정
그림. WP Discourse 연결 설정

WP Discourse 플러그인은 디스코스와 워드프레스 간 연동을 도와주며, 간략하게는 다음과 같은 기능들을 제공합니다.

포스트를 디스코스 토픽으로 내보내기

워드프레스에서 작성한 글(Post)이 디스코스의 토픽(topic)으로 자동 매핑됩니다. 따라서 사용자들은 워드프레스의 글에 대한 토론을 디스코스 포럼에서 이어갈 수 있습니다. 어떤 글을 디스코스 토픽으로 만들려면 글 편집기 우측에 표시되는 ‘Publish to Discourse’ 옵션을 체크해 주면 됩니다.

Publish to Discourse
그림. 디스코스에 발행하기

그러면 발행된 글의 하단 댓글 자리에 디스코스 포럼으로의 바로가기 링크가 생기고, 이 링크를 누르면 바로 디스코스 포럼으로 연결됩니다.

디스코스 포럼에 추가된 토픽
그림. 디스코스 포럼에 (자동)추가된 토픽

이제 사용자는 디스코스 포럼에서 답글을 달고 토론을 이어나갈 수 있겠죠.

디스코스 답글을 워드프레스에 추가하기

앞서는 워드프레스의 글이 디스코스 포럼의 토픽으로 연결되었다면, 이번엔 거꾸로 디스코스 포럼에 추가된 답글(Reply)을 가져와 워드프레스의 댓글로 표시할 수도 있습니다. 이 때 워드프레스 댓글로 표시될 항목을 관리자가 지정할 수 있습니다.

디스코스 포럼으로부터 가져온 댓글
그림. 디스코스 포럼으로부터 가져온 댓글

위 두 가지 연동 기능 외에도 이 플러그인은 워드프레스와 디스코스 간 통합로그인(SSO)기능도 제공합니다. 만약 디스코스 포럼 사용자들을 워드프레스 사용자(User)로 관리하려면 이 기능을 활성화시키면 됩니다. (굳이 그럴 필요까지 있을까요만)

암튼 워드프레스 사이트에 사용자와의 커뮤니케이션이나 주제에 대한 토론 기능을 추가하면서 토론의 내용을 데이터로 쌓고자 하시는 분들이라면 ‘한국형 게시판’ 플러그인이나 bbPress 같은 워드프레스 기반 플러그인들과 함께 이 디스코스도 한번 같이 검토해 보면 좋을 듯 싶습니다. 🙂

“워드프레스와 Discourse 포럼 연동하기”에 대한 2개의 생각

  • honggian@honggian.com

    안녕하세요. ubuntu 14.04 64비트에서 Discourse를 설치했으나, 활성화 단계에서 메일이 발송되어서 클릭하게 되면 그 다음 단계로 넘어가지를 않네요. 혹시 문제 해결할 수 있는 방법이 있을까요? 저는 subdirectory로 설치했는데, 한 서버 안에 워드프레스의 커뮤니티 기능을 discourse와 SSO로 사용하려고 하거든요.

    • sjoonk

      안녕하세요. Discourse 설치와 관련된 문제는 여기 보단 Discourse에 직접 문의해 보시거나 Discourse Meta를 참조하시는 게 좋을 듯 싶습니다.^^ https://meta.discourse.org/c/installation