Discourse는 스태프가 아닌 사용자가 게시글에 첨부하는 개인 메모(작성한 사람만 볼 수 있는) 개념을 지원하나요?
제가 염두에 둔 사용 사례는 레시피 시스템입니다. 레시피를 사용하는 개인들이 자신이 어떻게 조리했고 결과가 어땠는지에 대한 메모를 남기고 싶지만, 다른 사람들에게 보여줄 의도가 없는 메모를 남기는 경우 말입니다.
Discourse는 스태프가 아닌 사용자가 게시글에 첨부하는 개인 메모(작성한 사람만 볼 수 있는) 개념을 지원하나요?
제가 염두에 둔 사용 사례는 레시피 시스템입니다. 레시피를 사용하는 개인들이 자신이 어떻게 조리했고 결과가 어땠는지에 대한 메모를 남기고 싶지만, 다른 사람들에게 보여줄 의도가 없는 메모를 남기는 경우 말입니다.
이 용도에 PM(개인 메시지)을 사용하면 안 되나요? 사용자가 게시글에서 보낸 PM은 해당 게시글을 참조합니다.
저는 PM을 일종의 메모장으로 사용하는데, 특히 게시글을 참조하고 싶을 때 이렇게 합니다.
네, 좋은 지적이네요! 저도 이런 경우에 가끔 북마크 기능을 사용하는데, 특히 시의성이 필요한 경우에는 더 자주 활용합니다.
북마크는 설명란에 서식을 많이 적용하도록 설계되지 않은 것 같습니다. 엔터 키를 누르는 순간(예: 새 단락을 시작할 때) 북마크가 즉시 생성됩니다.
개인 메시지(PM)의 경우, 특정 게시글에 PM을 직접 첨부할 수 있는 방법을 찾지 못했습니다.
이건 정말 훌륭한 아이디어네요. 제가 당신이라면 이 기능을 지원하는 플러그인을 만들었을 텐데…
디스코urs 플러그인 개발에 대해 충분히 경험을 쌓아 무엇을 해야 할지 알 수 있게 되면, 고려해 볼 만한 일입니다.
Drafts를 사용하거나 제안을 통해 이 플러그인을 공개할 수 있습니다:
Drafts는 매우 불안정합니다. 왜냐하면 주제당 하나만 사용할 수 있기 때문입니다. 누군가 해당 주제에 게시물을 작성하기 시작하면 경고 없이 기존 Draft가 덮어쓰기됩니다.
처음에는 OP를 오해해서, 그 메모가 메모를 작성한 사람과 게시글 작성자 사이에 공유되는 건지, 아니면 단순히 해당 위치를 표시하는 용도인 줄 알았어요. 결국 여러분은 시간 기능은 없는 확장된 텍스트 북마크처럼, 사용자가 게시글에 개인적인 메모를 남길 수 있는 스티키 노트 기능이 필요하신 거군요. @Lhc_fl 님이 말씀하신 대로, 이건 좋은 아이디어이고 특정 상황에서 유용할 수 있다고 생각합니다.
아직 스태프 노트 기능을 사용해 보지는 않았지만, 나 자신에게 고정 메모를 만들 수 있도록 확장하는 것이 현실적인지 확인하기 위해 스태프 노트 코드를 살펴봐야 할 것 같습니다. 코드를 파고들 때마다 조금씩 더 배우게 되고, 시스템이 조금씩 더 투명해지는 느낌이 듭니다.
사용자 노트 기능이 정말 마음에 들고, 우리 모더레이터들도 마찬가지입니다. 우리는 이 기능을 많이 활용하고 있어요.
“User Sticky Notes” 같은 이름의 플러그인이 꽤 유용할 것 같다는 생각이 드네요. ![]()
사용자 노트가 구현된 방식을 보면, 개인용 스티키 노트로 작동하도록 수정하는 것이 어려울 것으로 보입니다. (노트 텍스트는 plugin_store_notes 테이블의 JSON 배열에 저장되므로, 어떤 서식이 적용될 수 있는지 명확하지 않습니다. 내부 광고도 해당 테이블에 저장되지만, HTML 서식을 사용합니다.)
또한, 사용자 노트를 편집할 수 있는 방법이 없는 것으로 보입니다. 삭제하고 다시 게시하는 방법은 가능하겠지만, 그렇게 하면 타임스탬프가 변경됩니다.
제 경우에는 세 개의 키(id, post_id, user_id)를 가진 테이블을 생성하는 것을 제안합니다. (post_id와 user_id 조합은 한 사용자가 하나의 게시물에만 기록할 수 있음을 의미합니다.)
그리고 아이디어에 따라 이 테이블에 데이터를 직접 기록하거나, 사용자의 노트를 특수한 게시물로 게시할 수 있습니다. (이렇게 하면 플러그인을 비활성화해도 원래의 노트가 보존됩니다.)
또는 Topic이(가) 지원하는 커스텀 필드를 사용하는 것도 좋습니다.
내 첫 번째 생각은 스티키 노트가 토픽 전체가 아니라 특정 게시글을 참조해야 한다는 것입니다. 답글과 유사하게 작동해야 한다는 뜻이죠. 긴 토론에서는 사용자가 하나의 토픽 내 여러 게시글에 스티키 노트를 붙이고 싶어할 수 있습니다.
sticky_post 테이블을 사용하는 것에도 장점이 있지만, 토픽 표시 외에도 이메일 전송 등 스티키 노트를 표시나 처리에서 제외해야 하는 경우가 여러 곳 있을 수 있습니다. 또한 각 게시글마다 sticky_post 테이블을 검색하여 해당 게시글이 이 사용자의 스티키 노트인지 확인해야 하며, 그렇다면 다른 사용자가 만든 스티키 노트와는 다르게 처리해야 합니다.
별도의 post_type를 사용하는 것도 장점이 있지만, 이는 discourse 코어에 포함해야 할 수 있으며, 현재 제가 인지하지 못하고 있는 다른 문제들이 있을 수도 있습니다.
토픽 커스텀 필드보다 게시글 커스텀 필드가 더 나은 접근 방식일 수 있지만, 이는 sticky_notes 테이블이나 plugin_store_notes 테이블에 해당 정보를 저장하는 경우와 마찬가지로 동일한 문제점과 제한 사항이 많을 가능성이 높습니다.
이 토픽에 스티키 노트가 있음을 나타내는 토픽 커스텀 필드 항목을 포함하는 복합적인 접근 방식이 잠재력을 가질 수 있습니다. 스티키 노트가 없다면, 스티키 노트 표시자를 찾기 위해 게시글 커스텀 필드 테이블을 검색할 필요가 없게 됩니다.
코어에 포함해야 할 또 다른 가능성은 게시물 테이블에 ‘sticky_note’ 플래그를 두는 것입니다.
저는 교육 목적으로 자체 호스팅을 운영하며 커뮤니티를 구축하고 있습니다. 여기에서 몇 가지 주제를 발견했는데, 사용자들이 Discourse를 개인 노트로 활용하는 방법에 대해 설명하고 있었습니다. 하지만 이는 분명히 한계가 있으므로, 이런 아이디어가 떠올랐습니다…
각 사용자가 자신만의 개인/비공개 마크다운 노트를 가질 수 있도록 기능을 구현할 수 있다면 어떨까요? 이 제안된 기능이 어떻게 작동할 수 있는지에 대한 일반적인 아이디어를 몇 가지 나열해 보겠습니다.
여러분의 의견을 들려주세요! 더 구체적인 내용을 flesh out하고 더 정제된 아이디어를 개발할 수 있을지도 모릅니다!
이상적으로는 Discourse에서 생성된 노트를 로컬 마크다운 노트와 동기화할 수 있으면 좋겠습니다. 이를 위한 기본적인 구현 방식은 Discourse에 “노트 다운로드” 버튼을 추가하여, 해당 노트 토픽의 raw 콘텐츠로부터 .md 파일을 생성하는 것입니다. 파일명은 <노트 토픽 제목>.md로 설정할 수 있습니다.
좋은 지적입니다. 이 기능이 훨씬 더 유용해질 거예요
. 또한 그룹 내 사용자들이 공유 노트를 가질 수 있는 기능도 있으면 좋겠습니다. 이를 통해 그룹 프로젝트, 팀 문서 등을 만들 수 있을 겁니다.