# HG changeset patch # User Matthew Wild # Date 1270738112 -3600 # Node ID 6d46d25187057a4f2186d3a4b3e378987d74c77f # Parent 12b42931151a36d2c6208d8721860dfc4853d5f6 Adding README and LICENSE files to the repository diff -r 12b42931151a -r 6d46d2518705 LICENSE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Thu Apr 08 15:48:32 2010 +0100 @@ -0,0 +1,28 @@ +Copyright (c) 2010 Isode Limited. All rights reserved. + +Developed by: Matthew Wild, Heavy Horse Limited + http://matthewwild.co.uk/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal with the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + 3. Neither the names of Isode nor Matt Wild may be used to endorse + or promote products derived from this Software without specific prior + written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +WITH THE SOFTWARE. + diff -r 12b42931151a -r 6d46d2518705 README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Thu Apr 08 15:48:32 2010 +0100 @@ -0,0 +1,98 @@ +Support chat +============ + +Requirements +------------ + +Server: +- An XMPP server with support for: + - Multi-User Conferences (may be an external service, e.g. mu-conference, Palaver) + - BOSH (may be an external service, e.g. Punjab) + - SASL ANONYMOUS + +- A web server: + - To serve the scripts, stylesheets and images + - To redirect requests for a selected URL to the BOSH server + +Users: +- A Javascript-enabled web browser + +Installation +------------ + +Upload the 'support-chat' directory to your site. In the page(s) in +which you intend to enable the support box to be launched, add the +following snippet of HTML to the section of the page: + + + + + + + + + +(amending the paths as necessary to point to the correct files). + +Configuration +------------- + +On your XMPP server you need to create a new host for users to connect to. This host +should be configured to allow SASL ANONYMOUS logins. You also need to create a host +to hold the user-created support rooms using MUC. This will either be provided by +your server, or by configuring an external component. + +On your web server the only tricky part is setting up a proxy for the scripts on the +site to access the BOSH server. Apache, lighttpd, nginx and other servers support this. +There are many ways to achieve this, but one method in Apache2 would be to use its +mod_rewrite and a configuration line similar to: + + RewriteRule /bosh http://localhost:5280/http-bind/ [P] + +This assumes your BOSH server is on the same machine as the web server, and is serving +BOSH at /http-bind (the default path in most servers). You should in the end be able +to visit http://yourdomain/bosh and see the BOSH page of your server. + +Finally you need to configure and customise support-chat itself. Open up +support-chat/supportchat.js in an editor, and review and modify the configuration +options at the start of the file. Each one is described below: + +login_domain: This should be the XMPP hostname that is configured to allow anonymous + logins. + +bosh_url: This should be /bosh, or the path you proxied from your web server to + the BOSH server. + +muc_server: The XMPP hostname of the Multi-User Conference server where users shall + create their temporary rooms. + +team_rooms: A list of pairs of assistant team names and team MUC addresses. The + example should give you enough guidance on how to structure the list. + You can define as many or as few teams as you want. + +send_invites: May be true or false. If false, online assistants will receive messages + alerting them to new queries. If true, they will receive a MUC invitation + to the query's room (may not work in all XMPP clients). + +offline_support: An XMPP address to which queries should be sent when no assistants on + the selected team are available. Should have offline message storage + in order to be sure never to lose a query. + +alternative_url: If the support application encounters an issue connecting to the XMPP + server (whether it be down, or the user's network policy or browser + prevents such) the user will be directed to the given URL to obtain + support. + +Usage +----- +Anywhere you want to provide a link to open the support interface, direct the link to +#support-chat, for example: + + Live Support + +On clicking this link the user would be presented with a form to enter their query. + +License +------- +support-chat is licensed under the University of Illinois/NCSA Open Source License, +see the LICENSE file that accompanies this project for more information.