마지막으로 읽은 위치로 이동하는 URL은 무엇인가요?

안녕하세요,

새로운 Discourse 포럼을 거의 설정을 마쳤는데, 한 회원의 질문에 대한 해결책을 찾지 못해 도움을 요청드립니다. 커뮤니티가 다른 포럼에서 이주해 왔는데, 해당 소프트웨어에서는 최근 읽은 위치로 이동하는 주제 URL을 얻을 수 있어 사람들이 브라우저에 즐겨찾기로 등록하는 경우가 많습니다. 그런데 Discourse에서는 이를 어떻게 하는지 찾지 못했습니다. 혹시 방법을 아시는 분이 계신가요?

감사합니다.

Jody

Discourse가 자동으로 그렇게 처리해 줘요. 토픽을 클릭하면 마지막으로 읽던 위치로 이동하거든요. 말씀하신 게 그거예요? :thinking:

아쉽게도 그렇지 않습니다. 주제 목록에서 주제를 클릭했을 때 이동하는 URL은 마지막으로 읽던 위치를 가리키는 것이 아니라, 해당 시점의 특정 위치를 가리키는 URL입니다. 따라서 그 URL을 북마크로 저장한 후 주제를 더 읽다가 다시 북마크로 돌아오면, 가장 최근에 읽던 곳이 아니라 처음 저장했던 원래 위치로 이동하게 됩니다. 저는 이 주제에 대해 '마지막으로 읽던 곳’으로 이동하는 범용 URL을 원합니다. 브라우저에 저장해도 주제를 얼마나 더 읽었든 계속 작동하는 URL 말입니다.

아래의 기능을 사용하여 토픽을 북마크할 수 있습니다:

각 답변의 타임스탬프에는 해당 게시글로 이동하는 링크가 포함되어 있습니다.

그런데 그 북마크는 주제 내의 특정 지점을 기록하는 것 아닌가요? 그렇다면 매번 다른 곳으로 이동하기 전에 반드시 새 북마크를 명시적으로 추가해야 하는 거죠?

아니요, 그렇지 않고 네, 그렇게 될 것입니다.

AFAIK(제 생각에는), Discourse는 마지막으로 방문한 주제(last topic visited)를 저장하지는 않지만, 각 주제에 대한 마지막 방문 타임스탬프(topic_users.last_visited_at)는 저장합니다. 따라서 마지막으로 방문한 주제를 찾아내고 이를 표시하는 것은 가능해야 합니다. 하지만 이를 위해서는 Discourse API를 호출하는 플러그인 또는 외부 위젯이 필요합니다.

다음 자료는 이 주제에 대한 완전성을 위해 제공됩니다.

앞서 언급했듯이, 원하시는 것에 가장 가까운 방법은 북마크를 사용하는 것입니다:

지적하신 대로, 북마크는 당신의 목적에 대해 두 가지 단점이 있습니다:

  • 플러그인이나 기타 소프트웨어를 사용하여 생성하지 않는 한, 북마크는 설정하기 위해 사용자 행동을 일반적으로 요구합니다.

  • 북마크는 사용자가 선택한 특정 주제(즉, 첫 번째 게시물) 또는 특정 게시물로 항상 돌아갑니다. 북마크가 접근될 시점에 소프트웨어에 의해 결정되는 주제나 게시물로 돌아가는 옵션은 없습니다.

말씀하신 URL은 포럼 소프트웨어가 해당 데이터를 자동으로 저장하기 때문에 항상 마지막으로 읽은 게시물을 불러올 수 있습니다. 이는 유용합니다. 왜냐하면 포럼에서 읽기를 중단할 시점을 항상 알 수 없기 때문입니다 - 시스템 재부팅, 시스템 사용자 또는 애플리케이션 사용자 로그아웃, 또는 예상치 못한 충돌로 인해 중단될 수 있습니다.

Discourse에는 마지막으로 본 게시물로 돌아가는 옵션이 없지만, 이는 유용한 기능이라고 생각합니다.

