README

Fri, 16 Apr 2010 18:32:30 +0100

author
matthew@heavyhorse.vm.bytemark.co.uk
date
Fri, 16 Apr 2010 18:32:30 +0100
changeset 52
221c4db8ab40
parent 49
6d46d2518705
child 60
35a99353d907
permissions
-rw-r--r--

Add new styles to supportchat.css

49
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 Support chat
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 ============
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 Requirements
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 ------------
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 Server:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 - An XMPP server with support for:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 - Multi-User Conferences (may be an external service, e.g. mu-conference, Palaver)
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 - BOSH (may be an external service, e.g. Punjab)
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 - SASL ANONYMOUS
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 - A web server:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 - To serve the scripts, stylesheets and images
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 - To redirect requests for a selected URL to the BOSH server
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 Users:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 - A Javascript-enabled web browser
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 Installation
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 ------------
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 Upload the 'support-chat' directory to your site. In the page(s) in
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 which you intend to enable the support box to be launched, add the
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 following snippet of HTML to the <head> section of the page:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 <script type="text/javascript" src="support-chat/js/jquery-1.4.2.min.js"></script>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 <script type="text/javascript" src="support-chat/js/strophe.js"></script>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 <script type="text/javascript" src="support-chat/js/xmpp_muc.js"></script>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 <script type="text/javascript" src="support-chat/js/supportchat.js"></script>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 <script type="text/javascript" src="support-chat/js/jquery-ui-1.8rc3.custom.min.js"></script>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 <link rel="stylesheet" href="support-chat/ui/supportchat.css" />
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 <link rel="stylesheet" href="support-chat/ui/start/jquery-ui-1.8rc3.custom.css" />
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 (amending the paths as necessary to point to the correct files).
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 Configuration
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 -------------
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 On your XMPP server you need to create a new host for users to connect to. This host
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41 should be configured to allow SASL ANONYMOUS logins. You also need to create a host
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42 to hold the user-created support rooms using MUC. This will either be provided by
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43 your server, or by configuring an external component.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
44
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
45 On your web server the only tricky part is setting up a proxy for the scripts on the
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
46 site to access the BOSH server. Apache, lighttpd, nginx and other servers support this.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
47 There are many ways to achieve this, but one method in Apache2 would be to use its
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
48 mod_rewrite and a configuration line similar to:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
49
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 RewriteRule /bosh http://localhost:5280/http-bind/ [P]
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
51
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52 This assumes your BOSH server is on the same machine as the web server, and is serving
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
53 BOSH at /http-bind (the default path in most servers). You should in the end be able
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
54 to visit http://yourdomain/bosh and see the BOSH page of your server.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
55
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
56 Finally you need to configure and customise support-chat itself. Open up
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
57 support-chat/supportchat.js in an editor, and review and modify the configuration
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
58 options at the start of the file. Each one is described below:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
59
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
60 login_domain: This should be the XMPP hostname that is configured to allow anonymous
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
61 logins.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
62
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
63 bosh_url: This should be /bosh, or the path you proxied from your web server to
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
64 the BOSH server.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
65
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
66 muc_server: The XMPP hostname of the Multi-User Conference server where users shall
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
67 create their temporary rooms.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
68
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69 team_rooms: A list of pairs of assistant team names and team MUC addresses. The
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
70 example should give you enough guidance on how to structure the list.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
71 You can define as many or as few teams as you want.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
72
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73 send_invites: May be true or false. If false, online assistants will receive messages
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74 alerting them to new queries. If true, they will receive a MUC invitation
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
75 to the query's room (may not work in all XMPP clients).
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
76
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
77 offline_support: An XMPP address to which queries should be sent when no assistants on
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
78 the selected team are available. Should have offline message storage
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
79 in order to be sure never to lose a query.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
80
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
81 alternative_url: If the support application encounters an issue connecting to the XMPP
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
82 server (whether it be down, or the user's network policy or browser
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
83 prevents such) the user will be directed to the given URL to obtain
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
84 support.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
85
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
86 Usage
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
87 -----
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
88 Anywhere you want to provide a link to open the support interface, direct the link to
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
89 #support-chat, for example:
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
90
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
91 <a href="#support-chat">Live Support</a>
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
92
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
93 On clicking this link the user would be presented with a form to enter their query.
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
94
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
95 License
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
96 -------
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
97 support-chat is licensed under the University of Illinois/NCSA Open Source License,
6d46d2518705 Adding README and LICENSE files to the repository
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
98 see the LICENSE file that accompanies this project for more information.

mercurial