Time Registration プラグイン

:information_source: 概要 Discourse でのタイムレジストレーションを可能にします
:hammer_and_wrench: リポジトリリンク https://github.com/communiteq/discourse-time-registration
:open_book: インストールガイド Discourse でプラグインをインストールする方法

Discourse タイムレジストレーション

Discourse Time Registration は、Discourse 向けの軽量で統合された時間追跡ソリューションです。ユーザーが特定のトピックに費やした時間を追跡できるようにするため、サポートチーム、フリーランサー、またはディスカッションのコンテキスト内で直接請求や時間計算が必要な社内プロジェクト管理に最適です。

主な機能

  • 2つの追跡モード:
    • ストップウォッチ: トピックでの作業を開始するときにタイマーを起動し、終了するときに停止します。
    • 手動入力: すでに作業が完了している場合は、特定の期間(例:「1時間」または「15分」)を即座に記録します。
  • トピック統合: 時間ログは、トピックストリーム内の「小さなアクション」投稿として表示されます(例:「ユーザーは バグ修正01:30 を費やしました」)。これにより、作業の履歴が会話と並行して表示されます。
  • グローバルタイマー: アクティブなタイマーインジケーターがサイトヘッダーに表示され、ユーザーはタイマーが作動している間もフォーラムを移動したり、どこからでもタイマーを停止したりできます。
  • スマート丸め: 設定可能な丸めルール(例:15分単位で切り上げ)により、請求計算を自動化します。
  • レポートダッシュボード: 時間データを照会するための専用インターフェース。

仕組み

時間の追跡

タイムレジストレーションは常にトピックに関連付けられます。

トピックを表示している場合、権限を持つユーザーは右上隅のヘッダーに Time Registration ボタン(時計アイコン)が表示されます。これをクリックするとモーダルが開き、次のことができます。

  1. 時計を起動: リアルタイムカウンターを開始します。
  2. 時間を記録: 手動の期間(例:分単位で「30」、時間/分単位で「1:30」)と説明を即座に入力できます。

タイマーを停止すると、実行した作業の説明を入力するよう求められます。

image

これにより、ユーザー、説明、および最終的な期間を記録する小さなアクション投稿がトピック内に作成されます。

image

ログの編集

間違いは起こります。ユーザー(または管理者)は、既存のタイムレジストレーション投稿を編集して、説明や期間を修正できます。小さなアクション投稿にマウスカーソルを合わせると、鉛筆アイコンが表示されます。システムはログとレポートデータを自動的に更新します。

image

レポート

プラグインには、包括的な Time Registration Report(サイドバーからアクセス可能)が含まれています。

  • フィルター: 期間、カテゴリ、および特定のユーザーでフィルターできます。
  • データ: トピック、カテゴリ(または「プライベートメッセージ」)、ユーザー、説明、期間、日付を含むテーブルが表示されます。
  • 合計: 現在のフィルターに基づいて費やされた合計時間を自動的に計算します。

image

設定

名前 説明
time registration groups タイムレジストレーションを実行できるグループ
time registration rounding interval 記録された時間をX分に丸める
time registration round up at どこから切り上げるか

例:

  • 丸め間隔: 10、切り上げ: 1 –\u003e 12 は 20 になる
  • 丸め間隔: 15、切り上げ: 7.5 –\u003e 22 は 15 になり、23 は 30 になる
「いいね!」 22

なんてこった。まさに先週、自分のインスタンスでスタッフに作業量に基づいて報酬を支払っているので、これに似たことを考えていました。私が間違っていなければ、これはSWAPDにとって理想的に機能するのではないでしょうか?

「いいね!」 1

技術的には、PMはトピックです。

これは自己申告であり、時間を登録した人は費やした時間を編集できることに注意してください。
信頼があれば、機能します。

「いいね!」 2

気に入りました!しかし、現在 Chrome Dev Tools のコンソールで以下が表示されています。

[PLUGIN discourse-time-registration] Deprecation notice: Defining connector classes via registerConnectorClass is deprecated. See https://meta.discourse.org/t/32727 for more modern patterns. [deprecation id: discourse.register-connector-class-legacy]
a	@	deprecated.js:62
p	@	plugin-connectors.js:23
registerConnectorClass	@	plugin-api.gjs:1087
(anonymous)	@	time-registration-route.js:9
eH	@	plugin-api.gjs:3238
initialize	@	api.js:21
(anonymous)	@	app.js:265
(anonymous)	@	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
(anonymous)	@	index.js:499
Promise.then		
(anonymous)	@	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
(anonymous)	@	start-app.js:18
await in (anonymous)		
(anonymous)	@	discourse-boot.js:13
(anonymous)	@	discourse-boot.js:1
「いいね!」 2

ご報告ありがとうございます!解決いたしました。

また、「編集」機能を使って登録エントリの日付を変更することも可能になりました。

「いいね!」 2

いくつかのマイナーな更新を行いました。そのうちの1つは、プラグインが誤ってデフォルトで有効になっていたことです。プラグインを使用している場合は、更新後に手動で再度有効にする(この一度だけ)必要があります。

「いいね!」 3