问题队列

我们使用Gitlab问题队列组织我们的社区工作:

  • 它有助于协调发布,即决定在即将发布的版本中使用什么,以及为CiviCRM的未来版本分配什么;
  • 它是所有问题的焦点,因此人们可以协作确定问题、解决问题,并在解决后测试解决方案。
  • 社区中的任何人都可以使用它提出改进建议并报告错误;

核心团队发挥协调作用,处理许多问题。我们社区的许多成员也致力于解决问题(也可能有助于协调)。如果队列中有问题需要尽快解决,请考虑通过将其提交给我们的付费问题队列。

提交之前功能请求在问题队列中,确保你已经与核心团队或社区中的其他人讨论过你的想法,并就如何实施以及由谁资助达成一致。我们建议你通过发布CiviCRM的Stack Exchange以问题的形式(“我怎么能……?”)或在Mattermost社区聊天.

在报告之前缺陷问题队列,请确保您理解错误报告过程并已验证这确实是一个错误。我们通常需要明确的步骤来重现任何错误,然后才能开始处理,但您可以找到有关如何在此处报告错误,或如何在此处报告可疑的安全问题。如果您需要有关错误报告的帮助,请访问Mattermost公司.

优先考虑问题

在理想的情况下,我们将有资源来实现所有改进,并修复我们在问题队列中收到的所有错误报告(无论如何,所有合理的报告)。实际上,我们没有资源这样做,因此必须这样做分诊问题。Triaging确保我们以有限的资源获得最大的影响,它基于以下几点:

  • 问题的严重程度如何?核心团队始终将导致数据丢失的主要安全问题和错误(幸运的是,这种情况非常罕见)视为最高优先级,并根据我们的安全政策。在这些问题之后,我们考虑了该问题将对受其影响的站点产生的影响
  • 有多少人受到影响?我们将影响许多人的错误和将使许多人受益的改进放在更高的优先级。与我们大多数用户日常使用的部件相比,与系统中不常用的部件相关的问题的优先级更低。
  • 问题报告人是否也附上了可用于解决问题的代码?(代码的质量如何?)已经完成的工作越多,问题越有可能在下一个版本中得到解决。
  • 这对每个人都有好处吗?解决此问题可能会使CiviCRM更好地为您服务,但可能会给其他用户带来意想不到的后果。如果这个问题增加了一个对我们5%的社区有用的功能,但使一个目前对其他用户来说非常简单的过程复杂化,我们可能会决定不从核心上解决这个问题。像这样的功能可能最好作为扩展添加。

考虑到上述所有因素,我们决定以下其中一项:

  • 安排下次发布修订CiviCRM(例如,如果当前版本为5.0.3,则问题将在5.0.4中解决)。安排问题是一种意向声明。它不能保证该问题将在下一版本中得到解决,少数问题通常会“转发”到下一版本。如果您想确保在即将到来的版本中修复问题,您应该使用我们的付费问题队列或者提供自己解决问题的资源。
  • 安排下次发布次要版本CiviCRM(例如,如果当前版本为5.0.3,则问题将在5.1.0中解决)。同样,尽管我们尽最大努力为每个版本解决尽可能多的问题,但我们不能保证这个问题会在下一个次要版本中得到解决。你可以通过以下方式保证发生这种情况支付待解决问题的费用或者提供自己解决问题的资源。
  • 将问题分配给未来版本。当我们认识到问题是有效的时,我们会这样做,但在我们完成所有更紧迫的问题之前,我们不会设想有资源来解决问题。鉴于问题不断被报告,一个问题可能会在未来的版本中无限期地存在。但不要害怕,您可以“跳线”,现在通过付费问题队列.
  • 关闭问题。如果问题重复另一个问题,或者已经在不同版本中修复,或者信息太不完整,或者设计/假设不合适,则可能会发生这种情况.  我们总是会对我们解决问题的原因给出完整的解释,根据原因,您可能希望根据收到的反馈来改进问题,以便可以重新解决。

如果由于任何原因无法完成分诊,我们将要求记者提供更多信息,然后再继续上述行动。

支付的发行

如果您希望问题的修复速度快于我们在标准问题队列中的修复速度,一个选项是将其提交给我们的付费问题队列本质上,这使您能够通过提供(财务)资源来自己解决问题,从而提升优先级队列。通过这样做,您正在帮助为CivicCRM的改进提供资金,使其能够免费下载并供我们整个社区使用。