The CMS provides functionalities to easily perform a search, sort, join tables, create the dashboard, perform operations such as add, edit, delete, view details, export, etc easily. It also provides functionalities include js and CSS files, data display options like ‘order by’ and ‘where’ and perform validation of ‘required’, ’email’, ’URL’ and ‘number’. Cms also provides the option to define breadcrumbs, prefix, postfix, header, etc.
The dashboard can be created easily created by writing as simple configuration. CMS provides functionalities to display graphs and tables. The 'listingPanel' is used to define the data to be displayed in table form on the dashboard. The 'graphPanel' is used to define the graph to be displayed on the dashboard. Dashboard graph has option to specify graph width, height, caption , x-axis name, y-axis name color etc..
Sample link is :
Sample dashboard configuration :
' listinPanelRow' is used to define the number of rows for the listing panel and 'graphpanelRow' is used to define the number of rows for the graph panel. 'graphPanel(rowcount)' defines graph panel for the graph panel number (rowcount). 'listinPanel(rowcount)' defines listing panel for the listing panel number (rowcount). 'column' is used to specify the number of columns in the panel.
Sample Dashboard View:
Cms supports diffirent types of charts like MSCombiDY2D, MSLine, etc. The colors used in the graph should be given as hexcode. Pie chart can also be displayed on the dashboard.
The settings section can be created easily using simple configuration. The details to be displayed in the settings section are taken directly from the table specified. The values are also stored in the table. The table should have field names settingfield, value, settinglabel, groupLabel, type, parent_settingfield and display_order. The field names of settingfield, value can have different field names, and the field name maping must be specified in the configuration in 'fieldAssignment'. The fields groupLabel, type, parent_settingfield and display_order must have the same name.
Sections can be created by writing configuration for the table for that section in manage sections under a group.
Section can be viewed depending on the cms user privileges. If the user does not have the privilege to access the section, then Illegal access error message is displayed.
Searching can be performed easily using “searchable” : “true” in the column definition of the field of the table. Wild search can be performed using “wildsearch” : “true” in section configuration.
CMS provides functionalities to perform basic operations like add, edit,delete, custom delete and view details. It also allows to perform custom operations. Operations are specified using “operations” keyword. Custom operations can be performed using “customOperations” keyword. Custom operations can be performed on multiple records together using “multiselectActions” keyword.
Eg:
The 'addLabel' in 'operationLabel' is used to specify the label for the add button for the section. The default label is 'Add '. 'editTitle' in 'operationLabel' is used to specify the title for the edit icons in the section. 'viewTitle' in 'operationLabel' is used to specify the title for the view icons in the section. 'deleteTitle' in 'operationLabel' is used to specify the title for the delete icons in the section (for delete & custom delete operation).
In custom operations,
The 'name' is the text/label displayed for the operation link. The function in 'linkSource' returns the url to the page where the operation is performed. The 'title' is the title displayed for the operation link. If ' “target” : “newtab” ' is given, then the page specified in the 'linkSource' will open in new tab. If the page specified in the 'linkSource' need to opened in the same tab then target need not be defined.
In multiselect custom operations,
The function in 'actionOperationSource' performs the operation.
The class should be defined in 'app.css' file or can be a class already defined (like bootstap class). Make sure the style does not conflict with the other styles as app.css in included in all pages(front end & cms) by default by the framework.
Manage Settings, Manage Groups are Manage Sections default sections in CMS. They can only be modified by users with developer or sadmin privileges. Manage Settings is used to manage the settings of the cms pages. Manage Groups is to manage groups. Manage Sections are used to manage sections. A section can be added under a group. There are options to set display order for sections and groups. Sections or groups can be given privileges.
Cms provides ‘editoptions’ keyword to specify the details of the column/fields to be used in case of edit/add operations. The ‘type’ keyword can have values textbox, textarea, select, checkbox, radio and hidden. Hints can be given using “hint” keyword. Dropdown box can be created by using “type” : “select”. Form fields that are supported are date picker, html editor, textarea, radio button, autocomplete, password, hidden field, disabled field etc. We can give placeholder, class, prehtml, posthtml, etc in form elements.
Eg:
The dropdown can have values from an array or a function. In the case where dropdown gets values from a function, function should be specified and defined and it should be a static function.
Eg of dropdown :
Eg of dropdown with data from a function :
To set/change the default text/label displayed in the select box, the 'defaultLabel' can be defined in the column definition of that field. If 'defaultLabel' is not defined, then 'Select' will be displayed as the default text/label in the select box.
Eg: File upload configuration
Eg: Tag type configuration or Auto-populate selecting
Cms provides the option to perform validation on required fields. Validations can be performed for ‘required’, ‘email’, ‘url’ and ‘number’. This can be done using the ‘validations’ keyword. This is given inside ‘editoptions’. keyword.
Cms provides the functionality to perform custom actions. Custom actions can be used to perform operation before or after add / edit / delete operation.
Cms can be used to manage the admin side. It can be used to manage the content of the static pages of the project and also to manage the cms users, their roles and privileges and passwords. Meta Tag management and mail template management can be done using Cms.
CMS provides option to combine tables.Using combineTable, the fields of the joined table can be displayed and add/edit operations can be performed on this table along with the parent table. This is done by defining the combineTable section.
Eg:
The fields mentioned 'combineColumns' should be mentioned in 'detailColumns' and defined in 'columns' and need not be mentioned in 'listColumns' and 'showColumns'.
The custom header links can be created easily created by writing as simple configuration. The link can redirect to a page or display the page as a popup.
In the cms_sections table entry, the section alias should be 'cms_layout' and table name should be none.
Sample header link configuration :
In the above Eg:, Link1 redirects to the page/url returned by the function specified in 'linkSource' and Link2 displays the contents of the page/url returned by the function specified in 'linkSource' in a popup.
The reports section can be created easily using simple configuration. The reports configuration provides functionality to select the date range to be displayed [current week, current month, all, custom date range], export option and search & sort for required fields.