컬렉션

:information_source: 요약 사용자가 연결된 주제(Topic)의 컬렉션을 생성할 수 있습니다
:hammer_and_wrench: 저장소 링크 https://github.com/Alteras1/discourse-collections
:open_book: 설치 가이드 Discourse에서 플러그인 설치 방법

미리보기

모바일

컬렉션

이 플러그인은 사용자가 연결된 주제를 볼 때 해당 주제들이 포함된 컬렉션을 생성하고 표시할 수 있게 해줍니다. 컬렉션에는 어떤 URL이든 포함될 수 있으며, 연결된 모든 주제에서 표시됩니다. 컬렉션은 섹션으로 조직화할 수 있으며, 컬렉션에 대한 모든 변경 사항은 연결된 모든 주제에 반영됩니다. 연결할 주제를 제한하지 않으므로, 사용자는 카테고리/태그를 넘나들며 컬렉션을 생성할 수 있습니다.

제목 및 설명

입력이 가능한 선택 사항입니다. 제공된 경우, 목록 상단에 표시됩니다.

섹션

선택적인 조직 기능입니다. 섹션 헤더를 추가하면 컬렉션을 섹션으로 나눌 수 있으며, 접을 수 있는 섹션이 표시됩니다.

서브컬렉션

사용자는 단일 주제에서만 표시되는 서브컬렉션을 생성할 수도 있습니다. 이를 통해 사용자는 관련 URL(예: 특정 게시물/외부 리소스)을 단일 주제에 대해서만 연결할 수 있습니다. 추가된 주제 URL은 연결되지 않습니다.

권한

이 플러그인은 사용자가 자신의 주제에 대한 컬렉션을 생성할 수 있도록 허용합니다. 기본적으로 사용자는 자신의 주제에만 연결할 수 있으며, 다른 사용자를 유지관리자(maintainer)로 추가해야만 해당 사용자가 자신의 주제를 컬렉션에 추가할 수 있습니다. 이 설정을 비활성화하면, 특정 그룹(기본값: Staff & TL4)만 모든 컬렉션에 대한 전체 제어 권한을 가질 수 있습니다.

권한 데모

설정

이름 설명
collections enabled 플러그인 활성화/비활성화. 기본값: true
collection by topic owner 주제 게시자(OP)가 컬렉션을 생성할 수 있도록 허용. 기본값: true
collection by topic owner allow groups 컬렉션을 생성할 수 있는 주제 게시자(OP) 제한. collection by topic owner를 제한합니다. 기본값: TL1
subcollection by topic owner allow groups 서브컬렉션을 생성할 수 있는 주제 게시자(OP) 제한. collection by topic owner를 제한합니다. 기본값: TL1
collection modification by allowed groups 모든 컬렉션의 생성/수정이 허용되는 그룹. 기본값: Admin Moderators TL4.
sections in subcollection 서브컬렉션에서 섹션 헤더 사용 허용. 기본값: true

대안

이 플러그인은 Discourse Doc Categories 플러그인에 깊은 영감을 받아(한때 이를 기반으로 하여) 개발되었습니다. Doc Categories 플러그인은 좋은 인덱싱 메커니즘과 훌륭한 표시 방식을 제공하지만, 모든 것이 단일 카테고리에 정리되는 위키 스타일 페이지를 위한 설계였습니다. 마찬가지로, 인덱싱은 별도의 주제에 포맷된 텍스트를 입력하는 데 의존하며, 이는 각각 장단점이 있습니다.

DiscoTOC - automatic table of contents 테마 컴포넌트도 게시물 본문 밖에서 링크를 조직화할 수 있게 하지만, 단일 주제에 제한됩니다.

목적이 단순히 위키 스타일 조직이라면, https://meta.discourse.org/t/discourse-doc-categories/322376이 더 적합할 것입니다. 일부 페이지에만 연결된 주제가 필요할 경우, https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143이 더 좋습니다.

참고 사항

이것은 제가 소속된 포럼이 Discourse로 마이그레이션하는 것을 지원하기 위해 처음 설계되었습니다. 글쓰기에 초점을 맞춘 포럼인 만큼, 사용자는 다양한 목적으로 별도의 주제를 유지 관리하고 있어, 카테고리 간 주제 링크가 사실상 필수적인 상황이 되었습니다. 이를 돕기 위해, 사용자가 스스로 조직화할 수 있도록 이 플러그인을 만들었습니다.

