Functionalities
JChatSocial Enterprise offers most advanced functionalities and technologies available nowadays to
communicate with other users through your Joomla! site. It's an extremely flexbile extension that can
be used for social purpouse but also as a live support tool. The integrated HTML5 peer-to-peer
videochat allows for high quality audio/video stream directly between users browsers, and today it
represents the most advanced solution that doesn't require any additional plugins, moreover the
Skype bridge can be used as a fallback for videocalls when HTML5 technology is not supported.
JChatSocial can work both with Joomla! logged in users and guest users, once installed on your
site, you can open whatever page of the frontend to use it, without the need of any additional
operations. By default the chat is active for logged in and guests users. Notice that being logged into
Joomla administration won't let you access the chat because Joomla manages frontend and
backend sessions separately.
Main key functionalities for JChatSocial Enterprise are:
• Peer-to-peer HTML5 videochat
• Ticketing system directly integrated
• Private messaging between registered users
• Advanced device notifications
• Social login integrating with Facebook, Google Plus and Twitter
• Guest users compatible
• Live support capable
• Skype bridge for Skype calls
• Videochat media recorder
• Instant Language Translator, to translate your messages when delivered to the other party
• Private uset-to-user chat and public chat mode also supporting chatrooms
• Multiple chatrooms
• Form based chat join and auto activation
• Media objects support to exchange videos, images, iframes inside chat conversation
• Integration with social extensions like JomSocial and others
• Fully draggable and resizable chatboxes with minimize/maximize with 10 themes included
• File attachments exchange
• Private and public chat for multi users conversation
• Multiple chat templates and custom layout override
• Messages history for private and public chat
• Rendering in custom position using Joomla module
• Audio sounds for incoming messages
• Mobile devices support and responsive layout
• Responsive full-screen mode
• Avatars management
• Save/Delete/Export conversation
• Configurable Emoji preset with key shortcuts
• Realtime users search
• Server load fine tune for optimal performance
• Typing prevision
• Users access levels restriction

--------------------

Chat users
Chat users can be regular Joomla! logged in users but also guest users that visit the site. For guest
users a random numeric id is automatically generated and appended to the name prefix that you can
choose in JChatSocial settings. Moreover guest users will have an additional field in chat options to
choose and change their chat nickname. For logged in users this is done automatically based on
usernames or full names that belong to users as they are created into Joomla system.
You can also specify permissions for guest users, so that you can decide if guests can upload
avatars and exchange attachments. Guest users functionality is fundamental to use JChatSocial as
a live support tool. You can chat with every user that visits your site without need to login, and so
improve your customers marketing.
Peer-to-peer videochat
The most advanced technologies offered by all modern browsers and devices are been implemented
into JChatSocial Enterprise, making now possible having HD videochat sessions directly between
browsers and without additional plugins or Flash based solutions.
Having a direct peer-to-peer stream of data between 2 users make it possible having high quality and
low latency videochat, avoiding intermediate servers used only as a last resort.
Requirements and support
Support for peer-to-peer technology of course is required in order to use the peer-to-peer videochat
and an SSL certificate must be installed on the website to allow access to the webcam and mic for
security and privacy reasons. Currently it's offered by most modern browsers, at the time of writing
the peer-to-peer technology is supported by the following browsers:
Chrome version 23 and above supports HTML5 peer-to-peer technology (Chrome 47+ requires https)
Firefox version 22 and above supports HTML5 peer-to-peer technology
Opera version 18 and above supports HTML5 peer-to-peer technology
Currently the following browsers have still not implemented support for peer-to-peer technology:
Internet Explorer still lacks support for HTML5 peer-to-peer technology
Safari and mobile iOS devices still lack support for HTML5 peer-to-peer technology
More updated informations about the spreading support of peers connections for browsers can be
found at this official link: http://caniuse.com/#feat=rtcpeerconnection
NOTE: as stated by W3C specs for privacy and security reasons the HTTPS protocol is required in order to
allow access to the webcam and microphone. An SSL certificate must be installed on your website required to
grant access to the webcam and microphone for security and privacy reasons.
Fallback for not supported browsers
If a user that uses a not supported browser come to your site trying to use the videochat feature, a
fallback system will be showed by default, informing the user to update the browser. A good
alternative to communicate with users that can't use the peer-to-peer videochat is using the Skype
bridge to route videocalls to an external application such as Skype.

----------------------------

