Editor's introduction: CMS system is the content management system. Combined with CMS system, operators can complete the website construction more quickly and reduce the consumption of development resources. How should the CMS system be built? In this article, the author summarizes the elements required for the construction of CMS system and the corresponding construction strategies, and takes a look together.
CMS system (content management system) is a product form that can be embedded into different system systems. It mainly helps operators or website builders to complete the website construction required by business. Using CMS system can well reduce the development resources required by frequently customized websites.
However, due to the different forms of websites and the different requirements of different types of websites, there is no special unified business logic of the CMS system at present. By referring to a few product design drafts and the open source documents of Empire CMS, I sorted out several elements needed for the prototype of the CMS system.
Product background: content management - website building design (mainly portal website), which is used to deal with scenarios with multi-channel customization of websites or more customization requirements.
First, let's take a look at the steps provided by Empire CMS.
EmpireCMS website building steps:
(Screenshot from the Open Source Platform Manual of Imperial CMS)
CMS in a narrow sense (realizing user self operation):
Add column Edit Column Info Attribute, Page Basic Attribute - Column Type; Select the content model [Select the preset content model and determine the content presentation form]; Edit content [Edit content details]; Generate the foreground page [Save and synchronize information to the foreground].
Two main page function modules evolved from the above process: column management, content management (also called information management), and configuration pages required according to the system type, such as portal websites, home page management support, and related navigation bar settings.
More flexible and advanced content management also has another dimension: thematic.
The topic dimension supports the aggregation of the same type of page content in different columns to become a topic. The use of topics can integrate the display of another rule without changing the attributes of the column itself, making it more flexible to use and more free to operate. However, for some normal portal websites or personal sites, which are light operation websites, the use of column configuration page rules is enough.
1、 Use of columns
Column is the basic rule for content integration. Through the definition of column, the inherent relationship between different pages can be constrained. Configure the hierarchical relationship between different contents through sub column management.
Columns support multi-level creation. When you create a new column, you can select the required content model. The content model of parent and child columns can be different, because the relationship between columns is only a collection of background management information, not much associated with the front-end display logic. Each layer of columns can become an independent display page.
Of course, the collection of columns can provide display logic for some automated display requirements. When using column management related content, you can directly obtain the child columns of this column for the pages that need to display the same column content in a list and display them. We only need to maintain the hierarchical relationship of columns in the background to control the list content displayed in the front end.
What basic attributes should a column contain?
I think that to meet the usability of a column, it must at least include three basic information: column title, column, column type and page content model. If you want to make the column more useful, you can add attribute content such as column status (display/hide), external links, column introduction, weight, etc, You can even add a related tag system to enrich the attribute content of the column, making it more flexible to use.
2、 Use of content models
There are several general categories of content models: product model, article model, and single page model. (There may be differences in naming, just understand the content)
1. Product model
The page display model with the highest degree of freedom can be combined with various pre designed components of the front end to design the page layout, and the entrance of other detailed pages can be attached through the part of the component that contains links. Generally, it is the main content model used for building a website. Component style and function determine the style and capability of this model.
2. Article model
This model can also be divided into two categories: general class and immediate class.
The general article model can be used to build the help center of the website, information introduction and other non real-time display of articles on the page; The instant class is mostly used for articles that need to display news or news, focusing on timeliness without hierarchical requirements.
The article model can be divided into the above two content models in actual design, or can be abstracted into one. The article model can be pushed to the corresponding column page for display by editing the article in the content management module.
3. Single page model
A relatively simple content display model, which generally does not contain links, is only used as a content display page, which is easy and fast to build, and can be completed by using rich text editing directly. The single page model is generally used to quickly build graphic and text oriented pages such as About Us, Website Profile, etc.
With column types and content models, you can complete the construction of basic website pages. In order to better display the business logic, you can refer to the following figure:
3、 Editing content and form
From the perspective of ease of use, it is better for a user-friendly CMS system to realize the page configuration form of what you see, so that users can view the configuration effect of existing pages without going to the foreground.
For example, when building Shopify's personal station store, the form of outline and page preview is more comfortable and easy to use. The lower the learning cost, the easier it will be for operators. Therefore, in the process of website construction, it is highly recommended to adopt the form of front-end components for visual editing.
The following screenshot is from the page configuration of Shopify store's personal station. Personally, it is a better visual configuration mode known at present:
The richness of the configuration page depends on the richness of the front-end components we develop, and it can be constantly expanded to adapt to different page styles and business requirements.
4、 Other necessary non functional requirements
A qualified CMS system supports the configuration of qualified websites. It also needs to supplement or consider some necessary non functional requirements. If used together, it can improve the "popularity" of the website.
1. Page response
Page response is the most important factor that affects page retention, especially for C end websites. The following is a statistical data on page opening time and abandonment rate. For pages without special emphasis, I suggest opening within 3S (pay attention to the test of weak network environment).
2. Progressive enhancement
Progressive enhancement is the mainstream design idea at present, including cross platform and terminal access, access to different versions of browsers, etc. At the beginning of system design, it is better to consider the design idea of progressive enhancement, such as confirming the terminal type and browser version that need to be compatible. It's better to communicate with front-end students to optimize the product experience.
3. SEO optimization
Products with SEO requirements also need to be put forward in the early stage of the product, because it will affect the overall idea of front-end design. At present, most front-end applications are in the form of single page applications. If you do not consider SEO in advance, it is easy to lead to failure to meet the search requirements when there are corresponding requirements later, leading to the need for technical restructuring.
To meet the above requirements, the first version of the CMS system (or module) can basically be launched. As for more keywords, tags, topics, custom content templates, etc., emmm, let's talk about it~
This article was originally published by @ Dafei Eric, and everyone is a product manager. Reproduction is prohibited without permission
The picture is from Unsplash, based on CC0 protocol