为什么?!......也许这是您在阅读本主题标题时的第一个想法.
有各种各样的开源CMS,以满足每个人的需求.而且我猜你是对的......事实上我非常同意.
但是这个话题适合像我这样天真和顽固的程序员,他们非常喜欢从头开始开发自己的CMS的想法.但是,我在哪里开始以及在规划此CMS时应该将主要关注点放在哪里?
从头开始开发自己的CMS是否有任何好的教程,文章,书籍等?
如果没有,也许你们中的一些人试图开发自己的CMS ......如果是这样,请分享好的和坏的经历.
提前致谢
如果您对这些问题没有答案,那么您可能从错误的项目类型开始.CMS,即使是基本的CMS,也可能是一个非常复杂的野兽,这里有一些你需要考虑的事情:
你的数据库将如何看待
您可以灵活地允许用户使用页面信息(即,属性的可自定义程度)
人们将如何编辑页面数据
您将如何查看已发布的页面版本
您将如何支持版本控制
什么样的网站应该是CMS的目标
这些问题的答案将有助于确定数据库的外观,项目如何分解,如何处理想要制作页面的人等等.
我建议你先看看开源CMS项目,然后了解它们是如何进行的,它会让你在制作自己的产品时有更多的想法.否则你很容易被选项淹没.
编辑 - 只是想我要添加,我为开源CMS(Umbraco)做贡献,所以我熟悉CMS需要做什么,我不仅仅是负面的
是的,CMS可能很大,但它们可以从小规模开始,作为一个非常好的学习/有趣项目,真正的卖点是你可以自己使用它.如果我要构建另一个CMS,这里有一些我会/不会做的事情.
1)不要依赖100%的Xsl创建你的内容 - 这在2001年看起来像是合理的赌注,我错了.
2)不要试图编写自己的Javascript/Flash丰富的编辑控件 - 已经有太多好的编辑控件了
3)创建一个独特的CMS - 个人我喜欢CMS,这将允许我创建漫画条 - 去一个利基
4)尽早制定好的服务器/数据库设计.
5)做到这一点......
听起来很有教育意义.尽管有其他人担心,如果您有兴趣了解CMS中需要解决的问题,最好的方法是建立自己的,或者至少构建一些有趣的部分.我不会将自制软件用于我自己的存储库.但是,像构建编译器和解释器一样帮助我更好地理解技术,同样适用于CMS.我不使用我为"实际工作"而构建的编译器或解释器,但我很高兴我构建它们.