我正在设计一个基于PHP的内容管理系统供个人使用,最终将被分发。 我知道有很多CMS已经存在,但我真的没有找到满足我所有需求的产品,我也希望有学习经验。 安全性是一个重点,可扩展性和易用性也是如此。 对于那些建立了自己的CMS的人,您可以提供哪些建议? 哪些功能对核心至关重要? 什么是必须有附加组件? 在开始之前你想知道什么? 什么是最大的潜在障碍/问题? 欢迎提出任何建议。
编辑:任何关于营销的建议和不做的建议也将不胜感激。
我正在设计一个基于PHP的内容管理系统供个人使用,最终将被分发。 我知道有很多CMS已经存在,但我真的没有找到满足我所有需求的产品,我也希望有学习经验。 安全性是一个重点,可扩展性和易用性也是如此。 对于那些建立了自己的CMS的人,您可以提供哪些建议? 哪些功能对核心至关重要? 什么是必须有附加组件? 在开始之前你想知道什么? 什么是最大的潜在障碍/问题? 欢迎提出任何建议。
编辑:任何关于营销的建议和不做的建议也将不胜感激。
在构建CMS的几次迭代时,一些关键的事情证明是:
一些不太重要但有用的功能是: - 能够动态创建可读和SEO友好的URL(StackOverflow方式也不错) - 能够在修改后显示内容的早期版本 - 能够拥有内容的沙箱让它成为发布前校对或检查 - 处理多种语言和非英语/非ASCII字符
那么,构建自己的CMS实际上意味着它不是企业级产品。 这意味着您将无法实际实现使CMS用户满意的所有功能。 甚至没有大多数功能。 我想澄清一下,CMS实际上是指创建Web应用程序或网站的平台,而不是博客平台或缩小版本。 根据个人经验,我可以告诉你CMS中我最想要的东西。
1.可扩展 - 提供一个干净而强大的API,以便程序员可以通过代码执行大多数操作,而不是使用UI
2.轻松创建和编辑页面 - 使用模板,为单个页面提供多个URL,提供URL重写选项
3.使其基于组件。 允许用户添加自定义功能。 让某人轻松添加他的代码来做某事
4.使它对SEO友好。 这包括元数据,URL重写,良好的站点地图等。
现在我也喜欢这些企业功能,但我怀疑你是否希望从一开始就深入了解它们的实现。 它们包括工作流程(内容创建的批准过程,可自定义),用于常见功能的内置模块(博客,电子商务,新闻),编写自己的模块的能力,不同用户的权限,内置联合等。
毕竟我从开发人员的角度说话,我的意见可能不是主流,所以你最终必须自己决定。 正如ahockley所说 - 你必须知道为什么你需要建立自己的CMS。
如果您向100位不同的CMS用户询问有关其CMS的最重要信息,您可能会得到80多个不同的答案。
最大的障碍可能是人们问你为什么要从头开始构建一个新的CMS。 如果你不知道这个问题的答案,我不确定你为什么要走这条路。
要记住的一件事是,对于互联网CMS,人们会想要与许多“常用”服务集成点。 在构建您自己的专有解决方案之前,利用照片共享网站,Twitter,OpenID等现有服务。
好吧,我写了一个供个人使用的CMS,并将其发布给有史以来最大的唧唧喳喳合唱团! 不过没什么大不了的。 我确实学到了很多,我鼓励你继续前进。 我的客户使用它并喜欢它并保持良好状态。
但如果我重新开始(我可能),这是我给自己的建议:
如果您需要构建自定义功能,而CMS实际上是其他业务层的窗口,那么请使用基于CodeIgniter框架的PyroCMS或FuelCMS。
开发人员通常会在Drupal和Joomla的杂草中迷路! 随着时间的推移,/ Wordpress迅速成为意大利面条代码。 它已经从Kool-aid打孔碗中喝了多少。
从营销角度来看:
1)使模板能够 。
2)制作CMS SEF并拥有SEOed URL。
我知道这不是你正在寻找的直接答案,但如果你还没有看过它,我建议你看看简单的CMS 。 它比其他CMS更少膨胀,并且快速有效。 它是开源的,因此它可能是您遇到的任何问题的一个很好的参考点。
只需使用Drupal。
开箱即用它非常轻便快捷。 你几乎可以为所有东西添加模块,所以这可能是令人生畏的,但它太棒了。
它的安全(NASA和白宫使用它),它的模块化,它的开源,它得到很好的支持,有着干净的API的声誉,并有从SEO到Wysiwyg的数百个模块....