Index: openacs-4/packages/file-storage/www/doc/design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/doc/design.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/file-storage/www/doc/design.html 27 Oct 2014 16:41:35 -0000 1.4 +++ openacs-4/packages/file-storage/www/doc/design.html 7 Aug 2017 23:48:11 -0000 1.5 @@ -19,7 +19,7 @@
  • User directory: /file-storage/
  • Tcl procedures: /tcl/file-storage-defs.tcl
  • Requirements document: /doc/requirements/file-storage.html -
  • Data model: file-storage-create.sql +
  • Data model: file-storage-create.sql @@ -41,7 +41,7 @@

    We want something that is relatively secure, and can be extended -and maintained by any ArsDigita programmer, i.e., something that +and maintained by any ArsDigita programmer, i.e., something that requires only AOLserver Tcl and Oracle skills.

    In ACS 4, File Storage can be implemented on top of the Content @@ -89,7 +89,7 @@ permissions. (However they did have a concept of private group trees.) The reasons for this were to simplify the code and the user experience. However, this system actually caused some confusion -(e.g., explicitly granting permission to an outsider on a file in a +(e.g., explicitly granting permission to an outsider on a file in a group's private tree did not actually give that person access to the file) and was not as flexible as people desired. The ACS 4 version includes folder read, write and delete permissions. @@ -138,34 +138,34 @@ permission. Also, execute privileges have no meaning in this context.

    - +
    - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + +
    FolderFileVersionFolderFileVersion
    readview and enter folderview file informationview and download versionreadview and enter folderview file informationview and download version
    writeadd new files / foldersupload new versions-----writeadd new files / foldersupload new versions-----
    deletedelete folderdelete filedelete versiondeletedelete folderdelete filedelete version
    adminmodify permission grants and read, write and delete privilegesadminmodify permission grants and read, write and delete privileges
    @@ -237,29 +237,29 @@

    Tcl API

    -
    -

    children_have_permission_p

    children_have_permission_p [ -user_id user_id ] item_id privilege
    +
    +

    children_have_permission_p

    children_have_permission_p [ -user_id user_id ] item_id privilege
    This procedure, given a content item and a privilege, checks to see if there are any children of the item on which the user does not have that privilege.

    -

    Switches:
    --user_id (optional)
    +

    Switches:
    +-user_id (optional)
    -

    Parameters:
    -item_id
    -privilege
    +

    Parameters:
    +item_id
    +privilege

    -
    -

    fs_context_bar_list

    fs_context_bar_list [ -final final ] item_id
    +
    +

    fs_context_bar_list

    fs_context_bar_list [ -final final ] item_id
    Constructs the list to be fed to ad_context_bar appropriate for item_id. If -final is specified, that string will be the last @@ -268,19 +268,19 @@

    -

    Switches:
    --final (optional)
    +

    Switches:
    +-final (optional)
    -

    Parameters:
    -item_id
    +

    Parameters:
    +item_id

    -
    -

    fs_file_downloader

    fs_file_downloader conn key
    +
    +

    fs_file_downloader

    fs_file_downloader conn key
    Sends the requested file to the user. Note that the path has the original file name, so the browser will have a sensible name if you @@ -290,87 +290,87 @@

    -

    Parameters:
    -conn
    -key
    +

    Parameters:
    +conn
    +key

    -
    -

    fs_file_p

    fs_file_p file_id
    +
    +

    fs_file_p

    fs_file_p file_id
    Returns 1 if the file_id corresponds to a file in the file-storage system. Returns 0 otherwise.

    -

    Parameters:
    -file_id
    +

    Parameters:
    +file_id

    -
    -

    fs_folder_p

    fs_folder_p folder_id
    +
    +

    fs_folder_p

    fs_folder_p folder_id
    Returns 1 if the folder_id corresponds to a folder in the file-storage system. Returns 0 otherwise.

    -

    Parameters:
    -folder_id
    +

    Parameters:
    +folder_id

    -
    -

    fs_get_folder_name

    fs_get_folder_name folder_id
    +
    +

    fs_get_folder_name

    fs_get_folder_name folder_id
    Returns the name of a folder.

    -

    Parameters:
    -folder_id
    +

    Parameters:
    +folder_id

    -
    -

    fs_root_folder

    fs_root_folder [ -package_id package_id ]
    +
    +

    fs_root_folder

    fs_root_folder [ -package_id package_id ]
    Returns the root folder for the file storage system.

    -

    Switches:
    --package_id (optional)
    +

    Switches:
    +-package_id (optional)

    -
    -

    fs_version_p

    fs_version_p version_id
    +
    +

    fs_version_p

    fs_version_p version_id
    Returns 1 if the version_id corresponds to a version in the file-storage system. Returns 0 otherwise.

    -

    Parameters:
    -version_id
    +

    Parameters:
    +version_id
    @@ -389,7 +389,7 @@ Inserting a row into the table fs_root_folders occurs the first time the package instance is visited. The reason is that there is no -facility in APM to insert a row in the database everytime a package +facility in APM to insert a row in the database every time a package instance is created (technically, there is no "on insert" trigger imposed by APM on Content Repository, since they are separate packages even though they are both part of the core). The solution to this @@ -552,10 +552,10 @@

    XII. Revision History

    - - - - +
    Document Revision #Action Taken, Notes
    + + +
    Document Revision #Action Taken, Notes When? By Whom?