MAE Database Architecture

Index Home MAE > MAE Architecture > MAE Database Architecture

Note: this page was generated by /usr/mae/bin/makedbwiki on 03/12/2024.

Table: DieLog
Table: FSNode
Table: GuiState
Table: GuiXact
Table: ImageLib
Table: IORegistry
Table: MsgListeners
Table: NewsSystem
Table: PendingMsgs
Table: Property
Table: RpcServices
Table: User
Table: UserComment
Table: UserNotice
Table: UserProperty
See Also

Table: DieLog

Database table for tracking user input of dice rolls

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id.

Timestamp

int(11)

The time of the user input the die roll.

User_id

int(11)

The User id of the user who input the die roll.

Dice

tinytext

The Dice being rolled, e.g. 2d4

Roll

tinyint(4)

The value entered by the user.


Table: FSNode

Virtual file system state node table; see iogw.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

ParentId

bigint

The FSNode id of the hierarchical parent of this file system resource

IsDir

char(1)

Flag: true if this resource is a directory that contains more resources

Name

tinytext

The name (e.g. filename) of the resource that is unique among its parent's children

Spoke

tinytext

The commhub spoke where the resource is accessed; the iogw on those host will manipulate this resource

OSFilename

mediumtext

The OSFilename field.

Path

mediumtext

The file system directory

ResourceId

bigint

The IORegistry id for this file system node

Atime

bigint

The timestamp for the last time this node was accessed inside MAE

Mtime

bigint

The timestamp for the last time this node was modified inside MAE

Owner

bigint

The MAE user who owns the file (future use)

Access

tinytext

The permitted access to the file (r, rw, w).


Table: GuiState

Table for tracking various UI state variables, per user.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

PC_id

int(11)

PC id for PC-specific state

User_id

int(11)

User id for User-specific state

Tag

tinytext

UI tag/keyword of state variable

Value

tinytext

Value of state variable


Table: GuiXact

Table for tracking all outstanding user UI queries. Includes information on what app to inform when response comes back.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

PC_id

int(11)

PC id of which PC queried

User_id

int(11)

User id of which PC queried

Query

tinytext

Text prompt user sees

QueryType

tinytext

Type of query. Implemented by usergw.

Type

Description

int

User is asked for an integer; only a number may be entered.

float

User is asked for a floating point number; only a number may be entered.

(dice)

User is asked for the result of a dice toss. If the input is 3d6+1, then the user must enter a number from 4-19.

text

User is asked for text; any text is allowed.

point

User is asked for coordinates, e.g. (1.2, 3.4)

YN

User is asked to answer Yes or No.


Response

mediumtext

User's last response to query

ReplyTo

tinytext

App to notify

ReplyRef

mediumtext

Callback data for app to notify

Prefill

mediumtext

Default answer or option choices

CBTag

tinytext

Request to provide to app as notification

QueryTime

int(11)

Timestamp of query

ResponseTime

int(11)

Timestamp of user's response

Tag

tinytext

UI region where query is displayed


Table: ImageLib

Image library

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

Name

tinytext

The unique name of the image within the category.

Category

tinytext

The application defined category for the image; this is used to group images.

Type

tinytext

The type of image, e.g. gif, jpg, png, svg

Image

mediumblob

The data of the image.

Checksum

int(11)

A checksum of the data of the image.

Height

int(11)

The height of the image in pixels

Width

int(11)

The width of the image in pixesl.

Owner_id

bigint(20)

The id from the User table of the owner of the image


Table: IORegistry

Virtual file system and MAE I/O resoruces registry; see tioreg.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

Name

tinytext

The unique name of the resource

Type

tinytext

The type of I/O resource, e.g. dir, file, ptty, serial, tcp, udp

Spoke

tinytext

The commhub spoke where the resource is accessed; the iogw on those host will manipulate this resource

Path

mediumtext

The path to the resource, e.g. file system directory

Params

mediumtext

Optional parameters needed to access the resource

State

int

The current state of the resource


Table: MsgListeners

A table used by msgbroker to record which daemons are listening on which channels.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

Name

tinytext

Name - the task's name, possibly including instance as well

AppId

tinytext

AppId - code by which commhub know the app

AppName

tinytext

AppName - the name of the app

Persist

char(1)

Persist flag.  Should messages be kept if listener is not active.

Active

char(1)

Active flag.  Set if listener is active.


Table: NewsSystem

The UserMan news management table used to update all users within an application domain.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

PostTime

bigint(20)

The timestamp of when the article was posted to the news system.

