프로젝트 관리 플러그인

Discourse에서 작업 의존성을 관리하는 플러그인입니다.
기본적으로 카테고리를 프로젝트로, 해당 카테고리 내의 토픽을 프로젝트의 작업으로 전환합니다.
작업 간의 의존성을 정의할 수 있습니다. 즉, 어떤 작업이 완료되어야 다른 작업이 시작될 수 있는지를 지정하는 것입니다. 또한 시작 날짜, 종료 날짜 및 작업 소요 시간도 정의할 수 있습니다. 한 곳에서 날짜를 변경하면 종속 작업의 시작 및 종료 날짜가 자동으로 설정됩니다.
카테고리 헤더에 가장 이른 시작 날짜와 가장 늦은 종료 날짜도 표시합니다.
전체 프로젝트 소요 시간도 계산됩니다. 작업에 잠금을 걸어 시작 및 종료 날짜의 자동 계산이 해당 작업에 영향을 미치지 않도록 할 수도 있습니다.
사용법을 설명하는 YouTube 영상:

TODO:

  • 모바일 / 좁은 화면에서 메시지 표시
  • 위상적 순서로 작업을 표시하는 토픽 목록 보기 추가 (+ 종속 작업 약간 들여쓰기)
  • 메시지 버스를 사용하여 변경 사항을 다른 사용자에게 알림
  • 프로젝트 작업에 대한 수정 이력(revision) 기능 추가
  • 하위 프로젝트 지원 추가 (하위 프로젝트는 하나의 프로젝트에서 하나의 작업이 되면서 동시에 자체 카테고리가 됨)
  • UI 개선 (버튼 대신 링크 사용 등)
  • 테스트 작성
  • 캘린더 뷰 추가 @Bank_Live 제안: Projects management plugin - #10 by Bank_Live
  • 작업 상태: 완료 / 미완료
  • 버그: composer init 대신 categoryid 변경 시 setup projects_task 호출

설치

공식 Discourse Meta의 플러그인 설치
가이드를 따르되, 플러그인 명령으로 git clone https://github.com/spirobel/projects.git
을 사용하세요.

시

나는 너에게 의존한다.
너는 나에게 의존한다.
누가 의존하는 쪽인가?
누가 의존당하는 쪽인가?

GitHub에서 코드 보기

30개의 좋아요

좋은 생각입니다. 새 작업을 새 주제로 만들어서 나만의 필드, 즉 커스텀 필드(예: 이벤트 플러그인의 날짜 등)를 추가하는 방법은 무엇인가요?

3개의 좋아요

질문을 제대로 이해하지 못한 것 같은데, 정확히 무엇을 하려는 건가요?

제목이나 태그처럼 자체 필드를 추가하여, 나중에 JSON 형태로 쉽게 접근하고 검색 등을 위해 쉽게 조작/계산할 수 있도록 하고 싶습니다.

2개의 좋아요

사실 이 문제는 그리 간단하지 않습니다. 한쪽으로는 프론트엔드에서 많은 경우를 처리해야 합니다. 이 플러그인의 모든 경우를 아직 다 처리하지 못했습니다. 보시다시피 수정 이력(revision) 기능은 아직 할 일 목록에 남아 있습니다. 또한 데이터를 저장하는 문제도 있고, 플러그인 스토어를 사용하는 것이 현명한 선택인지도 의문입니다. 이 주제는 이 스레드에서 다루어지고 있습니다:

저는 실제로 테이블을 사용하면 큰 이점이 있는지 알아보기 위해 이 플러그인을 작성하기도 했습니다. 이 전체적인 의존성 로직과 백엔드에서의 오류 검사, 그리고 ‘dry’ 실행인 경우 롤백하는 기능은 플러그인 스토어만으로는 불가능했을 것입니다. 저는 이것이 트레이드오프라고 생각합니다. 일부 사용 사례에서는 플러그인 스토어가 충분할 수 있습니다. 하지만 더 복잡한 작업을 하려면 ‘실제’ 테이블을 피할 수 없다고 생각합니다. 이 부분을 좀 더 탐구한 후 블로그 포스트를 작성할 계획입니다. 더 추상적인 관점에서 보면, 우리가 하려는 일은 다음과 같습니다: 우리는 Discourse를 사용하여 구조화된 데이터를 집단적으로 편집하기를 원합니다. 현재 게시물이나 토픽에 사용자 정의 필드를 '단순히 추가’하는 것은 정말 어렵지만, 더 쉽게 만들 수 있다고 생각합니다. 제가 하고 싶은 또 다른 일은 컴포저 에디터를 완전히 제거하고, 토픽을 데이터 입력에만 사용하는 것입니다. 어떤 결과가 나올지 모르지만, 여기 브레인스토밍이 있습니다: Why not create an OPEN SOURCE platform dedicated to open source drug discovery ? · Issue #581 · OpenSourceMalaria/OSM_To_Do_List · GitHub
이 두 가지 유형의 플러그인을 이 GitHub 이슈에서 설명하듯 결합할 수도 있습니다. 즉, 일반적인 d-에디터가 없는 토픽에서 전문적인 데이터 입력 에디터를 사용하여 데이터를 입력하고, 여전히 d-에디터가 있는 다른 토픽에서 이 데이터를 참조하는 방식입니다. 이 다른 토픽들에는 이 프로젝트 관리 플러그인처럼 추가 필드가 있을 수도 있습니다.

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/composer-editor.hbs

