Poi:一个友好的问题跟踪器
项目描述
Poi:一个友好的问题跟踪器
Poi是Plone的问题跟踪器产品。它的目标是简单而吸引人,同时提供最常见的问题跟踪功能。Poi 4.0使用Dexterity,仅适用于Plone 5。
by Martin Aspeli <optilude@gmx.net>
当前维护者:Maurits van Rees <maurits@vanrees.org>
在GNU通用公共许可证下发布,版本2
欢迎反馈。请将任何错误或功能请求提交至
安装和依赖
最佳选择是使用zc.buildout。只需将Products.Poi添加到您的eggs中,重新运行buildout,即可完成。
Poi 4.0+需要
Plone 5
collective.watcherlist
应该使用哪个版本的Poi?
Poi 2.x适用于Plone 4
Poi 3.x是从Poi 2.x迁移到Poi 4.x的步骤
Poi 4.0+仅适用于Plone 5
升级
Poi的3.x版本仅用于迁移到Dexterity,为迁移到Plone 5做准备。它需要plone.app.contenttypes 1.1.2,但除非您计划将所有默认的Archetypes迁移到Dexterity,否则不要激活此插件。
升级步骤
在Plone 4中进行迁移(重新安装Poi或运行升级步骤)
升级到Plone 5
升级到Poi 4.x
从添加/移除产品控制面板重新安装Poi。某些升级步骤将被执行;这些也可以在ZMI中找到,在portal_setup上,在升级选项卡上,以防您需要再次运行它们。在升级之前先备份Data.fs!
用法
Poi是一种文件夹式对象类型。同一个Plone实例中可以存在多个Poi追踪器。
在添加新的追踪器之前,请确保系统中已创建了某些分配者(用户)。
追踪器用法
添加新的追踪器,并根据您组织的需要自定义以下内容
区域 - 追踪器的顶级类别(例如,UI)
问题类型 - 系统中的票证类型(例如,错误)
严重性 - 问题的严重程度级别(例如,低)
可用版本 - 用于分配版本值(例如,v1.0)
分配者 - 可以分配问题的用户列表
观察者 - 当添加问题时或评论时应通知的用户列表
邮件列表 - 单个电子邮件地址,类似于观察者
存储库URL - 您组织使用的git/subversion存储库
请注意,如果您不跟踪软件发布,可以留空“版本”列表,并且按版本组织将关闭。区域和问题类型的字段预先配置了简单的值,假定您正在跟踪软件错误。您可以根据需要修改这些值。
如果提供了存储库URL,则在问题描述和评论中包含修订号时将自动将其设置为超链接。
创建追踪器后,使用“状态”菜单将其打开以接受提交。可用的工作流状态包括
开放:匿名用户可以查看和提交问题
受限:匿名用户可以查看,但只有成员可以提交
保护:只有成员可以查看和提交
关闭:追踪器不接受提交
追踪器首页包括
问题搜索(以及高级搜索链接)
问题日志链接(查看所有追踪器活动)
观察此追踪器/停止观察此追踪器按钮以启用/禁用通知
按版本、状态、区域或标签浏览问题
“我提交的问题”列表
“孤儿问题”列表(未分配的问题)
“分配给我的问题”
问题用法
一旦设置了追踪器,您就可以在追踪器内创建问题(票证)。谁可以创建它们取决于追踪器的状态(见上表)。问题包含
标题
版本(问题所在版本)
详细信息(描述)
重现步骤
相关问题(从追踪器中现有的问题中选择)
区域、类型和严重性
目标版本(用于修复)
联系邮箱
请求日期
票证所有者(分配者)
观察者
主题(标签)
创建问题后
可以向问题添加附件
可以添加响应
当将响应作为跟踪器管理员添加时,您可以更改问题的状态、重要性或分配。
问题具有以下工作流程
电子邮件通知
如果在跟踪器设置中启用了电子邮件通知,将存在以下条件。
如果在跟踪器设置中提供了邮件列表,则列表成员也将被通知。
所有列出的跟踪器分配者将在跟踪器创建时自动成为跟踪器观察者。
票务所有者(分配给问题的分配者)自动成为该问题的观察者。
用户 |
新问题 |
问题响应 |
问题已解决 |
---|---|---|---|
跟踪器观察者 |
X |
X |
X |
跟踪器邮件列表 |
X |
X |
X |
问题观察者 |
X* |
X |
|
问题提交者 |
X |
||
成员 |
X |
*除了他们发布的回复外
有关附加邮件功能,请参阅 poi.receivemail 和 poi.maildefaults
角色和权限
Poi 在 Plone 的默认设置中添加了 3 个角色。角色尊重继承。请注意,这些权限中的一些将根据跟踪器的状态而更改。
匿名 |
成员 |
经理 |
跟踪器管理员 |
技术人员 |
|
---|---|---|---|---|---|
添加跟踪器 |
X |
||||
管理跟踪器 |
X |
X |
|||
添加问题 |
X |
X |
X |
X |
X |
添加响应 |
X |
X |
X |
X |
X |
编辑响应 |
X |
X |
X |
||
上传附件 |
X |
X |
X |
X |
|
修改问题严重性 |
X |
X |
X |
||
修改问题分配 |
X |
X |
X |
||
修改问题状态 |
X |
X |
X |
||
修改问题标签 |
X |
X |
X |
||
修改问题观察者 |
X |
X |
X |
||
修改问题目标版本 |
X |
X |
X |
||
修改相关问题 |
X |
X |
X |
X |
X |
致谢
如果您以某种方式为 Poi 做出了贡献,请确保在此荣誉榜中添加自己!
o 设计和开发由 Martin Aspeli <optilude@gmx.net>
o 由 Rocky Burt <rocky@serverzen.com> 进行错误修复和一般评论
o 图标由 Vidar Andersen, Black Tar 创建,最初用于 CMFCollector。
o Poi 跟踪器的日志查看器由 Malthe Borch
- o 链接检测、搜索界面的添加和其他修复
由 Daniel Nouri。
o 由 Alexander Limi 和 Maurits van Rees 提供的 Plone 3 支持。
- o 由 Maurits van Rees 进行错误修复、响应现代化和维护。
Rees
o 由 Maurits van Rees 和 Maarten Kling 提供的 Plone 4 支持。
- o 将邮件和观察代码重构为
collective.watcherlist: Maurits van Rees。
o 由 Six Feet Up 进行 Plone 5 重构
Poi 的变更日志
4.0.3 (2020-02-24)
加快链接检测速度 [skurfer]
4.0.2 (2019-08-19)
更新定制的 RelatedItemsFieldWidget resultTemplate 以匹配 mockup 2.7.7 / Plone 5.1.5 [abosio]
改进 csv 导出中的字符串编码 [abosio]
4.0.1 (2018-12-06)
增加提交链接检测的最小字符数以避免误报 [abosio]
修复处理显示的空值 [rpatterson]
包含依赖项的 ZCML,修复了附加测试中的错误 [rpatterson]
修复了新安装中缺少的注册表键 [rpatterson]
修复了几个国际化问题。 [maurits]
允许优雅地处理缺少的词汇项 [cdw9]
4.0 (2017-07-18)
Plone 5 兼容性
使用 Dexterity 完成对跟踪器和问题的完全重构(有关迁移,请参阅 Poi 3.x)
问题现在是文件夹式,以便存储附件。
新的模板布局
从问题搜索中导出 CSV
添加了将问题相互关联的新字段
3.0 (2017-07-18)
添加了从 Poi 2.x 到 4.x 的迁移路径,该路径将跟踪器和问题迁移到 Dexterity。这需要与 Plone 4.3 兼容的 plone.app.contenttypes 版本,最小版本为 1.1.2。此版本的 Poi 仅应作为迁移步骤在 Plone 4 中使用,不是一个可用的 Poi 版本。当您尝试查看跟踪器时,您将看到类似 AttributeError: @@issuefolder 的错误。这是正常的。您现在可以迁移到 Plone 5。
2.3 (2016-12-30)
避免启动时的安全警告。您会收到关于我们的IResponseAdder视图管理器的警告,该管理器显然有一个不存在的方法‘__getitem__’的安全声明。因此,我们添加了该方法,并让它返回IndexError,因为这是一个< span class="docutils literal">zope.contentprovider,它不应该迭代视图。[maurits]
在问题和响应中使用blob文件作为附件。这包括升级步骤以迁移它们。修复问题#32。[maurits]
2.2.10 (2016-12-23)
向< span class="docutils literal">BasePoiMail添加了基本选项。这避免了在各个子类上重复相同的计算。[maurits]
加载< span class="docutils literal">rss.png而不是< span class="docutils literal">rss.gif。[maurits]
修复了针对较新jQuery版本的< span class="docutils literal">poi.jsjavascript。1.9会因未定义的< span class="docutils literal">jQuery.browser而崩溃。1.7会因未识别的表达式而崩溃,需要额外的引号。仍然可以在1.4上运行。修复问题30。[maurits]
2.2.9 (2016-12-09)
仅在纯文本或智能文本字段中执行链接检测。如果一个字段包含HTML并且包含HTML空格 并且您有一个160的问题,它将开始看起来非常难看。请注意,默认情况下不允许HTML。[maurits]
2.2.8 (2015-08-31)
要求Products.DataGridField 1.9.2作为最低版本。这意味着我们不再使用isDataGridFilled验证器,而是简单地依赖required=True来验证跟踪器的availableAreas和availableIssueTypes字段。[maurits]
2.2.7 (2014-09-10)
在css中引用.png Plone图像而不是.gif。[thomasdesvenain]
当转到搜索表单时,当前过滤器会预先选择。[thomasdesvenain]
填写了缺少的翻译,并删除了过时的模糊条目[pilz]
2.2.6 (2013-10-18)
在搜索表单的责任管理者列表中显示技术人员。修复http://plone.org/products/poi/issues/266 [maurits]
按id对PloneSoftwareCenter中的跟踪器可用版本进行排序,这意味着:按版本排序。[maurits]
修复了在跟踪器日志中显示时自动识别的问题/修订链接。这些链接将指向跟踪器之外。现在我们传递跟踪器的绝对URL。请注意,响应会将其渲染的HTML文本缓存到一个变量rendered_text中,该变量仅在您编辑响应时更新,因此这可能对现有响应没有影响。修复http://plone.org/products/poi/issues/255 [maurits]
修复了识别链接到问题和修订的边缘情况。在config.py中将这两个模式的模式添加,以便可以覆盖。还添加了识别另一个问题的模板。[maurits]
2.2.5 (2013-08-22)
修复了新问题和新响应的邮件模板样式[cekk]
进行了一些样式修复;删除了所有剩余的内部样式,并将其转换为CSS规则。[keul]
2.2.4 (2013-07-02)
删除了跟踪器描述中的文本类型选择。注意:当编辑并保存现有跟踪器并且其描述中包含HTML代码时,您可能会收到验证错误:“不允许Mimetype text/html。”在这种情况下,您需要编辑描述并删除HTML标签。[keul]
进行了一些样式修复;删除了内部样式。[keul]
2.2.3 (2013-04-18)
还允许详情字段使用text/plain。这解决了Plone 4.3中的问题。[maurits]
更新了意大利语翻译[keul]
现在支持“站点管理员”角色[keul]
修复跟踪器安全;私人文件夹中的问题不应对匿名用户可见[keul]
2.2.2 (2013-04-04)
再次显示“监视/停止监视此跟踪器”按钮。[maurits]
修复了匿名用户在多个页面上的KeyError: portal。[maurits]
2.2.1 (2013-03-30)
问题搜索表单的准则可以从请求中预先选择。[thomasdesvenain]
快速搜索和添加问题按钮现在在所有页面上可用。[thomasdesvenain]
大多数元数据现在都是可点击的链接。[thomasdesvenain]
在IssueFolderView中添加了issue_portal_type参数。现在可以使用从PoiIssue继承的自定义内容类型。[cedricmessiant]
2.2 (2013-02-07)
完成法语翻译。[cedricmessiant]
将跟踪器的观察者存储在lines字段中,而不是注释中。这样,如果需要,您可以像管理员一样编辑它们。添加了一个升级步骤来迁移所有现有跟踪器。[maurits]
修复了保存带有错误id的响应中的更改。这不会导致数据丢失,只是在响应更改中有一个重复的id。这永远不会在UI中显示,所以这应该只影响直接访问此响应数据结构的第三方代码。 https://github.com/collective/Products.Poi/issues/4 [maurits]
2.1.4 (2012-12-03)
修复了高级搜索表单在没有指定“问题编号”和“提交者”时不会返回结果的问题。[rpatterson]
2.1.3 (2012-11-28)
修复了重新安装错误。目录大脑中会丢失元数据。[maurits]
在configure.zcml中包含了Products.AddRemoveWidget和Products.DataGridField。[cedricmessiant]
2.1.2 (2012-11-06)
修复了打包错误。[maurits]
2.1.1 (2012-11-06)
与Plone 4.3兼容。失去了与Plone 4.0的兼容性。[maurits]
修复了在Plone 4.2下出现的“未经授权/权限不足”错误。[rpatterson]
2.1.0 (2012-06-28)
完成德语翻译。[jensens]
2.1.0b1 (2012-05-02)
删除所有仍然处理旧PoiResponses的代码。如果您还有这些(意味着您在使用Poi 1.1.x之前),那么您必须首先更新到2.0.x版本并运行升级步骤。[maurits]
添加了卸载方法和配置文件,以清理更多。[maurits]
重构了所有电子邮件通知到模板。这应该更容易自定义和翻译。[maurits]
修复了集体更改集的示例链接。[maurits]
当点击建议的登录按钮时,显示一个弹出窗口。[maurits]
删除了htmlrender.py。[maurits]
通过创建一个页面模板 browser/poi_mail.pt 和一个CSS文件 skins/Poi/poi-email.css 来重构电子邮件通知,并使用它而不是在python文件 htmlrender.py 中的硬编码内容。修复了 http://plone.org/products/poi/issues/251 [maurits]
允许将小部件分配给跟踪器和问题。修复了 http://plone.org/products/poi/issues/250 [maurits]
确保问题信息框不会继承100%的宽度,正如在plone.org上目前的情况(2011年9月6日),这对这个小框来说太宽了。参见 http://plone.org/products/poi/issues/249 [Maurits]
添加了MANIFEST.in文件,以便将.mo翻译文件包含在源分布中(在zest.releaser和zest.pocompile的帮助下)。参考 http://plone.org/products/poi/issues/248 [maurits]
2.0.2 (2011-04-09)
依赖于Products.CMFPlone而不是Plone,以提高Plone 4.1兼容性。[maurits]
当渲染一个具有text/x-html-safe MIME类型或html转换返回空值的响应时,不要失败。(从1.2分支合并。)[maurits]
审查法语翻译 [toutpt]
2.0.1 (2010-11-11)
将配置.zcml中的配置文件注册和升级步骤拆分到一个新的profiles.zcml中,因为它已经相当大了。[maurits]
修复:对于“无变化”标签和输入,id为空。[thomasdesvenain]
移除了对collective.autopermission的依赖,因为其功能已集成在Zope 2.12(Plone 4.0)中。[maurits]
2.0 (2010-10-14)
将Products.AddRemoveWidget的最小依赖性降低到1.4.2,因为我收到关于1.4.3在Poi本身无关的边缘情况下性能下降的报告;实际上1.4.2是好的,尽管1.4.4有一个针对Plone 4的修复,而Poi没有使用这部分。[maurits]
不要建议用户点击“搜索问题”,因为这个链接无处可寻;相反,它应该是“高级问题搜索”。[maurits]
关于2.0b2及更早版本的更改,请参阅docs/HISTORY.txt。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。