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

From Woozle Writes Code
Jump to navigation Jump to search
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 edit summary
Line 6: Line 6:
** maximum [[URL]] length is somewhere around 1024 characters (varies by browser and server; presumably there is an official limit that is ≤ this).
** 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.
** This is related to [[FileFerret/SQL/entry]], but not the same; that system tracks user-managed files.
** Wrinkle I'm still working out: this actually needs to track two different representations of the file -- one for how to retrieve it from the native filesystem, and the other by which it will be represented to the user. There are issues to consider.
==History==
==History==
* '''2017-07-22''' created for reworking file-management
* '''2017-07-22''' created for reworking file-management
* '''2017-07-24''' moved from [[VbzCart]] to Ferreteria (RepoFerret module); renamed from '''fm_node''' to '''rf_node'''
==SQL==
==SQL==
<mysql> CREATE TABLE `fm_node` (
<mysql> CREATE TABLE `rf_node` (
   ID        INT          NOT NULL AUTO_INCREMENT,
   ID        INT          NOT NULL AUTO_INCREMENT,
   ID_Parent INT          DEFAULT NULL,
   ID_Parent INT          DEFAULT NULL,

Revision as of 11:42, 25 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.
    • Wrinkle I'm still working out: this actually needs to track two different representations of the file -- one for how to retrieve it from the native filesystem, and the other by which it will be represented to the user. There are issues to consider.

History

  • 2017-07-22 created for reworking file-management
  • 2017-07-24 moved from VbzCart to Ferreteria (RepoFerret module); renamed from fm_node to rf_node

SQL

<mysql> CREATE TABLE `rf_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>