커뮤니티 네트워크 시각화

요약: 사용자 네트워크 시각화

:link: GitHub: https://github.com/merefield/discourse-user-network-vis GitHub - merefield/discourse-user-network-vis: A plugin that creates a User Network Visualisation to show social links between users · GitHub

:arrow_right: 설치: 플러그인 설치 가이드를 따르세요.

기능

커뮤니티를 네트워크 시각화로 표현합니다

자동으로 추가되는 메뉴 항목을 통해 접근할 수 있습니다 (비활성화 가능):

사이드바/드롭다운 메뉴에서 User Network를 클릭하거나 yoursite.com/usernetworkvis로 이동하여 접근할 수 있습니다 - 참고: 시각화를 보려면 등록된 사용자로 로그인되어 있어야 합니다.

  • 노드는 사용자를 나타냅니다.

  • 링크는 포럼에서의 상호작용을 나타냅니다 - 상호작용이 많을수록 선이 두꺼워집니다

    • 상호작용은 '좋아요’와 '답글’의 조합입니다 (이것은 모든 사용자에게 공개된 개인 요약 프로필 페이지에 있는 데이터와 정확히 동일합니다)
  • 호버: 사용자를 마우스로 가리키면 해당 사용자와 연결된 노드들을 시각적으로 분리하여 볼 수 있습니다

  • 클릭: 노드를 클릭하면 해당 사용자의 요약 프로필로 이동합니다.

  • 드래그: 노드를 끌어다 놓으며 변화를 지켜보세요 :game_die:

  • 확대/축소: 마우스 휠을 사용하여 전체 뷰를 확대/축소할 수 있습니다.

:warning: 현재 신뢰 수준(Trust level)은 서로 다른 색상으로 표시됩니다. 이 기능을 원하지 않는다면 동일한 색상을 여러 번 설정하세요. 색상을 설정할 다른 기준을 찾을 수 있지만, 매우 범용적이고 직관적이었기 때문에 현재는 이 방식을 사용하고 있습니다 :warning:

데이터를 새로고침하려면 작업을 트리거하세요. 설정 변경 후 이 작업이 필요할 수 있습니다 (필요한 항목은 표시해 두었습니다):

다음 경로로 이동하여 해당 작업을 찾으세요: https://your.site/sidekiq/scheduler

그렇지 않으면 이 작업은 매시간 실행됩니다.

:warning: 사용자가 10,000명 이상이라면 이 작업이 오래 실행되고 리소스를 많이 차지할 수 있습니다. 2코어 2GB VPS에서 5,000개 계정의 사이트에서는 약 30초 정도 걸리며 정상적으로 작동하는 것으로 보입니다. SQL 쿼리는 필연적으로 무겁습니다(BRUTAL) :warning:

데이터에 관심이 있으신가요?

이 플러그인을 만든 의도는 단순히 그림을 그리는 것이었습니다.

데이터를 확인하려면 yoursite.com/usernetworkvis.json으로 이동하세요.

어쨌든, 개별적인 경우 노드를 클릭하여 각 사용자의 요약 페이지에서 이 데이터의 상당 부분을 확인할 수 있습니다 (가장 많이 답글 달린, 가장 많이 좋아요 받은/좋아요 준). 따라서 이를 반공개 정보라고 생각합니다.

설정

설정 … 정말 … 많은 … 설정들이 있습니다:

많은 사용자가 있는 대규모 사이트라면 다이어그램이 매우 복잡하게 보일 것입니다. 최소 신뢰 수준(minimum trust level)을 높이고, x년 동안 활동하지 않은 사용자를 제거하는 옵션을 고려해 보세요:

할 일(TODO)

  • 메뉴 항목은 로컬라이제이션(현지화)을 지원하지만, 아직 아무도 로컬라이제이션 PR을 보내지 않았다면, 그렇게 하거나 그렇지 않으면 키 코드로 남게 될 것입니다 …

크레딧

시각화는 훌륭한 d3 라이브러리를 기반으로 합니다

유사한 프로젝트

이 플러그인이 마음에 든다면 다음도 좋아할 수 있습니다:

46개의 좋아요

정말 멋지네요! 정확히 같은 내용은 아니지만, 몇 년 전에 읽은 연구가 떠올랐습니다:

8개의 좋아요

오, 좋은 발견이네요. 이게 참여도에 어떤 영향을 미칠지 궁금하네요. … 아마도 Discourse Who's Online? 에 대해서도 비슷한 말을 할 수 있겠죠. :+1:

