假设有人从头开始为您构建 CMS(内容管理系统)。要包括哪些最重要的功能,为什么?
8 回答
- 安全 - OWASP 前 10 名
- 用户管理和用户角色
- 操作和查看权限
- 内容版本控制和审计
- 某种形式的工作流程和通知
- i18n 对文字和对象版本的支持
- 规范化数据库模式设计
- 某种形式的内容导入导出
- 用于上传的资产管理和缩略图生成
- 有效的 XHTML(使用 GZIP 压缩)
- 生成可访问标记的富文本编辑(例如 FCKeditor)
- 有效且缩小的 CSS 和 javascript(例如使用 YUI)
- 自动生成的 sitemaps.org 文档
- 与谷歌分析集成
- 自动 RSS 提要
- 打开搜索支持
- 打印 css 和/或打印内容的版本
- 重复内容的 SEO 考虑(例如使用规范标签)
我认为从开发人员的角度来看,这将是一个开放的模块化架构。恕我直言,总有一些内容要添加,CMS 平台没有提供开箱即用的功能。此外,它应该是基于数据库的。
现有模块应涵盖最重要的任务:新闻、联系人、文档、论坛、商店、调查、活动、图片库、导航、链接、全文搜索、登录、时事通讯等。
从用户的角度来看,我认为内容编辑器(所见即所得)是最重要的部分。在“实时”页面内进行编辑的能力是一项很棒的功能。自动调整大小的图像上传和文件上传应该很容易。
当您开始使用 CMS 时,页面/控件和网站模板的存在也非常有用。文档/页面的版本控制也是一项经常需要的功能和工作流引擎,其中有创建内容的作者和允许解锁内容的编辑。
RSS 联合是现代 CMS 中应该提供的另一个重要功能。
对于国际站点,CMS 具有某种内置的多语言支持非常重要。
然后我认为现在一个好的CMS必须提供搜索引擎优化的工具,例如必须有一种方法来定义和插入搜索引擎友好的URL。
Not mentioned already: A CMS system should easily integrate into an existing software infrastucture, so interoparability is a strong requirement.
Example: If your CMS supported WebDav, you win Microsoft Office as editing tools without any extra expenses.
选择 CMS 系统时,我的首要要求是能够轻松地对其进行皮肤和控制标记。
用户可能对完全按照他们想要的方式获取布局非常挑剔。
1)所见即所得编辑器。能够像在 Microsoft Word 中一样编辑 HTML 内容。这包括上传您自己的图像的能力。
2)创建没有查询字符串的新页面,即)不是“pages.aspx?pageid=5”而是“contact.aspx”
3) 新闻、图片库、博客、用户管理等附加功能...
就我个人而言,我真的很喜欢微软在 codeplex 上提供的CMS 入门工具包。它做得很好,使用 XML 文件存储,所以它不需要数据库!
除了其他人提到的事情:
缓存
如果您的页面包含许多“片段”——例如横幅窗格、左窗格、主窗格、右窗格和页脚窗格,并且每个页面中可能都有多个“小部件”,那么构建页面的工作就变得很重要(无论是在数据库调用中,还是在 Web 服务器上的渲染中)。拥有一些能够检测到任何底层内容块何时发生变化的智能缓存将对性能产生重大影响
CMS Matrix可能是现有 CMS 产品的有用比较资源
您最需要的功能自然取决于 CMS 的使用方式以及由谁使用。对于某些人来说,许可将是最大的问题,而对于其他人来说,一些模糊的要求(例如支持 TIFF 文件)可能是问题所在。
如果您想要完整的 CMS 功能列表,请查看CMS 功能列表
在与客户合作时,我经常听到一些要求,在我看来,这些要求与现代 CMS 的真正需求无关。过于强调模板设计师应该拥有的功能,例如支持响应式设计(无论这意味着什么),添加品牌元素的能力等。
我在http://www.simoahava.com/content-management/modern-cms-top-5-features/上编制了现代 CMS 需要的 5 大功能列表
从技术角度来看,模块化架构和强大的安全性是最重要的特性。对内容、源代码和软件解决方案本身的完全控制对于任何 CMS 来说都是巨大的优势。
西莫阿哈瓦