PostedBy

int(11)

The id from the User table of the user who posted the item

PostedFor

int(11)

The tenant id of who the notice is for

Priority

char(1)

Flag: true if the message requires priority emphasis

Domain

tinytext

The application domain for the news item.

Message

tinytext

The text of the message.


Table: PendingMsgs

This table is used by msgbroker to store messages awaiting delivery to daemons that are not active/running.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

Source

tinytext

The source channel of the message

Destination

tinytext

The destination channel of the message

Text

mediumtext

The body of the message

Timestamp

int(11)

The timestamp of when the message was sent


Table: Property

Application property table

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

AppName

tinytext

The name of the application that owns this property

Section

tinytext

An application organizes its properties into sections. The default, global section is called global.

Variable

tinytext

The name of the property key.

Value

mediumtext

The value of the property.


Table: RpcServices

This table contains the list of all active RPC calls by name.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

Name

tinytext

The name of the RPC call (method name)

AppId

tinytext

The commhub id where the app can be addressed

AppName

tinytext

The message channel of the app that services this RPC call

Timeout

int(11)

The timeout for the method; if this many seconds pass without a response, the calling app is informed the call was incomplete


Table: User

This table contains all the humans who may access this site.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Name

tinytext

Human's real name

Id

bigint

Table record number/id

Password

tinytext

Password to login

AuthKey

tinytext

The AuthKey field.

Created

bigint(20)

The date this account was created

LastLogin

date

The date of the last login by this user

LastLoginTS

bigint(20)

The LastLoginTS field.

LoginCount

int(11)

The number of times this user has logged in successfully

SessionId

int(11)

Session Id for ensuring authenticity of user throughout session

Email

tinytext

Email address of the user

AdminId

int(11)

(not implemented)

TermsVersion

int(11)

User has agreed to this terms version (app-specific)

WorldId

bigint

Tenant id; MAE app-specific

ResetRequest

int(11)

Timestamp of last password reset request

TempPassword

tinytext

Temporary password from reset request

FailedLogins

int(11)

Ongoing tally of failed logins

LastFailed

int(11)

Timestamp of last failed login

Disabled

char(1)

The Disabled field.

FailedLoginsGroup

int(11)

Burst of logins count

LastFailedGroup

int(11)

The LastFailedGroup field.


Table: UserComment

The user feedback table (comments, feature suggestions, bugs)

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

UserId

int(11)

The id from the User table who posted this comment

Title

tinytext

The subject of the suggestion

CommentType

tinytext

The type of message posted, e.g. S for suggestion, F for feature, and B for bug

Comment

mediumtext

The body of the comment being posted.

PostTime

bigint(20)

The timestamp of when the article was posted to the news system.

ReplyTime

bigint(20)

The timestamp of when your team replied to the comment.

ReplyUserId

int(11)

The id from the User table who replied to this comment

ResolveTime

bigint(20)

The timestamp of when the comment was resolved; 0 until done

ResolveUserId

int(11)

The id from the User table who resolved this comment

Severity

tinyint(4)

The severity of this comment, initially provided by the user

Priority

tinyint(4)

The priority of this comment, initially provided by the user


Table: UserNotice

The user notification system table.

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

UserId

int(11)

The id from the User table of the receiving user

PostTime

bigint(20)

The timestamp of when the notice was posted

ConfirmedTime

bigint(20)

If the message needs to be confirmed, this is the timestamp of confirmation; 0 otherwise

FormLongName

tinytext

The name of the long description form to use when notifying the user, typically under /usr/mae/notice

FormShortName

tinytext

The name of the brief description form to use when notifying the user, typically under /usr/mae/notice

Data

mediumtext

Various key/value pairs to be substituted into the long or short form.

Urgency

tinytext

The urgency level of the notice, e.g. now or soon

FromApp

tinytext

The name of the app sending the notice.

Address

tinytext

User address within the send media type.

SendStatus

tinytext

The status of sending the notice.

SendMedia

tinytext

The media type used to send the message, e.g. email, sms.


Table: UserProperty

User-specific property table

Field

Type

Description

dbbroker:root             - Failed         Cannot connect to MySQL server

Id

int(11)

Table record number/id

User_id

int(11)

The id from the User table of this user-specific property

AppName

tinytext

The name of the application that owns this property

Section

tinytext

An application organizes its properties into sections. The default, global section is called global.

Variable

tinytext

The name of the property key.

value

mediumtext

The value of the property.


See Also

dbbroker, tdbcmd, tdatadump, tioreg