CMS module for Phprojekt

CMS module for Phprojekt

FS#45 - Store all files in a two-level hashed tree.

Attached to Project: CMS module for Phprojekt
Opened by Mario A. Valdez-Ramirez (mvaldez) - Sunday, 11 July 2004, 12:53 GMT-6
Last edited by Mario A. Valdez-Ramirez (mvaldez) - Sunday, 11 July 2004, 12:53 GMT-6
Task Type Bug Report
Category Backend / Core
Status Assigned
Assigned To Mario A. Valdez-Ramirez (mvaldez)
Operating System All
Severity Low
Priority High
Reported Version any
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


To overcome the problems in safe-mode setups we can uploada predefined document root tree, with hashed filenames and document directories being virtual.

Directories should be virtual, no directory creation/moving/deleting should be done on the filesystem but only in the stored relationships of files/directories (in the database). Just like Phprojekt do.

Files should be stored in hashed form (SHA1 for example) in a two-level directory tree (to improve performance). So, a file named 98a68f71cc3073954e859c81edc8ddb8b483b780 will be stored in the directory cm/root/9/98/ or in cm/root/9/ if we use a one-level directory.

The directory tree should be distributed with the CMS package, so when uploaded, the ownership will be of the user. (We still have the problem of the permissions, the tree would need to be given 0777 permissions).

It would be nice to provide a reversal operation, so the administrator could restore all files to the "real" directoy tree.
This task depends upon