时间记录插件

:information_source: 摘要 允许在 Discourse 中进行时间登记
:hammer_and_wrench: 代码仓库链接 \u003chttps://github.com/communiteq/discourse-time-registration\u003e
:open_book: 安装指南 如何在 Discourse 中安装插件

Discourse 时间登记

Discourse Time Registration 是一款轻量级的、与 Discourse 集成的工时跟踪解决方案。它允许用户跟踪在特定主题上花费的时间,非常适合需要在讨论上下文内直接进行计费或工时核算的支持团队、自由职业者或内部项目管理。

主要功能

  • 两种跟踪模式:
    • 秒表: 开始处理主题时启动计时器,完成后停止。
    • 手动输入: 如果工作已经完成,可以立即记录特定的时长(例如,“1 小时”或“15 分钟”)。
  • 主题集成: 时间记录会作为“小动作”帖子出现在主题流中(例如,“用户在 Bug 修复 上工作了 01:30),使工作历史与对话并存可见。
  • 全局计时器: 网站标题中会出现一个活动的计时器指示器,允许用户在计时器运行时浏览论坛,并可从任何位置停止计时器。
  • 智能四舍五入: 可配置的四舍五入规则(例如,四舍五入到最近的 15 分钟),以自动执行计费计算。
  • 报告仪表板: 一个专用的界面,用于查询时间数据。

工作原理

跟踪时间

时间登记始终与一个主题相关联。

查看主题时,有权限的用户将在右上角标题中看到一个时间登记按钮(时钟图标)。点击此按钮会打开一个模态框,用户可以在其中:

  1. 启动计时器: 开始实时计数。
  2. 记录时间: 允许立即输入手动时长(例如,“30”代表分钟或“1:30”代表小时/分钟)和描述。

停止计时器时,系统会提示用户输入所执行工作的描述。

image

这会在主题中创建一个小动作帖子,记录用户、描述和最终时长。

image

编辑记录

错误时有发生。用户(或管理员)可以编辑现有的时间登记帖子以更正描述或时长。只需将鼠标悬停在小动作帖子上方,就会出现一支铅笔图标。系统会自动更新记录和报告数据。

image

报告

该插件包含一个全面的时间登记报告(可通过侧边栏访问)。

  • 筛选器: 按日期范围、类别和特定用户筛选。
  • 数据: 显示一个包含主题、类别(或“私人消息”)、用户、描述、时长和日期的表格。
  • 总计: 根据当前筛选条件自动计算花费的总时间。

image

设置

名称 描述
time registration groups 可以执行时间登记的用户组
time registration rounding interval 将登记时间四舍五入到 X 分钟
time registration round up at 从哪里开始向上取整

例如:

  • 四舍五入间隔:10,向上取整于:1 → 12 变为 20
  • 四舍五入间隔:15,向上取整于:7.5 → 22 变为 15,23 变为 30
23 个赞

我的天哪。我上周就在考虑类似的事情,因为在我的实例中,我根据员工投入的工作量向他们支付报酬。如果我说错了,请纠正我,但这对于 SWAPD 来说是理想的工作方式,对吗?

1 个赞

从技术上讲,PM 是一个主题。

请注意,这是自我报告,注册时间的人可以编辑他们花费的时间。
如果有信任,它就会奏效。

2 个赞

喜欢这个!但在 Chrome 开发者工具控制台中目前看到以下内容:

[PLUGIN discourse-time-registration] 弃用通知:通过 registerConnectorClass 定义连接器类已被弃用。请参阅 https://meta.discourse.org/t/32727 以获取更现代的模式。 [deprecation id: discourse.register-connector-class-legacy]
a	@	deprecated.js:62
p	@	plugin-connectors.js:23
registerConnectorClass	@	plugin-api.gjs:1087
(匿名)	@	time-registration-route.js:9
eH	@	plugin-api.gjs:3238
initialize	@	api.js:21
(匿名)	@	app.js:265
(匿名)	@	index.js:379
e.each	@	index.js:183
e.walk	@	index.js:112
e.each	@	index.js:59
e.topsort	@	index.js:65
_runInitializer	@	index.js:392
runInstanceInitializers	@	index.js:377
_bootSync	@	instance.js:116
didBecomeReady	@	index.js:784
invoke	@	index.js:262
flush	@	index.js:180
flush	@	index.js:334
_end	@	index.js:762
(匿名)	@	index.js:499
Promise.then		
(匿名)	@	index.js:18
flush	@	index.js:29
_scheduleAutorun	@	index.js:928
_ensureInstance	@	index.js:919
schedule	@	index.js:618
f	@	index.js:343
waitForDOMReady	@	index.js:512
init	@	index.js:412
_	@	core.js:97
create	@	core.js:599
(匿名)	@	start-app.js:18
await in (匿名)		
(匿名)	@	discourse-boot.js:13
(匿名)	@	discourse-boot.js:1
2 个赞

感谢您的报告!问题现已解决。

现在也可以使用“编辑”功能更改注册条目的日期。

2 个赞

我进行了一些小的更新。其中之一是该插件默认情况下被意外启用。如果您正在使用该插件,则在更新后应手动重新启用它(仅限一次)。

3 个赞