연결된 주제 (메가 토픽 분할 및 관리)

방금 새로운 기능을 병합했습니다. 이 기능은 auto close topics post count 사이트 설정에 따라 토픽이 자동 닫힐 때 자동으로 새로운 연결된 토픽을 생성합니다.

이 기능은 메가토픽을 자동으로 분할하고 관리하는 데 특히 유용합니다.

작동 방식

auto close topics post count 설정이 10000개의 게시글로 설정되어 있고, 제목이 "Introduce yourself!"인 토픽이 이 한도에 도달했다고 가정해 보겠습니다.

이제 해당 토픽을 닫고, 토론을 계속하기 위해 새로운 연결된 토픽을 생성합니다. 새 토픽의 첫 번째 게시글에는 이전 토론(토픽) 전체에 대한 링크가 포함됩니다.

원본 토픽 제목에는 "Part 1"이, 새 토픽 제목에는 "Part 2"가 뒤에 붙습니다.

이후 생성되는 토픽들도 유사한 제목 명명 규칙을 따릅니다.

또한, 자동 닫힌 토픽의 하단에는 토론을 계속할 수 있는 새 토픽이 있다는 것을 알리는 모더레이터 게시글이 표시됩니다.

이 기능은 기본적으로 활성화되어 있습니다. 이 기능을 비활성화하려면 사이트 설정 auto close topics create linked topic을 단순히 비활성화하면 됩니다.

참고로, auto close topics post count가 비활성화(0으로 설정)된 경우 이 기능도 비활성화됩니다.

33개의 좋아요

정말 멋진데요!

이것이 "babble 10,000 메시지 문제"의 해결책으로 사용될 수 있는 것인가요?

4개의 좋아요

다음 코드 라인(그리고 내가 놓친 다른 부분들)에 대해 작은 제안이 있습니다:

previous_topics += "- [#{topic.title}](#{topic.url})\n"
parent_topic.add_moderator_post(system_user, I18n.t('create_linked_topic.moderator_post_raw', new_title: "[#{new_topic_title}](#{new_topic.url})"))

[title](url)을 단순히 url로 대체하고, URL에서 토픽 제목을 표시하는 기존 Discourse 기능을 활용하는 것을 권장합니다. 내 기억이 맞다면, 토픽 이름이 변경될 경우 표시되는 토픽 제목이 자동으로 업데이트되는 추가적인 장점도 있어, 이는 좋은 마무리가 될 것이라고 생각합니다.

6개의 좋아요

네, 좋은 아이디어네요. @techAPJ 우리는 그렇게 하는 게 좋을 것 같습니다.

그리고, 두 개의 메시지 대신 하나의 메시지로 만들 수 있을까요? “이어서 토론하기” 부분을 닫기 메시지에 편집해서 포함하는 건 어떨까요? 예를 들어:

이 주제는 최대 10000개의 답변 한도에 도달하여 자동으로 닫혔습니다. 이 토론은 {link}에서 이어서 진행할 수 있습니다.

9개의 좋아요

다음과 같이 완료:

네, 다음과 같이 완료:

11개의 좋아요

완전히 동일한 접근 제한이 있는 주제에서 다른 카테고리로 토론을 이어가는 경우, 이 방식은 그렇게 잘 작동하지 않습니다.

1개의 좋아요

그런 사용 사례가 실제로 발생할 가능성이 있을까요? 일반적으로 연속 토픽은 원래 토픽과 동일한 카테고리에 머물러 있는 것 같습니다. 이런 상황이 실제로 발생하면 잘 작동하지 않는다고 하셨는데, 구체적으로 어떤 동작을 하게 되나요?

4개의 좋아요

링크 문제와 무관하게, 계속되는 주제는 완전히 동일한 접근 제한을 상속받았을 것으로 예상합니다. 그렇지 않다면 버그라고 볼 것입니다.

4개의 좋아요

좋은 지적이에요. 그렇다면 괜찮을 것 같네요!

3개의 좋아요

안녕하세요, 아주 좋은 기능인데 두 가지 문제가 있습니다:

  1. “Part”(1, 2 등) 텍스트를 어떻게 변경하나요? 영어 기반 포럼에서는 괜찮을 수 있지만, 이 부분을 수정할 수 있기를 원합니다.
  2. 새 주제의 카테고리입니다. 방금 자동으로 링크된 첫 번째 주제가 "분류되지 않음"으로 표시되었습니다. 우리는 새 주제가 이전에 자동으로 닫힌 주제의 카테고리를 상속받기를 원합니다.
