Ferreteria/modules/files/rf node: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
(slowly approaching readiness....)
Line 1: Line 1:
==About==
==About==
* '''Purpose''': can represent any filesystem entity
* '''Meaning''': can represent any filesystem entity
 
* '''Purpose''': for code-managed repositories
Things to keep in mind: [[directory size optimization]] and the fact that the maximum [[URL]] length is somewhere around 1024 characters (varies by browser and server; presumably there is an official limit that is ≤ this).
* '''Notes''':  
** [[directory size optimization]] - For now, we'll just set use a constant and set it to a best-guess limit, probably 1000.
** maximum [[URL]] length is somewhere around 1024 characters (varies by browser and server; presumably there is an official limit that is ≤ this).  
==History==
==History==
* '''2017-07-22''' created for reworking file-management
* '''2017-07-22''' created for reworking file-management
Line 12: Line 14:
   FSpecFull TEXT        NOT NULL COMMENT "full filespec (calculated)",
   FSpecFull TEXT        NOT NULL COMMENT "full filespec (calculated)",
   WFullPath TEXT        NOT NULL COMMENT "full web URL (calculated)",
   WFullPath TEXT        NOT NULL COMMENT "full web URL (calculated)",
  WhenAdded  DATETIME    NOT NULL COMMENT "when the file was first added to the repository",
  WhenCreated DATETIME  NOT NULL COMMENT "file's creation timestamp",
  WhenEdited  DATETIME  DEFAULT NULL COMMENT "file's last-modified timestamp",
  WhenDeleted DATETIME  DEFAULT NULL COMMENT "when the file was removed from the repository (NULL = still here)",
   Descr    VARCHAR(255) DEFAULT NULL COMMENT "brief name or description",
   Descr    VARCHAR(255) DEFAULT NULL COMMENT "brief name or description",
   PRIMARY KEY(`ID`)
   PRIMARY KEY(`ID`)
) ENGINE = InnoDB;</mysql>
) ENGINE = InnoDB;</mysql>

Revision as of 23:46, 23 July 2017

About

  • Meaning: can represent any filesystem entity
  • Purpose: for code-managed repositories
  • Notes:
    • directory size optimization - For now, we'll just set use a constant and set it to a best-guess limit, probably 1000.
    • maximum URL length is somewhere around 1024 characters (varies by browser and server; presumably there is an official limit that is ≤ this).

History

  • 2017-07-22 created for reworking file-management

SQL

<mysql> CREATE TABLE `fm_node` (

 ID        INT          NOT NULL AUTO_INCREMENT,
 ID_Parent INT          DEFAULT NULL,
 FSpecPart VARCHAR(255) NOT NULL COMMENT "relative filespec - the part of the path from parent to this file/folder",
 FSpecFull TEXT         NOT NULL COMMENT "full filespec (calculated)",
 WFullPath TEXT         NOT NULL COMMENT "full web URL (calculated)",
 WhenAdded  DATETIME    NOT NULL COMMENT "when the file was first added to the repository",
 WhenCreated DATETIME   NOT NULL COMMENT "file's creation timestamp",
 WhenEdited  DATETIME   DEFAULT NULL COMMENT "file's last-modified timestamp",
 WhenDeleted DATETIME   DEFAULT NULL COMMENT "when the file was removed from the repository (NULL = still here)",
 Descr     VARCHAR(255) DEFAULT NULL COMMENT "brief name or description",
 PRIMARY KEY(`ID`)

) ENGINE = InnoDB;</mysql>