如何管理&开发大型TYPO3项目?

时间:2012-04-07 12:36:05

标签: php project-management typo3

我从2006年开始开发TYPO3项目,项目越来越大,越来越复杂。设置一个包含联系表单和新闻列表的简单CMS站点都是例程。

现在,我们完成了一个更大的项目:一个拥有无数扩展的国际公司的平台: 登录&注册,新闻,列出数据库记录,动态联系表格,调查和统计,内联网功能:文件上传&下载,每个TCA修改后的几个后端“调整”等。

项目经理对我们的开发人员感到不满,因为有时候,在我们完成函数X并且稍后将函数Y提交到开发服务器之后,函数X被破坏了。这与typoscript设置,扩展相互依赖性,版本控制错误或有时简单的编程错误和拼写错误有关。 我知道如何照顾后者,但总的来说:

根据您的经验:

  

我们如何在TYPO3中开发一个防错系统,一切都在手,扩展不会妨碍他们?换句话说:   我们如何保护和隔离功能(扩展) - 并避免这些相互依赖性问题?

我们正在一个有两个开发人员的DEV团队工作,我们已经使用了:

  • Subversion存储库
  • 用于开发的本地DEV服务器&测试
  • 外部typoscript配置文件,分为每个扩展名的单个文件

编辑Bountyhunters:

我正在寻找的是可能包含以下主题的最佳实践摘要:

  • 一般工作流程习惯
  • 一般编码习惯
  • 我们的subversion提交(或Git)的可靠性
  • 单元测试(PHPUnit,Selenium?)
  • 部署(我还没有弄清楚自动部署的方式 帮助我们)
  • Typoscript最佳实践

3 个答案:

答案 0 :(得分:25)

我们在大型TYPO3项目中可以找到的问题与任何开发项目都没有太大区别。

一般做法:

常见的TYPO3做法:

其他参考资料:

扩展可以帮助管理复杂的TYPO3安装:

使用现代项目管理方法&工具

  • Scrum,看板,精益发展原则
  • Bugtrackers as Redmine,Trac

书籍:

  • {{3}}

答案 1 :(得分:3)

我绝对建议开始使用PHPUnit进行单元测试,但请记住,单元测试实际上是关于如何创建代码的,而不是通常在以后添加的代码。但当然,迟到总比没有好。

您应该考虑设置像jenkins / hudson或atlassian bamboo这样的构建服务器。后者非常好,并与zend studio集成,在我看来,这是在PHP开发时更好的选择。通常,atlassian产品广泛用于软件项目。 (特别是Jira +汇合+ greenhopper)

答案 2 :(得分:2)

我还建议在jenkins上设置phpunit - 请参阅http://jenkins-php.org/作为模板,尽管我已经阅读了有关Teamcity的良好反馈。然后,根据您编写的代码,您可以编写设置单元测试(用于原始php代码,可能有一些模拟),集成测试(API和模块连接)和系统测试(selenium)。

在每次构建之后运行它之后,您可以确保至少涵盖的功能正常运行。但问题是,您将花费更多时间编写测试及其支持以及考虑可测试代码。还要记住,你无法涵盖所有​​事情 - 这不是重点。您必须涵盖关键路径。