리포트해 주셔서 감사합니다. 이 기능을 구현할 때 이를 고려하려고 노력했지만, 테스트를 할 때 좀 운이 좋았던 것 같습니다 말씀하신 대로 여기서는 모든 타임스탬프를 동일한 값으로 설정하고 있습니다:
문제는 이동된 메시지를 기존 채널 메시지 사이에 섞어 넣는 것을 원하지 않는다는 점이며, 이동하는 메시지가 많을수록 이 작업이 점점 더 어려워집니다.
이 문제를 깊이 파고들기 전에 한 가지 질문이 있습니다. 위치가 어긋난 메시지를 기억하고 특정할 수 있을까요? 몇 개 정도인지, 아니면 완전히 순서가 무너진 상태인가요? 불일치의 원인은 채널 메시지를 가져올 때 ID 순서로(대부분의 경우 DESC로 정렬한 뒤 역순으로 전환) 가져오기 때문일 수 있습니다:
반면 메시지 무버(message mover)에서는 순서를 유지하기 위해 created_at 기준으로 정렬하고 있는데, 이로 인해 약간의 불일치가 발생할 수 있습니다:
이 문제를 해결할 수 있는 몇 가지 아이디어가 있습니다(메시지 무버를 ID 기준으로 정렬하도록 변경하거나, 컨트롤러를 created_at 기준으로 정렬하도록 변경하는 것 등이 해당되며, 후자가 더 합리적이라고 생각하여 이를 선호합니다). 하지만 가능하시다면 순서가 얼마나 어지럽게 뒤섞여 있는지 알려주시면 좋겠습니다.
새로운 채팅 흐름의 본질을 포착하여 채팅이 더 큰 토론의 씨앗이 될 수 있음을 보여주는 데모를 만드는 방법을 찾고 있습니다.
지금 메타에서 채팅 테스트를 진행 중인 상황에서 이를 어떻게 할 수 있을지 아이디어가 있는 분이 있나요?
피드백 포인트들은 훌륭하고, 곧 각각 독립적인 적절한 주제로 분리될 것이라 생각합니다. 하지만 @chat-testers에 막 합류한 사람들을 위해 훌륭한 모범 사례가 될 수 있는 무언가를 원했습니다. 사람들이 보고 '아하. 처음엔 확신이 없었지만, 이제 채팅이 심도 있는 토론의 전초가 될 수 있음을 이해했습니다'라고 느낄 수 있는 그런 것 말이죠.
너무 많은 것을 요구하고 있는 건 아닐까요
RGJ
솔직히 채팅이 어떻게 심도 있는 토론의 전초가 될 수 있는지 모르겠습니다
하지만 그게 내가 나이가 많아서일 수도 있겠죠
JammyDodger
그러니까 @RGJ의 마음을 바꾸는 데 도움이 될 예시를 찾고 있는 거죠
Moin
여기의 예시를 좋아합니다. 하지만 그 예시는 여기에 적합하지 않습니다. 어쩌면 주제가 지금은 누락된 기능에 관한 것이어야 할지도 모릅니다. 예를 들어, 비슷한 기능 요청이 있는지 확인할 시간이 없거나, 다른 사람들도 그 주제에 관심이 없을 것 같아 주제를 시작하지 않는 그런 것 말입니다.
하지만, 네. 쉬운一来一回(왕복 대화)를 통해 아이디어가 형성되고, 그 후 적절한 토론 주제로 영감을 주는 어떤 종류의 여유롭고/친근하고/비공식적인 채팅 말입니다.
oshyan
이것은 채팅에 대한 제 관심사와 사용 사례와 100% 일치합니다. 하지만 '이것의 예시'라는 것이 정확히 무엇을 의미하는지 설명해 주시겠어요? 예를 들어, (Discourse 채팅에서 일어났든 아니든) 더 깊은 토론으로 이어질 수 있었거나/이어졌거나/이어졌어야 했을 채팅 샘플에 관심이 있으신 건가요? 그리고/또는 실제로 더 깊은 토론으로 이어졌지만, 이를 위한 arguably 덜 이상적인 매체(채팅 vs. 포럼)에서 일어났던 경우? 만약 그렇다면 몇 개를 찾는 데 시간이 좀 걸릴 수 있지만, 제 생산성 커뮤니티에서 좋은 예시들이 충분히 있습니다. 만약 구체적으로 Discourse 채팅 안에서의 예시를 찾고 있다면, 찾기는 더 어려울 것입니다. 하지만 저는 이것이 Discourse에서 채팅의 큰 가치라고 확실히 생각하며, 커뮤니티에 따라 그 역할은 더 크거나 작을 것입니다.
Jonathan_Poyer
새로운 기능에 대한 토론을 보여주는 것이, 적어도 그 아이디어의 첫 순간 동안 데모를 위한 좋은 방법이라고 생각합니다. 어떤 사람들에게는 이 토론의 불씨가 개발 중이거나 곧 시작될 시기에 발생합니다. 항상 더 많은 토론할 것이 있고, 주제(하나 또는 여러 개)를 참조하는 것은 의미가 있습니다.
oshyan
토론 중간에도 채팅이(그리고 그래야) 빠르게 주제로 전환될 수 있는 상황에 대한 좀 더 개념적인 예시로, 제가 속해 있는 소프트웨어 개발 관리 커뮤니티 및 제 생산성 커뮤니티에서 종종 일어나는 것이 있습니다:
새로운 사람이 채팅에 합류하여 겉보기에 단순하거나 무해해 보이는 질문을 합니다
매우 잘 알고 있거나/열정적인 단골들의 답변이 빠르게 10줄 이상의 텍스트로 자라나고, 문단 분리가 시작되며, 그 채팅 채널은 이 한 가지 질문(주제)에 대한 토론으로만 포화 상태가 됩니다.
각 "메시지"에 많은 포인트와 아이디어가 포함되어 있고, 선택 인용/답변 기능이 없기 때문에 각 항목을 분석하고 답변하는 것이 어려워집니다.
이러한 대화는 또한 가치 있는 토론인 경우가 많으며, 채팅의 후속 흐름 속에서 빠르게 사라질 수 있으므로, 사후적으로 이를 주제로 이동하는 것조차 잠재적으로 매우 가치 있을 수 있습니다.
JammyDodger
처음에는 메타에서 Discourse 채팅에 익숙지 않은 사람들에게 Discourse의 '장문 단락' 관점과 어떻게 잘 어우러질 수 있는지를 보여주기 위해 제공할 수 있는 예시 주제/채팅을 찾고 있었습니다.
따라서 원리를 깔끔하게 시연하기 위해 우리가 만든 무언가라도 괜찮습니다.
많은 예시들이 훌륭한 토론 주제가 될 것 같네요
사람들이 채팅이 포럼 구조의 어디에 자리 잡을 수 있는지 쉽게 시각화하는 데 도움이 되는 것이라면 무엇이든 유용할 것입니다. 모든 아이디어에 열려 있습니다
agungor
이 대화가 그 자체로 그런 예시가 되어가는 것 같습니다.
Jonathan_Poyer
다른 플랫폼에서는 스레드가 될 것 같은 것이, 다른 채팅으로 전환되거나 분리된 주제로 만들어져야 할 것 같습니다. 하지만 동시에, 주제(topic)는 여기처럼 일회성이 아니라 장기적인 토론처럼 느껴지기도 하죠?
이것은 채팅에 대한 제 관심사와 사용 사례와 100% 일치합니다. 하지만 '이것의 예시'라는 것이 정확히 무엇을 의미하는지 설명해 주시겠어요? 예를 들어, (Discourse 채팅에서 일어났든 아니든) 더 깊은 토론으로 이어질 수 있었거나/이어졌거나/이어졌어야 했을 채팅 샘플에 관심이 있으신 건가요? 그리고/또는 실제로 더 깊은 토론으로 이어졌지만, 이를 위한 arguably 덜 이상적인 매체(채팅 vs. 포럼)에서 일어났던 경우? 만약 그렇다면 몇 개를 찾는 데 시간이 좀 걸릴 수 있지만, 제 생산성 커뮤니티에서 좋은 예시들이 충분히 있습니다. 만약 구체적으로 Discourse 채팅 안에서의 예시를 찾고 있다면, 찾기는 더 어려울 것입니다. 하지만 저는 이것이 Discourse에서 채팅의 큰 가치라고 확실히 생각하며, 커뮤니티에 따라 그 역할은 더 크거나 작을 것입니다.
Jonathan_Poyer
새로운 기능에 대한 토론을 보여주는 것이, 적어도 그 아이디어의 첫 순간 동안 데모를 위한 좋은 방법이라고 생각합니다. 어떤 사람들에게는 이 토론의 불씨가 개발 중이거나 곧 시작될 시기에 발생합니다. 항상 더 많은 토론할 것이 있고, 주제(하나 또는 여러 개)를 참조하는 것은 의미가 있습니다.
oshyan
토론 중간에도 채팅이(그리고 그래야) 빠르게 주제로 전환될 수 있는 상황에 대한 좀 더 개념적인 예시로, 제가 속해 있는 소프트웨어 개발 관리 커뮤니티 및 제 생산성 커뮤니티에서 종종 일어나는 것이 있습니다:
새로운 사람이 채팅에 합류하여 겉보기에 단순하거나 무해해 보이는 질문을 합니다
매우 잘 알고 있거나/열정적인 단골들의 답변이 빠르게 10줄 이상의 텍스트로 자라나고, 문단 분리가 시작되며, 그 채팅 채널은 이 한 가지 질문(주제)에 대한 토론으로만 포화 상태가 됩니다.
각 "메시지"에 많은 포인트와 아이디어가 포함되어 있고, 선택 인용/답변 기능이 없기 때문에 각 항목을 분석하고 답변하는 것이 어려워집니다.
이러한 대화는 또한 가치 있는 토론인 경우가 많으며, 채팅의 후속 흐름 속에서 빠르게 사라질 수 있으므로, 사후적으로 이를 주제로 이동하는 것조차 잠재적으로 매우 가치 있을 수 있습니다.
JammyDodger
처음에는 메타에서 Discourse 채팅에 익숙지 않은 사람들에게 Discourse의 '장문 단락' 관점과 어떻게 잘 어우러질 수 있는지를 보여주기 위해 제공할 수 있는 예시 주제/채팅을 찾고 있었습니다.
따라서 원리를 깔끔하게 시연하기 위해 우리가 만든 무언가라도 괜찮습니다.
사람들이 채팅이 포럼 구조의 어디에 자리 잡을 수 있는지 쉽게 시각화하는 데 도움이 되는 것이라면 무엇이든 유용할 것입니다. 모든 아이디어에 열려 있습니다
새로운 채팅 흐름의 본질을 포착하여 채팅이 더 큰 토론의 씨앗이 될 수 있음을 보여주는 데모를 만드는 방법을 찾고 있습니다.
많은 예시들이 훌륭한 토론 주제가 될 것 같네요
지금 메타에서 채팅 테스트를 진행 중인 상황에서 이를 어떻게 할 수 있을지 아이디어가 있는 분이 있나요?
RGJ
솔직히 채팅이 어떻게 심도 있는 토론의 전초가 될 수 있는지 모르겠습니다
agungor
이 대화가 그 자체로 그런 예시가 되어가는 것 같습니다.
Jonathan_Poyer
다른 플랫폼에서는 스레드가 될 것 같은 것이, 다른 채팅으로 전환되거나 분리된 주제로 만들어져야 할 것 같습니다. 하지만 동시에, 주제(topic)는 여기처럼 일회성이 아니라 장기적인 토론처럼 느껴지기도 하죠?
JammyDodger
피드백 포인트들은 훌륭하고, 곧 각각 독립적인 적절한 주제로 분리될 것이라 생각합니다. 하지만 @chat-testers에 막 합류한 사람들을 위해 훌륭한 모범 사례가 될 수 있는 무언가를 원했습니다. 사람들이 보고 '아하. 처음엔 확신이 없었지만, 이제 채팅이 심도 있는 토론의 전초가 될 수 있음을 이해했습니다'라고 느낄 수 있는 그런 것 말이죠.
이것은 채팅에 없는 사람들에게 가시성을 줄 수 있으며, 특히 주제가 질문으로 시작하는 경우 그렇습니다.
JammyDodger
적어도 그렇게 생각합니다. 무언가를 하기 전에 제 생각을 다시 확인해 보겠습니다.
너무 많은 것을 요구하고 있는 건 아닐까요
jimkleiber
하지만 아이러니하게도 저는 여기서 답변하고 있네요 lol
RGJ
하지만 그게 내가 나이가 많아서일 수도 있겠죠
JammyDodger
방금 그 생각을 하고 있었습니다. 적절한 채팅 채널이 없어서每个人的 채팅을 답변으로 만드는 주제를 somehow 만들 수 있는지 고민하고 있었습니다. 하지만 이제 당신이 만든 것을 보니, 그것 자체로 채팅 채널을 가질 수 있고, 이 대화를 거기로 옮길 수 있겠네요
jimkleiber
아 네, 마치 새로운 채팅 채널을 생성할 주제를 만드는 것과 비슷하네요.
JammyDodger
그러니까 @RGJ의 마음을 바꾸는 데 도움이 될 예시를 찾고 있는 거죠
jimkleiber
그리고 그 주제는 채팅에서 가져온 하이라이트 인용문들로 채워질 수 있습니다.
Moin
여기의 예시를 좋아합니다. 하지만 그 예시는 여기에 적합하지 않습니다. 어쩌면 주제는 지금은 누락된 기능에 관한 것이어야 할지도 모릅니다. 예를 들어, 비슷한 기능 요청이 있는지 확인할 시간이 없거나, 다른 사람들도 그 주제에 관심이 없을 것 같아 주제를 시작하지 않는 그런 것 말입니다.
그렇게 해줘서 고마워 – 완전히 엉망이 되어 있잖아! 더 큰 메시지 세트에 대해 로컬 테스트를 해봐야 할 것 같아. 최소한 이것만큼은 필요할 것 같아:
하지만 ID로 정렬하는 것에 대해 일반적으로 불안한 마음이 있어. 이상한 불일치 문제 때문이야. 채널에 대해선 일반적으로 메시지를 created_at 기준으로 정렬하는 것이 더 낫다고 생각해. @j.jaffeux 또는 @mcwumbly, 이 문제에 대해 어떻게 생각하니? 만약 그렇게 결정하게 되면, 일관된 정렬을 위해 메시지 이동기가 created_at 값을 각 10ms씩 인위적으로 간격을 두도록 조정해야 할 수도 있어.
일반적으로 현재 채널과 전혀 관련이 없는 내용이라면 더 적절한 채널로 이동하는 것이 더 낫다고 생각해. 우리가 이전에 Mattermost를 사용할 때 내부적으로 이 기능을 여러 번 사용했었어. 예를 들어, general 채널에서 이루어진 일련의 인시던트 대응은 기록 관리를 위해 incident 채널로 이동해야 하는 경우야. 또는 random 채널에 있는 것이 더 적합한 채널에서의 유휴한 수다 같은 경우지.
그런 경우들에 인용을 하고 오래된 잔재(구체적인 내용은 남아있는 상태)를 그대로 두는 것은 아무런 가치가 없다고 생각해. 그리고 Moin이 말했듯이, 토론이 두 가지 다른 곳에서 계속될 수 있어 혼란을 야기할 수 있어.
이 두 옵션은 현재 존재하지 않는다는 점을 명심해. “토픽으로 이동” 기능을 제거한 이유는 초기 구현에서 채팅 메시지마다 하나의 게시물을 생성했고, 또한 채널의 원본 메시지를 삭제하지 않았기 때문이야. 미래에 이 기능을 다시 만들기를 원한다면 다음 사항이 필요해:
주제 이동(Move to Topic)을 선택하는 경우에만 이러한 일이 발생합니다. 이동하려는 의도라면 채널에 내용을 남겨둘 이유가 무엇일까요? 이 문제에 대해 내부적으로 이미 몇 가지 논의가 있었습니다. 물론, 단순히 메시지를 주제로 인용하는 것만으로는 아무것도 삭제되지 않습니다.
흥미로운 사실 하나를 알려드릴게요. 인용을 생성하는 클래스가 실제로 ChatTranscriptService라고 이름이 붙어 있습니다.
흥미롭네요. 실제로 우리 주제 인용 기능에 이와 유사한 기능이 있습니다(이미 보셨을 수도 있습니다). 채널을 실제로 방문하지 않고도 약간의 추가 컨텍스트를 얻는 것이 유용할 것입니다.
네, sam과 나도 100% 동의해요😁 모든 것을 한 번에 이동하고, 이동 시점의 created_at 값을 부여하는 것이 IMO 유일한 합리적인 방법이에요. 그렇지 않으면 끝없는 골칫거리가 기다리고 있어요… 어디서 찾아야 하는지 어떻게 알죠? 마지막 읽은 시점 이전에 생성된 항목에 대해 읽지 않은 알림을 받는 건가요? 아니요, 아니요, 아니요