4개의 좋아요

네, 좋은 지적들이지만, 마지막으로 확인했을 때 카테고리는 제대로 상속되고 있었습니다. @techAPJ님, 맞나요?

3개의 좋아요

이 키들의 번역을 업데이트해야 합니다. 참고: Contributing translations to Discourse

유효한 버그입니다. 오늘 우선적으로 수정하겠습니다.

그것은 수동 업데이트였을 수 있습니다. 링크된 주제에 카테고리를 할당하는 코드를 찾을 수 없습니다.

6개의 좋아요

다음 커밋으로 수정되었습니다:

9개의 좋아요

저도 이 질문에 매우 관심이 있습니다.

1개의 좋아요

@elijah 이 대화를 여기서 계속 진행하시길 원하셨나요? 제 생각에는 여기가 더 적절한 장소입니다.

3개의 좋아요

@elijah 혹시 기존 토픽의 모든 사용자의 토픽 알림 상태(감시 중, 추적 중, 음소거 등)를 새 토픽으로 그대로 복사해 주길 원하시는 거죠?

그 의도는 이해하지만, 일부 사용자에게 다소 부담을 줄 수 있다는 점이 걱정됩니다. 긴 토픽에는 수백 명에서 수천 명까지 참여할 수 있으니까요. 이 문제에 대해 다른 의견이나 장단점이 있으신 분 계신가요?

4개의 좋아요

네, 맥락을 위해 제 제안을 여기서 한 번 더 반복하겠습니다.

메가토픽(megatopic)의 경우, 덜 활발하게 활동하는 사용자에게 분할 과정이 더 매끄럽게 느껴지도록 두 가지 방법 중 하나를 제안했습니다.

방법: 워치리스트 복사: 토픽을 분할할 때 새 토픽에 음소거(muted)/추적(tracking)/관심(watching) 상태를 복사합니다. (만약 마지막 토픽에서 해당 상태가 원래 설정된 것이 아니라 단순히 복사된 것이라면, 이제 닫히는 토픽의 추적 상태를 해제합니다.) 근거: 사용자가 한동안 해당 토픽을 읽지 않았지만 전반적으로는 관심이 있다면, 이전 토픽의 읽지 않은 게시글을 강조하지 않고 새 토픽의 게시글만 강조함으로써 업데이트를 따라잡을 수 있도록 돕습니다.

방법: 상단 분할: 토픽을 분할할 때, 2번부터 N번까지의 게시글을 이동하고 1번 게시글은 복사하여 새 토픽(생성 시 즉시 닫힘)으로 옮기도록 지원하며, 이동된 게시글 자리에 링크된 토픽 메시지를 배치합니다. 근거: 관심 설정을 건드리는 것은 번거롭습니다. 이 방법은 외부 링크(북마크, RSS, 앱 내장 등)나 내부 관심 설정을 깨뜨리지 않으면서도 이전 콘텐츠를 아카이브할 수 있게 해줍니다.

저는 상단 분할 방식을 더 선호하지만, 두 방법 모두 매우 긴(또는 장기적이지만 분할된) 토픽에 관심 있는 사용자를 돕는 데 유용해 보입니다.

3개의 좋아요

저는 WP와 Discourse를 사용하여 오디오 교육과 그룹 회상을 진행하고 있습니다. WP 플러그인이 Discourse에서 새 토픽을 생성할 때, 이벤트를 트리거하여 해당 메인 토픽의 회상 토픽으로 링크된 토픽을 자동으로 생성하면 얼마나 유용할지 고민하고 있었습니다. 이렇게 하면 원래 토픽을 읽기 전용으로 유지하여 사람들이 오디오를 듣기 전에 회상 내용을 보지 못하게 하고, 링크된 토픽에서 회상을 작성하도록 할 수 있습니다.

다음과 유사한 방식입니다:

새 플러그인에서 이를 구현하려면 여기의 코드를 약간만 조정하면 될 것이라고 가정해도 맞을까요?

      if SiteSetting.auto_close_topics_create_linked_topic?
        # enqueue a job to create a linked topic
        Jobs.enqueue_in(5.seconds, :create_linked_topic, post_id: @post.id)
      end

또한, 링크된 토픽을 자동으로 생성하는 용도가 충분히 많아서 Discourse Automation? 의 일부로 포함하는 것이 합리적일지 궁금합니다.

1개의 좋아요