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