Discourse 음성 메시지

:information_source: 요약 Discourse Audio Message 플러그인은 사용자가 게시글에 오디오 메시지를 직접 녹음하여 첨부할 수 있도록 합니다.
:hammer_and_wrench: 리포지토리 링크 https://github.com/pbenkoe/discourse-audio-message
:open_book: 설치 가이드 Discourse에서 플러그인 설치 방법

이 플러그인은 백엔드/자바스크립트 개발 경험이 제한적이어서 ChatGPT의 도움을 받아 개발했습니다.

구현 방식은 매우 기본적인 수준이지만, 몇 분께 도움이 되기를 바라며, 이를 바탕으로 더 발전시킬 수 있는 기반이 될 수 있기를 희망합니다.

Github 페이지의 설치 안내를 꼭 확인해 주세요.

안녕하세요, 작업을 공개해 주셔서 감사합니다. :slight_smile:

다만, 카테고리가 잘못 지정되어 있으니 Customization > Plugin 카테고리로 이동해야 합니다. 플러그인 코딩에 대한 특별한 지식이 없으며 일부 부분은 chatGPT에 의존했다고 설명하셨으므로, 해당 카테고리로 이동하기 전에 코드가 올바르게 작성되었는지 확인하겠습니다.

또한, 이 플러그인은 Voice Recorder Component 에서 이미 제공되고 있는 것 외에 추가적인 기능을 수행합니까?

네, 확인해서 문제가 없는지 봐주시고 필요하면 포럼 카테고리를 조정해 주세요 :pray:

본인이 직접 시도해 본 적은 없지만, 해당 스레드를 보고 제대로 작동하지 않는다고 가정하고 직접 작은 플러그인을 개발하기로 했습니다…

직접 테스트해 보았는데, 실제로 현재 작동하지 않습니다. 문서상으로 볼 때, 플러그인으로 달성하려는 기능은 테마 컴포넌트(Voice Recorder Component 가 대략 같은 일을 한다고 가정할 때)를 사용하여 구현할 수 있으며, 이는 설치하기 훨씬 쉽습니다.

플러그인이 테마 컴포넌트로 재작성된 또 다른 예시:

감사합니다. 확인해 보겠습니다.

이 오디오 메시지 녹음 플러그인이 제 Discourse에서 완벽하게 작동합니다. @peter.be 님, 감사합니다!!

참고로, 여기에서 플러그인과 테마 컴포넌트에 대한 논의가 진행 중입니다…

수정을 위한 PR을 올리는 것이 더 좋았을 것 같네요?

여기에는 이 플러그인의 사용법을 보여주는 Vimeo 영상이 있습니다… (참고로 모바일에서도 작동합니다 :clap:)

참고로, 이 플러그인은 제 사이트의 태그 그룹 페이지를 깨뜨립니다. 태그 그룹 목록이 모두 사라지고, 태그 그룹을 수정할 수도 없습니다. 이 플러그인을 제거하니 문제가 사라졌습니다…

개발 관련 논의가 아직 남아 있어서 이 내용을 Development 채널로 넘겼습니다. :+1:

솔직히 플러그인 개발에 도전해 보는 것도 분명 재미있고 매우 유익한 학습 경험이며, ChatGPT가 코드 작성에 도움을 줄 수 있는지 시험해 보는 것도 더 재미있을 수 있습니다.

… 하지만 플러그인을 프로덕션 환경에 배포하고 대중에게 공식적으로 공유하는 순간, 앞으로 이를 지원할 책임이 당신에게 지워집니다.

ChatGPT를 생산성 도구로 활용하는 것은 좋은 방법이지만, 결국 모든 코드 줄을 스스로 이해해야 합니다.

이미 이 기능 영역을 다루는 테마 컴포넌트가 존재하지 않았다면(물론 현재는 올바르게 작동하지는 않지만) 이 정도는 큰 문제가 되지 않았을 것입니다.

그것을 대체하기 위해 플러그인을 배포하는 것은 후퇴한 조치입니다. 가능할 때는 항상 테마 컴포넌트로 배포하는 것이 바람직하며, 이렇게 해야 더 다양한 설치 환경에서 더 넓게 활용할 수 있고, 시스템에 대한 침습성이 낮으며, 배포와 제거 속도가 훨씬 빠르기 때문입니다.

플러그인으로 회귀하려면 매우 강력한 이유가 필요합니다(그 이유가 실제로 존재할 수는 있지만, 이를 자세히 설명하고 정당화하는 것이 좋습니다).

여전히 커뮤니티로서는 새로운 자산을 만드는 것보다, 기존 자산이 고장 났을 때 이를 유지보수하는 것을 목표로 해야 한다고 생각합니다(물론 게스트 게이트 컴포넌트처럼 테마 컴포넌트로 대체할 기회가 있다면, 이는 가치 있는 개선이 될 것입니다).

이를 위해 노력은 다음에 더 잘 집중되었어야 한다고 생각합니다:

더 이상 작동하지 않는 주요 이유는 원래 유지보수자가 다른 프로젝트에 바빠서일 것이라고 추측합니다. 하지만 저장소에 기여하여 이를 수정하는 것을 막는 것은 아무것도 없는데, 누가 시도해 보았습니까?

Pavilion 멤버들이 수년간 공헌해 온 수많은 공개 프로젝트에 할애할 수 있는 시간에는 한계가 있으며, 커뮤니티가 이 부담을 일부 나눠져야 합니다.

/토론 끝

아마도 그게 작동하기 때문일까요? 그리고…

그런 일은 절대 일어나지 않았습니다.

개발자의 관점에서는 완전히 동의합니다. 하지만 최종 사용자의 예를 들어 말하자면, 플러그인 대 컴포넌트는 그렇게 큰 문제가 아닙니다. 어쨌든 우리는(또는 저는) 항상 업그레이드를 하고 있으며, 중요한 것은 일을 완수하는 방법이기 때문입니다.

우리는 오디오를 녹음하고 업로드하는 애플리케이션이 필요하지 않습니다. 이를 수행할 수 있는 장치가 있으니까요(어쨌든, Apple이 여전히 MP3를 싫어하기 때문에 거의 그렇지만요). 하지만 그 워크플로우는 매우 매끄럽지 않습니다. 그것이 플러그인에서든 컴포넌트에서든 상관없이, 버튼 하나면 됩니다.

그리고 네. 저도 컴포넌트를 선호합니다.

더 낮은 가격대에 호스팅되는 사용자들은 커스터마이징을 위해 테마 컴포넌트로 제한되는 경우가 많습니다. 그리고 그런 사용자는 훨씬 더 많은 수가 될 가능성이 높으므로, 플러그인으로 전환하면 상당수의 사이트가 제외됩니다.

물론 당신과 저는 그런 제한이 없습니다.

맞아요. 그런 경우는 제가 한 번도 기억나지 않아요. 하지만 어쨌든 그들의 접근 권한은 제한되어 있습니다. 그래서 그런 상황은 또 다른 경우일 뿐이죠 (물론 가능하면 피해야 하지만요).

사실 이것은 매우 큰 문제입니다. 수많은 인스턴스가 호스팅되고 있으며, 플러그인은 호스팅 등급에 따라 더 많은 제한을 받기 때문입니다. 테마 컴포넌트는 몇 가지 제한이 있지만, 자체 호스팅을 하지 않는 사용자들에게는 훨씬 더 많은 유연성과 관리의 용이성을 제공합니다.

아마 제가 잘못 이해하고 있는 것일 수도 있습니다(언어 문제 때문일 수 있지만), 저는 동의하지 않습니다. 호스팅은 많은 포럼에 매우 실행 가능한 옵션이자 해결책입니다.

어쨌든 이 글은 큰 비난을 하려는 것이 아니었습니다. @peter.be 님이 이 분야에 참여하시고 작업을 공유해 주셔서 정말 기쁩니다. 다만, 좀 더 넓은 관점에서의 이 점들을 고려해 주시면 좋겠습니다 :+1:

로버트, 우려를 말씀해 주셔서 감사합니다.

기존 솔루션 중 아무것도 현재 작동하지 않아서 제 해결책을 직접 코딩하기로 결정한 당시에는, 테마 컴포넌트와 플러그인의 장단점에 대해 알지 못했습니다. 플러그인 개발에 관한 가이드(Developing Discourse Plugins - Part 1 - Create a basic plugin)에 관련 고지를 추가해 주시면 좋겠습니다.

저는 단순히 오디오 녹음 워크플로우를 원활하게 하기 위한 쉬운 해결책이 필요했을 뿐입니다. 이 분야에서 베테랑이신 분께서 플러그인을 테마 컴포넌트로 변환하는 데 영감을 받으신다면, 저는 기꺼이 도와드리고 플러그인 소스 코드에 관한 질문에 답변하겠습니다.

그렇지 않다면, 언젠가 다시 이 문제를 다룰 수 있을지도 모르지만, 언제 시간이 될지는 확답할 수 없습니다 :folded_hands:

깨진 테마 컴포넌트 버전을 수리해 보았지만, 제 실력이 아직 그 정도는 아닌 것 같습니다.

다만 플러그인에서 몇 가지 문제를 수정하고 개선할 수는 있었으니, 그 작업은 재미있었고 물론 새로운 것도 많이 배웠습니다. 그것이 항상 최고의 보상이니까요!

(즉, 제 첫 번째 PR을 Github에 제출했습니다!)

테마 컴포넌트가 플러그인보다 유리하다는 점에 동의하므로 계속 노력할 것입니다(플러그인은 여전히 TC(테마 컴포넌트)보다 몇 가지 장점이 있으므로, 두 가지 옵션을 모두 가지는 것이 항상 가장 좋습니다!)