Entities

    CMS Entities Basics | Overview | Documentation (image)

    CMS entities are:

    • User. The system allows users to log in using a password and perform specific actions. User authentication and authorization are handled through the CMS access control, which assigns users to groups to define permissions. User data can be stored in a MySQL database, a PostgreSQL database, a SQLite database file, or XML files. User management can be performed using the CMS administration tool called "Users" or by directly editing XML files.
    • Group. Users can be assigned to multiple groups. Authentication and authorization can be conducted based on individual users or the groups they belong to. Group information can be stored in a MySQL database, a PostgreSQL database, a SQLite database file, or XML files. Group management can be accomplished using the CMS administration tool "Groups" or by directly editing XML files.
    • File. HTML, JavaScript, CSS, templates, and other files are typically included in web pages. These files are commonly stored in dedicated folders within the CMS, usually located in /cms/files and /cms/images directories by default. Accessing and editing these files can be done through various methods such as the CMS "Files" admin pages, the CMS "Edit" plugin, WebDAV protocol, or server operating system tools. Images are usually stored in a separate folder, typically located at /cms/images by default. To upload files, users can utilize drag and drop functionality through the CMS "Files" admin pages directly from their personal computer folders. Access to files can be controlled through user and group permissions. File management tasks, such as uploading, editing, and organizing, can be performed using the CMS administration tool "Files".
    • Template. The CMS utilizes the PHP Smarty template engine. Page templates that depend on the skin are stored in the skin templates folder. Additionally, templates located in the files folder (typically found at /cms/files by default) can also be utilized. Different templates can be assigned to different pages, and templates have the capability to include other templates. The primary purpose of templates is to separate the presentation level from the programming level. Within templates, Smarty and CMS variables and plugins can be employed. Template management tasks, such as uploading, setting up, and associating templates with pages, can be accomplished using the CMS administration tools "Files", "Setup", and "Pages".
    • Page. A page comprises all the data necessary for its URL representation, including the title, description, URL, optional metadata, included files, template, and other relevant information. This data can be stored in a MySQL database, a PostgreSQL database, a SQLite database file, or XML files. Pages serve as the source for constructing the menu tree. Access to pages can be controlled through user and group permissions. Additionally, pages can be scheduled for publication at specific dates and times. Page management tasks, such as creation, editing, and deletion, can be performed using the CMS administration tool "Pages" or by directly editing XML files.
    • Menu. Site menu tree. Menu items can be authorized for users and groups, can be hidden (to be shown only in path), accessible for only logged on or only logged of users. Pages are source for menu tree. Menu data can be stored in a MySQL database, a PostgreSQL database, a SQLite data base file or XML file. Menu items access control can be controlled by users and groups. Menu items can be published by date and time from and to. Menu management can be done using CMS administration tool "Menu" or XML file edit.
    • Skin. The site menu tree consists of menu items that can be authorized for specific users and groups. Menu items may also be configured to be hidden, accessible only within their path, or visible to only logged-in or logged-out users. Pages serve as the source for constructing the menu tree. Menu data can be stored in a MySQL database, a PostgreSQL database, a SQLite database file, or XML file. Access to menu items can be controlled based on user and group permissions. Additionally, menu items can be scheduled for publication at specific dates and times. Menu management tasks, including creation, modification, and deletion of menu items, can be performed using the CMS administration tool "Menu" or by directly editing XML files.
    • Plugin. A plugin is a software package integrated into the CMS. By default, plugins are stored in the /cms/srv/plugins folder, while their local data resides in /cms/data/plugins/pluginid folder. Each plugin contains metadata such as its ID, name, owner, software folder path, and data folder path. It adheres to a standard plugin folder structure. A plugin delegates various resources to the CMS, including jQuery plugins, CSS files, templates, template plugins, and PHP classes. Some plugins may also include their own management tools, accessible through a subsite dedicated to the plugin.

      All KUSoftas CMS plugins are open source software and released under MIT license.