그 말이 또 다른 아이디어를 떠올리게 하네요. 혹시 해당 플러그인이 사용 가능하면, 온라인 상태인 노드 주위에 “헤일로”(광채) 효과를 추가하는 건 어떨까요 …

3개의 좋아요

감사합니다. 아직 참여도를 끌어올리는 데 애쓰고 있는 교육 커뮤니티에 방금 설치했습니다. 이벤트 관련 활동에는 가입자가 많지만, 그 사이에는 너무 조용해집니다.

최소 신뢰도를 "2"로 설정하여, 많은 노이즈 없이 더 활발한 사용자들을 표시하도록 했습니다.

3개의 좋아요

데이터의 표 형식 표현에 대한 옵션이나 뷰를 제공하면 유용할 수 있습니다.

1개의 좋아요

이번 글의 의도는 단순히 상황을 그려드리기 위해서였습니다.

데이터를 확인하고 싶으시다면 yoursite.com//usernetworkvis.json으로 이동하시면 됩니다.

어쨌든 개별적으로도 각 사용자의 요약 페이지에서 노드(가장 많이 답장 받은, 가장 많이 좋아함/좋아함으로)를 클릭하면 이 데이터의 상당 부분을 볼 수 있습니다.

3개의 좋아요

그리고 아름답게 페인팅되고 있습니다. 플러그인 사용자는 항상 더 많은 것을 원하죠, 우리는 꿈꿀 수 있습니다. json 링크를 공유해 주셔서 감사합니다.

2개의 좋아요

쿼리의 SQL을 비교적 쉽게 수정하여 Data Explorer에서 실행할 수도 있습니다:

1개의 좋아요

내 사용자들은 이 기능을 정말 좋아합니다.hopefully 좀 더 자극을 줄 수 있겠죠 :wink:

하지만 한 가지 작은 문제가 있습니다: 햄버거 메뉴의 ‘User Network’ 텍스트를 번역할 수 없어요.

2개의 좋아요

다음 유지보수 때 이거 무조건 설치할 거야.

@merefield 감사합니다 :slight_smile:

2개의 좋아요

실수했습니다! 곧 로컬라이제이션(현지화) 지원을 추가하겠습니다.

1개의 좋아요

괜찮아요, 천천히 하세요. 그건 그렇게 큰 문제가 아니에요.

하지만 지금은 좀 당황스러운 상황이 발생했어요. 햄버거 링크가 모바일에서 전혀 표시되지 않거든요.

1개의 좋아요

그 플러그인이 정말 최고네요, @merefield 감사합니다!

3개의 좋아요

완료되었습니다:

add localisation for menu entry · merefield/discourse-user-network-vis@c201b56 (github.com)

2개의 좋아요

이제 Ember CLI 기반 Discourse와 호환되어야 합니다: COMPATIBILITY: fix settings ref for ember cli · merefield/discourse-user-network-vis@c87f1be (github.com)

3개의 좋아요

로버트 씨, 왜 이렇게 했어요?

  var _this = this;

어딘가에서 그 스코프 안에서 무언가를 호출하는데, 그러면 this는 내부의 것을 가리키게 되잖아요. 그래서 부모의 this로 빠져나와야 하는 거예요?

1개의 좋아요

비동기 호출 중에 this 객체 참조가 변경되어 더 이상 동일한 것을 가리키지 않기 때문입니다.

1개의 좋아요

시각화 기능 정말 마음에 들어요! 관리자뿐 아니라 전체 커뮤니티가 접근할 수 있으면 좋겠어요. 사용자 디렉터리에서 사용자 맵처럼 선택적으로 연결하는 방식도 가능할까요?

또한, 사용자명 대신 이름을 표시할 수 있는 옵션도 있으면 좋겠습니다.

수고 많으셨어요!

이미 커뮤니티에 공개되어 있습니다. 관리자 권한이 필요하지 않습니다. 현재 링크는 모든 사용자에게 표시되어야 합니다.

좋은 아이디어입니다! 해당 옵션을 포함한 PR을 수락합니다.

2개의 좋아요

링크는 표시되지만, 모바일 기기를 사용하면 지도 자체는 단순히 빈 화면으로 보입니다.

이것이 의도된 기능이라면, 사용자가 더 작은 화면을 사용할 때 햄버거 링크를 숨기는 것이 맞나요?