REBOL
Docs Blog Get-it

R3 DevBase Design Concepts

Return to: R3 DevBase Chat Forum

Motiviation

Why did we build DevBase? The requirements of the system were documented in Better Developer Communications on 20-Nov-2008.

To meet these requirements, the system was designed with the features below.

Multi-cliented

We want users to be able to access the message system from anywhere. That includes:

REBOL CLIcommand line interface - so even users on remote server shells can see messages.
REBOL GUIgraphical user interface - the easiest to use.
Webas a normal HTML web page - so people anywhere can view it, and also find it in Google.
Web Mobilelight-styled for cell phones - for rebolers-on-the-go.
Emailas a subscription/publication list - for people who find email convenient.

Sectioned

Headings provide the main structure for postings and navigation by subject.

New headings at any level can be added as needed.

Threaded

Messages can be attached to anything, not just headings.

For example, a message can be attached to a file submission so users can discuss issues related to the submission and keep them within the context of the file itself.

Another example: a messages can be attached to an alert, for example to provide additional information or conditions.

In the future, messages will be allowed for projects, tasks, calendar events, and more (all using the same general mechanism).

Alerts and Banners

Alerts and banners are special messages designed to get the attention of users.

An alert is a message of urgent importance and will "popup" to be sure that the user sees it. In the CLI client, it will be shown automatically.

A banner is a message that labels or defines a section, such as a heading. It's main purpose is to help keep a discussion on a defined topic. For example, a heading called "Button Shapes" in a GUI section may have a banner that says "This section explains how to make different button shapes."

Private messages

Private messages are those that can be read only by specific users.

Note that private messages can be posted in any discussion thread, even in public discussions. This allows users to make comments to other users, but keep them within the context of the discussion.

For example, in the Button Shapes discussion above, Mario might privately tell Luke: "I prefer to make buttons with rounded corners." Only Mario and Luke will see that message.

Tagging

Special tags can be attached to messages.

Tags are often used to indicate messages that are important in some way. Maybe they need a resolution, an expert reply, or an official decision.

With tags, the message base is easily searched for those important messages.

Also, a message can have any number of tags, tags also include the user who issued the tag, and the date it was issued.

What's new?

The ability to see all new messages regardless of heading or type.

This provides a simple way to say, "show me everything that's been posted recently". You will see not only messages, but new headings, new users, new alerts, new files, etc.

Selecting an item (message or heading) from the list will automatically locate you to that context directly (under the relevant headings.)

Reference numbers

Any message, heading, alert, and everything else is referenced by a unique number.

For example, you can tell a user to "please read message #1020" or "go to heading #320".

In addition, these numbers provide each entry a unique URL address, allowing it to be referenced throughout the Internet.

User ranking

This is a trust mechanism to help reduce chaos and limit abuse.

For example, not every new user can create a heading or post an alert. Doing so requires specific ranks.

All users begin with low rank (untrusted) and advance via higher other ranked users.

Technology Requirements

In addition to the above features, there were also a few technology requirements:

About | Contact | PrivacyREBOL Technologies 2024