Feature Wiki

Information about planned and released features

Tabs

On-Screen Chat

1 Requirements

1.1 Dependencies

This feature depends on Jour Fixe acceptance and the implementation of Messaging Server and Who is online? tool for awareness as dependencies.

1.2 Relation of Chat in the Repository and the On-Screen Chat 

The On-Screen Chat provides a simple synchronous channel to communicate with other users online. The On-Screen Chat is available on every screen (with an enabled header bar) throughout the system in addition to the instructional communication options.
 
The Chat is displayed in two modes:

  • First mode is the Chat as a normal Repository object, e.g. a chat in a course.
  • Second mode is the Chat accessible through the Who is online? tool for awareness located on the top right of the screen.
The Chat in both modes share a common codebase, meaning only one server needs to installed and running for a platform to offer both functionalities.

View "On-Screen Chat"

View "Chat in Repository"

  • Users navigate ILIAS and use the chat „on top“ of the screen they are looking at.
  • The conversations history remains intact while they navigate. It might quickly collapse when they navigate but will pop up at their new location presenting the ongoing conversation with full history.

  • Users enter a dedicated chatroom. The room is full-screen and they cannot navigate or use other objects while chatting without interrupting their participation of the conversation.
  • In order to navigate they have to leave the chatroom.

1.3 Using the On-Screen Chat

Activating the On-Screen Chat 
It is not required to indivudually activate the On-Screen Chat. If the 'Who is onlne?'-Tool is activated and the global Chat-Service is switched on then a user can use the On-Screen Chat.

To start a conversation, users click on the entry of the person they want to chat with located in the Who is online? tool for awareness.  A little box opens up with the relevant options.

  • It is approx. 4,5 cm wide and 5 cm tall.
  • It has a headline displaying the name of the other participant(s).
  • In the footer, a text field for entering posts is presented. The posts will be submitted by hitting the return/enter key.
  • It is possible to add emoticons to a post. An icon for starting the the process of inserting an emoticon is placed in the footer, aligned to the right.

Click on the image!

Adding people to a conversation / Initiating a group chat
Users can add extra persons to the conversation by clicking on the little '+'-icon in the headline. On-click a Bootstrap modal dialogue will open, querying for a user to be added (with autocomplete / typeahead search).
Then a new group conversation is being started with the acting user, the user who is conversation partner in the active window where the add functionality was activated and the invitee. Focus is then given to the new conversation with the three participants. There is no such thing as an ownership of the conversation.
The history of the groups conversation is always visible in full to all participants, regardless of their joining timestamp. A group
conversation is closed automatically when the last participant leaves.

This behaviour is similar to a very commonly used and well understood chat system.
 

Multiple concurrent conversations
Users can have more than one ongoing conversation. Conversations could be 'tiled' on bottom of the ILIAS main screen, similar to how it is done in facebook.
If there are more open conversations going on that there is screen estate to display them on, further conversations will be hidden behind a counter element placed in the top menu. A click on this counter opens up a popover containing all hidden conversations (represented by a short title containing the names of the conversation's users). If the user clicks on one of these conversations, it switches place with the visible conversation that has the longest inactivity period.

New conversations (as the requested user)
if a user initiates a new conversation with another user, the requested user is notified about the new conversation by updating the conversation counter located on the top the screen. The new conversation will be hidden (as described above).

Message History
The server component does not hold the complete history of a conversation. If a user wants to read earlier messages, he has to click on a link/button located on top of the conversation panel.

Ending a conversation
User can end a conversation, or respectively their participation to a conversation, by clicking the litte 'x'-icon in the header row of the UI-element.

2 Additional Information

3 Discussion

AT 2015-04-10: We really need to implement this for the Learning Communities

JF 27 Apr 2015: We appreciate the concept and schedule it for ILIAS 5.1, with one exception: The file upload feature should be discussed in more detail. Especially its relationship to the personal workspace. We think it should be easy to reuse files from the personal workspace in the chat context and similar to put files used in the chat easily into the personal workspace.

JF 27 Apr 2015: We appreciate the concept and schedule it for ILIAS 5.1, with one exception: The file upload feature should be discussed in more detail. Especially its relationship to the personal workspace. We think it should be easy to reuse files from the personal workspace in the chat context and similar to put files used in the chat easily into the personal workspace.

JourFixe, ILIAS [jourfixe], April 11, 2016: We appreciate the feature request and schedule it for 5.2. Due to funding problems, the file upload will be postponed to a later version. Implementation still depends from funding.

Jansen, Michael [mjansen], April 13, 2016: It is critical to mention that we require the funding to be completed before May 13, 2016 in order to be able to implement the feature for the scheduled release.

Lauener, Hansjörg [lauener], June 14, 2016. Similar to "Who is online", and "Contacts", we need a individual setting and a platform-admin setting:
Personal Settings: Allow to begin a chat with me
There should be a Privacy setting to set the default state of new users Settings for ILIAS-Admin to define the default state of new users: Default-value of "Chat"-Tool

Jansen, Michael [mjansen] Aug 12, 2016: There will be an individual setting as well as a global setting in the chat administration. And there will be a global and configurable default value (located in the standard user fields administration) which is applied for new user accounts (when not concrete value is given, e.g. on account registration or user imports etc.), similar to the email delivery method.

4 Implementation

The On-Screen Chat can be globally enabled in the chat administration.

Global Setting for On-Screen Chat Activation
Global Setting for On-Screen Chat Activation

If the On-Screen Chat is activated globally, each user can individually decide whether or not he/she will receive messages.

Individual Setting for On-Screen Chat Activation
Individual Setting for On-Screen Chat Activation

In the user management settings the ILIAS administrator can define a default value (if no concrete value could be set, e.g. on new account regisration). Futhermore he/she can decided if users will be able to change this setting in their personal settings.

Settings for the Individual On-Screen Chat Setting
Settings for the Individual On-Screen Chat Setting

A conversation could be initiated by clicking the respective link in the "Who is online?" tool. This will be the only way to start On-Screen Chat conversations in ILIAS 5.2.x.

Starting a Conversation
Starting a Conversation
Visual hint if certain users don't accept on-screen chat messages
Visual hint if certain users don't accept on-screen chat messages

The chat windows are very similar to the proposal mentioned above. Please keep in mind that there will be no indicator whether or not a message was read by the conversation's participants (other famous chat tools did not support this in the first versions as well). This could be done with additional funding in ILIAS 5.3.x.

Chat Window
Chat Window
Hidden Conversation
Hidden Conversation
Hint in case the user does not accept on-screen chat messages
Hint in case the user does not accept on-screen chat messages

Adding a user (to a 1:1 conversation) will create a new chat widnow (similar to other famous chat systems) with three participants ...

Adding Users
Adding Users

There will be a loading animation (not visible in the screenshot below) when users are searched by the entered query.

No Users Found
No Users Found
One or more users found
One or more users found

Emoticons can be chosen from the Bootstrap popover and are inserted at current caret position (the could be some issues with this in old browsers).

Group Chat / Multiple Windows
Group Chat / Multiple Windows
Leaving Group Conversations (User can be added again / No permanent blocking possible)
Leaving Group Conversations (User can be added again / No permanent blocking possible)

Works also on mobile devices (but not optimized with this feature request)... Below you see an example with one possible chat window (could be replaced by another if chosen) on the Nexus 5.
The chat client is supported by all browsers and devices supporting:

Mobile View (Nexus 5 Example)
Mobile View (Nexus 5 Example)

Test Cases

Test cases completed at at August 23, 2016 by Matuschek, Nadia [nadia]:

  • C12980: Chat aktivieren / betreten
  • C12981: Chatnachricht abschicken
  • C12982: Chatnachricht mit Smiley/Symbol abschicken     
  • C12983: Weiteren User in den Chat einladen
  • C12984: Chat verlassen
  • C12985: Konversationen managen
  • C12986: Mehrere Konversationen anzeigen

Approval

Approved at 25.08.2016 by AntoniaWeber, Universität zu Köln, Glaubitz, Marko [mglaubitz] (Uni Freiburg) and Mersch, André [amersch] (Hochschule OWL).

Last edited: 20. Mar 2023, 09:16, Samoila, Oliver [oliver.samoila]