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

From Woozle Writes Code
< VbzCart‎ | docs‎ | tables
Jump to navigation Jump to search
imported>Woozle
(timestamp fields)
imported>Woozle
(updates)
Line 12: Line 12:
*** '''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_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.
*** '''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.
* '''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. Maybe FileFerret should be responsible for keeping track of apps that use it, and for notifying them if any of their files are moved.
==SQL==
==SQL==
<section begin=sql /><mysql> CREATE TABLE `cat_images` (
<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,
Line 31: Line 31:
  )
  )
  ENGINE = MYISAM;</mysql>
  ENGINE = MYISAM;</mysql>
<section end=sql />

Revision as of 16:12, 18 April 2015

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. Maybe FileFerret should be responsible for keeping track of apps that use it, and for notifying them if any of their files are moved.

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>