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

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
m (Woozle moved page VbzCart/tables/fm node to Ferreteria/modules/RepoFerret/rf node: This part looks completely general, so should be in Ferreteria)
(No difference)

Revision as of 21:02, 24 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).
    • This is related to FileFerret/SQL/entry, but not the same; that system tracks user-managed files.

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>