我正在设计一个基于 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,并将其发布到有史以来最大的啁啾蟋蟀合唱团中!不过,没什么大不了的。我确实学到了很多,我鼓励你继续前进。我的客户使用它并且喜欢它并且它保持得很好。
但如果我要重新开始(我可能会),这是我会给自己的建议:
从营销角度:
1)使其模板能够。
2) 制作 CMS SEF 并拥有经过 SEO 处理的 URL。
如果您需要构建自定义功能,而您的 CMS 确实是其他业务层的窗口,那么请使用基于 CodeIgniter 框架的 PyroCMS 或 FuelCMS 之类的东西。
开发人员通常会迷失在 Drupal 和 Joomla 的杂草中!/ 随着时间的推移,Wordpress 很快就变成了意大利面条式的代码。它是你已经从 Kool-aid 潘趣酒碗中喝了多少。
我知道这不是您要查找的内容的直接答案,但如果您还没有看过它,我建议您查看CMS made simple。与其他 CMS 相比,它的臃肿程度要小得多,而且速度快、效率高。它是开源的,因此它可能是您遇到的任何问题的一个很好的参考点。
只需使用 Drupal。
开箱即用,它非常轻便快速。您为几乎所有东西添加模块,这可能会令人生畏,但它很棒。
它的安全性(NASA 和白宫使用它)、模块化、开源、得到很好的支持、以干净的 API 着称,并拥有从 SEO 到 Wysiwyg 的数百个模块......