커뮤니티 네트워크 시각화

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

: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개의 좋아요

Very cool! This isn’t exactly the same thing, but it reminds me of a study I read about a few years back:

8개의 좋아요

Oh nice find, I wonder if it will drive any engagement? … Same presumably might be said of Discourse Who's Online? :+1:

You know that gives me another idea: you could put “halos” around nodes that were online perhaps leveraging that plugin if available …

3개의 좋아요

Thanks for this, just installed for an educational community where I’m still trying to budge up the participating level. We get lots of signups for event related activities, but it goes too quiet in between.

I set Minimum Trust level to “2” to show the more active users w/o a lot of noise.

3개의 좋아요

It could be helpful to have an option or view of the tabular representation of the data.

1개의 좋아요

My intention with this was just to paint a picture.

if you want to see the data, just go to yoursite.com//usernetworkvis.json

In any case, in individual cases, you can see much of this data on each users summary page by clicking on a node (Most replied to, Most liked/liked by).

3개의 좋아요

And it’s painting beautifully. Users of plugin always want more, we can dream. Thanks for the link to the json.

2개의 좋아요

You might also be able to adapt the SQL in the query relatively easily and run it in the Data Explorer:

1개의 좋아요

My users love it. Hopefully it incites them a bit more :wink:

But one small miss there is: I can’t translate text User Network in hamburger.

2개의 좋아요

I am sooooo installing this with my next maintenance run.

Thank you @merefield :slight_smile:

2개의 좋아요

My bad! I’ll add localisation support soon.

1개의 좋아요

No problem, take your time. That is not that big issue.

But now I/we/you have a panic situation. That hamburger links doesn’t show at all in mobiles.

1개의 좋아요

That plugin is super cool, thank you very much @merefield

3개의 좋아요

That’s done:

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

2개의 좋아요

Should now be compatible with an Ember CLI’d Discourse: COMPATIBILITY: fix settings ref for ember cli · merefield/discourse-user-network-vis@c87f1be (github.com)

3개의 좋아요

Hey Robert. Why did you do

  var _this = this;

Is that because somewhere you call something inside of that scope and then this is for the thing inside and you need to get out to the this of the parent?

1개의 좋아요

It’s because the this object reference changes during the async call so no longer points to the same thing.

1개의 좋아요

Really like the visualisation! And would love to make it accessible with a whole community, not only for admins. Maybe optionally linked like the user map in the user directory?

Also, I’d like the option to switch to names, in difference to usernames, to be displayed.

Thanks a lot for the work!

It already is open to the community. Admin not required. Current link should appear for all users.

Good idea! PR with option accepted.

2개의 좋아요

Link yes, but the map itself is just blank when used mobiles.

If that is feature, should the hamburger link be hidden when a user uses smaller screen?