建筑决策:主要网站,论坛,博客

时间:2010-10-01 12:22:27

标签: php language-agnostic zend-framework forum

我已经就项目的设置问题进行了咨询,并希望将某些想法从某人身上反弹出来以获得额外的意见。

这个网站的主要部分非常复杂,并且具有非常自定义的功能,所以从我看来它更像是一个webapp。但是需要一个博客,还需要一个论坛。这是该项目的总体概述。

由于网站的主要部分更像是一个webapp,我认为这个项目应该分成由不同框架和CMS处理的单个部分,以便每个组件不限制其他组件。这是一个非常难以出售的决定,因为没有人想要维护不同的框架和CMS,除非这对他们来说真的是正确的事情。

我的逻辑是,因为网站的主要部分实际上是一个复杂的网络应用程序,试图将其融入像Drupal或Joomla这样的CMS或任何会增加开发时间和成本的事情。这部分是有意义的,可以使用更灵活的技术创建,如Zend Framework或Symfony,基本上是一个框架而不是CMS。

对于其他组件,我没有看到使用框架的重点,因为其中许多是标准组件,如博客和论坛。所以对于网站的其余部分,我的选择是1)用我熟悉的单个CMS(比如Drupal)构建所需的一切,但是因为我已经走了划分网站的道路,我想选项2)为什么不进一步划分网站,为每个组件选择最好的软件。例如Drupal并没有成为一个很棒的论坛。这不是它的力量所在。

事实证明,参与撰写博客的人大多不是为论坛做贡献的人,所以我认为我不应该担心在2个单独培训相同的员工软件。

但是我无法决定本网站的可维护性。一方面,我认为维护三种主要的不同技术将更加困难:应用框架,专业论坛软件(建议欢迎)和专业博客软件(建议欢迎),但另一方面,我认为这可能实际上更容易维护,因为网站的一部分可以更容易被删除或更改,而不会影响其他一切。

这是我的总体想法,但我担心它可能难以出售,因为它可能看起来像我试图使项目复杂化。我确实认为这种方法实际上简化了它。那么对此有何看法?有没有我没有充分考虑的问题?如果您遇到相同类型的问题,您会以相同或不同的方式做出哪些架构决策?

3 个答案:

答案 0 :(得分:8)

确实是一个艰难的决定。然而,在此之前还有一些需要回答的关键问题。

1:博客是否会包含您在那里看到的博客软件的全部功能?或者您需要更小,更简单的功能集?同样适合论坛。

2:是否需要在所有三个系统中共享用户群?

3:是否要求网站的设计完全相同?

如果你们需要完整的论坛和博客,那么选择单独的系统是明智的。但是,如果所需的功能集很小,那么自定义构建它可能更明智,而不会花费太多时间。

如果需要共享用户群,那么在三个不同的系统中集成会话和用户群将是一件痛苦的事情,使用一个用户表总是更容易和更顺畅。你将不得不破解论坛和博客平台,使其与主要的cms一起工作,会有问题这样做。

如果设计在这些系统上有所不同,那就没问题,但是如果完全相同则是壮举,并且需要专门的人员来进行相关的论坛和博客平台。所以保持设计也是一个问题。

这是一个非常困难的决定。它将是短期成本与长期成本。如果您认为网络应用程序可以停留一段时间,我会投票支持增加的短期成本,这会让事情变得更加容易。

另一个说明: 如果您将架构设计为模块化,则可以将论坛和博客系统开发为可插入的模块。因此,您可以自由地将网站部分脱机。

答案 1 :(得分:2)

维护有很多用户知道他们正在做什么的框架要容易得多。维护一个定制的应用程序会变得更加困难,该应用程序试图成为一个应用程序,一个博客和一个论坛。

当他们需要对博客进行更改时,无论谁维护它都会很高兴:

  • 他们不需要查看任何其他组件
  • 你的博客引擎有很多文档(假设你选择了一个受欢迎的文档,例如Wordpress

答案 2 :(得分:1)

我喜欢@ Sabeen的问题。

假设这三个组件将共享用户和布局,我觉得最好有一个底层框架,而不是一个多头的Drupal-Wordpress-phpBB-Zend怪物,你需要处理不同的身份验证和主题方案

但正如Sabeen所说,如果论坛和博客确实需要功能齐全,那么从头开始实施它们似乎需要重新发明已经经过试验和测试过的轮子。可以肯定的是,短期成本,但希望具有长期效益。