Difference between revisions of "VbzCart/tables/cat topic"
Jump to navigation
Jump to search
(New page: ==About== * '''Status''': Under development. May end up not being used. ==SQL== <section begin=sql /><mysql>DROP TABLE IF EXISTS `brs_topics`; CREATE TABLE `brs_topics` ( `ID` INT...) |
(tidying, reorganizing, updating; note about sorting) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==About== | ==About== | ||
− | * ''' | + | ===Usage=== |
+ | * '''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) | ||
+ | * 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 | + | `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` | + | `Name` VARCHAR(128) NOT NULL COMMENT "generic name (context-free, but as short as possible)", |
− | `NameTree` | + | `NameTree` VARCHAR(64) DEFAULT NULL COMMENT "name within context of parent; defaults to Name", |
− | `NameFull` | + | `NameFull` VARCHAR(255) DEFAULT NULL COMMENT "descriptive standalone name (context free, can be long)", |
− | `Sort` | + | `NameMeta` VARCHAR(144) DEFAULT NULL COMMENT "plain text for HTML META description tag", |
− | `Variants` | + | `Usage` VARCHAR(255) DEFAULT NULL COMMENT "usage instructions for this topic - show when editing topic", |
− | `Mispeled` | + | /* `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`) | PRIMARY KEY(`ID`) | ||
) ENGINE = MYISAM;</mysql> | ) ENGINE = MYISAM;</mysql> | ||
− |
Latest revision as of 00:58, 24 March 2016
About
Usage
- Used by: cat_title_x_topic,
- REDIRECT Template:l/vc/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>