Videoconference
JChatSocial Enterprise includes an advanced view to manage a multi-user videoconference. The
max number of users in the same conference is dictated by many factors, mainly the hardware and
CPU capabilities of the PC used to connect. Having several video streamings can be a heavy
process for the CPU and may result in some video streaming not showing properly or PC slowing
down.
To access the videoconference view, you need to add a new menu item in your Joomla website
choosing the type JChatSocial Enterprise → Conference view.
You can manage it as a normal menu item in Joomla, moreover you have some extra parameters
that may result interesting to customize the behavior of the videoconference view.
• Enable calls chain: if the calls chain is enabled, all conference participants will be forced to
communicate each other automatically. For example when user A calls user B then calls user
C, user C will call automatically user B to close the circle and have all participants A-B-C
active in the conference
• Show search fields: allow to show/hide the users search field
• Hide the chat sidebar: if enabled the sidebar of the realtime chat will be hidden on this page
• Show maximize button: the videoconference window can be maximized to fullscreen
• Access for guests: allows or disallows the main access to the videoconference to users not
registered and logged in. Additional rules can be managed using the menu item access level.

--------------------------

Ticketing and live support
You can use JChatSocial as a live support tool, setting up user groups that will be the chat admins.
In this way all users that don't belong to selected groups (considered as customers) will be able to
use the chat to talk only with users that belong to selected groups (considered as chat admins).
On the contrary users that belong to selected groups (chat admins) will see all users inside chat
users list and will be able to offer live support to everyone that visits your site.
To activate live support mode you need only to select one or more usergroups assigned to the role
of chat admins from the dropdown available in the chat configuration under tab 'Ticketing and live
support'.
You can also choose to show a message when no chat admins are connected and available, so all
visitors will be able to contact you easily for example sending a message to your email address.
This can be done specifying the HTML code with a hyperlink to an email address that will open the
email client of users automatically to send you an email.

As a final common settings you will be probably interested to activate also the guest support to be
able to let all visitors of your site use the chat and talk with you as soon as landing on your site.
Using the more advanced form activation feature, you may choose to force a visitor to fill out a
simple form to join the chat, for example specifying an email address and placing a question.

Integrated ticketing system
You can do even more about the live support features and take full advantages of the ticketing
system. In this way the chat application will manage entirely the messages sent by users when no
agents are online to answer directly using the chat.
Using the ticketing system you will be able to access and manage all sent messages directly by
administration, and keep track of all the answers to a given quesion.
The first step to activate the ticketing system is to publish the tickets form that will be showed when
no agents are available in the chat to offer live assistance. Using the chat settings you can enable
the form and choose to receive an email notification every time a visitor submit a request.

------------------------------

Private messaging
JChatSocial integrates a private messaging client feature to exchange messages betweeen
registered users to the site, even when they are offline. They will be notified by an email when new
messages have been delivered, thus logging in to the site they will be able to answer.

The private messaging conversation uses an autoscroll feature to load older messages. When you
scroll the list at the top, oldest messages are automatically loaded if any, and appended to the
messages list. You can also click on the button 'Load older messages' at the top of the list to load
previous messages.
The number of messages loaded by default are set in the chat configuration by the parameter
'Default private messages'.
Users can also exchanges attachments inside the messaging system, when the other user will be
back and online, the file will be ready to be downloaded.
Messages to offline users are delivered by email using the email address used for the account
registration in your Joomla website:

----------

Skype bridge
If you need video call feature, JChatSocial integrates through a special bridge with Skype software.
This ensure top quality video chat started directly from inside JChatSocial. To use Skype call within
JChatSocial, users have only to specify and save their Skype ID in chat options field, and in users
list a skype icon will appear near their name. In this way it's enough a single click on Skype icon to
open Skype and start a video call to that user, using the Skype ID that he has specified.
NOTE: this functionality requires Skype software installed on users PC/device in order to be used.
When a video call is started it may be required permission to open Skype and start call, and this may
vary based on device and Skype platform.

Skype ID and Microsoft account
After Microsoft acquired Skype, there are 2 ways to login and use Skype software, no more limited
to the classic Skype ID, but directly using a Microsoft Live account, also if the Skype ID has not been
set and assigned to your user.
In this case, Microsoft assigns automatically a Skype ID for your user, using the prefix 'live:' before
the chosen name. In the picture below the auto created Skype ID is visible for the Microsoft live
account, in the form: 'live:store.extensions'

If you registered for a real Skype account choosing a Skype ID, you will be able to see only the real
chosen Skype ID, as visible in the picture below.

You need to keep this aspect into account when setting Skype ID for JChatSocial integration,
because it will vary based on the type of Microsoft account that you are using to login to Skype
software.
In the standard case that you registered for a Skype account choosing a Skype ID, you will be able
to set the Skype ID in JChatSocial options and receive calls simply specifying the Skype ID.

In the case that you registered for a Microsoft account using a Skype ID auto generated, you need to
locate the Skype ID that you got assigned and specify it in the exact form, including the 'live:' prefix.

