关于构建分布式CMS的建议?

时间:2020-03-05 18:57:06  来源:igfitidea点击:

我正在设计一个基于PHP的内容管理系统供个人使用,并最终将其分发。我知道已经有很多CMS,但是我确实还没有找到能够满足我所有需求的CMS,而且我也想学习。安全性以及可扩展性和易用性都是重点。对于那些已经建立了自己的CMS的人,我们可以提供什么建议?核心必须具备哪些功能?什么必须有添加组件?在开始之前,我们希望知道什么?最大的潜在障碍/问题是什么?任何和所有建议都是值得欢迎的。

编辑:关于行与行的任何建议也将不胜感激。

解决方案

回答

我知道这不是我们要查找的内容的直接答案,但是如果我们尚未查看它,我建议我们将CMS简化一下。与其他CMS相比,它的膨胀更少,并且快速有效。它是开源的,因此它可能是我们遇到任何问题的一个很好的参考点。

回答

在构建CMS的一些迭代时,一些关键的事实被证明是:

  • 拥有一个优秀的富文本编辑器-最终用户确实不想做HTML。共识似乎是FCKEditor是最好的-最近在这里有几个问题
  • 允许人们添加新页面并轻松创建菜单/标签结构或者页面之间的交叉链接
  • 确定如何使内容适合模板和/或者允许用户自己开发模板
  • 弄清楚如何(以及是否)让人们从Microsoft Word中粘贴内容-转换魔术引号,破折号和古怪的Wordish HTML
  • 包括拼写检查功能(尽管Firefox具有内置功能,而iespell可以完成IE的工作)

一些不太重要但有用的功能是:
动态创建可读且对SEO友好的URL的能力(StackOverflow的方法还不错)
修改后可以显示早期版本的内容
拥有沙盒内容的能力,以便在发布之前对其进行校对或者检查
处理多种语言和非英语/非ASCII字符

回答

如果我们向100个不同的CMS用户询问有关其CMS的最重要信息,则可能会获得80多个不同的答案。

最大的障碍可能是人们问我们为什么从头开始构建新的CMS。
如果我们不知道该问题的答案,则不确定我们为什么要走这条路。

要记住的一件事是,对于Internet CMS,人们将需要与许多"常规"服务集成的点。在构建自己的专有解决方案之前,请利用现有的服务,例如照片共享网站,Twitter,OpenID等。

回答

好吧,我写了一个供个人使用的CMS,并将其发布到有史以来最大的chi鸣声中!没什么大不了的。我确实学到了很多东西,我鼓励你前进。我的客户喜欢并喜欢它,而且效果很好。

但是,如果我要重新开始(可能的话),这是我会给自己的建议:

  • 清理所有从用户输入的所有内容
  • 用户管理是产品的差异化因素。能够处理从WORD复制/粘贴的奖励积分。
  • 可扩展性。我收到的90%的评论来自想要使用cms托管"某些"网站页面的开发人员,而不是其他人。或者他们想将自定义脚本嵌入到内容中的页面中。我的下一个cms将尽可能地模块化。
  • 许多人绝对对干净的URL狂热。

回答

从营销的角度来看:

1)使其可模板化。

2)设置CMS SEF并具有SEOed URL。

回答

嗯,构建自己的CMS实际上意味着它不是企业级产品。这意味着我们将无法实际实现使CMS用户满意的所有功能。甚至没有大多数功能。我想澄清的是,CMS实际上是指用于创建Web应用程序或者网站的平台,而不是博客平台或者缩减版本。根据个人经验,我可以告诉我们CMS中最需要的东西。
1.可扩展提供了一个干净而健壮的API,以便程序员可以通过代码来完成大多数事情,而不是使用UI
2.易于创建和编辑页面的使用模板,单个页面具有多个URL,提供用于URL重写的选项
3.使它基于组件。允许用户添加自定义功能。让某人轻松添加他的代码以执行某项操作
4.使其对SEO友好。这包括元数据,URL重写,良好的站点地图等。

现在,我也喜欢这些企业功能,但是我怀疑我们是否会一开始就打算深入研究它们的实现。它们包括工作流(用于内容创建的批准过程,可自定义),用于通用功能(博客,电子商务,新闻)的内置模块,编写自己的模块的能力,针对不同用户的权限,内置联合等等。

毕竟,我是从开发人员的角度讲的,而我的观点可能不是主流,因此最终我们必须自己决定。正如阿霍克利所说,我们必须知道为什么需要构建自己的CMS。

回答

只需使用Drupal。

开箱即用,非常轻便,快速。我们几乎可以为所有内容添加模块,因此这可能让人望而生畏,但这真是太棒了。

它的安全性(美国宇航局和白宫使用它),其模块,其开源,受到良好的支持,以干净的API闻名,并且具有从SEO到Wysiwyg的数百个模块...。