Xenforo 사이트를 Discourse로 이주했습니다

안녕하세요, 여러분.

저는 Discourse에 처음 온 사람이 아닙니다. 다른 자동차 관심 사이트인 exiges.com에서 phpBB를 Discourse로 이전한 경험이 있습니다.

Discourse 팀이 꾸준히 출시하고 있는 개선 사항들에 깊은 인상을 받아, 75만 개의 게시물과 2만 명의 회원을 보유한 Xenforo 포럼을 Discourse로 이전하기로 결심했습니다.

다행히도 운과 판단력, 그리고 AI의 도움을 받아 데이터를 이전하기 위한 가져오기 스크립트를 작성했습니다. AllHost.IO에서 자체 호스팅하는 시스템(8코어, 8GB RAM)을 사용했으며, 이전 작업에 37시간이 소요되었습니다.

이전 스크립트에 대한 게시물은 여기 있습니다: Migrate a XenForo forum to Discourse - #141 by Andrew_Bond

솔직히 말해서 Xenforo 사이트가 잘 작동했기 때문에, 현재 사이트의 외관을 Xenforo와 비슷하게 꾸미고 있습니다. 지금까지의 결과물에 매우 만족하고 있습니다:

배경 화면이 1분마다 바뀌도록 설정했으며, 총 5개의 배경이 있습니다. 또한 카테고리 박스를 만들고 세부 사항을 추가했습니다:

조명 설정을 조금 더 조정해야 하지만, 지금은 잘 작동하고 있습니다.

여기 온 이유는 제 사이트(들)를 자랑하려는 것이 아니라, 개발자분들에게 감사 인사를 드리고자 합니다. 저는 Xenforo의 열렬한 팬이었지만, 제 생각에 이 플랫폼은 관리자 측 작업을 훨씬 쉽게 만들어 주었고, 잦은 업데이트는 정말 훌륭합니다.

17개의 좋아요

정말 멋진 피드백 주셔서 감사합니다! Xenforo에서 빠진 기능이 있나요?

4개의 좋아요

사용자분들에게 도움이 될 수 있는 유일한 부분은 인용(quote) UI 변경입니다.

Discourse에서는 단순히 답글을 씁니다. Discourse의 답글은 인용되지 않은 답글이지만, 강조 표시를 하면 인용 툴팁이 표시되는 점은 이해합니다.

Xenforo에서는 답글을 쓰면 원본 게시글이 인용됩니다. 두 방식 모두 장점이 있다고 생각합니다. 다만 사용자분들이 이 차이를 이해하는 데 시간이 좀 걸릴 수 있습니다.

저는 별도의 테이블을 추가하고 메인 테이블과 연결하여 차고(garage) 기능을 제공하는 커스텀 플러그인을 개발해 보았지만, 이는 더 커스텀 개발에 가깝습니다.

기능 면에서는? 제가 놓치고 있는 것이 있는지 모르겠습니다!

4개의 좋아요

이건 어때요?

5개의 좋아요

만약 그렇지 않다면 Quick Quote Theme Component 을 설치할 수 있습니다.

3개의 좋아요

정말 좋은 옵션이네요! 감사합니다!

이전에 이 의존도가 높아진 애드온들이 변경 사항으로 인해 깨지는 문제를 겪은 적이 있어서, 서드파티 확장 프로그램의 수를 줄이는 데 적극적으로 노력하고 있습니다.

그래도 이 링크는 꼭 북마크해 두겠습니다!

5개의 좋아요

응, 좋은 판단이야. vB에서 그 함정에 빠진 적이 있는데, 너무 엉망으로 조립되어서 지속 가능하지 않아서 결국 손을 뗄 수밖에 없었어. 한 가지가 깨지면 마치 카드탑이 무너지는 것 같았지.

1개의 좋아요

개선할 수 있는 한 가지 사항을 찾았습니다.

권한 상속입니다.

TurboRenault의 경우 예외일 수 있지만, 레거시 포럼에서 가져온 부분이 있어서 설명드리겠습니다:

우리는 중첩된 그룹을 사용합니다. 예를 들어:

Imported and Archived Board (카테고리)

| Aventime-Owners.com

| Clio16valver.co.uk

| etc

| etc

상위 수준(Imported and Archived Board)에서 권한을 읽기 전용으로 설정하고, 이 상속이 하위 항목들로 전달되기를 원합니다.