Integration with social platforms
JChatSocial is able to integrate with 3PD extensions like JomSocial, EasySocial, Community
Builder.
If you choose to activate such an integration with your preferred social platform, JChatSocial will
integrate with social platform regarding 3 aspects:
• generating links to users profile clicking on user name at the top of every chat box or on user
avatar inside messages list
• user avatar used by JChatSocial will be taken directly from JomSocial/Community Builder/etc
and this will override avatar uploaded through JChatSocial options if any
• you can optionally choose to filter the users list showing only users that have been added as
'friend' or in any case a relationship in your social platform has been estabilished.In this way
friendship will be reflected also in JChatSocial

-----------------------------

Public chat management and chatrooms
You can use JChatSocial for multi users conversation thanks to public chat. Public chat can be used
in 3 different ways:
• Multiple chatrooms + global single public room (default)
• Global single public room
• Public multiconversation with invitation
Multiple chatrooms + global single public room (default)
By default public chat is enabled to support multiple chatrooms and global single public room for all
users of your site that haven't joined any chatroom.
This means that when a user that joined a chatroom writes a message, it will be delivered to all other
users that joined the same chatroom. In the case that the user is not currently joined to any
chatroom, the message will be delivered as in global mode to all connected users not joined to
specific chatrooms. Of course if you are using 3PD integration filtering by friendship, or if you are
using live support mode, target users for deliivered messages will be calculated accordingly.
You can open the chatbox popup clicking on the icon available in the public chat toolbar, after that
join a chatroom is a matter of one click. Moreover hovering on chatroom title and users number
currently joined to that chatroom you will be able to have the whole list of users in that room.
Finally hovering on the users icon in the public chat toolbar, you will have listed all the users in the
current joined chatroom.

Chatrooms management
Chatrooms management by default is reserved to administrators in the backend side, in this way
chatrooms can be easily added, edited or deleted and they will be immediately available in the
frontend popup that lists available chatrooms to be joined.
Notice that chatrooms support Joomla access level like a common article, so you will be able to
assign chatrooms access level to different ACL groups of users. This means that users having not
right permissions won't be able to see and join to a certain chatroom.

You can also choose to activate the chatroom creation and deletion in the frontend by chat users and
optionally assign permissions to create or delete chatrooms by usergroups. To activate the chatroom
management in frontend activate the following parameters under the tab 'Permissions':

Once that you have activated the chatroom creation in frontend a button with a 'plus sign' will be
shown above the chatrooms list and once clicked a modal window will open to show a form with
details for the new chatroom. Access levels for the new chatroom will be limited to the ones assigned
to the user creating the chatroom. Once clicked the button 'Save and close' the new chatroom will be
immediately added and available to users.

Finally, if you have enabled also the deletion of chatrooms, a button to delete existing chatrooms will
be visible beside the chatrooms name. As soon as a user enabled to delete chartrooms click on that
button the chatroom will be deleted permanently

---------------------------

Global single public room
If you prefer disable multiple chatrooms mode you can set the public chat to work globally for all
connected users to your website. They won't be able to display chatrooms popup and join to any
chatroom, and all messages will be delivered to all connected users.

Multi conversation public chat
If you need to use group chat in the same way of a multi conversation room such as Skype offers,
you can activate the 'Invite mode' option in chat configuration and an icon to add/invite users to group
chat will be shown inside users list box.
Users may choose to invite each other to join group chat, so that messages written inside group chat
will be delivered only to all users that joined that conversation.
This means that you will be able to send and receive messages inside group chat only to users that
are shown with green icon.
To invite users and to confirm incoming group chat requests follow these steps:
• Click on the icon for group chat (gray icon) inside users list for selected user, so that a request
will be sent and will still pending until other user choose to confirm (yellow icon).
• Once other user accepted request a message shows up and icon will change color (green
icon). At this point users are joined for group chat.
• To remove a user from group chat simply click again on green icon in users list, and it will turn
to gray icon that means no join for that user in group chat.

Chat form activation for guests
You may need to allow visitors users fill out a quick form with some informations before join the chat,
or simply click a button to join and start chat.
This is useful for several use cases:
• Let users set a nickname before join and start chat
• Keep the chat not available until a button is clicked
• Collect some informations about users that will be visible during chat session clicking on the
info icon inside the chatbox, for example a question posted by user or an email address useful
to contact visitors after chat session has ended
To enable the chat form activation mode you can enable the setting in chat configuration and create a
new menu item pointing to chat form view.

When you create a new menu item for chat form you can also specify additional parameters for form
controls and behavior. For example you can choose to enable fields like email, description or a
simple antispam field.

