VbzCart/docs/tables/cat topic: Difference between revisions
Jump to navigation
Jump to search
imported>Woozle (new fields: cntTiHere, cntTiSub) |
m (Woozle moved page VbzCart/VbzCart/tables/cat topic to VbzCart/docs/tables/cat topic without leaving a redirect: part 3/5) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
==About== | ==About== | ||
===Usage=== | |||
* '''Used by''': {{vbzcart|table| | * '''Used by''': {{vbzcart|table|cat_title_x_topic}}, {{vbzcart/query|qryTitleTopic_Titles}} | ||
* ' | Generally, Topics are to be used in the following places: | ||
* Topic pages (show what titles are assigned) | |||
** '''2011-02-05''' New fields: '''NameMeta''' and '''Usage''' | * Topic index (show what item types are [(1) available (2) in stock] for each topic) | ||
* Title pages | |||
* ''' | ** show what topics the title is in | ||
** summarize how many other titles are available for each topic | |||
** (future) show thumbnails for titles in topics with the A flag | |||
In most display context, Topics should be sorted properly. (I thought I had already documented this but can't find it anywhere, so this is a first-pass reconstruction.) Sorting should generally be:<mysql>ORDER BY Sort, Name</mysql> | |||
===History=== | |||
* '''2010-10-13''' Coding (store and admin) in progress; noted 3 possible fields to add | |||
* '''2011-02-04''' working | |||
* '''2011-02-05''' New fields: '''NameMeta''' and '''Usage''' | |||
* '''2011-02-24''' New fields: '''cntTiHere''' and '''cntTiSub''' to support lookup-free indication of where to find active titles | |||
* '''2011-09-28''' renamed from '''brs_topics''' to '''cat_topic''' | |||
===Future=== | |||
* Fields I'm considering adding: | |||
** A) a flag to indicate that thumbnails of other items in the same category should be shown | |||
** B) a prefix to be added to NameFull for all child nodes (and maybe a flag to override it) | |||
** C) a way of creating "virtual" nodes to cross-link to related topics in other branches | |||
==SQL== | ==SQL== | ||
<mysql>DROP TABLE IF EXISTS `cat_topic`; | |||
CREATE TABLE ` | CREATE TABLE `cat_topic` ( | ||
`ID` INT NOT NULL AUTO_INCREMENT, | `ID` INT NOT NULL AUTO_INCREMENT, | ||
`ID_Parent` INT DEFAULT NULL COMMENT " | `ID_Parent` INT DEFAULT NULL COMMENT "cat_topic.ID of parent topic", | ||
`Name` VARCHAR(128) NOT NULL COMMENT "generic name (context-free, but as short as possible)", | `Name` VARCHAR(128) NOT NULL COMMENT "generic name (context-free, but as short as possible)", | ||
`NameTree` VARCHAR(64) DEFAULT NULL COMMENT "name within context of parent; defaults to Name", | `NameTree` VARCHAR(64) DEFAULT NULL COMMENT "name within context of parent; defaults to Name", | ||
Line 37: | Line 41: | ||
PRIMARY KEY(`ID`) | PRIMARY KEY(`ID`) | ||
) ENGINE = MYISAM;</mysql> | ) ENGINE = MYISAM;</mysql> | ||
Latest revision as of 01:56, 25 February 2024
About
Usage
- Used by: Template:Vbzcart, Template:Vbzcart/query
Generally, Topics are to be used in the following places:
- Topic pages (show what titles are assigned)
- Topic index (show what item types are [(1) available (2) in stock] for each topic)
- Title pages
- show what topics the title is in
- summarize how many other titles are available for each topic
- (future) show thumbnails for titles in topics with the A flag
In most display context, Topics should be sorted properly. (I thought I had already documented this but can't find it anywhere, so this is a first-pass reconstruction.) Sorting should generally be:<mysql>ORDER BY Sort, Name</mysql>
History
- 2010-10-13 Coding (store and admin) in progress; noted 3 possible fields to add
- 2011-02-04 working
- 2011-02-05 New fields: NameMeta and Usage
- 2011-02-24 New fields: cntTiHere and cntTiSub to support lookup-free indication of where to find active titles
- 2011-09-28 renamed from brs_topics to cat_topic
Future
- Fields I'm considering adding:
- A) a flag to indicate that thumbnails of other items in the same category should be shown
- B) a prefix to be added to NameFull for all child nodes (and maybe a flag to override it)
- C) a way of creating "virtual" nodes to cross-link to related topics in other branches
SQL
<mysql>DROP TABLE IF EXISTS `cat_topic`; CREATE TABLE `cat_topic` (
`ID` INT NOT NULL AUTO_INCREMENT, `ID_Parent` INT DEFAULT NULL COMMENT "cat_topic.ID of parent topic", `Name` VARCHAR(128) NOT NULL COMMENT "generic name (context-free, but as short as possible)", `NameTree` VARCHAR(64) DEFAULT NULL COMMENT "name within context of parent; defaults to Name", `NameFull` VARCHAR(255) DEFAULT NULL COMMENT "descriptive standalone name (context free, can be long)", `NameMeta` VARCHAR(144) DEFAULT NULL COMMENT "plain text for HTML META description tag", `Usage` VARCHAR(255) DEFAULT NULL COMMENT "usage instructions for this topic - show when editing topic",
/* `Details` VARCHAR(255) DEFAULT NULL COMMENT "additional information of interest to regular users (may include HTML)", */
`Sort` VARCHAR(15) DEFAULT NULL COMMENT "optional sorting key", `Variants` VARCHAR(255) DEFAULT NULL COMMENT "synonyms and other keywords which should find this topic", `Mispeled` VARCHAR(255) DEFAULT NULL COMMENT "same as Variants, but these are WRONG spellings; avoid displaying", `cntTiHere` INT DEFAULT NULL COMMENT "calculated: number of active titles for this topic", `cntTiSub` INT DEFAULT NULL COMMENT "calculated: sum of active titles for all subtopics", PRIMARY KEY(`ID`)
) ENGINE = MYISAM;</mysql>