이것이 플러그인이 아니라 테마 컴포넌트인 또 다른 타임라인이 있습니다. 이 경우, 사용자가 다른 게시물로 가는 URL을 포함하는 div를 입력하여 인덱싱이 이루어집니다. 하지만 도구의 90%를 개발한 후, 이렇게 하는 것이 가치가 없으며 사용자가 작성된 모든 튜토리얼을 건너뛰고 여전히 작동하지 않는 것에 대해 불평할 가능성이 높다는 것을 깨달았습니다. 그래서 그 경로는 포기했습니다. 솔직히 나쁜 해결책은 아니며, 플러그인보다 훨씬 가볍지만, 사용자가 게시물 하나뿐 아니라 여러 게시물에 대해 올바른 포맷을 유지하도록 하는 데 불필요한 부담을 주었을 것입니다.

현재 UI 기능(예: 아이콘)과 권한 시스템에 대해 100% 확신이 서지 않아 #experimental로 표시해 두었습니다. 또한 자동화 단위 테스트를 추가해야 합니다.

21개의 좋아요

FYI: all videos were broken :thinking: (iPad)

1개의 좋아요

Huh, I thought iOS Safari supported WebM…

I’ve swapped out the videos for MP4. Ty!

5개의 좋아요

It’s possible to enable 'public‘ collections like on Discourse Docs?

1개의 좋아요

Sorry if it wasn’t clear, all collections are “public.” All users will see the same collection on the same topic. This plugin is meant to organize topics, not be a kind of private “folder of bookmarks” for users.

5개의 좋아요

사이드바에서 이모지와 색상 사각형 지원을 추가하도록 플러그인을 업데이트했습니다!

5개의 좋아요

정말 매우 인상적입니다. 그리고 문서화도 훌륭하네요! meta.discourse.org에서 문서화가 가장 잘 된 #customization:플러그인으로 이 플러그인을 추천합니다!!

토픽 목록까지 포함하도록 확장하는 것을 고려해 보셨나요?

카테고리별 또는 태그별 링크 모음이 있다면 매우 유용할 것 같습니다. 예를 들어, 특정 그룹을 위한 비공개 카테고리가 있고, 여기에 다른 도구들(예: Google Docs의 몇 가지 폴더, 지방 정부 포털, 관련 채팅 채널, 그룹 공용 메일함 등)이 함께 사용되는 경우가 있습니다. 이 경우 카테고리 관리자가 이를 제어할 수 있다면 이상적일 것입니다.

3개의 좋아요

정말 감사합니다!

이전에 분명히 고려해 본 부분이긴 하지만, 현재 사용자 주도적으로 주제를 정리하는 방식의 디자인과 잘 맞지 않을 것 같습니다. 카테고리/태그 레벨에는 이상적이지 않으며, 관리자의 통제로 제한되어야 하기 때문입니다. 원래 사용 사례는 1~2개 주제로는 너무 크고, 태그/카테고리로는 너무 작은 관련 주제들을 링크하는 것이었습니다.

카테고리의 사이드바에 인덱싱을 표시하도록 주제 목록을 구성하는 것은 Discourse Doc Categories 플러그인을 통해 구현할 수 있지만, 구성 방식은 다릅니다. 매우 유사한 두 가지 작업을 두 개의 플러그인으로 처리해야 하는 것은 번거로울 수 있지만, 각 플러그인의 원래 철학이 충분히 다르다고 생각하여 별도의 접근 방식이 필요하다고 봅니다.

Private Topics Plugin에 호환 확장 기능을 추가하는 것은 사용자 관점에서 매우 멋진 아이디어입니다. 한번 생각해 봐야겠네요…

이렇게 되면 태그 레벨에 대한 부분이 남게 됩니다. Discourse Doc Categories에 PR을 올리거나 태그를 위한 새로운 플러그인/TC를 만드는 것도 선택지이긴 하지만, 현재는 적극적으로 계획하고 있지는 않습니다. 아마도 미래에 가능할지 모르겠습니다.

사실, 제 사용 사례에는 꽤 잘 맞을 것 같습니다. 다만, 충분히 적응 가능한지는 확실하지 않아서(이번 주 후반에 직접 테스트해볼 예정입니다).

매우 흥미롭네요. 어떤 사용 사례를 염두에 두고 계신가요?

일반 사용자들에게는 Private Topics(비공개 주제)가 활성화된 카테고리는 자신의 주제만 표시됩니다. 따라서 Collections 플러그인이 사용자를 기준으로 주제를 주제 수준에서 카테고리 수준으로 끌어올리는 것이 합리적인 몇 안 되는 경우가 될 수 있다고 봅니다.

제가 참여하고 있는 포럼에는 실제로 개인적인 초안 작성/테스트 공간으로 사용하도록 사용자를 위한 비공개 카테고리가 있습니다. 그리고 그들은 매우 많은 주제를 생성하므로, 사용자 주도적인 주제 조직이 가끔 여기서 이루어집니다.

