VbzCart/docs/tables/cat topic: Difference between revisions

From Woozle Writes Code
< VbzCart‎ | docs‎ | tables
Jump to navigation Jump to search
imported>Woozle
imported>Woozle
(renamed)
Line 1: Line 1:
==About==
==About==
* '''Status''': Working (2011-02-04)
* '''Used by''': {{vbzcart|table|cat_title_x_topic}}, {{vbzcart/query|qryTitleTopic_Titles}}
* '''Used by''': {{vbzcart|table|brs_titles_x_topics}}
* '''Future''': rename to {{vbzcart|table|cat_topic}}; rename {{vbzcart|table|brs_titles_x_topics}} to {{vbzcart|table|cat_title_x_topic}}
* '''History''':
* '''History''':
** '''2010-10-13''' Coding (store and admin) in progress; noted 3 possible fields to add
** '''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-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-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'''
* '''Notes''':
* '''Notes''':
** Fields I'm considering adding here:
** Fields I'm considering adding here:
Line 20: Line 20:
*** (future) show thumbnails for titles in topics with the A flag
*** (future) show thumbnails for titles in topics with the A flag
==SQL==
==SQL==
<section begin=sql /><mysql>DROP TABLE IF EXISTS `brs_topics`;
<section begin=sql /><mysql>DROP TABLE IF EXISTS `cat_topic`;
CREATE TABLE `brs_topics` (
CREATE TABLE `cat_topic` (
   `ID`        INT              NOT NULL AUTO_INCREMENT,
   `ID`        INT              NOT NULL AUTO_INCREMENT,
   `ID_Parent` INT          DEFAULT NULL COMMENT "brs_topics.ID of parent topic",
   `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",

Revision as of 23:27, 28 September 2011

About

  • Used by: Template:Vbzcart, Template:Vbzcart/query
  • 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
  • Notes:
    • Fields I'm considering adding here:
      • 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
  • Uses: Topics are (eventually) 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

SQL

<section begin=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> <section end=sql />