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

From Woozle Writes Code
< VbzCart‎ | docs‎ | tables
Jump to navigation Jump to search
imported>Woozle
(changes - +ID_Folder, -WebSpec)
imported>Woozle
(timestamp fields)
Line 5: Line 5:
*** Added ID_Folder to allow use of different base URLs via {{vbzcart|table|cat_folders}}.
*** Added ID_Folder to allow use of different base URLs via {{vbzcart|table|cat_folders}}.
*** Removed WebSpec because nothing was using it and some of the data was missing and all of it used DOS-style paths.
*** Removed WebSpec because nothing was using it and some of the data was missing and all of it used DOS-style paths.
** '''2010-11-16''' Added '''WhenAdded''' and '''WhenEdited''' fields because... well, it's easy to do, and provides a secondary check against the event log.
* '''Fields''':
* '''Fields''':
** '''Spec''' can either be the official location of the file or can be updated from [[FileFerret]] using the IDFF data. It should eventually be renamed to something like LocalSpec, StorSpec, SrcSpec...
** '''Spec''' can either be the official location of the file or can be updated from [[FileFerret]] using the IDFF data. It should eventually be renamed to something like LocalSpec, StorSpec, SrcSpec...
Line 14: Line 15:
==SQL==
==SQL==
<section begin=sql /><mysql> CREATE TABLE `cat_images` (
<section begin=sql /><mysql> CREATE TABLE `cat_images` (
   ID                 INT NOT NULL AUTO_INCREMENT,
   ID                 INT NOT NULL AUTO_INCREMENT,
   isActive         BOOL NOT NULL DEFAULT FALSE,
   isActive           BOOL NOT NULL DEFAULT FALSE,
   ID_Folder         INT NOT NULL COMMENT "base folder to which the Spec is relative",
   ID_Folder           INT NOT NULL COMMENT "base folder to which the Spec is relative",
   Spec      VARCHAR(255) NOT NULL COMMENT "relative filespec for accessing image file",
   Spec      VARCHAR(255) NOT NULL COMMENT "relative filespec for accessing image file",
   ID_Title           INT NOT NULL COMMENT "titles.ID of title to which this image applies",
   ID_Title           INT NOT NULL COMMENT "titles.ID of title to which this image applies",
   Ab_Size  VARCHAR(7)           COMMENT "ImgSizes.Ab: abbreviation for image size class",
   Ab_Size  VARCHAR(7)             COMMENT "ImgSizes.Ab: abbreviation for image size class",
   AttrFldr  VARCHAR(15)           COMMENT "folder (key) name for images with this attribute",
   AttrFldr  VARCHAR(15)           COMMENT "folder (key) name for images with this attribute",
   AttrDispl VARCHAR(64)           COMMENT "description to display (e.g. in image tooltip) for this attribute",
   AttrDispl VARCHAR(64)           COMMENT "description to display (e.g. in image tooltip) for this attribute",
   AttrSort  VARCHAR(15)           COMMENT "sorting order for this attribute",
   AttrSort  VARCHAR(15)           COMMENT "sorting order for this attribute",
   IDFF_File     INT DEFAULT NULL COMMENT "FileFerret.Files.ID",
  WhenAdded  DATETIME DEFAULT NULL COMMENT "when this record was created",
   IDFF_Fideal   INT DEFAULT NULL COMMENT "FileFerret.Fideals.ID",
  WhenEdited DATETIME DEFAULT NULL COMMENT "when this record was last updated",
   IDFF_File       INT DEFAULT NULL COMMENT "FileFerret.Files.ID",
   IDFF_Fideal     INT DEFAULT NULL COMMENT "FileFerret.Fideals.ID",
   PRIMARY KEY(`ID`)
   PRIMARY KEY(`ID`)
  )
  )
  ENGINE = MYISAM;</mysql>
  ENGINE = MYISAM;</mysql>
<section end=sql />
<section end=sql />

Revision as of 23:03, 16 November 2010

About

  • Purpose: Stores data for images relevant to displaying catalog entities (currently only Titles)
  • History:
    • 2010-11-15
      • Added ID_Folder to allow use of different base URLs via Template:Vbzcart.
      • Removed WebSpec because nothing was using it and some of the data was missing and all of it used DOS-style paths.
    • 2010-11-16 Added WhenAdded and WhenEdited fields because... well, it's easy to do, and provides a secondary check against the event log.
  • Fields:
    • Spec can either be the official location of the file or can be updated from FileFerret using the IDFF data. It should eventually be renamed to something like LocalSpec, StorSpec, SrcSpec...
    • WebSpec should be considered the official location for the purposes of page display; only image admin functions should update it.
    • FileFerret columns:
      • IDFF_File should always be set; this way, the file can be located if it gets moved. NOT NULL isn't required, though, because it may be necessary to find the file first and later request a FileFerret ID for it.
      • IDFF_Fideal is set opportunistically, for now. Later on we may want to have a policy that all VbzCart images should have a Fideal, but this will be determined as FileFerret is worked out.
  • Future: I had boldly planned to use FileFerret to manage image files, and towards that end had boldly removed any actual filespec information from this table, but then later realized that this was placing too much tight dependency on another entire subsystem. Eventually the filespec fields need to be restored and FileFerret should be relegated to keeping them updated if things are moved.

SQL

<section begin=sql /><mysql> CREATE TABLE `cat_images` (

 ID                  INT NOT NULL AUTO_INCREMENT,
 isActive           BOOL NOT NULL DEFAULT FALSE,
 ID_Folder           INT NOT NULL COMMENT "base folder to which the Spec is relative",
 Spec      VARCHAR(255)  NOT NULL COMMENT "relative filespec for accessing image file",
 ID_Title            INT NOT NULL COMMENT "titles.ID of title to which this image applies",
 Ab_Size   VARCHAR(7)             COMMENT "ImgSizes.Ab: abbreviation for image size class",
 AttrFldr  VARCHAR(15)            COMMENT "folder (key) name for images with this attribute",
 AttrDispl VARCHAR(64)            COMMENT "description to display (e.g. in image tooltip) for this attribute",
 AttrSort  VARCHAR(15)            COMMENT "sorting order for this attribute",
 WhenAdded  DATETIME DEFAULT NULL COMMENT "when this record was created",
 WhenEdited DATETIME DEFAULT NULL COMMENT "when this record was last updated",
 IDFF_File       INT DEFAULT NULL COMMENT "FileFerret.Files.ID",
 IDFF_Fideal     INT DEFAULT NULL COMMENT "FileFerret.Fideals.ID",
 PRIMARY KEY(`ID`)
)
ENGINE = MYISAM;</mysql>

<section end=sql />