Confab (chat)

Contents

1. Introduction
    1.1 Assumptions
    1.2 Features

2. Confab demonstration web page
    2.1 Confab for the impatients
    2.2 Entering the Confab
    2.3 The braille interface
        2.3.1 Read
        2.3.2 Anticipate
        2.3.3 Write
    2.4 The visual interfaces
        2.4.1 visual
        2.4.2 visual (LowVision)
        2.4.3 visual (Red Blue Gray){
        2.4.4 visual (Mondrian)

3. Content options
    3.1 Configure
    3.2 Moderate
    3.3 Report

4. Advanced options

5. The module in practice: tips
    5.1 No speaker icon
    5.2 Elinks text only browser

1. Introduction

Confab [*] is not a chat. That is, the tool mainly used to talk, gossip or babble, as a thesaurus explains. Confab is an educational tool for writing, reading and processing texts. It has special features for blind and visually impaired participants to enable conversations with sighted participants. These features are developed in a kind of 'chat' with two interfaces. One for users with a braille reader and another for sighted and visually impaired participants.

In this chapter we explain Confab (chat) for participants and moderators. Participants write messages and moderators can manage them. We explain this process by using our own demonstration data. That is, the Exemplum Primary School, a small school described in Account Manager

[*]
Confab: from confabulation, meaning:

1. Conversation, dialogue, discussion.
2. Psychiatry: the replacement of a gap in a person's memory by a falsification that he or she believes to be true.

1.1 Assumptions

This chapter elaborates on other chapters. We assume you have at least done Basic procedures for beginners of the Website@School Users' Guide.

1.2 Features

The features in no specific order:

(top)

2. Confab demonstration web page

If Website@School is installed with demonstration data, a complete Confab can be found in section 'MyPage' under 'Showcase'.
[ site, overview ]
chat_site_overview.png

2.1 Confab for the impatients

To get quick hands-on experience, create a test Confab yourself. For example in the Area of the Exemplum Primary School demonstration data. You've done the Basic procedures for beginners.

How to set up a Confab in 3 steps:

  1. As usual, add a page. In the Module dropdown menu select Confab (chat), select a section, set the page visible, click [Save]. You are immediately in Edit basic properties of page n.
  2. Menu, click Configure. You enter the Confab configuration dialogue.
  3. Go to your created Confab page, enter your username and password, select an interface click [OK]. Keyboard shortcut and mouseover text: Use Alt-O or Cmnd-O as keyboard shortcuts for this button. Start chatting with yourself.
NOTE: If you are already logged in and using the same browser, you only have to click the [OK] button.

The visual Confab has 'classical' interfaces. The braille interface may need some explanation. It can be found in 2.3 The braille interface

2.2 Entering the Confab

The demonstration Confab is set to be only accessible for 'Registered users only'. That is, to participate in a conversation, you must have an active user account and know the passcode. This is a security feature, preventing anyone abusing your Confab.
Below we describe the usage of the confab module with the Braille interface.

The login to the Confab module is the same for both the braille- and visual interface.

[ site, login, registered users only ]
chat_site_login_registered-users-only.png

Description: A header and introduction text, three entry fields: Username, Password, Passcode. An dropdown menu 'Interface', an [OK] button and a footer text.

Explanation:

After filling out the fields, selecting an interface and pressing the [OK] button, the participant enters the conversation.

In the next sections we will discuss the two interfaces.

2.3 The braille interface

The braille interface consists of three dialogues: to read incoming messages, to anticipate for incoming messages and to write messages.

2.3.1. Read

After a successful login, you enter the Read dialogue:
[ site, braille, read, system message, 3 buttons ]
chat_site_braille_read.png

Description: A message from the system about this participant entering the conversation, 3 clickable buttons: [OK], [Write] and [All].

Explanation:

Please press the [OK] button to enter the Anticipate dialogue.

2.3.2 Anticipate

After using the [OK] button, the Anticipate dialogue is displayed:
[ braille: button: anticipate for message ]
chat_site_braille_anticipate.png

Description: One button with an '*' asterisk.

Explanation:

If one or more participants enter the conversation or add one or more messages, the system will display the entrance or the new message(s):
[ site, braille, read, new message, 3 buttons ]
chat_site_braille_read_message-new.png
If no new messages have arrived, pressing the [*] button, opens the Write dialogue.

2.3.3 Write

[ site, braille, write with private messages ]
chat_site_braille_write_with-private-msg.png

Description: From left to right: field to enter a message, dropdown menu, 5 buttons: [Send], [Cancel], [All], [Users] and [Quit], mouseover text.

Explanation:

When all participants have left the conversation, the session is closed . A new conversation can start.

2.4 The visual interfaces

The visual interfaces are all fully configurable with Bazaar Style Style (BSS). Please see the 4. Tips and tricks section, paragraph 4.1 Bazaar Style Style.

2.4.1 Visual

[ site, visual interface ]
chat_site_visual.png

Description: The Visual interfaces consist of 3 panes:

Explanation:

Messages pane
Messages have in turns a light and a dark background.
Messages are send by:

Messages can be sent to:

Participants pane Text entry pane

2.4.2 Visual (LowVision)

[ chat, low vision interface ]
chat_site_visual_lowvision.png

2.4.3 Visual (Red Gray Blue)

[ chat, red gray blue interface ]
chat_site_visual_redgrayblue.png

2.4.4 Visual (Mondrian)

[ chat, mondrian interface ]
chat_site_visual_mondrian.png

(top)

3. Content options

[ chat, configure content ]
chat_manage_content.png
Description: In the Menu the usual Basic properties and Advanced. The Content is divided in Configure, Moderate and Report.

The workplace pane title:
Confab overview contains:

The Confab-module is a tool for online conversation. Participants can contribute to the discussion by submitting single-line messages. The conversation is recorded in the database and can be analyzed afterwards. The following options are available in the submenu.

Configure- For this Confab, several text fields can be configured. The secret passcode can be set and the status of the Confab can be set to Open, Registered or Closed.

Moderate- The moderation screen allows for personal messages to individual participants from the moderator. Also, the current conversation can be forcefully ended.

Report- Select and analyze past conversations.

Please select one of the options to continue.

[Cancel]


Explanation:

3.1 Configure

For this screenshot the dialogue is divided in three parts, separated by horizontal lines:
[ chat configure ]
chat_configure_status+visibility+passcode.png

Description: The upper part of the Confab configuration page. The 'Status of the Confab' and the 'Personal messages' are selectable and set to 'Registered users only'. A Passcode entry field with the passcode HeyYou.

Explanation:

Confab configuration: Workplace header title

Status of the Confab

Personal messages

NOTE: A moderator can always send messages to all or personal messages, independent from the selection below.

Passcode: Everything is allowed. Leading and trailing white spaces are automatically removed.
[ chat header, intro, footer ]
chat_configure_header+intro+footer.png

Description: Three text entry fields: Header, Introduction and Footer.

Explanation


[ chat ]
chat_configure_part+pass+refr+idle+id.png

3.2 Moderate

A moderator is a user of a Confab who can send personal messages to participants, can remove participant(s) from an ongoing conversation and can terminate a complete conversation.

In the Menu clicking the Moderate link, can result 2 distinct dialogues:

The moderators attention is drawn when she reads:

[ chat, moderation ]
chat_moderate_intervene.png
Description: The same as the previous screenshot. More messages.

Explanation: Same as above with messages:

The moderator decides to use the [Intervene] button...

[ chat, moderation ]
chat_moderate_intervention.png

Description: Header text, 2 radio buttons to select an action, a dropdown menu opened and Andrew selected, a message entry field with a partly visible text: "... your own homework", 2 buttons [OK] and [Cancel], a horizontal line and messages.

Explanation:

NOTE: If a user is removed from the conversation, he can login again and participate again. To prevent this action, you have to change the passcode.

3.3 Report

At any time during an conversation a report can be created.
[ chat report ]
chat_report_select.png

Description: in the Menu the Report link is chosen. In the workplace pane a header text, a dropdown menu with selectable conversations and 3 configurable items: Fields, Message from, Message to. Buttons: [OK] and [Cancel].

Explanation:

Keyboard shortcut: Alt-V or Cmnd-V. press the [OK] button to generate the report.
Use your own way to copy and paste content for whatever further usage.

After pressing the [OK] button, the conversation is generated:

[ chat report ]
chat_report_output.png

Below the full conversation:


Conversation #2: first: 2014-11-08 15:30:53 last: 2014-11-08 15:34:18 messages: 16
Fields: Author,Text
Messages from: System,User
Messages to: Group,Personal

(system): andrew (Andrew Reese) joins the conversation
(system): catherine (Catherine Hayes) joins the conversation
andrew: hello catherine
andrew: do you know the homework for tomorrow?
catherine: hello andrew
catherine: yes, I will look it up...
catherine: we have to make a summary of chapter 2
andrew: OK, thanks
andrew: can you send me your summary? I don't have time for that tonight
andrew: please?
mmonte (to andrew): you are supposed to do your own homework
andrew: never mind, bye
(system): andrew (Andrew Reese) leaves the conversation
catherine: ok, bye ...?
(system): catherine (Catherine Hayes) leaves the conversation
(system): This conversation will be ended shortly

It's quite interesting to experiment with selecting different fields.

4. Advanced options

The advanced options also apply to this module. In particular it means that you can use Bazaar Style Style (BSS) to get rid of awful colors that mismatch with the school site or with the pictures on the page.
More on the backgrounds of BSS can be found in chapter Viewpoints, paragraph 4. On form and content.
More on the practical work can be found in Configuration Manager, paragraph 3.4 Configure theme 'Theme Name' for area n. The other advanced options are discussed in chapter , paragraph 3.3 Advanced: edit advanced properties of page nn.

(top)

5. The module in practice: tips

5.1 No speaker icon

If no speaker icon is visible in the Visual interfaces, you probably have disabled 'Allow pages to choose their own color'. Enabling this option in the browsers preferences solves this little problem.

5.2 Elinks text only browser

Sometimes Elinks misbehaves in some Linux flavours. Some tips: At the end of the ~/.elinks/elinks.conf file add the line:
set document.browse.forms.confirm_submit = 0

How to configure Elinks to auto-refresh pages

After installing Elinks, there is no elinks.conf file. It is created by saving the file once. Proceed as follows to create the file (Elinks version 0.12pre6), open a terminal and type:
$ elinks config-file elinks.conf
- press the [Enter] key on the keyboard
- The 'Error' dialogue opens, saying: 
  Unable to retrieve file: ///home/username/elinks.conf
- Click OK, the 'Welcome' dialoge appears. Click OK and ESC.  
- The Elinks menu bar opens.
- Select 'Setup' > Options Manager. The Options manager 
  dialogue opens.
- At the bottom of the dialogue. Click [Save]. 
- The 'Write config succes' dialogue opens, with message:
  Options were saved successfully to config file
  /home/username/.elinks/elinks.conf
- Click [OK].
- Close Elinks with ESC and Menu > File > Exit.

In the home directory of the user, the hidden directory .elinks the file elinks.conf is created.

Use a text editor to edit:
~/.elinks/elinks.conf
and, at the bottom of the file add:

  set document.browse.refresh = 1
set document.browse.forms.confirm_submit = 0

Some more tips from Witold Filipczyk Elinks mailing list (slightly edited):

Q: Is there a way or option to automatically go 
into input mode on text input boxes?

A: add this line
set document.browse.forms.insert_mode = 0
should revert back to the 'old' default.

Q: And is there any option to turn off the 
"Do you want to post form data to URL (POST DATA)?" 
warning?

A: No, there isn't but there probably should. With 
some nice checkbox to easily turn them off when 
you get annoyed by them.

[...]
Only one thing is missing, which is available in the 
GUI for visual and visually impaired users ( which 
uses Javascript): a sound when a new message arrives.
 
Consulting the elinks.conf manual I found:
  document.download.notify_bell  (default: 0)
Question: Is there a possibility to put something in a 
HTML page to trigger the bell?

NOTE:
Every n seconds we send an 'empty' HTML pages when 
there is no new information.
When there is new input from a user, the page contains 
for example:
 
Mary: some text that is written by Mary

Answer from Witold Filipczyk: 

Browser scripting and preformat html hook is good for this.

Here is an example in Python:

# BEGIN EXAMPLE
import os
def preformat_html_def pre_format_html_hook(url, html):
    """Rewrite the body of a document before it's formatted.

This function should return a string for ELinks to format, or None
if ELinks should format the original document body. It can be used
to repair bad HTML, alter the layout or colors of a document, etc.

    Arguments:

    url -- The URL of the document.
    html -- The body of the document.

    """
    if url.find("elinks.cz") != -1:
       os.system('play -q /home/users/witekfl/.elinks/doorbell.wav &')
    elif html.find('{SOUND}') != -1:
       os.system('play -q /home/users/witekfl/.elinks/doorbell.wav &')
#END EXAMPLE

This function plays sound when user has visited the elinks.cz site or in the body of a webpage there is text: {SOUND}.
play is part of the sox package.
path to the doorbell.wav is an example

For Python scripting --with-python must be added to the ./configure script.
The file hooks.py with hook functions must placed in /etc/elinks/ or ~/.elinks/

I hope, you got the idea.

When a new page arrives, we get:

--------------------------------------------- 
Refresh:
http:/url/to/the/page.html
Button: [Refresh]
---------------------------------------------

Question:
Is it possible to get rid of the 'Refresh: URL' 
message? I could not find anything in the 
elinks.conf(5) man page.

Answer from Witold:
I added the document.browse.show_refresh_link option to the master branch (0.13).

set document.browse.show_refresh_link = 0

in elinks.conf if you do not want the line with Refresh: to be "visible".

So, let's keep an eye on Elinks 0.13!

(top)

Author: Dirk Schouten <dirk (at) websiteatschool (dot) eu>
Last updated: 2014-12-12, version 1.55