FM_Articles
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Name varchar(255) NULL
- A short, ideally unique, identifier for this article
-
Summary varchar(255) NULL
- A brief summary of this article
-
SortOrder integer NULL
- When articles are automatically ordered by RTFM, this field defines which
articles should be listed first. (Lower numbers are listed first)
-
Class integer NULL
- Foreign key to FM_Classes
-
URI varchar(255)
- A cached copy of this article's URI. Used to speed article relationship searches.
An "Article" is RTFM's central element. Each article belongs to
one and only one "Class".
Adtitionally, articles can have a number of "ArticleCFValues" which
correspond to the "CustomFields" for the Article's class.
FM_Classes
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Name varchar(255) NULL
- A short name for this class. Used to help categorize articles and access to
articles
-
Description varchar(255) NULL
- A brief description of what this class is used for.
-
SortOrder integer NULL
- Used to automatically order classes in listings.
-
Disabled int(2) not null default '0'
- Boolean used to determine whether this class is currently active
Classes are an analog to RT's "Queue."
Within RTFM, rights to a class and all articles within that class can be granted to an RT user or group, using RT's ACL system. Class objects contain the necessary metadata to be ACLed within RT.
FM_CustomFields
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Name varchar(200) NULL
- A short name for this custom field.
-
Type varchar(200) NULL
- A custom field's type determines its behaviour. Available types are:
SelectSingle SelectMultiple FreeformSingle FreeformMultiple TextSingle
-
Description varchar(200) NULL
- A freeform description for this custom field
-
SortOrder integer NULL
- When custom fields are automatically ordered by RTFM, this field defines which
articles should be listed first. (Lower numbers are listed first)
Almost all data and metadata related to an "Article" is attached to it in the form of CustomFields.
Within RTFM, rights to a CustomField can be granted to an RT user or group, using RT's ACL system. Class objects contain the necessary metadata to be ACLed within RT.
FM_ClassCustomFields
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Class integer not NULL
- Foreign key to FM_Class.id
-
CustomField integer not NULL
- Foreign key to FM_CustomFields.id
ClassCustomFields is a simple mapping table that allows a single CustomField to apply to more than one Class.
FM_CustomFieldValues
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
CustomField int NOT NULL
- Foreign key to FM_CustomFields.id
-
Name varchar(255) NULL
- What this custom field value is called. This is the name that shows up in a
list of possible values for a custom field.
-
Description varchar(255) NULL
- A brief description of what this value is used for, in the
context of the custom field.
-
SortOrder integer NULL
- When values are automatically ordered by RTFM, this field defines which
articles should be listed first. (Lower numbers are listed first)
CustomFieldValues contains a list of acceptable values for each SelectSingle or SelectMultiple CustomField.
ArticleCFValues
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Article int NOT NULL
- Foreign key to FM_Articles.id
-
CustomField int NOT NULL
- Foreign key to FM_CustomFields.id
-
Content text
-
To ensure data integrity, even as the "current" acceptable values for a
Custom Field change, the content is
stored by value, rather than by reference in the ArticleCFValues table.
This has the added benefit of allowing "Select" custom fields
to be converted to "Freeform" custom fields without losing data.
ArticleCFValues contains a list of current values for each applicable CustomField for each article.
FM_Transactions
Fields:
-
id INTEGER NOT NULL AUTO_INCREMENT
-
Article integer NULL
- Foreign key to FM_Articles.id
-
ChangeLog text NULL
- A textual description of the content of this change
-
Type varchar(64) NULL
- What sort of field is being changed. One of Link, Core, Custom
-
Field varchar(64) NOT NULL DEFAULT '',
-
If Type is "Core": the name of the core field we're changing
If Type is "Custom": Weak foreign key to FM_CustomFields.id
If Type is "Link" a description of what sort of link we're referring to.
(RefersTo, ReferredToBy)
- OldContent text NOT NULL DEFAULT ""
- The old value of the field in question
- NewContent text NOT NULL DEFAULT ""
- The new value of the field in question
Each transaction describes a single update to an "Article".