Add back real-time list of people viewing thread?



  • Hi there!

    I have been an enormous fan of NodeBB since discovering it in April 2014. We used it to power our forums for our free math+science learning site, and we appreciate your listing Expii on your front page of companies using your software!

    I just installed the fresh NodeBB (1.3.0), and I am amazed by how great it is. There is even a plugin to support math input, which is was a major feature request for our community! The whole forum looks extremely well-designed and professional, and it feels smooth. Congratulations on some great work!

    I noticed that one feature had been taken out: the real-time list of people viewing the thread you were looking at. I found a discussion thread about this from the beginning of this year:
    https://community.nodebb.org/topic/7880/what-happened-with-the-users-viewing-a-topic-feature

    Do you have any plans to release a plugin which would bring this back? Back when I was choosing our forum platform (April 2014), that was the feature which really got me super-excited about NodeBB. Unlike all other forum systems, this one felt like you were actually among people, and not just interacting with a website.

    Our upcoming use case would make this particularly valuable. We are a community-built learning website, in the sense that all of the content is user-generated, and shared via the Creative Commons License. There are communities around the world which would be interested in collaborating on this project, and I think that the real-time feature would really help to bring all of us together. (One upcoming feature will focus on the enthusiast teacher community, and I believe that the real-time community would deliver something for them that they do not have similar access to today.)

    We're completing an overhaul of design site-wide, and are looking forward to a re-launch of our forum, where it will be properly linked to from various parts of our site. (A previous design update had taken out many of the links while concentrating on polishing the core product, but now we're ready to integrate deeply with community features.)

    Thank you for your great work. Our platform is expanding in usage, and I would be thrilled to introduce the community of learners and educators to NodeBB as the next-generation community platform. 🙂


  • Community Rep

    It is being worked on! 👍


  • Admin

    The way we did that was not scalable at all and had many issues when there were hundreds of people viewing a single thread.

    I started a plugin for it https://github.com/barisusakli/nodebb-plugin-browsing-users. Waiting on a PR to be merged in to socket.io-redis so I can complete it.

    https://github.com/socketio/socket.io-redis/pull/146



  • Wow, you guys are so fast at replying. Thank you for letting me know where the status is. Do you know how long it typically takes for a PR like that to be merged into socket.io-redis? I see that there are 11 open PR's right now, some of which are quite old. Is there anything I can do to help accelerate the process, e.g., by commenting to show that more people find this helpful?

    After the PR merges in, when might you estimate to finish the plugin? (Also, would I need to upgrade NodeBB to a development or testing branch, or would it work with a stable release like v1.3.0?) I'm asking because I'm trying to gauge whether to inform this potential community of enthusiast educators that this will likely be released soon. They're trying to decide on which platform to use for their collaboration to organize educational material around a new set of learning standards, and I would like to propose for them to try using NodeBB + Expii instead of their existing combination of Twitter + Discussion Groups + Shared Documents.

    I think that the real-time features would push this over the tipping point, as there are very few other systems with the same real sense of community. I remember how wowed I was when I first saw it myself, and I would be thrilled to introduce more and more groups to your platform technology.


  • Admin

    Definitely. It was one of my favourite features as well, and if we had it, we would definitely bundle it with every install again (provided it doesn't raise server-side resource usage too much!)



  • Thank you for your quick reply, and for sharing your opinion on the feature. It really helps my confidence to know that you value it highly. I think that it can fundamentally transform the landscape of several communities with which I am now working. I will tell them that it's coming back soon, and even speak of it as a feature to count on.

    Speaking of real-time, your system certainly works well in notifying me that there was a response to this thread. It is so neat to sense that a community is alive. 🙂


  • Admin



  • Hooray! 🙂

    Thanks for letting me know! Over the weekend, we have attracted a number of groups who are looking at our NodeBB-powered forum with significant interest. The feedback has been uniformly enthusiastic, and people have not seen anything like this before!

    Will this plugin be compatible with NodeBB v1.3.0, or will we need to wait for the next release? I will install it as soon as it becomes available and stable, as I think it is immensely impactful.

    Thank you for working on this!


  • Admin

    @po The pull request was for a dependency that NodeBB relies on, so it will need to be updated on our end, and would be released in the next version of NodeBB (or the one after, if we release a version today)



  • Thanks for your quick reply! I had not been following your release schedule closely. When might you anticipate that release happening? I don't mean to rush you, and will use that information to decide when to inform our groups. 🙂


  • Admin

    How soon this can be done really depends on the champion for the feature, @baris 😆


  • Admin

    This is blocked until I can figure out the issues with the socket.io dependencies. https://github.com/socketio/socket.io-redis/pull/155



  • Thanks @baris for working on this!



  • Hi guys! I have been out working on other aspects of Expii for several months, and am coming back to our NodeBB installation. Time to upgrade to your new versions. 🙂

    I am curious: how far along is the support for real time display of users viewing the same thread as you?


  • Admin

    Hey @baris, that upstream PR was merged last month :trollface:


  • Admin

    Ok published 1.0.1 of the plugin, you need to pair it up with the develop branch or wait for 1.5.0. There will be a browsingUsers array in the topic route so you can modify your template and add the list of users with the below template.

    <!-- BEGIN browsingUsers -->
    <li data-uid="{browsingUsers.uid}">
    	<a href="{config.relative_path}/user/{browsingUsers.userslug}">
    		<!-- IF browsingUsers.picture -->
    		<img src="{browsingUsers.picture}" />
    		<!-- ELSE -->
    		<div class="user-icon" style="background-color: {browsingUsers.icon:bgColor};">{browsingUsers.icon:text}</div>
    		<!-- ENDIF browsingUsers.picture -->
    	</a>
    </li>
    <!-- END browsingUsers -->
    


  • Great! I'll wait until 1.5.0.

    Also, as I was watching this thread with my browser open, I noticed that it didn't auto-refresh when there was a new reply. I remember the old version used to do that in real time whenever someone replied and your browser window was open. Will that feature come back too?


  • Admin

    It may be that your session disconnected from real-time after being idle (another resource-saving measure) 😄



  • Oh, I see! And I just saw your reply appear. 🙂


Log in to reply
 


Star

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.