File/program/modules/confab/install/confab_tabledefs.php

Description

/program/modules/confab/install/confab_tabledefs.php - data definition for module

A total of 3 tables is defined:

confabs - 1 record per confab, tied to a node; contains main configuration confab_messages - 0, 1 or more records containing visitor contributions to conversations confab_participants - 0, 1 or more records containing transient visitor information

The tables 'confabs' and 'confab_messages' have a relative straightforward 1-to-N relation. A record in confab_participants is created once a visitor joins the conversation (and presenting the correct pass code). The record only exists while the visitor is engaged in the conversation. Once a visitor leaves the conversation, the corresponding record is deleted. A conversation is completely self-contained in the confab_messages table.

Note: The length of the username in the table confab_participants below is set at 64. A system username is limited to a length of 60. This allows for at most 4 characters to distinguish Anonymous and Registered participants in the participants and messages tables. Feels like a kludge. Sorry. But wait, it gets worse... Because a registered user cannot change her username on joining the conversation, we have to have a way to distinguish multiple instances of the same USER->username. The best I could think of was to add a numeric 'username extension' that counts from 1 to N. Also, I now make a distinction between the username, ie. what the user entered in the dialog and the nickname which is used in the messages table. For anonymous users the nickname is the username with a postfix. For registered users it is their USER->username, with a postfix '(nnn)' for the second and following instances. Ugly. The extra space is 12: enough for '(' and 10 digits and ')'. A positive 32-bit number fits in that space...

Documentation generated on Tue, 28 Jun 2016 19:08:43 +0200 by phpDocumentor 1.4.0