Go Back   vb.org Archive > vBulletin Modifications > vBulletin 5.x Modifications > vBulletin 5.x Products & Extensions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Duckways: Shoutbox | Realtime using NodeJS & Socket.io Details »»
Duckways: Shoutbox | Realtime using NodeJS & Socket.io
Version: 1.0.1, by Jorandh Jorandh is offline
Developer Last Online: Oct 2022 Show Printable Version Email this Page

Category: Add-On Releases - Version: 5.4.x Rating:
Released: 08-07-2018 Last Update: 08-10-2018 Installs: 12
DB Changes Uses Plugins Auto-Templates
Additional Files Is in Beta Stage  
No support by the author.


Duckways: Shoutbox | Realtime using NodeJS & Socket.io



What is this mod all about?

A lot of forums come with a shoutbox. However, we've seen so many resource eating shoutbox versions that we thought it would be cool to release one based on NodeJS and Socket.io.
This shoutbox does not refresh it's content every X seconds for every user. Instead, it pushes the new message to all users using a websocket. Blazing fast with less resource consumption.

(!!) To use this plugin you need to have NodeJS/NPM installed on your webserver. This requires some server knowledge, so if you can't do it yourself please contact your hosting company or use our installation service (Email us at quack@duckways.com).(!!)

(!!) We now also offer a hosted node version, which you can run right away without installing anything server-side. This comes at the price of $4,95 a month. Contact us on quack@duckways.com for more info or to buy.(!!)



Features free version
- Parses bbcode/smiley's
- Set usergroup permissions to view the shoutbox
- Set usergroup permissions to post in the shoutbox
- Users can edit their own shouts

Features pro version
- Parses bbcode/smiley's
- Set amount of shouts to display
- Set usergroup permissions to view the shoutbox
- Set usergroup permissions to post in the shoutbox
- Set usergroup permissions to edit shouts (moderator)
- Set usergroup permissions to delete shouts (moderator)
- Users can edit their own shouts
- Shoutbox archive in AdminCP to read back (including deleted shouts & who deleted them!)



Buy the pro version

About Duckways

We're a company with a team of developers who have been working a lot on a vBulletin 4 system for two of our customers. The largest one with over 200,000 users and 4 million posts.
This one migrated to vBulletin 5 recently and we've faced quite some issues in vBulletin 5 which we'll fix by writing custom modifications. Some of those, which are worth sharing, will be added here on vBulletin.org. If you're missing a feature or add-on, please feel free to contact us.



