PaperWorkerについてもう少し具体的にメモ。
もう少し具体的なPaperWorkerの構成についてメモしておきます。自分がブレないように。
PaperWorkerは「シンプルな事務処理のビジネスロジック」に特化したシステムです。
H2Databaseを組み込みのRDBとしてデータストアに使用していますが、多分JDBCであれば何でもOK(のはず)です。
システムは、複数の「job」とそれにぶら下がる複数の「action」から構成されます。
jobとactionは次のようなイメージです。
job | 一つの業務。各種マスタのメンテナンスやら、出退勤時刻入力、休暇申請、通勤変更届等々。 |
action | jobに対して実行可能な機能。全てプラグインとして提供される。ロールによって実行権限の制約を付与する(予定)。 |
実際に使えるjobとactionは、設定として登録することで提供されます。
これらの設定情報もRDBに登録されます。(ちなみに、jobとactionの登録も、プラグイン機能を使用しています。)
また、「標準action」をいくつか提供する予定で、これらは設定で対象となるデータ(実際にはBeanのクラスパス)を指定できるようになっています。
そのため、典型的な機能であれば新たなactionクラスを実装せずとも、新しい業務を追加することが可能です。
標準機能だけで実現できない複雑な機能が必要になった場合のみ、専用のactionクラスを実装すればOKです。
現在、「標準action」は次の12種を実装するつもりでいます。
基本機能 | 新規追加 | 新規文書を登録する。 | 実装済 |
更新 | 既存文書を変更する。 | 実装済 | |
削除 | 既存文書を削除する。 | 実装済 | |
詳細表示 | 1つの既存文書の内容を表示する。 | 実装済 | |
一覧表示 | 複数の既存文書のサマリーを表示する。 | 実装済 | |
承認機能 | 承認依頼 | 文書の承認を指定した人物に依頼する。 | 未実装 |
承認 | 承認依頼された文書を承認する。 | 未実装 | |
却下 | 承認依頼された文書を却下する。 | 未実装 | |
帳票機能 | 印刷 | 文書を指定されたフォーマットで印刷する。 | 未実装 |
Export | 文書を指定されたフォーマットの電子ファイルに出力する。 | 未実装 | |
通知機能 | リマインダー | 文書に対し所定のアクションが実行された場合、関係者に通知する。 | 未実装 |
コメント機能 | コメント | 既存文書に対してコメントを付与する。 | 未実装 |
というわけで次から承認機能についてメモ。