wiki:BoincBasics

Version 9 (modified by davea, 17 years ago) (diff)

--

BOINC Basics: support for working communities

T(DesignDocument)?

This document describes BOINC Basics, an infrastructure for web-based "working communities", i.e. groups of people trying to accomplish something together. Boinc Basics provides mechanisms for user accounts, grouping of users, and communication among users.

BOINC Basics provides a basis for three 'activities':

  • BOINC - volunteer computing
  • BOSSA - distributed thinking
  • BOLT - Web-based learning

A project is an organization that does one or more of these activities, and runs the BOINC Basics software on a server. A project can add activities without requiring new user registration.

Accounts

Users (i.e. people in the working community) create accounts. Each account is identified by an email address and password. Passwords are stored only in a hashed form, reducing security risks.

An account can have the following user-supplied attributes:

  • A profile in which the user can provide a picture and text describing themselves, or their interest in the project or activity.
  • An avatar - a small image used to represent the user.
  • A signature for message boards
  • Demographic attributes: birth year, sex, nationality, education level.

An account has the following project-supplied attributes

  • A numerical credit, representing the amount of contribution to the project, possibly involving computation, distributed thinking, recruitment of other users, etc. BOINC Basics keeps track of the account's total credit, and its average credit (exponentially smoothed with a 1-week half-life).
  • Activity-specific attributes: how well the user has mastered a body of knowledge, their aptitude at various types of tasks, and so on. These are stored in a project-specific XML document.

Communication mechanisms

Message boards

BOINC Basics provides message boards supporting archived group communication. Message boards consist of 'forums', each one having a particular topic. Each forum consists of a set of 'threads', and each thread consists of a set of 'posts'.

BOINC Basics message boards support various features (all of them are optional):

  • Keyword search.
  • BBcode for text formatting.
  • Spam filtering using Akismet.
  • User read history - keep track of last post read in each thread.
  • Minimum credit total or average to post or to rate (per forum).
  • Moderation (by project staff or designated users).
  • User reporting of objectionable posts.
  • User rating of posts.
  • Subscription: a user can request email or RSS notification when there is a new post in a particular thread.
  • Ordering options: forums can be sorted according to most recent post, most recent creation, most views, etc.; these options are stored per user.
  • Sticky posts.
  • "Ignore" lists - a user can specify a set of users whose posts will not be shown.

A project can provide a fixed set of forums. In addition, each group can have its own forum (see below).

Private messages

A user has a queue of private messages. A user can send a private message to another user. A user's home page has a link to a page showing the private message queue, and allowing the user to read and delete private messages.

RSS feeds

Each user has an RSS feed containing one or more of:

  • Messages from the project.
  • Notifications of new message-board posts.
  • Private messages.

The user can control which of these sources are included. Users can include this RSS feed in whatever RSS reader they use. In addition, the BOINC client will periodically scan the RSS feeds of all attached projects, and display any new items in a popup dialog.

Possible future mechanisms

  • Skype and Skypecast.
  • IRC or other chat.

Groups and teams

BOINC Basics allows users to form groups. Each group has:

  • A name.
  • A description.
  • A reference to a team (a top-level group).
  • Whether administrator permission is required to join the group.
  • An optional forum.
  • A file upload/download area, accessible only to group members.
  • When used with BOINC, workunits can be associated with a particular group; when a user's host contacts the scheduler, those queues are scanned first for work assignment.

In general (subject to restrictions) a user can belong to arbitrarily many groups. Each group membership has the following attributes:

  • Whether the user is an administrator of the group.

Teams are a type of group with the property that teams are disjoint, i.e. each user can belong to at most one team. Each team has associated:

  • Total and recent-average credit.

BOINC Basics provides an interface allowing users to find teams with which they identify (based on interests, nationality, etc.).

A team administrator can:

  • Create and delete groups within the team.
  • Control the membership of groups within the team.
  • Assign administrator status to groups within the team.
  • Only the team founder can control administrator status for the team itself.

Attachments (1)

Download all attachments as: .zip