RGJ
(Richard - Communiteq)
1
|
|
|
 |
摘要 |
允许在 Discourse 中进行时间登记 |
 |
代码仓库链接 |
\u003chttps://github.com/communiteq/discourse-time-registration\u003e |
 |
安装指南 |
如何在 Discourse 中安装插件 |
Discourse 时间登记
Discourse Time Registration 是一款轻量级的、与 Discourse 集成的工时跟踪解决方案。它允许用户跟踪在特定主题上花费的时间,非常适合需要在讨论上下文内直接进行计费或工时核算的支持团队、自由职业者或内部项目管理。
主要功能
- 两种跟踪模式:
- 秒表: 开始处理主题时启动计时器,完成后停止。
- 手动输入: 如果工作已经完成,可以立即记录特定的时长(例如,“1 小时”或“15 分钟”)。
- 主题集成: 时间记录会作为“小动作”帖子出现在主题流中(例如,“用户在 Bug 修复 上工作了 01:30”),使工作历史与对话并存可见。
- 全局计时器: 网站标题中会出现一个活动的计时器指示器,允许用户在计时器运行时浏览论坛,并可从任何位置停止计时器。
- 智能四舍五入: 可配置的四舍五入规则(例如,四舍五入到最近的 15 分钟),以自动执行计费计算。
- 报告仪表板: 一个专用的界面,用于查询时间数据。
工作原理
跟踪时间
时间登记始终与一个主题相关联。
查看主题时,有权限的用户将在右上角标题中看到一个时间登记按钮(时钟图标)。点击此按钮会打开一个模态框,用户可以在其中:
- 启动计时器: 开始实时计数。
- 记录时间: 允许立即输入手动时长(例如,“30”代表分钟或“1:30”代表小时/分钟)和描述。
停止计时器时,系统会提示用户输入所执行工作的描述。

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

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

报告
该插件包含一个全面的时间登记报告(可通过侧边栏访问)。
- 筛选器: 按日期范围、类别和特定用户筛选。
- 数据: 显示一个包含主题、类别(或“私人消息”)、用户、描述、时长和日期的表格。
- 总计: 根据当前筛选条件自动计算花费的总时间。

设置
| 名称 |
描述 |
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 个赞
RGJ
(Richard - Communiteq)
4
从技术上讲,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 个赞
RGJ
(Richard - Communiteq)
7
我进行了一些小的更新。其中之一是该插件默认情况下被意外启用。如果您正在使用该插件,则在更新后应手动重新启用它(仅限一次)。
3 个赞