How to install:
  1. Upload all files from the "upload" folder to your forums directory.
  2. Log in on SSH and navigate to the folder {forumroot}/core/packages/duckwaysshout/node
  3. Run the command "npm install" (Make sure you have NodeJS / NPM installed on your server!
  4. Start your node server using the command "node server.js", it should now start listening on the port that is set in the server.js file. Please make sure your firewall doesn't block this port. If you want to keep the server running while you leave the terminal, please use one of the many solutions written on StackOverflow:
  5. In AdminCP -> Plugins & Products -> Manage Products -> Add/Import Product in the "OR import the XML file from your server" and fill in: ./core/packages/duckwaysshout/xml/product_duckwaysshout.xml
  6. Go change every usergroup you have and set the permissions for the shoutbox.
  7. Final step: Go to your homepage and open de website editor. You'll find a new widget you can drag onto your page: Duckways Shoutbox. Save the page after you gave the shoutbox a nice spot and you're ready to go!



Version history
  • 1.0.0 - BETA release
  • 1.0.1 - Fixed a few bugs, updated node and changed ports. Added setting for socket URL. Added new features in PRO version.



Support

Please use this thread to ask questions or to report bugs. PRO version users can email us at quack@duckways.com for quick support.

Download Now

File Type: zip DuckwaysShoutbox-free_version-100.zip (1.47 MB, 72 views)
File Type: zip DuckwaysShoutbox-free_version-101.zip (86.2 KB, 167 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 08-10-2018, 11:49 AM
In Omnibus's Avatar
In Omnibus In Omnibus is offline
 
Join Date: Apr 2010
Location: Inside A Blade Server
Posts: 840
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Jorandh View Post
Thats weird, refresh button is only there as a backup. Socketio is shooting a realtime push to all users with the websocket. Sounds like your port isn't listening right for your socket.

Please check your console in the browser on the page where it shows the shoutbox, or hit me up with an URL so I can check it for you

Edit function should work too- make sure you set the permissions for all usergroups (Go to usergroups, click edit behind the group and find the permissions on the edit page).
I have the permissions set correctly and the Web Console isn't showing any errors.
After clicking "Enter" or "Shout" the shoutbox is still white. After clicking "Refresh" the shout appears. Editing doesn't work at all. It simply re-posts the original shout. Again, no error in the console. I'm going to try changing the port first. I'll let you know what happens.
Reply With Quote
  #13  
Old 08-10-2018, 05:58 PM
Jorandh's Avatar
Jorandh Jorandh is offline
 
Join Date: Jan 2015
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by In Omnibus View Post
I have the permissions set correctly and the Web Console isn't showing any errors.
After clicking "Enter" or "Shout" the shoutbox is still white. After clicking "Refresh" the shout appears. Editing doesn't work at all. It simply re-posts the original shout. Again, no error in the console. I'm going to try changing the port first. I'll let you know what happens.
Thanks, let me know how it goes! I just did a fresh install of the plugin on a brand new vBulletin v5.3.4 setup and it worked right away as is should. Maybe try removing the folder 'node_modules' in core/packages/duckwaysshout/node and then run 'npm install' again from the same location.

Happy to help if it doesn't work out for you. Just leave me the details in a PM or on quack@duckways.com!
Reply With Quote
  #14  
Old 08-10-2018, 08:35 PM
Jorandh's Avatar
Jorandh Jorandh is offline
 
Join Date: Jan 2015
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

We just set up a demo here: https://vbulletin.duckways.com/forums/

Demo user 1:
username: demo1
password: DemoUser1!

Demo user 2:
username: demo2
password: DemoUser2!

Demo user 2 has moderation permissions (edit and delete shouts made by others).




We just updated a few components and will upload release 1.0.1 soon.
Reply With Quote
  #15  
Old 08-10-2018, 09:18 PM
Jorandh's Avatar
Jorandh Jorandh is offline
 
Join Date: Jan 2015
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Version 1.0.1 uploaded. This should fix issues like @In Omnibus reported and added some new settings.
Reply With Quote
  #16  
Old 08-11-2018, 04:49 AM
Fleiding's Avatar
Fleiding Fleiding is offline
 
Join Date: Jan 2012
Location: The Netherlands
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Jorandh View Post
We just set up a demo here: https://vbulletin.duckways.com/forums/
I have to click Refresh every time I posted, edited, and deleted a message.

Safari is showing the following errors in the console:
Code:
[Error] Blocked a frame with origin "https://staticxx.facebook.com" from accessing a frame with origin "https://vbulletin.duckways.com". Protocols, domains, and ports must match.
	Global Code (web_rtc_wrapper.js:260)
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969951664-0 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969953124-1 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969955157-2 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969958179-3 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969962203-4 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969967232-5 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969972253-6 due to access control checks.
I'm still working with my host to get all the required items installed at my web server, because the same thing is happening now on my forum at the moment.

Edit: Is it possible to display new messages on top?
Reply With Quote
  #17  
Old 08-11-2018, 09:27 AM
Jorandh's Avatar
Jorandh Jorandh is offline
 
Join Date: Jan 2015
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Fleiding View Post
I have to click Refresh every time I posted, edited, and deleted a message.

Safari is showing the following errors in the console:
Code:
[Error] Blocked a frame with origin "https://staticxx.facebook.com" from accessing a frame with origin "https://vbulletin.duckways.com". Protocols, domains, and ports must match.
	Global Code (web_rtc_wrapper.js:260)
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969951664-0 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969953124-1 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969955157-2 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969958179-3 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969962203-4 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969967232-5 due to access control checks.
[Error] Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin https://vbulletin.duckways.com is not allowed by Access-Control-Allow-Origin. (socket.io, line 0)
[Error] XMLHttpRequest cannot load https://vbulletin.duckways.com:2096/socket.io/?r_var=1&EIO=3&transport=polling&t=1533969972253-6 due to access control checks.
I'm still working with my host to get all the required items installed at my web server, because the same thing is happening now on my forum at the moment.

Edit: Is it possible to display new messages on top?
Sorry, our server.js wasn't running. I just set it to permanent run using screen. It should now work as aspected.


You should go to the folder "core/packages/duckwaysshout/node/", run "npm install" and then run "node server.js". If you run your website using ssl, please edit server.js to use the SSL certs.
Reply With Quote
  #18  
Old 08-11-2018, 09:59 AM
Fleiding's Avatar
Fleiding Fleiding is offline
 
Join Date: Jan 2012
Location: The Netherlands
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

After running the command "npm install" I get the following in my terminal:
Code:
npm WARN package.json socket-chat@0.0.1 No repository field.
npm WARN package.json socket-chat@0.0.1 No README data
npm WARN package.json callsite@1.0.0 No repository field.
npm WARN package.json has-binary@0.1.7 No repository field.
npm WARN package.json indexof@0.0.1 No repository field.
npm WARN package.json object-component@0.0.3 No repository field.
Quote:
Originally Posted by Jorandh View Post
Sorry, our server.js wasn't running. I just set it to permanent run using screen. It should now work as aspected.
It does!

Quote:
Originally Posted by Jorandh View Post
If you run your website using ssl, please edit server.js to use the SSL certs.
I edited server.js and have it running successfully but my console is telling me:
Code:
[Error] Failed to load resource: the server responded with a status of 404 () (socket.io, line 0)
Reply With Quote
  #19  
Old 08-11-2018, 05:14 PM
Jorandh's Avatar
Jorandh Jorandh is offline
 
Join Date: Jan 2015
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Fleiding View Post
After running the command "npm install" I get the following in my terminal:
Code:
npm WARN package.json socket-chat@0.0.1 No repository field.
npm WARN package.json socket-chat@0.0.1 No README data
npm WARN package.json callsite@1.0.0 No repository field.
npm WARN package.json has-binary@0.1.7 No repository field.
npm WARN package.json indexof@0.0.1 No repository field.
npm WARN package.json object-component@0.0.3 No repository field.

It does!


I edited server.js and have it running successfully but my console is telling me:
Code:
[Error] Failed to load resource: the server responded with a status of 404 () (socket.io, line 0)
The last error in your console basically tells you that it wasn't able to connect to socketio. Please make sure you're using the plugin version 1.0.1 which has been added to the first post AND that the port (default now is 2096) is allowed in your firewall If not, make sure to add it!
Reply With Quote
  #20  
Old 05-21-2019, 07:37 AM
voyger voyger is offline
 
Join Date: Sep 2017
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Jorandh View Post
We just set up a demo here: https://vbulletin.duckways.com/forums/

Demo user 1:
username: demo1
password: DemoUser1!

Demo user 2:
username: demo2
password: DemoUser2!

Demo user 2 has moderation permissions (edit and delete shouts made by others).
We just updated a few components and will upload release 1.0.1 soon.
hi I am interested on the shoutbox i register to your demo forum
testing the soutbox how can add smile on my shout,should be a button to select smile?
Reply With Quote
  #21  
Old 05-23-2019, 03:24 PM
voyger voyger is offline
 
Join Date: Sep 2017
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

bought and install the shoutbox on my test forum look is working very well
the only snag haven't the auto refresh , is there any chance to implement on near future

thanks for the nice job
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:49 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05329 seconds
  • Memory Usage 2,371KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_code
  • (8)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete