|Full name:||Transfer of Knowledge between Research, Education, Business and Public Administration through the World Wide Web|
|Number:||TAP RE 1010|
Web4Groups was an EU-funded project among the Telematics Application Development Projects of the Fourth Framework Program. Its main goal was to develop an advanced, web-based groupware system. The project went on from 1995 to 1998. The software developed by the project is no longer in operation, but several new systems are based on the concepts and code of this software.
Web4Groups is a distributed system that allows Internet users to join or start public discussion forums or closed workspaces in order to exchange (MIME) messages and/or and share multimedia documents. Objects of the system (forums, activities) are called "boards". Boards are accessible not only via World Wide Web, but also via e-mail as well as fax or telephone.
Web4Groups system basic services are as follows:
- multimedia asynchronous group communication (group conferences with MM messages)
- group membership administration
- user authentication and authorization
- personal workspace management
- multimedia, E-mail support
Advanced services cover the following functionalities:
- multi-lingual conference support
- voting process management
- basic rating on any object of the system
- joint editing.
Objects (boards, forums, workspaces, messages, users, etc.) are stored in the Web4Groups server. The server consists of a database containing the objects of the system and a server process which receives requests and performs the corresponding operation.
This distributed conferencing system uses an own communication protocol between each server (KOM protocol). This protocol builds on the TCP/IP protocol. The server also provides gateways to SMTP and NNTP so that users may directly access E-mail and Usenet news servers from within the Web4Groups conferencing system.
Web4Groups conferencing servers may cooperate to provide a coherent Web4Groups service. Users can connect to any Web4Grops server independently where they are located and can access any object in the system, no matter which server the object is based on. Every object in the database has one master server, and if a particular object is not available in the local server, it is fetched from its master server. Information is, therefore, replicated on request as needed between servers. E.g, a forum object is replicated on-demand to all servers where that forum has at least one member. The forum description is additionally replicated to all servers where there is an announcement of the forum in question.
The Web4Groups software provided or was planned to provide the following functions. Most, but not all of them got actually implemented within the project:
Non-simultaneous computer conferencing, i.e. the same kind of functionality that is provided by First Class, Lotus Notes and by many BBSes.
Open activities: Anyone interested can become members. Closed activities: Membership is controlled or restricted.
Forums: All members can send contributions, which are immediately made available to all members. Moderated activities: All contributions are approved by a moderator before sent to the members
Each activity had an information area, maintained by the moderator and containing links to specially important documents for this activity. A personal board for personal information and collection of links to important items as chosen by each user.
Annotations: Activities to discuss ordinary world wide web-pages. Any Web4Groups user can start or join the annotation activity on any existing web page anywhere in the world.
Multi-language activities: Contributions can be provided in and translated to more than one language. Thesauri: List of terms, their translation to different languages, their definitions, and if needed discussions on a particular term. A thesauri is typically developed and used by members of one or more activities within a special area to define terms in that area.
Full e-mail interface with MIME support. Users can send and receive mail, external e-mail users can participate via e-mail in Web4Groups activities. To them, a Web4Group activity will look like a mailing list. MIME messages can be sent and received in plain text, HTML, GIF, JPEG format and in proprietary formats like Adobe Acrobat, MS Word, MS Excel, etc.
Joint editing activities: Support for a group of people in different geographical locations who want to produce a document together. Contributions in plain text format and in World Wide Web (HTML) format including images, attachments in many formats, also proprietary formats.
Inquires and trial votes: Sending a question and collecting and counting the replies, using more flexible methods than just "yes/no".
A Web4Groups user uses an ordinary web browser (like Netscape Navigator or Internet Explorer) to participate in Web4Groups. A user can easily find new contributions, but also search for and retrieve old contributions. Contributions are read one activity at a time. The activities are ordered in a personal preference order chosen by each user.
Simple tools to go through all new contributions in the user chosen order, and to skip less interesting contributions or threads within an activity without unsubscribing from the activity. User interface is also available in a line-oriented (telnet) version, in voice (phone) and fax versions and via e-mail.
Voting within Web4Groups
Our department was mainly responsible for the voting service within Web4Groups, so adetailed discussion of this service follows. Voting is integrated into the general conferencing features of Web4Groups. A voting is presented as a set of Web4Groups forums and messages. Special actions in voting are shown as buttons when a user browses the voting forums. This way, user registration, access permission, message threads, multilingualism and distributed behavior are inherited from the Web4Groups system. Based on these facilities, further advantages emerge:
Support for the preparation of the vote. Voters may have a discussion on the vote issue and its formulation in the vote form before the voting process starts. They may also criticize any other aspects of the voting (participants, anonymity, etc.) Accessibility of the vote. All messages and documents created during the voting process are kept on the Web4Groups server. The results of the vote are not only stored, but may be transferred later to other systems for further evaluation. The Web4Groups server itself can also be used to publish the vote results through its multiple user interfaces with linking and annotating possibilities.
Process of Voting
Users may create a new vote in Web4Groups, and appoint the so-called organizers of the vote, who will conduct the voting process. At the time of creation, a new workspace is generated for the vote with separate subfolders for discussion, votes and logs.
During the preparation phase the organizers configure the vote considering the remarks of participants in the discussion subfolder. The configuration of the vote and the vote form is shown in the workspace. When everything has been settled, the voting process may be started. Participants may vote either by filling the vote form on the Web4Groups server, or by sending their ballots in e-mail. In this phase normally no interaction is needed by the organizers, but if a problem arises in the software, the organizers may change the configuration of the system. The problems and the reactions of organizers are logged in a log (which is a message readable to all participants). After closing the vote, the workspace turns into an archive, storing all important documents of the vote.
The behavior of a started voting activity is defined by a state-machine. This state-machine can act on conditions such as
- a new vote's arrival,
- time-out (e.g. timed commands can be executed),
- conditions on variables (e.g. 90% of the participants has voted).
Conditions may trigger the change of the state of the voting process or the execution of certain commands. Commands cover all generic actions during the voting process in a simple manner which does not require programming skills, neither allows the abuse or corruption of the vote. Commands may send automatic reminders to voters, publish the results or change vote switches. Switches provide general configuration of the vote, defining user authentication, anonymity, or a statement whether one may change his/her vote during the voting process or not.
The further elements of defining the voting execution are the vote form, the voter group and the result format definition. The most important is the definition of the vote form which is described in a later section in connection with PICS. Only the vote organizers are allowed to configure the voting. This is done through a WWW form-based interface supported by locking/joint editing.
The Web4Groups Voting Service can distinguish the following access rights:
- the right to read about the voting (mainly the vote form and the result)
- the right to read the votes of participants
- the right to vote
- the right to configure/manage the voting process
- the right to participate in the discussion about the voting
These rights are realized partly through the membership and organizer rights related to each Web4Groups forum/folder, partly through the Voting Service. The Voting Service may support different authentication schemes for voters, allowing non-registered Web4Groups users to vote, or casting the vote by e-mail. The Voting Service acts in the Web4Groups system as the so-called voting agent, a special non-human user. This way, even the vote organizers can be kept from changing/reading certain data.
Architecture of the Web4Groups Voting Service
The Voting Service interacts with the Web4Groups system in three different ways considered as APIs of the system:
Database API: manages voting data in the underlying KOM database of the Web4Groups system. Synchronous user interface API: communicates with on-line users accessing the Voting Service through WWW or the Web4Groups Gateway Asynchronous user interface API: sends, receives and interprets e-mails from/to users.
Other main elements of the Voting Service include:
- The Voting Agent. It is responsible for executing timed commands and acts as a central registry for Voting objects.
- Voting objects. Each active voting process has a corresponding Voting object which represents all data and functionality for the vote. The functionality of the Voting objects is served by objects representing various entities of the vote: the voting script (the state machine)
- the vote form
- the vote result
- a vote
- a user group
- a user
- Furthermore, auxiliary objects help the Voting objects
- to parse different textual input formats
- to generate outputs in different textual formats
- to perform statistical calculations on ballots
- to handle multi-lingual texts
The Voting Service is implemented in Java version 1.1.
During the development of the Web4Groups Voting Service formats to store votes and vote forms were defined in the system with the intention to stay as close to PICS as possible, while covering all user-requirements. There is a hope that later we will be able to connect our service to other voting services, and perform distributed voting activities. Another consideration was that a Web4Groups server has all functionalities to support the operation of a rating service.
In the vote form description despite some new or modified information fields, the following PICS enhancements were made:
- User information texts are generalized in order to provide the same text in several languages. This way, the vote form can be presented in several languages.
- Commenting and abstention are allowed/forbidden as an option for each category.
- A greater variety of choice models is supported. For each choice model a set of additional parameters can be given, e.g. the analysis method to calculate the result, or in case of an evaluation choice, the offered evaluation labels, such as: very good, good, normal, bad, very bad.
The vote format has two new features:
- The word 'abstain' can stand instead of a valid choice of a question
- A new syntax-group is introduced to store the comments of the voter