The Virtual File System
Rather than store files under control of the CMS directly in the file system, OpenCms stores all the content in the database. Using a relational database (RDBMS) rather than the operating system's file system gives OpenCms three distinct functional advantages.
First, OpenCms code can make use of the RDBMS by creating richer metadata, relationships, and indexes than a standard file system could support. The tasks of a content management system are much more specialized than those of a general file system, and whereas the file system would be difficult to extend in such a way as to suit the specialized needs of a CMS application, a RDBMS provides all of the necessary tools for modeling, storing, and retrieving specialized content.
The second advantage of using an RDBMS is that access to the content can be controlled much more efficiently and securely. File-system-level access control falls under the domain of the operating system. This produces a problem: access control...