사용자가 카테고리를 만들고 원하는 주제를 넣을 수 있는, 갤러리 같은 수집 시스템이었으면 좋겠다고 정말 기대하고 있었습니다. 아, 됐어요.

이게 왜 그렇지 않나요?

1개의 좋아요

제 생각에는 카테고리를 생성할 수 없는 것 같습니다.

이 플러그인의 드래그 앤 드롭 UI를 통해 책의 장과 같은 임의의 토픽(Topics) 시퀀스를 쉽게 만들고 재배열할 수 있어 정말 유용합니다.

컬렉션(Collections)에 이전 <다음 > 같은 순차 내비게이션과 모달(Modal)에서의 페이지네이션(Paging)을 추가하기 위해 테마 컴포넌트를 개발했습니다.

작동하는 저장소는 다음과 같습니다.

4개의 좋아요

오래전부터 필요했던 기능이었어요. 오늘 이 문제를 조사하고 있었는데, 이 부분이 마지막에 필요한 구성 요소인 것 같았어요.

@Alteras ‘컬렉션 만들기’ 모달의 닫기(X) 버튼에서 버그가 발생하고 있어요. 호버와 클릭은 되지만, 페이지를 새로고침할 때까지 모달이 닫히지 않아요.

1개의 좋아요

오, 정말 멋진 개념이네요. 서로 연결된 토픽 게시물을 빠르게 확인할 수 있는 모달을 정말 좋아합니다. 사이드바를 24시간 내내 열어두지 않는 사용자들에게도 컬렉션이 있다는 사실을 알리는 데 도움이 되니까요.

사용자를 해당 토픽으로 리다이렉트하는 대신 게시물 내용을 교체하기로 한 결정에 대해 궁금합니다.

사이드바 없이 토픽을 이동할 수 있도록 타임라인 위에 ‹ PrevNext ›를 사용하는 아이디어를 정말 좋아합니다. 긴 첫 게시물 토픽에서 위로 스크롤할 필요 없이 쉽게 접근할 수 있도록, toc처럼 타임라인에 배치하면 어떨까요? 아니면 단순히 상단/하단 게시물 자체를 꾸미는 것도 좋을 것 같습니다…

괜찮으시다면, 해당 아이디어 중 일부를 플러그인에 직접 추가하는 것을 탐구해보고 싶습니다. 관리자용 추가 사이트 설정과 함께 말이죠. 물론 플러그인을 기반으로 TC(테마 컴포넌트)를 만들어 사용자 맞춤형 기능을 더하는 것에 반대하지 않습니다. TC 작업에 도움이 필요하시면 알려주세요. 현재 표시되는 컬렉션 정보는 DOM을 파싱하지 않고도 service:collection-sidebar 이터 서비스에서 가져올 수 있어야 합니다.

음… 정말 이상하네요. 재현이 되지 않습니다. 최근 플러그인을 업데이트하여 일부 비권장(deprecation) 문제를 해결하는 변경 사항을 넣었기 때문에, 그것이 영향을 미쳤을 수도 있습니다? 플러그인이 최신 버전으로 업데이트되어 있는지 확인해 주세요. 또한 설정 세부 사항(브라우저, 모바일/데스크톱, 디스커스 버전)도 공유해 주세요.

3개의 좋아요

저는 오래된 버전을 쓰고 있었네요. 아마도 그래서였나 봅니다. 11월 6일 커밋을 그대로 쓰고 있었거든요.
ETA: 무시해 주세요. 업데이트로 해결되었습니다.

1개의 좋아요

빠른 반응이 좋습니다. 이는 신중하게 설계된 결과라기보다는, 모달이 콘텐츠에 초점을 맞춘 슬라이드쇼 형태로 팝업되는 것이 제 초기 비전입니다.

여기서 핵심 기회는 항목의 임의적 순서화이며, 시퀀스가 타임라인에 종속되지 않는 것이 분명합니다. 따라서 제 초기 목표는 사용자 프로필 표시에서와 마찬가지로 코어의 수평 스크롤 메뉴 동작을 재사용하는 것입니다. 예를 들어, (정적인) 컬렉션 제목과 설명(존재하는 경우) 아래에 섹션 헤더와 그 아래에 해당 토픽 제목이 두 줄로 나란히 배치되어 수평으로 스크롤/스와이프 가능하도록 하는 방식입니다.

