开发我自己的CMS

时间:2009-04-05 10:29:20

标签: content-management-system

WHY? ......也许这是您在阅读本主题标题时的第一个想法。

有各种各样的开源CMS,以满足每个人的需求。而且我猜你是对的......事实上我非常同意。

但是这个话题适合像我这样的天真和顽固的程序员,他们非常喜欢从头开始开发自己的CMS的想法。但是,我在哪里开始以及在规划此CMS时应该将主要关注点放在哪里?

有没有关于从头开发自己的CMS的好的教程,文章,书籍等?

如果没有,也许有些人试图开发自己的CMS ......如果是这样,请分享好的和坏的经历。

提前致谢

9 个答案:

答案 0 :(得分:10)

如果您对这些问题没有答案,那么您可能从错误的项目类型开始。 CMS,即使是基本的CMS,也可能是一个非常复杂的野兽,这里有一些你需要考虑的事情:

  • 您的数据库将如何显示
  • 您可以灵活地允许用户访问页面信息(即,属性的可自定义方式)
  • 人们如何编辑页面数据
  • 您将如何查看页面的已发布版本
  • 您将如何支持版本控制
  • 哪些类型的网站应成为CMS的目标

这些问题的答案将有助于确定数据库的外观,项目如何分解,如何处理想要制作页面的人等等。

我建议您首先查看开源CMS项目,然后了解它们是如何实现的,它会让您在创建自己的项目时有更多的想法。否则你很容易被选项淹没。

编辑 - 只是想我要添加,我参与了一个开源CMS(Umbraco),所以我很熟悉CMS需要做什么,我是不只是消极

答案 1 :(得分:8)

是的,CMS可能很大,但它们可以从小开始,作为一个非常好的学习/有趣项目,真正的卖点是你可以自己使用它。如果我要构建另一个CMS,这里有一些我会/不会做的事情。

1)不要依赖100%的Xsl来创建你的内容 - 这在2001年看起来像是合理的赌注,我错了。

2)不要尝试编写自己的Javascript / Flash丰富的编辑控件 - 已经有很多好的编辑控件

3)创建一个独特的CMS - 我个人喜欢CMS,它可以让我创建漫画带 - 去寻找利基

4)尽早制定好的服务器/数据库设计。

5)做到这一点......

答案 2 :(得分:5)

听起来很有教育意义。尽管有其他人担心,如果您有兴趣了解CMS中需要解决的问题,最好的方法是建立自己的,或者至少构建一些有趣的部分。我不会将自制软件用于我自己的存储库。但是,像构建编译器和解释器一样帮助我更好地理解技术,同样适用于CMS。我不使用我为“实际工作”而构建的编译器或解释器,但我很高兴我构建它们。

答案 3 :(得分:4)

我为自己和我的客户开发了自己的cms。 除非绝对必要,否则我讨厌使用别人的程序。 此外,由于我不断开发新网站,使用自己的cms更方便,每次只需稍微调整一下。 无论如何。怎么做? 刚开始做点什么。人们陷入困境是因为他们认为应该首先找出完美的结构等等。放松,它是完美的。您可能需要稍后进行一些更改。但是从经验来看,做错事并修复它仍然比等待完美解决方案的愿景更能启发你。 所以,请坐下来开始逐页编写:添加页面,插入页面,更新页面......您将意识到此过程中还需要其他内容。

答案 4 :(得分:3)

以小步骤完成,首先是一小块功能,另一层,然后是另一层。如果您首先尝试定义所有所需的功能并尝试实现它,则可能会失败。逐步进行。不要忘记定期的代码审查和重构。

答案 5 :(得分:1)

一个非常重要的问题是,如果您希望它是服务器端或客户端,那取决于您是否更接近维基或博客。什么语言和什么规模?如果你想继续工作一段时间,这可能是一个学习新东西的好机会,但是如果你只是想用它来学习,你可以使用你熟悉的语言。

答案 6 :(得分:1)

我首先要解决所有CMS需要的一些常见问题,然后从那里开始构建。以下是一些:

  • 用户身份验证您将需要能够处理将要编辑内容的客户端,以及可能还有其他用户。
  • 管理员面板 - 您的客户如何编辑内容?它需要灵活地支持许多不同的设置。
  • 编辑页面 - 大多数网站都有某种简单的静态页面,您需要某种方式来存储/编辑它们。
  • 联合内容 - 大多数网站都有的另类内容,例如新闻Feed或博客条目。

如果你做了这一切,你就会有一个简单的CMS的开头。

答案 7 :(得分:1)

我建议你不要创建自己的cms。你需要花时间编写,完善,虚拟证明,编写文档,进行可用性测试,测试各种服务器,市场,除非你有一个团队并且你资金充足,这是不值得的。

您还必须考虑其他事项,许可证,法律费用以及更新系统。除了您的买家如何确信唯一的主人将会提供更新。我谈到了这个领域的丰富经验,因为我已经在累积多年的时间里开发了自己的CMS,因为joomla,wordpress和drupal有一个你无法完成的价格点,所以销售cms变得更加困难。

答案 8 :(得分:0)

“我在2009年建立自己的CMS”或类似的“我们自己的CMS ......”在公司介绍中可能是我的列表中的大减号必须决定雇用他/他们。

也许不是你期望的那种答案,但如果我是你,我会考虑为现有的CMS开发一些真正的新模块。我个人的赌注是Drupal,但你可以找到很多其他的选择。

更好的时间,恕我直言。