现在看来,最好的选择似乎是使用WordPress + MediaWiki + 一些论坛软件。但是我一直在考虑尝试亲自编写CMS。我知道一些RoR和PHP的知识,但并不足以从头开始编写自己的CMS。
你认为我需要多长时间才能完成它呢?我估计每天会花费3至5小时,并希望在8月底之前将整个网站建立并运行起来(这样我就有约300个工作小时,同时还计划花些时间什么都不做!: P)。
问题是,这是否值得呢?这能帮助我提高编程技能吗?
自己动手做:)
你将获得宝贵的经验,而且最终你将得到一个不臃肿的东西...
如果你愿意在一开始时少走弯路,我认为在300小时内构建CMS是可行的。但是不要开始考虑像插件架构、管理员的良好用户体验和文档这些重要的点,如果你想将你的CMS发布给其他人,这些点非常重要,但对于内部使用来说不那么重要。
不要重复造轮子,除非你想更多地了解轮子。
我建议你专注于学习每个工具以及如何将它们集成在一起,而不是编写一个CMS。
根据你在 Ruby on Rails 和 PHP 方面的熟练程度,这个时间框架内是有可能实现的。
不过,我建议直接使用已有的解决方案。自己开发真的值得花那么多时间吗?
要创建与WordPress + MediaWiki +一些论坛软件相同质量的东西需要数千个小时。
但是,如果您只是为自己构建它以供使用,则会遇到许多“足够好”的东西,这将节省您的时间。因此,我会说……不到1,000个小时。听起来有点模糊,不是吗?我已经编程14年了,对于项目的时间估计仍然很糟糕,哈哈。当然,项目的定义也相当模糊。
回答是否值得的问题实际上是一个关于你自己的问题。如果这是您感到兴奋的事情,那么它可能是一个很好的学习机会。大约7年前(在Google Analytics出现之前),我编写了一个相当强大的Web流量跟踪和统计引擎。这对我来说是一个很好的学习经验,我不后悔这样做。当然,另一方面,就像我自己一样,您将投入大量工作来完成某些东西,但几乎没有机会从中赚钱。
如果你想通过这个学习经验,那我认为你应该去做。Phil Haack 写了一篇很好的博客文章,名为 Rolling Your Own Blog Engine,其中列出了你会遇到的问题清单。
实际上并不像许多人试图让它听起来那么容易。事实是,你可以在几个小时内(有些人会说几分钟,但跟随the Rails video并不算你自己的开发时间)编写一个非常简单的博客引擎,但除了你自己之外,其他用户不会得到太多用处。
只要确保你留出足够的时间,如果需要的话就放弃计划A(wordpress+mediawiki+一些论坛软件)。