【问题标题】:How to to manage & develop big TYPO3 projects?如何管理和开发大型 TYPO3 项目?
【发布时间】:2012-04-20 17:23:33
【问题描述】:

我从 2006 年开始开发 TYPO3 项目,项目越来越大,越来越复杂。建立一个简单的 CMS 网站,其中包含联系表格和新闻列表都是例行公事。

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

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

根据您的经验:

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

我们正在与两名开发人员组成一个 DEV 团队,我们已经在使用:

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

赏金猎人编辑:

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

  • 一般工作流程习惯
  • 一般编码习惯
  • 我们的颠覆提交(或 Git)的可靠性
  • 单元测试(PHPUnit、Selenium?)
  • 部署(我还没有弄清楚自动化部署如何 帮助我们)
  • 排版最佳实践

【问题讨论】:

标签: php project-management typo3


【解决方案1】:

我们在大型 TYPO3 项目中发现的问题与任何开发项目没有太大区别。

一般做法:

TYPO3 的常见做法:

其他参考:

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

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

  • Scrum、看板、精益开发原则
  • Bugtrackers 作为 Redmine, Trac

书籍:

【讨论】:

  • 这看起来像一个广泛的集合,谢谢。我实际上很少使用常量,而是设置 - 学到了一个细节。您是否亲自使用过 Oliver Klees 幻灯片中提到的扩展 phpunit?
  • 就我个人而言,每当我有一些复杂的项目/扩展要开发时,我都会使用它。
  • 更新:添加了大型 TYPO3 安装管理的推荐扩展列表
  • 您的 Capistrano 链接指向 John of Capistrano 维基百科页面。请更新至en.wikipedia.org/wiki/Capistrano_(software)
【解决方案2】:

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

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

【讨论】:

  • 供您输入。当我们在 Netbeans 中开发时 - Bamboo 仍然是一个不错的选择,因为尚不存在 Bamboo Netbeans 插件吗?如果没有 Netbeans 集成,使用它会有效吗?此外,是否建议将这种设置用于 TYPO3 环境?
  • 当然。 Bamboo 是一个独立的产品,集成允许您将 cmets 和指向构建失败位置的指针直接放入代码中。你当然可以在网页上看到这一切,我什至认为他们有一个手机应用程序。不过不要相信我的话,看看他们的视频。
【解决方案3】:

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

一旦您在每次构建后运行它,您就可以确定至少涵盖的功能正在运行。然而,问题是您将花费更多时间来编写测试及其支持以及考虑可测试的代码。另请记住,您无法涵盖所有​​内容-这不是重点。您必须涵盖关键路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 2011-12-28
    • 2011-06-16
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    相关资源
    最近更新 更多