产品思考(1):CMS系统一阶段复盘
xsobi 2024-11-27 22:32 1 浏览
编辑导语:CMS系统即内容管理系统,结合CMS系统,运营人员可以更快速地完成网站搭建,减少开发资源的消耗。那么CMS系统应该如何搭建?本篇文章里,作者总结了CMS系统搭建所需的要素和相应的搭建策略,一起来看一下。
CMS系统(内容管理系统)是可以嵌入到不同系统体系中的一种产品形态,主要帮助运营人员或者建站者完成业务所需的网站搭建,利用CMS系统可以很好地降低定制频繁的网站所需的开发资源。
但是因为网站形态各异和不同类型网站的要求不同,目前没有特别统一的CMS系统业务逻辑,通过参考为数不多的产品设计稿和Empire CMS(帝国)的开源文档,我梳理出了CMS系统雏形所需的几个要素。
产品背景:内容管理——建站设计(门户网站为主),用于处理网站多渠道定制或者客制化要求较多的场景。
先看下Empire CMS提供的建站步骤。
EmpireCMS建站步骤:
(截图来自帝国CMS的开源平台手册)
狭义的CMS(实现用户自运营):
- 增加栏目【编辑栏目信息属性、页面基本属性-栏目类型】;
- 选择内容模型【选择预设的内容模型,确定内容展示形式】;
- 编辑内容【编辑内容详情】;
- 生成前台页面【保存并同步信息到前台】。
根据上述流程演化出来的两个主要页面功能模块:栏目管理、内容管理(又叫信息管理),以及根据系统类型所需的配置页面,比如门户类的网站、支持首页管理和相关导航栏设置等。
更灵活更高级的内容管理还存在另一个维度的表现形式:专题。
专题维度支持聚合不同栏目内的同一种类型的页面内容,成为专题,专题的使用可以在不改变栏目自身属性的情况下整合另一种规则的展示,使用上更灵活,运营起来更加自由。但对于常规的一些门户网站或者个人站点这类轻运营的网站来说,使用栏目配置页面规则已经足够。
一、栏目的使用
栏目是基础的作为内容集成的规则,通过栏目的定义,可以约束不同的页面之间的固有联系。通过子栏目的管理,配置不同内容之间的层级关系。
栏目支持建立多级,新建栏目时即可选择所需的内容模型,父子级栏目的内容模型可以是不一样的,因为栏目的关系仅为后台管理信息的集合关系,与前端展示逻辑没有太多关联,每一层栏目均可以独立成为一个独立展示的页面。
当然栏目的集合可以为部分自动化展示需求提供展示逻辑,在使用栏目管理相关内容时,对于需要列表展示同栏目内容的页面可以直接获取此栏目的下级子栏目,并进行展示,我们只需要后台维护号栏目的层级关系即可控制前端展示的列表内容。
栏目需要包含什么基础属性呢?
我认为栏目要满足可用性,至少需要包含:栏目标题、所属栏目、栏目类型与页面内容模型三种基本信息,而如果需要令栏目更加好用的话,则可以加上如栏目状态(显示/隐藏)、外部链接、栏目介绍、权重等属性内容,甚至还可以增加相关的标签系统来丰富栏目的属性内容,使用灵活度更高。
二、内容模型的使用
常规几种内容模型大类:产品模型、文章模型、单页模型。(各人命名可能会存在差异,理解内容即可)
1. 产品模型
自由度最高的页面展示模型,可以结合前端预设计的各种组件进行页面布局设计,并通过组件中含有链接的部分附上其他详情页面的入口,一般是建站所用到的主要内容模型。组件风格和功能决定了此模型的风格和能力。
2. 文章模型
此模型还可以细分为两类:一般类和即时类。
一般类的文章模型可以用于搭建网站的帮助中心,信息介绍等非即时展示类页面内容的文章展示;而即时类则多用于需要展示新闻或快讯这些文章,关注时效性而无层级要求的文章展示。
文章模型可以在实际设计中分为上述两种内容模型,也可以抽象成为一种。文章模型只需要在内容管理模块中编辑好文章,即可推送到对应的栏目页面中展示。
3. 单页模型
较为简单的内容展示模型,一般不含链接,仅作为内容展示的页面,搭建起来比较容易和快速,一般直接使用富文本编辑则可以完成。单页模型一般用于快速搭建类如关于我们、网站简介等这类图文为主的页面。
有了栏目类型与内容模型,就可以完成基本的网站页面的搭建工作了,为了更好地展示业务逻辑,可以参考下图:
三、编辑内容及形式
从易用性的角度看,好用的CMS系统最好可以实现所见所得的页面配置形式,使得用户不用前往前台就可以查看现有页面的配置效果。
例如shopify的个人站商店搭建时,使用的大纲加页面预览的形式,体验起来是比较舒服且易用的。学习成本越低,对于运营人员来说就越简单,因此在网站的搭建流程中,十分建议采用前端组件化的形式,进行可视化编辑。
如下截图源自shopify商店个人站的页面配置,个人感觉是目前了解到的较好的可视化配置模式:
配置页面的丰富度取决于我们开发的前端组件的丰富度,并且可以不断拓展,适应不同页面风格和业务要求。
四、其他必要的非功能性需求
一个合格的CMS系统出了支持配置出符合要求的网站,还需要补充或者考虑一些必须的非功能需求,配合使用,可以提高网站的“好评度”。
1. 页面响应
页面响应是影响页面留存的首当其冲,尤其是C端的网站。以下是一个关于页面打开时间与放弃率的统计数据,在没有特殊强调的页面,个人建议是3S内打开为宜(注意弱网络环境的测试)。
2. 渐进增强
渐进增强是目前主流的设计思路,包含跨平台与终端的访问、不同版本浏览器的访问等。在系统设计开始时最好就考虑渐进增强的设计思路,如确认好需要兼容的终端类型、浏览器版本。不妨和前端同学多沟通,让产品体验最优化。
3. SEO优化
有SEO需求的产品还需要在产品前期就提出,因为会影响前端设计的整体思路,目前大部分前端都是单页面应用的形式,不提前考虑SEO的话,很容易导致后续有对应要求的时候无法满足搜索要求,导致需要进行技术重构。
满足上述几点,基本可以推出第一版的CMS系统(或者模块)了,至于后面更多的比如关键词、标签、专题、自定义内容模板等等,emmm,再说吧~
本文由 @大飞Eric 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
相关推荐
- 好用的云函数!后端低代码接口开发,零基础编写API接口
-
前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...
- 快速上手:Windows 平台上 cURL 命令的使用方法
-
在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...
- 使用 Golang net/http 包:基础入门与实战
-
简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
-
你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...
- window使用curl命令的注意事项 curl命令用法
-
cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...
- Linux 系统curl命令使用详解 linuxctrl
-
curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...
- Tornado 入门:初学者指南 tornados
-
Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...
- PHP Curl的简单使用 php curl formdata
-
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
-
本章涵盖使用Actix提供静态网页...
- 我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些
-
这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...
- linux文件下载、服务器交互(curl)
-
基础环境curl命令描述...
- curl简单使用 curl sh
-
1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...
- 常用linux命令:curl 常用linux命令大全
-
//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...
- 三十七,Web渗透提高班之hack the box在线靶场注册及入门知识
-
一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...
- 一周热门
- 最近发表
-
- 好用的云函数!后端低代码接口开发,零基础编写API接口
- 快速上手:Windows 平台上 cURL 命令的使用方法
- 使用 Golang net/http 包:基础入门与实战
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
- window使用curl命令的注意事项 curl命令用法
- Linux 系统curl命令使用详解 linuxctrl
- Tornado 入门:初学者指南 tornados
- PHP Curl的简单使用 php curl formdata
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)
- curlpost (31)