이 모든 것은 제가 제대로 테스트해 볼 시간이 없었으므로 참고용으로만 받아들이시기 바랍니다. 휴가에서 돌아오면 이 주제에 대한 글을 작성하겠습니다 :smiley:

5개의 좋아요

불행히도, 플러그인이 이제 부팅을 거부합니다.

고장

1개의 좋아요

정말 좋습니다. 나중에 각 기간별로 차트를 추가할 수 있기를 바랍니다.

에러 메시지를 올려주시면 도움을 드릴 수 있을까요? :slightly_smiling_face:
그리고: 이 플러그인은 자체 테이블을 사용하므로 설치 후 마이그레이션을 다시 실행해야 합니다. rake db:migrate와 같은 명령일 텐데, 자세한 내용은 설치 가이드를 확인해 주세요.

1개의 좋아요

음, 혹시 그림으로 그려서 정확히 어떤 것을 원하는지 보여줄 수 있을까요? 한번 생각해 보겠습니다. :smiley:

1개의 좋아요

음, 내 말은 이거랑 같은 거라는 거야.

1개의 좋아요

네, TODO 목록에 추가했습니다. 맞는 말씀이네요. 지금은 휴가 중이라, 돌아온 후에 확인해 보겠습니다 :smiley:

이 스타일은 페이지를 더 사용하기 쉽게 만들어 줄 것입니다.

이런 것들을 만들어 주셔서 감사합니다. 확실히 사용해 보겠습니다.

1개의 좋아요

사실 에셋 컴파일링에 문제가 있었습니다.

지금 수정해서 제 서버에 설치했습니다: https://cidian.social/c/build-house/5
이 플러그인으로 제 프로젝트를 계획할 예정이므로, 계속 개선해 나갈 것입니다.

2개의 좋아요

여전히 부트스트랩에 실패하는 문제가 있습니다:

FAILED
--------------------
Pups::ExecError: chown -R root /var/lib/postgresql/12/main 실행 실패 (리턴 값: #<Process::Status: pid 41 exit 1>)
실패 위치: /pups/lib/pups/exec_command.rb:112:in `spawn'
다음 매개변수로 실행이 실패했습니다: {"cmd"=>["chown -R root /var/lib/postgresql/12/main", "[ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0", "chown -R postgres:postgres /shared/postgres_data", "chown -R postgres:postgres /var/run/postgresql"]}
1개의 좋아요

안녕하세요, 다시 시도해 주셔서 감사합니다! 어떤 버전을 사용 중이신가요? 제가 마지막으로 테스트한 버전은 2.5.0.beta4입니다. 여기 테스트 서버에서 실행 중입니다: https://cidian.social/c/build-house/5

음, 이 문제인 것 같습니다:
https://meta.discourse.org/t/clean-install-upgrade-fails-because-of-pg12/151212

안녕하세요, 커뮤니티 예술 플랫폼의 신규 디스커스 사용자입니다. 우리 디스커스 커뮤니티 내에서 소규모 프로젝트를 위한 프로젝트 관리 플러그인을 찾고 있습니다. 이 플러그인은 여전히 사용되고 있나요?

1개의 좋아요

이것은 discourse 플러그인을 작성하는 법을 배우기 위해 제가 작성한 첫 번째 플러그인입니다. 현재는 미완성 상태입니다. 이 플러그인을 어떤 방향으로 발전시킬지 아직 결정하지 못했지만, 계속 작업하고 이전에 작성한 코드를 재활용할 계획은 분명합니다. 여러분의 사용 사례에 대해 알려주시면 감사하겠습니다. 편하신 경우 개인 메시지로도 연락해 주세요! :smiley:

5개의 좋아요

@spirobel 님, 훌륭한 작업 감사합니다!

현재 이 플러그인의 상태는 어떻게 되나요? 제 인스턴스에서 사용해보고 싶은데, 개발 상태가 불분명한 플러그인을 설치하는 것은 꺼려집니다.

감사합니다!

3개의 좋아요

현재 기본 에디터 플러그인의 리라이팅 작업을 진행 중이며, 이후 이 플러그인으로 다시 돌아올 수 있습니다. 하지만 이 플러그인의 대상 사용자를 다시 생각해봐야 할 것 같습니다. 이 플러그인을 어떤 용도로 사용하고 싶으신지 의견을 들려주시면 기쁩니다. 이 글을 읽고 계신 분들도 마찬가지입니다: 디스코르스를 이용해 프로젝트를 관리하고 싶은 방식을 자유롭게 적어주세요. 함께 아이디어를 나누어 볼 수도 있습니다 :slight_smile: :+1:

2개의 좋아요