현재는 이것이 불가능한 것으로 보이며, 그래서 9개의 하위 항목을 개별적으로 편집해야 합니다. 치명적인 문제는 아니지만, 권한을 상속받을 수 있는 부모/자식/상속 옵션이 있다면 좋겠습니다.

3개의 좋아요

말씀하신 점 잘 이해하고 있습니다. 이 문제에 대해 몇 번을 오갔고, 결국 안전성이 핵심입니다. Discourse는 각 카테고리를 독립된 단위로 취급하기 때문에, 하위 카테고리는 상위 카테고리의 권한 ‘자식’이 아닙니다. 실제로는 탐색과 조직화를 위해 중첩되어 있을 뿐입니다. 이는 관리자가 하위 카테고리를 의도적으로 상위 카테고리와 다르게 설정하고 싶어 하는 경우가 많기 때문입니다.

우리는 안전장치로, 누군가가 특정 카테고리에 접근할 수 없으면서도 그 안의 비공개 하위 카테고리는 볼 수 있는 상황을 방지하기 위해 하위 카테고리가 상위 카테고리보다 덜 제한적일 수 없도록 했습니다. 이렇게 하면 하위 카테고리 권한을 더 엄격하게 설정하는 데는 완전한 자유가 주어지지만, 더宽松的한 권한을 통해 콘텐츠가 실수로 노출되는 일은 막을 수 있습니다.

1개의 좋아요

말씀하신 뜻을 이해합니다. 저는 조금 다른 관점에서 보고 있어요.

일관된 권한 설정을 원합니다. 여러 카테고리에 대해 쓰기/생성 권한을 거부해야 하는데, 하나를 놓치면 댓글이 열려 있게 될 수 있거든요..

UI와 로직을 올바르게 구현한다면 작동할 수 있다고 생각합니다. 다만, 치명적인 문제는 아니에요. 회사에서 쉬는 시간에 각 카테고리를 찾아다니며 체크 두 개를 해제하느라 시간을 보냈거든요 …

1개의 좋아요

이 플랫폼은 정말 훌륭해요! 테마에 적용할 컴포넌트를 만들어 원하는 대로 조작할 수 있는 기능이 마음에 들어요.

유리 효과를 가지고 놀아 봤어요:

그리고 하이라이트될 때 마우스를 올리면 흐리게 처리되는 기능도 있어요:

4개의 좋아요

하나의 기능이 빠져 있다는 것을 발견했습니다. 바로 멤버십입니다. 이 기능은 Stripe에 의존하는데, 저는 물리적 카드나 은행 계좌가 없습니다.

Paypal만 가지고 있습니다.

이 문제를 우회하여 해결했습니다. 다소 어색하지만 작동은 합니다.

이미 가지고 있는 WooCommerce 상점에 항목을 추가했습니다.

구독 플러그인을 추가했습니다.

Discourse 동기화를 추가했습니다.

API 관련 작업을 모두 수행했습니다.

월간 또는 연간 구독이 추가된 시점을 추적하는 코드를 추가했습니다.

Discourse와 동기화하여 사용자를 관련 그룹에 추가하고, 멤버십이 만료되면 해당 사용자를 그룹에서 제거합니다.

즉, 사용자가 상점에 가서 다음 중 하나에 구독합니다:

WordPress가 무언가를 수행해야 한다는 것을 트리거하고, API가 사용자를 그룹에 추가하도록 Discourse로 전송합니다.

Paypal이 Paypal 정기 결제를 처리합니다.

2개의 좋아요

안녕하세요, 여기 오신 것을 환영합니다. 이 정보가 검색에 도움이 되길 바랍니다 :slight_smile:

환영해 주셔서 감사합니다.

저는 Stripe를 사용할 수 없습니다.

우회 방법을 찾았으니 다행입니다. 구독 플러그인의 개선 사항은 당장의 로드맵에 포함되어 있지 않습니다.

앤드류, 안녕하세요.

추가적인 자동차 포럼, 특히 로터스 관련 포럼이 디스코스(Discourse) 가족에 합류하게 되어 정말 기쁩니다. 저는 약 18개월 전 LotusElan.net을 phpBB에서 이관했습니다.

여유가 조금 나시면 저희 포럼을 방문해 주세요.

3개의 좋아요

사이트가 정말 활발해 보여요! 축하드려요!

마이그레이션의 마지막 단계인 자동차 데이터베이스를 완료했습니다.

필요한 대로 필터링할 수 있습니다:

조금 투박하지만 작동합니다!

1개의 좋아요