假设有一个新的CMS即将推出,您可以选择并评价那里的功能。从中选择5个。第一名是最重要的,最后一名是不那么重要的。
- 就地编辑(无管理面板)
- 全局内容版本控制(文章、博客条目、任何模块内容项等)
- 单页应用程序作为结果(无需重新加载页面,纯ajax/web套接字)
- 易于扩展(控制反转,在生产模块中编译和安装)
- 非IT人员易于理解的简单概念
- 导入/导出所有站点数据(包括第三方模块)
- 任何数据库支持(MSSql、MySQL、PostgreSQL、SQL CE…)
- 简易模板系统(无逻辑模板,如dust.js)
- 系统级web套接字支持(服务、数据传输浏览器和服务器,从服务器实时推送数据)
- 大量预建模块和功能
- 开源而非付费(即使质量可能更低)
- 我宁愿为它付费(一笔合理的钱),但要让它没有bug,经过充分测试并得到充分支持
-
有能力购买CMS作为SaaS
-
任何您必须添加的内容:)
非常感谢您的反馈!
一个非常重要但缺失的点是,CMS不仅应该是一个web CMS,而且应该是一种通用CMS(ECMS,或企业内容管理系统),在其中我可以定义自己的内容类型及其关系。
在我看来,多数据库引擎支持是不相关的,只要它支持一个对技术堆栈有意义的知名和维护的数据库引擎。
对我来说,以下内容非常重要:
- 高性能—不仅是性能,而且一种有充分记录的方法来将产品与其他CMS进行基准测试是非常重要的
- REST API-如今,如果没有以某种方式与外部组件交互的能力,您就无法构建系统,而REST API是解决此问题的一种非常优雅的方法。它也很有用,因为您可以从浏览器中的客户端脚本调用它
- 可自定义的UI框架(或者,换句话说,完全可替换)-使用CMS的开发人员应该能够完全替换默认的UI并推出自己的UI,甚至可以将自己的UI与内置选项相结合
- 定义良好的可扩展性点-软件的每一层都应该是可定制的,并使用有据可查的方法来扩展默认功能
- 解耦设计-CMS的下层(通常称为内容库)本身应该是可用的产品,这意味着它应该与其他应用程序和自定义用户界面协同工作
以下是一篇关于解耦内容管理的好文章,以及为什么该方法很重要:http://bergie.iki.fi/blog/decoupling_content_management/
为了进一步阅读,我还推荐鲍勃·博伊科的《内容管理圣经》。
我想用不同的方式构建我的答案。
必须有
在不讨论相关性(IMHO)的情况下,需要一些功能。如数据库支持、版本控制和备份策略。
反映在中
- 全局内容版本控制(文章、博客条目、,任何模块内容项等)
- 任何数据库支持(MSSql、MySQL、PostgreSQL、SQL CE…)
维护
你应该考虑维护你的系统。使用了哪种技术堆栈?你能维护它吗?你熟悉编程语言吗?如果系统出现故障或过载,你能得到专业帮助吗?
易于使用
它应该在管理(设置、更新、备份)方面很简单,并且对于使用它创建内容的编辑器来说很容易使用。
总结您的观点:
- 非IT人员易于理解的简单概念
- 简易模板系统(无逻辑模板,如dust.js)
- 就地编辑(无管理面板)
易于扩展
添加功能、配置功能和自定义功能应该很简单
这总结了您的观点:
- 易于扩展(控制反转,在生产中模块编译和安装)
我想补充一点:
- 一个强大的工作流组件,您可以在其中实现您自己的工作流模块