
2007-6-23 08:59
Haohappy
如何打造一个优秀的CMS
打算过段时间自己写个CMS,正在研究CMS的需求和特性。
怎样才算一个优秀的CMS呢? 我觉得这篇文章介绍得比较全面。
[url]http://opensourcecommunity.org/2007/06/21/what-do-you-think-makes-good-cms[/url]
总结如下:
[b]前台:[/b]
[code]
* 支持IE, Firefox, Safari, Opera
* 干净、标准、语义化的HTML
* CSS 控制布局
* 标准的 CSS
* 没有JS错误
* 没有CSS和JS也可以正常访问
* JS/CSS经过优化
* 干净的url,适合于SEO[/code]
[b]后台:[/b]
[code]
* 可以在虚拟主机上很方便地安装
* 系统需求低,普通的机子即可安装
* 易于配置
* 可改变皮肤
* 自带很多皮肤
* 可以让用户自己创建皮肤,设计模板,使界面多样化
* 使用数据库抽象层
* 易于扩展模块和插件
* 有很多可用的模块和插件
* 用户可以很简单地自己开发插件
* 容易升级和更改配置[/code]
[b]文档及开发:[/b]
[code]
* 完善的用户使用手册
* API 文档
* 有配套的支持社区,用户遇到难题时,可以从中找到相关的解决方案
* 积极的维护
* 公开的bugtracker
* 单元测试[/code]
[b]特性:[/b]
[code]
* 支持多国语言
* “静态”文章 时间不敏感型文章(time insensitive)
* 新闻和Blog 时间敏感型文章(time sensitive)
* 灵活的分类功能
* 容易在文章中引用图像
* 支持用户注册,注册表单可扩展
* accepts paid user registrations (subscriptions) 支持商业版用户注册(订购)
* 可以导入RSS
* 可以灵活地发布RSS
* 社区:用户可发布评论
* 防止垃圾评论
* 评论易于管理(可批量管理)
* 可以与论坛程序集成
* can use some affiliate program (Amazon)
* 可以插入banner或Google ads
* can sell stuff 可以买卖东西
* 新闻邮件订阅
* supports document versions 文档版本
* collaborative editing 协同编辑
* granular control over what goes to the homepage 首页可分块控制
* flexible contact form, multiple contact forms, e.g. job application 灵活的联系表单,多样化,如工作申请表单
* 网站地图
* SEO sitemap生成功能
* 所见即所得的编辑器
* flexible sidebar areas for different widgets 不同的部件有灵活的工具条[/code]
[b]安全:[/b]
[code]
* 防止跨站脚本XSS
* 防止SQL注入
* 无法越权访问[/code]
[b]访问控制:[/b]
[code]
* 用户权限分级,如可以对每个具体用户或者某个用户组的所有用户进行权限控制
* 功能权限分级,如设定某个功能的权限,如blog的权限与普通页面不同
* 可自定义用户组
* 支持一些常用的功能,如验证码
* 管理员分类,有的有完全的管理员权限,有的只有部份权限[/code]
[b]其它零碎想法:[/b]
[code]1. 强大的分类系统,例如Tag系统。
2. 更强大的内容定位系统,即“相关文章”的功能。可通过关键词让用户找到可能更适合的文章。
3. 只提供内容和结构,而表现层方式可选,用户可以自己选择如何呈现数据。即采用XML+XSLT。
4. 给管理员提供一些实用的管理工具。比如Discuz!那样的SQL工具、备份工具等等。[/code]
[[i] 本帖最后由 Haohappy 于 2007-6-23 09:04 编辑 [/i]]
2007-7-29 22:49
伊达明勋
* 防止跨站脚本XSS
* 防止SQL注入
* 无法越权访问
版主有没有这方面的资料拿来共享一下吗?
2007-7-30 11:30
diogin
《Essential PHP Security》
《PHP Architects' Guide to PHP Security》
2007-8-27 01:10
Yimin
偶最近也正在潜心专研drupal cms的代码。:)
2007-9-18 21:14
Matt
[quote]原帖由 [i]diogin[/i] 于 2007-7-30 11:30 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=508&ptid=70][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
《Essential PHP Security》
《PHP Architects' Guide to PHP Security》 [/quote]
偶想学英语。。。
2007-9-22 11:13
skyplace
最好能支持不同格式(其他cms)的数据导入。
2008-2-26 18:04
古树
前台的用户体验也很重要:loveliness:
2008-2-26 18:04
古树
功能多,还得易用
2008-4-27 05:54
stewen
很好很强大!
2008-6-4 15:36
yhl_amerry
总结得好,学习了
2008-11-7 17:44
Deman
LZ写得很详细,最近也正在研究CMS,打算做一个
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.