The filesystem
ADM organizes documents in a hierarchical structure, as other filesystems do. Each folder can contain subfolders and documents.
Root structure
Section titled “Root structure”In ADM every user file or folder belongs to either a user or a group. Upon installation the root, users, and groups folders are created. When a group or user is created, a corresponding folder is also created in the filesystem.
Directoryα (root folder)
Directoryusers
Directoryuser01
- …
Directoryuser02
- …
Directorygroups
Directorygroup01
- …
Directorygroup02
- …
These system folders get marked in the adm_folders table with the is_system_folder flag. Users and administrators cannot delete or modify them.
select * from adm_folderswhere is_system_folder = 'Y';User folders
Section titled “User folders”Each user has their own user folder for personal documents and files. It is the default location in the APEX app.
Each user folder gets created with a trash folder. The trash folder is system managed, so the user cannot delete it. When a user deletes a file, it lands in their trash folder.
Folders can be created to an unlimited depth.
Directoryα (root folder)
Directoryusers
Directoryuser01
Directorytrash (system folder)
- …
Directoryfolder01 (user folder)
Directorysubfolder
- …
- …
Directoryfolder02 (user folder)
- …
- …
Documents or folders added to a user’s folder are owned by that user. Nobody else has access to these files unless explicitly shared.
Group folders
Section titled “Group folders”Group folders work like user folders. The difference is that each member of the group has access to the group folder. They can still be explicitly shared with other users or groups.
Directoryα (root folder)
Directorygroups
Directorygroup01
Directoryfolder01 (group folder)
Directorysubfolder
- …
- …
Directoryfolder02 (group folder)
- …
- …
Deleting a document or folder moves it into the trash folder of the user who deleted it, rather than removing it. It leaves its folder, and the name it occupied becomes free again — trashed items never conflict with a new file of the same name.
The daily job permanently deletes items that
have been in the trash longer than CLEAN_TRASH_DAYS (30 by default). Until then they can be
restored; if the original folder no longer exists, the restore falls back to a valid location and
adjusts the name rather than failing.
Documents under a retention policy or a legal hold refuse to be trashed at all — see Records management.
Paths and name restrictions
Section titled “Paths and name restrictions”Every folder has a folder_path (/users/jdoe/projects), and paths are what several access and
subtree queries are built on. Two consequences:
- A username becomes a path segment, so
%and/are rejected in one. - Folder and document names may contain
_and%, both of which areLIKEwildcards. Internal queries escape them withadm_utils.escape_like; if you write your own subtree query againstfolder_path, you have to do the same, or/users/bob/my_docswill also match/users/bob/myxdocs.
Also refer to
Section titled “Also refer to”- The security model — ownership, roles and how a share overrides location
- Sharing — folder shares carry down the whole subtree
- Users and groups — home and group folders are created with the user or group
- Managing the filesystem from the database
- Administration — the Root View browses the whole tree