Fri, 16 Apr 2010 18:32:30 +0100
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. |