P.S.
그러나 Discourse에는 마지막 방문 시 본 주제를 표시하는 기능이 있으며, 이는 북마크에서도 작동하므로 마지막으로 어떤 주제를 봤을지 확인하는 데 도움이 됩니다:

다른 사람들은 마지막 방문 데이터를 추출하는 것을 살펴보았으며, 예:

그토록 상세한 답변을 주셔서 감사합니다. 정말 도움이 되셨어요. 물론, 결국 우리가 원하는 것을 현재로서는 할 수 없다는 결론이지만요.

맞습니다. 안타깝게도 저는 Ruby 코딩을 해본 적이 없어서 직접 해볼 수 없었어요. 토픽 목록이 토픽 내에서 마지막으로 읽은 게시글을 파악하고 관련 URL을 생성하기 때문에, 아마도 작업량이 너무 많을 것 같다는 생각이 듭니다. 그래서 t/topic-title/133114/latest와 같은 새로운 URL을 만들어 해당 위치로 리다이렉트하는 방식이 가능할 것 같습니다.

PS에 대해 말씀드리자면, 음, 한번 살펴볼게요. 문제는 우리가 실제로 수백 개의 게시물로 이어지는 수많은 주제들을 다루고 있다는 겁니다. 몇 주 이상 특정 주제를 확인하지 않았다가 다시 한번 살펴보고 싶을 때, 브라우저 북마크에서 바로 해당 위치로 이동할 수 있으면 좋잖아요.

하지만 그러면 그 URL은 하나의 주제에만 유용합니다.

반면 최신(Latest) 뷰는 해당 시나리오에 완벽합니다. 마지막 방문 이후 수정이 있거나 새 게시글이 추가된 수많은 주제가 마지막 방문 시점의 줄 위에 표시되기 때문입니다.

음, 그렇긴 한데, 마지막으로 방문한 이후로 40~50개 이상, 혹은 그 이상의 주제들이 변경되었을 수도 있죠 :slight_smile:

죄송합니다, 이전 답변을 잘못 읽었습니다.

여전히 사용자가 마지막 방문 시 읽고 있거나 진행 중이던 마지막 대화로 돌아가길 원한다는 말씀이셨죠. 해당 주제에 변경 사항이 없더라도요.

제가 원하고 있는 자동 재개(auto resume) 기능은 바로 이 부분인데, Discourse 팀이 이 기능을 채택할 것 같지는 않습니다.

아니요, 그렇게 생각하지 않습니다. 사람들이 팔로우할 다양한 주제들이 많을 것입니다. 포럼의 특정 카테고리 안에는 수십 개, 수십 개에 달하는 장기간 이어지는 수백, 수백 개의 게시글 주제들이 있으며, 그중 많은 주제들을 팔로우하는 사람이 많습니다. 그리고 그들은 분명히 들러서 많은 게시글을 읽기를 좋아하지만, 끝까지 읽지는 않고 나중에 다시 와서 더 읽을 수도 있습니다. 그리고 일부 사람들은 이런 주제들을 브라우저 북마크로 저장하는 것을 좋아합니다.

다시 생각해 보니, 북마크 탭이 합리적인 대안이 될 수 있을 것 같습니다. 말씀하신 대로 해당 뷰가 마지막에 머물렀던 위치로 이동시켜 주며, 카테고리별로 필터링도 가능하니까요.

감사합니다.

그동안 사용자를 /unread로 안내하는 것이 좋습니다. 저는 보통 홈 페이지를 안 읽은 글 페이지로 설정해 두거든요. :slight_smile:

질문자님의 상세한 답변에 포함된 PS가 해결책인 것 같으니, 해당 게시물을 채택하겠습니다. 솔직히 PS가 없어도 충분히 훌륭한 게시물이었고, 정말 유용한 정보였습니다.

옵션들을 폭넓게 다루면서 더 도움이 되는 글을 쓰려고 의도적으로 노력하고 있으니, 격려해 주셔서 감사합니다.