Model

    CMS Model Basics | Overview | Documentation (image)

    This CMS model represents way how will be created page content and sent to user internet browser when CMS receives HTTP request URI:

    1. Route. CMS receives request URI and HTTP method (GET, POST, etc.). Route process selects matching page item from list by URL and HTTP method. Route invokes selected page authorization process. Page URL may contain RESTful paramters, ex. /some-url/:id - where :id is parameter. Actual URI for this page will be /some-url/55 - where id=55. GET and POST variables are supported too. KUSoftas CMS uses Slim as framework for router implementation.
    2. Authorize. There may be logged on user or not in current internet browser session. Every logged user has its user ID and may have assigned groups (roles). CMS have ability to assign special groups for logged on and logged off session state. Every page has permission attributes (read, write, exece, manage) defined via assigned user ID and assigned groups. Authorization process compares current internet browser session user ID and assigned groups with page permissions. If there is no sufficient permissions and user is not logged it will be used HTTP basic authentication form. Else message "Authorization denied" will be sent to internet browser as response.

      Page permissions further will be used to authorize objects included into page, ex. file manager folders and files will inherit permissions from page containing this file manager.

    3. Include. Page has assigned to it main template. Each page may have different main templates assigned. KUSoftas CMS uses Smarty as template engine. If page have not assigned main template - default CMS template will be auto assigned. Include process gets some predefined template variables which may be included into templates. Ex.: page title, page language code, user ID, request URI and etc. KUSoftas CMS generate a number of CMS template variables to be used in page templates. There are folowing items that can be included into page:
      • Template files. Each template may include subtemplates and etc. Templates may be:
        • CMS templates
        • Site templates. Come from folders defined in cms configuration XML file
        • Skin templates. Come from site skin template folder (each skin may contain its own templates)
        • CMS plugin templates. Come from CMS plugin folder (each plugin may contain its own templates)
      • Template plugins (Smarty plugins). Template plugins may be:
        • CMS template plugins
        • CMS plugin template plugins (each plugin may contain its own template plugins)
      • CSS files. CSS style sheet files may be:
        • CMS
        • Site skin
        • CMS plugin
        • Any site file or external file defined by URL

        KUSoftas CMS supports professional grade SASS and LESS CSS!

      • JS files. Java script files may be:
        • CMS
        • Site skin
        • CMS plugin
        • Any site file or external file defined by URL
      • Image and other files. Image and other files may be:
        • CMS (/cms/files and /cms/images)
        • Site skin (/skin/images
        • Any site file or external file defined by URL
      • Menu. Site menu, languages and other site structure parts may be included using CMS template plugins.
      • CMS Plugins. Installed CMS plugins may be inluded into page using CMS Plugin jQuery plugins and CSS files. Ex. slider, boxer, news and etc. Each CMS plugin have its own management environment and data storage.

      KUSoftas CMS will not pass include process for matching URI if CMS configuration have setting api="1". In this case attached to URL PHP function will execute instead. It is suitable for RESTful API implementation.

    You can start with KUSoftas sample site template prepared to be suitable for business company.

    Vulnerability Scanner