Add-on Integration for Candy Chat (open source JavaScript-based multi-user chat client)

adin

Active member
Something to integrate into the XF admin panel, use user logins, etc.

Since this is F/OSS (MIT license) and uses a jabber server, there's all kinds of opportunities for growth and customization.

Home page: http://candy-chat.github.io/candy/ (demo on the home page)
Github home page: https://github.com/candy-chat/candy...ail&utm_term=daily&utm_campaign=explore-email
Candy plugin repository: http://github.com/candy-chat/candy-plugins
API documentation: http://candy-chat.github.io/candy/docs/

I'd even take an official addon, like elastic search & the resource manager ;)
 
Last edited:
Something to integrate into the XF admin panel, use user logins, etc.
What integration do you exactly mean? Some thoughts:
  1. Should user emails be exposed like normally on Jabber? Members could see this as a privacy breach.
  2. Should there be XF usergroup permissions? It could get messy if guests, discouraged members, banned members are allowed to chat. Candy is used for up to 400 concurrent users. Mind that if there are no usergroup permissions this could mean anyone who is on your website including guests. With a lot of chat software this means any user that loads the chat. Not necessarily entering the chat itself.
  3. Should there be chat rooms and p2p chat/private chat?
  4. Should everyone be able to chat with everyone or only friends?
  5. Do you want integration between XF conversations and private chat? Just like on Facebook.
  6. Do you need integration with the report center so that members can report abusive chats to the staff? In my experience this is vital, due to the dynamic nature of chat. Without good moderation tools chat can quickly turn into a drama pit.
  7. Do you need integration of ban function with XF warnings?
  8. Do you want XF styling integration?
  9. Do you want it in a bd widget as a chatbox or do you want a facebook like footer bar?
  10. Should members be able to turn the chat off from within their settings?
 
What integration do you exactly mean? Some thoughts:
  1. Should user emails be exposed like normally on Jabber? Members could see this as a privacy breach.
  2. Should there be XF usergroup permissions? It could get messy if guests, discouraged members, banned members are allowed to chat. Candy is used for up to 400 concurrent users. Mind that if there are no usergroup permissions this could mean anyone who is on your website including guests. With a lot of chat software this means any user that loads the chat. Not necessarily entering the chat itself.
  3. Should there be chat rooms and p2p chat/private chat?
  4. Should everyone be able to chat with everyone or only friends?
  5. Do you want integration between XF conversations and private chat? Just like on Facebook.
  6. Do you need integration with the report center so that members can report abusive chats to the staff? In my experience this is vital, due to the dynamic nature of chat. Without good moderation tools chat can quickly turn into a drama pit.
  7. Do you need integration of ban function with XF warnings?
  8. Do you want XF styling integration?
  9. Do you want it in a bd widget as a chatbox or do you want a facebook like footer bar?
  10. Should members be able to turn the chat off from within their settings?
These answers are for our particular use case (which is to get close to how envolve is supposed to work), but with that disclaimer:
1. No
2. Yes (we've had envolve enabled for everyone as well as just logged in users. With one exception of a ticked off former member, open to the world worked very well except that with envolve's user based pricing we would hit our user limit)
3. Yes
4. Everyone. By default you'd have a default single 'room' that everyone would chat in
5. This would be awesome, but it feels like this would be kind of hard to do correctly. if someone did Tim it would be great, but I'd put this as a stretch goal.
6. Yes, yes, yes. Or some sort of system on its own. In envolve we had to have chat moderators, this did work well for 'training' new forum moderator volunteers.
7. Would be nice, or could have its own equivalent system (see 6)
8. Again, would be nice. But (at least initially) I'd put this requirement at a slightly lower priority
9. For us, footer bar. Though I could see this being different between users. In our experience, use level is night and day between a widget/on its own page and in a footer bar. (Much, much higher with a footer bar presented to everyone). We wrapped a conditional so that it wasn't shown to certain user groups.
10. Yes. Thoug we haven't seen this used much. With envolve if you didn't 'open' the chat, you just saw a minimized title bar. We can show how it works.

I'm really, really happy this attracted your attention—I wasn't going to put in a lot of time on requirements unless it interested someone. We're more than happy to help cover some dev costs if it means we can be a part of the dev cycle. If anyone would like to see how chat works now for us (Envolve is currently our chat system, and while it works fairly well for our use case, its monthly fees and its probable future sunsetting mean that we have to find something else) let me know and I'll set up an account for you at phoenix rising. Or you can just go to envolve.com and try it out.
 
Maybe if @ArrowSuites is willing to add some features to their software, ArrowChat could be suited for your needs.
So far, PHP based chat systems like cometchat and Arrowchat haven't worked well for our membership. That's part of what is so exciting about someone using a jabber backend to bring one of these chat systems up to speed...with an integration layer it should be a perfect mix.
 
So far, PHP based chat systems like cometchat and Arrowchat haven't worked well for our membership. That's part of what is so exciting about someone using a jabber backend to bring one of these chat systems up to speed...with an integration layer it should be a perfect mix.
I fully concur on that sentiment. php based chat systems make me want to eat my desk from utter frustration.
Also check out this one: http://www.igniterealtime.org/projects/openfire/
 
I fully concur on that sentiment. php based chat systems make me want to eat my desk from utter frustration.
Also check out this one: http://www.igniterealtime.org/projects/openfire/
I really like open fire, though I think it's going in a little different direction—they seem to be doing a lot with video to a 'traditional' jabber/xmpp server-something to keep an eye on, for sure!

Ah, hopefully PHP based chat will be dead soon! ;)
 
So I've been reading up on this for a few hours now. @Alfa1 linked me here when I asked a similar question.

I'm thinking about tackline this with my own solution. Here's what I have so far as a concept:

  1. Run ejabberd (OpenFire = Java = not going on any server I control)
  2. Install the XenForo REST API addon
  3. Modify one of the existing ejabberd external auth scripts to work with the REST API addon: (I'm not a PHP dev, but I can usually hit it with a hammer and make it work) http://www.ejabberd.im/extauth http://xenforo.com/community/resources/xenapi-xenforo-rest-api.902/
  4. Install Candy Chat as the front-end
  5. Extend Candy Chat to get login info from session as such: http://xenforo.com/community/threads/how-does-login-integration-work-with-xenforo.23799/

The only problem I'm seeing initially is the REST API doesn't seem to have any session support and I can't pass a user's password to the XMPP server via session data. That may require some sort of workaround.

That should give basic XMPP auth integration to Candy Chat.
 
Would love an integration with candy-chat.. would make a great addition to allow my forum users to connect to my own xmpp server!
 
Top Bottom