모달 내부에는 왼쪽에서 빠르게 슬라이드 인/아웃되는 접을 수 있는 세로 디스플레이가 포함되며, 이는 모달 밖의 왼쪽 사이드바 동작을 재현합니다. 모달에서 페이지 위로 올라오는 요소가 중앙 정렬된 비모달 뷰에서 보고 경험하는 것과(내비게이션 요소를 포함하여) 대부분 비슷해 보이고 느껴지기를 원하지만, 단순히 조리된 콘텐츠를 둘러싸고 있을 뿐입니다.

제공된 서브컬렉션(Subcollections)을 모달에서도 표시하도록 재사용하는 작업을 진행 중입니다. 이는 슬라이더 내부의 iframe으로 외부 링크 시퀀스를 표시할 수 있으며, 내부 콘텐츠도 재사용할 수 있습니다(현재 토픽은 하나의 컬렉션에서만 사용될 수 있기 때문입니다).

좋습니다, 진행해 보세요!

이 TC(토픽 컬렉션)를 적응형으로 변경하거나, 문서 카테고리 :page_with_curl:에 이러한 유형의 내비게이션과 디스플레이를 제공하는 것도 고려하고 있습니다.

2개의 좋아요

이제 정상적으로 작동합니다(위 업데이트에 대한 안내에 감사드립니다). 사용하면서 발견한 몇 가지 사항을 공유합니다:

  1. 사용자가 허용된 그룹에 속하지 않은 경우에도 ‘컬렉션’ 버튼이 표시됩니다. 컬렉션을 생성하려고 하면 내부 서버 오류가 발생하며, 이는 모달 창에 빨간색 바 형태로 우아하게 표시됩니다.
  2. 컬렉션 사이드바 하단의 버튼은 원래의 ‘컬렉션 생성’ 옵션을 제공합니다. 컬렉션을 관리하려면 원래 게시물에 있는 버튼을 사용해야 하며, 컬렉션 사이드바의 버튼에서 바로 ‘관리’ 옵션을 사용할 수 있다면 매우 유용할 것입니다.
  3. 컬렉션과 하위 컬렉션의 권한을 분리할 수 있을까요? 하위 컬렉션은 모든 연결된 주제에 광범위한 영향을 미치는 컬렉션과 달리, 개인이 자신의 주제를 정리하고 싶은 경우에 immensely 유용할 수 있습니다.

마지막으로, 이 플러그인은 두 개의 컬렉션이 동일한 주제를 연결하는 경우를 어떻게 처리하나요? 두 개의 하위 컬렉션인 경우는요? 이는 컬렉션 기능을 좋아하는 사용자들이 겹치는 목표를 더 쉽게 관리할 수 있도록 제 3번 제안에 더 기울게 만듭니다.

수정: #1은 허용된 그룹이 소유하지 않은 주제를 수정할 수 있도록 하는 컬렉션 수정 관련 오류임을 깨달았습니다. 그래도 더 나은 오류 메시지는 유용할 것입니다!

1개의 좋아요

따라서 허용된 그룹에 의한 컬렉션 수정 설정은 스태프와 권한이 매우 높은 사용자, 즉 위키를 유지보수하는 헬퍼를 위한 것입니다. 하지만 오류를 수정해야 할 것 같습니다.

허용된 그룹에 의한 컬렉션 수정이 충분히 높게 설정되어 있다면, 컬렉션과 서브컬렉션은 토픽 소유자(그리고 스태프)에 의해서만 생성/수정되어야 합니다. 토픽 소유자는 컬렉션이나 서브컬렉션에 일반 사용자를 유지보수자로 추가할 수 있으며, 그들은 자신의 토픽을 추가할 수 있습니다. 둘을 분리해야 할 만큼 설정이 어떻게 되어 있는지 정확히 알 수 없습니다.

두 개의 컬렉션은 같은 토픽을 연결할 수 없습니다. 이미 컬렉션에 있는 토픽을 연결하려고 하면 오류가 표시되어야 합니다. 마찬가지로, 토픽당 하나의 서브컬렉션만 허용됩니다. 이는 모든 컬렉션이 공개되어 있으며 토픽 소유자가 만들어야 하기 때문입니다.


음… 공개적이거나 비공개로 볼 수 있는 북마크 폴더만 있는 별도 플러그인을 만드는 것이 더 나을 것 같은 느낌이 듭니다… “개인 컬렉션?” “북마크 라이브러리?” “토픽 플레이리스트?” 아니면 이 플러그인을 확장하는 것도 방법이죠. 하지만 두 기능 사이의 기반 코드와 철학은 꽤 다를 것입니다… "컬렉션"이라는 이름이 꽤 포괄적이고 여러 가지 방식으로 해석될 수 있다는 점이 다소 아쉬울 뿐입니다.

3개의 좋아요