Difference between revisions of "VbzCart wikified topics"
(→Notes: more description) |
m (Reverted edits by 217.141.109.205 (Talk); changed back to last version by Woozle) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
The basic idea is that we would designate a set of Categories for use in the store "topics" pages. The categories to be used would probably be designated by some sort of prefix on the category name, like 'vtopic'... so a topic which would be displayed as "Stuff and Things" would have the page name "Category:vtopic:Stuff and Things". | The basic idea is that we would designate a set of Categories for use in the store "topics" pages. The categories to be used would probably be designated by some sort of prefix on the category name, like 'vtopic'... so a topic which would be displayed as "Stuff and Things" would have the page name "Category:vtopic:Stuff and Things". | ||
− | Probably going to abandon the numeric topics, and have aliases. Old-style number-topics will be redirected to new-style names. Aliases | + | Probably going to abandon the numeric topics, and have aliases. Old-style number-topics will be redirected to new-style names. Aliases, alternate spellings, and name-changes will be redirected the same way. |
So, for example: [[vbznet:topics/1367/|topics/1367/]] (subject -> dates): | So, for example: [[vbznet:topics/1367/|topics/1367/]] (subject -> dates): | ||
− | * looks up a page called | + | * looks up a page called [[Vtopic:1367]] |
− | * that page contains "#redirect <nowiki>[[ | + | * that page contains "#redirect <nowiki>[[vtopic:dates]]</nowiki>" |
− | * | + | * [[vtopic:dates]] contains: |
− | ** | + | ** [[:Category:vtopics]] (for ease of maintenance, and perhaps for generating master index) |
− | ** Delimiter to indicate beginning of vbzcart data | + | ** Descriptive text for web page |
− | ** List of catalog numbers | + | ** Eventually, it may contain these items as well: |
− | ** Long-version title ("items with a date") | + | *** Delimiter to indicate beginning of vbzcart data (or perhaps each item will have a delimiter?) |
− | + | *** <s>List of catalog numbers</s> Topic assignment will probably go in vtitles: pages | |
− | * | + | *** Long-version title (e.g. "items with a date") for displaying in lists of topics... or maybe the title should be the longer version, but then we might need a short version for displaying in trees |
− | ** For folder topics: | + | *** For folder topics: |
− | *** optional flag: display thumbnails of other items in topic | + | **** optional flag: display thumbnails of other items in topic |
− | *** optional flag: display subtopic items within this topic (recurse only as long as this flag is set in subtopics) | + | **** optional flag: display subtopic items within this topic (recurse only as long as this flag is set in subtopics) |
==Tables== | ==Tables== | ||
+ | Process: find title in '''page.page_title''', get '''page.page_latest'''. Look that up in '''revision.rev_id''', get '''revision.rev_text_id'''. Look that up in '''text.old_id''', and get '''text.old_text''', which is the raw (unparsed) contents of the page. | ||
+ | |||
Relevant bits of existing MediaWiki tables: | Relevant bits of existing MediaWiki tables: | ||
Line 56: | Line 58: | ||
|- | |- | ||
| '''pl_title''' || string || name of target page? | | '''pl_title''' || string || name of target page? | ||
+ | |} | ||
+ | ===revision=== | ||
+ | {| | ||
+ | |- | ||
+ | | '''rev_id''' || int || local key | ||
+ | |- | ||
+ | | '''rev_page''' || int || foreign key from ['''page'''] | ||
+ | |- | ||
+ | | '''rev_text_id''' || int || foreign key to ['''text'''] | ||
+ | |} | ||
+ | |||
+ | ===text=== | ||
+ | Contains the (unparsed) page contents for all revisions | ||
+ | {| | ||
+ | |- | ||
+ | | '''old_id''' || int || local key | ||
|} | |} |
Latest revision as of 11:17, 4 August 2007
Contents
Notes
Some preliminary design notes on using MediaWiki Categories to manage the store topic links.
The basic idea is that we would designate a set of Categories for use in the store "topics" pages. The categories to be used would probably be designated by some sort of prefix on the category name, like 'vtopic'... so a topic which would be displayed as "Stuff and Things" would have the page name "Category:vtopic:Stuff and Things".
Probably going to abandon the numeric topics, and have aliases. Old-style number-topics will be redirected to new-style names. Aliases, alternate spellings, and name-changes will be redirected the same way.
So, for example: topics/1367/ (subject -> dates):
- looks up a page called Vtopic:1367
- that page contains "#redirect [[vtopic:dates]]"
- vtopic:dates contains:
- Category:vtopics (for ease of maintenance, and perhaps for generating master index)
- Descriptive text for web page
- Eventually, it may contain these items as well:
- Delimiter to indicate beginning of vbzcart data (or perhaps each item will have a delimiter?)
List of catalog numbersTopic assignment will probably go in vtitles: pages- Long-version title (e.g. "items with a date") for displaying in lists of topics... or maybe the title should be the longer version, but then we might need a short version for displaying in trees
- For folder topics:
- optional flag: display thumbnails of other items in topic
- optional flag: display subtopic items within this topic (recurse only as long as this flag is set in subtopics)
Tables
Process: find title in page.page_title, get page.page_latest. Look that up in revision.rev_id, get revision.rev_text_id. Look that up in text.old_id, and get text.old_text, which is the raw (unparsed) contents of the page.
Relevant bits of existing MediaWiki tables:
page
page_id | Autonumber | |
page_namespace | int | 14 = categories |
page_title | str | name of page, not including namespace prefix |
page_restrictions | flags | |
page_counter | int | possibly number of edits? |
page_is_redirect | flag | includes #redirect |
page_is_new | flag | |
page_random | float | used for "Random page" |
page_touched | date/time | when page last saved? |
page_latest | ||
page_len |
pagelinks
pl_from | int | |
pl_namespace | int | index to hard-coded namespaces array |
pl_title | string | name of target page? |
revision
rev_id | int | local key |
rev_page | int | foreign key from [page] |
rev_text_id | int | foreign key to [text] |
text
Contains the (unparsed) page contents for all revisions
old_id | int | local key |