Basics

This page describes the basic functionality of ConnextCMS. The features described in this document will often be described as ConnextCMS Core, as opposed to features that are part of a plugin or site template.


A Note About Views

The term View gets used a lot in the documentation below. The term comes from the Model-View-Controller (MVC) architectural pattern used in software. In a nutshell, a 'View' is a user interface.

KeystoneJS Views and ConnextCMS Views are distinctly different. KeystoneJS has it's own 'Views', which are local URL paths such a /blog, /contact, or /dashboard. The ConnextCMS Dashboard is a Backbone.js single-page app (SPA) with its own 'Views', which are JavaScript files that control and display the different user interfaces within the application, such as the Post Add New view or the Image Library, which are described below.

KeystoneJS Admin UI

When logged into the site as a Superuser, a left menu item titled 'Keystone Admin UI' will appear. This link allows you access to the KeystoneJS Admin UI at the path /keystone. You can get back to the ConnextCMS Dashboard by clicking the link at the top of the page. This left menu item will not appear for Admin users.

Modal View

The Modal View is a Backbone View, but does not have a left menu entry like the other views. This view controls a Bootstrap Modal that can be used for displaying information to the end user. Unlike the JavaScript alert(), dialog(), and prompt() functions, the modal can not be accidentally blocked. It provides convenient functions for displaying error messages, success messages, and waiting messages. Review the code in /public/js/app/views/modalView.js for more details.

User Profiles

This feature is not yet fully developed. However, a KeystoneJS view has been created at the path /edituser that allows logged-in users to change the settings in their User model such as the displayed name, email, and password.

Eventually, this feature will allow users to upload an avatar image that will be displayed in the upper-right corner of the ConnextCMS Dashboard and can also be used on the front end of the site.

Password Reset

For users who have forgotten their password, they can reset it by going to /resetpassword and entering in the email address associated with their user account. If Mailgun is configured properly, a new password will be generated and emailed to that user. They can then login and use the /edituser page to reset their desired password.

Plugins and Site Templates

Plugins and Site Templates have been created to allow users of ConnextCMS to keep the different code base of ConnextCMS core and their own changes separate. This makes it easy to update KeystoneJS or ConnextCMS without breaking a web-app or website.

Site Templates and Plugin Templates are very similar to one another. Site templates are used to add your own customized web pages, KeystoneJS Views, and even new API routes to a site managed with ConnextCMS. Plugins take this idea one step further by allowing users to create their own custom left-menu item and Backbone Views within the ConnextCMS Dashboard. See the GitHub repository for each template for more information.