You can also specify if some fields are required to submit form.
In the frontend side the form will be available and visibile for every guest users that visit your site and
want to join chat. After filling form and clicking the button 'Start chat now' the chat will be immediately
visible and active.
Moreover the informations collected through form fields will be visible to other users, for example
chat admins if the chat is used in live support mode.

As soon as form is submitted clicking on the 'Start chat' button, the chat will be immediately active
and visible, and a green icon will indicate to same user that he already joined the chat and the form
won't be showed anymore because no more needed. The nickname can be changed also when the
chat is joined after form submission. Opening chat options the nickname chosen using form will be
visible and can be changed at any time.
When user closes the browser and the Joomla session is lost, the form will be showed again at the
next reconnection.

The informations collected through form fields will be visible for example to chat admins if the chat is
used in live support mode, and are precious to know how to contact potential customers and to know
what they need before starting the chat session.

----------------------------------

Backend overview
JChatSocial control panel show you basic functionality that you can perform.

• Access chatrooms management
• Access messages history
• Set configuration for videochat, themes, permissions, etc
• Manage tickets
• Purge data caches
• Open users list
• Monitor stats for messages and users
Clean server file system
To keep clean your Joomla! system you can clear cache for files and free space on server disk.
JChatSocial stores temp files in a cache folder, when users exchange attachments during
conversation and guest users upload avatars. Clicking on button to purge file cache and attachments
files will be permanently deleted from disk.
Clean server database
To keep efficient your Joomla! database avoiding that a lot of unuseful records created for example
for one time visitors will be kept inside tables, users you can clear database cache so that all stale
records will be automatically discarded from your Joomla database.
Messages list
Messages history is a full overview of every message exchanged between users, allowing also media
object to be rendered in admin list.
You can choose to export a certain range of messages, or delete all the messages or only a specific
range based on the selected records on screen. You can for example filter by period the messages
listed, and select them to be deleted. If you prefer delete the whole messages history, you can click
on the button 'Purge messages'.

Chat permissions
If you need to set specific access levels that will be able to use chat application in site frontend, you
can do it using the dropdown showed in the picture below available in chat settings.
By default the chat application is allowed for all access levels, this means that chat application can be
used by logged in users of any access level/group and also by guest users if this feature is enabled
in chat configuration.
To limit the chat application usage to one or more access levels, you simply need to select the
desired access levels from the multi dropdown. The dropdown let you choose more than one access
level, once saved new settings the chat will be accessible only to user groups belonging to chosen
access level, and user not assigned to selected access level won't be shown in chat users list.
Specific actions such as videochat access, file upload, etc can also be ruled based on guests or
groups.

 

Chat rendering
Chat sidebar can be rendered in 2 different way, based on your needs and template layout.
Historically and by default, the chat sidebar is always rendered as the chat available on Facebook, so
aligned at the right side of the screen. This type of rendering is managed automatically using Joomla
plugin and scripts, and is available as soon as installed the extension.
However if you need to place the chat application to be rendered in a specific position of your page,
you can use the JChatSocial module that is automatically created during component installation.
Using Joomla Module Manager, you will find listed a module named 'JChatSocial' that has not
positions or pages assigned and is not published. If you need to use it to render chat, you can publish
and manage it as you are usual doing for any other Joomla module, so assigning pages, template
position, access level, etc.
After the chat module is enabled correctly based on your preferences, you need only to enable the
module rendering option in the chat configuration.
In the following picture is showed the setup available for 'Chat rendering' tab, where you can switch
between the auto mode, using fixed right position by default, and module custom positioning.
Enabling the module rendering some additional settings used to fine tune elements dimension and
displacement will be shown.
The 'Chat module status' indicates the current status of the chat module, when the label is green it
means that the chat module is enabled and assigned to a valild template position. Clicking on the
label you will be redirected directly to Joomla module manager to edit the module settings.

 

System notifications
JChatSocial Enterprise implements the most advanced HTML5 standards and Api to notify users when events
occurr, based on browsers and operating system.
In this way when your browser and operating system supports advanced notifications you can choose to be
alerted if new private messages, public messages and calls coming up also if the browser is minimized.
Inside the chat options all the supported types of notifications can be enabled/disabled. Based on the device,
browser and operating system you can control 3 types of notifications:
• Audio alerts (supported on every device and browser)
• Vibration alerts (supported on most advanced mobile devices, see http://caniuse.com/#feat=vibration)
• System alerts (supported on most advanced browsers, see http://caniuse.com/#feat=notifications)
JChatSocial Enterprise will detect automatically if the used device and browser offer support for a particular
feature and notification system, so the switcher to control vibration and system alerts will be shown only in the
case that it can be used.
Having system notifications enabled let you minimize the browser and receive alerts on your desktop when new
events hurry up, below you find a sample screenshot of how Google Chrome notify a user when a new
incoming message is received.