Title: プロジェクトのカスタマイズ方法 (標準の「プロジェクト」を改造して「カスタマイズ版プロジェクト」を作る方法)

タスク、プロジェクト、マイルストーンなどの投稿/編集フォームは、フォームの定義ファイル、部品のレイアウト用 SDL ファイル、デザイン用の CSS ファイルで作られています。これらのファイルを作成・編集することで、新しい項目を追加したフォームや、それに対応する記事の新しい種類を作成できます。

ここでは、プロジェクトの投稿/編集フォームに、件名、契約日、料金、カテゴリーの選択欄を追加し、「製品保守案件」というカスタマイズ版のプロジェクトを作成する例で解説します。

メモ

標準のタスクを改造する方法は、こちら↓で解説しています。併せてご覧ください。





カスタマイズ版プロジェクトを作成する理由



標準のプロジェクトの投稿/編集フォームに「テキスト入力欄や日付選択欄などを追加したい」と思ったことはありませんか?

例えば、案件管理にプロジェクトを使っていれば、「プロジェクトの投稿/編集フォームに『料金』の記入欄があるといいな〜」と考えることがあるかもしれませんね。

しかし、標準のプロジェクトをカスタマイズすると、その内容はすべてのプロジェクトに影響してしまいます。

案件管理以外の用途には、追加された「料金」欄は不要ですよね。

案件管理には「料金」欄付きのプロジェクトを、その他の用途には標準のプロジェクトを使いたい!

それを叶えるには、標準のプロジェクトをとは別の改造版(カスタマイズ版)プロジェクトを作成し、その改造版だけに「料金」の入力欄を追加します。

そこで…

ここでは、標準のプロジェクトとは別のカスタマイズ版プロジェクト「製品保守案件」を作成します。

この「製品保守案件」の投稿/編集フォームには、



…を追加します。

メモ

「製品保守案件」のような日本語を使用するには、国際化とそれぞれの言語ファイル(ローカライゼーション)が必要になります。国際化やローカリゼーションは後回しにして、まずは英語(アルファベットのみ)で作成、動作確認し、最後に国際化とローカライゼーションをすることにします。



カスタマイズ内容をプラグインとして組み込む



メンテナンスを容易にするためのプラグイン化



カスタマイズ版プロジェクトの定義を TeamPage 本体内に組み込むとメンテナンスがしにくくなります。

本体とは別のプラグインとして組み込み、メンテナンスしやすくしましょう。

関連記事
FAQ1683: TeamPage プラグイン概要

プラグイン制作の第一歩



TeamPage がインストールされた server フォルダ下の plugins フォルダに、これから作成するプラグイン用のフォルダを作成します。

メモ

Windows 版の「server」フォルダの既定のパスは C:\Program Files\Traction\traction\server です。





通常、サブフォルダ名は開発者(開発社)の「ドメイン名を逆にしたもの+プラグイン名称」にします。

例えば、今回作成するプラグインの名前は「製品保守案件」なので、これを英語にした「maintprod」にしてみます。自社のドメイン名が「example.jp」だとすると、プラグインのサブフォルダ名は jp.example.maintprod になります。

新規作成したサブフォルダ jp.example.maintprod の中に、プラグインの全般的な設定(名称やバージョン番号など)をする plugin.properties ファイルを作成します。

テキストエディタで開き、次のようなことを書いて保存します。ファイル中の name= 属性の値(右辺)は、上記で作成したフォルダ名になります。バージョン番号などは適当にどうぞ。コメントとしてのメモを残しておくと後から参照するときに便利です。

display_name=Maintain Products
description=This plugin provides the special project form that has Price, Maintenance Date, and Type form fields.

name=jp.example.maintprod
version=1.0.0
buildnum=0

# ジャーナルレベルの設定を利用できるようにする
db_config=true
# その設定の名称は「maintprod_category」である
# 設定の定義ファイルは settings/props/journal に置く
db_settings=maintprod_category

# サーバーレベルの設定を利用できるようにする
# サーバーセットアップ > プラグイン ページに [設定] リンクが表示される
server_config=true
server_settings=

project_config=false
project_settings=

user_config=false
user_settings=

# メモ
# 行頭に「#」を付けるとコメントになります。
# 変更履歴や参照URLなどを書いておくと後々のためになります。


db_config= は、ジャーナルレベルのプラグイン設定を利用可能にするための設定で、利用できるようにする設定の名前を db_settings= で指定します。

その設定の定義ファイルは settings/props/journal に保存し、定義ファイルの中で設定項目が [はい/いいえ] の選択ドロップダウンなのかテキスト入力欄なのか…などを指定します。

server_config= は、サーバーレベルのプラグイン設定を利用可能にするための設定で、ここで true を選択すると、[サーバーセットアップ] > [プラグイン] の当該プラグインに [設定] リンクが表示されます。

動作反映のためにキャッシュをクリアする



フォルダとプラグイン設定ファイルを作成したら、[サーバーセットアップ] > [一般] > [サーバー管理] ページの [キャッシュのクリア] ボタンをクリックします。

[サーバーセットアップ] > [プラグイン] ページを開き、「Maintain Products」プラグインが表示されていることを確認します。



おめでとうございます!

これで「Maintain Products」プラグインを TeamPage に認識させることはできました。

しかし、このプラグインはまだ空っぽの状態です。続いてプラグインの中身を作っていきましょう。

投稿/編集フォームの作成



プロジェクト記事を投稿/編集するためのフォームの作成方法(カスタマイズ方法)を解説します。

カスタマイズ版プロジェクトの投稿/編集フォームの作成方法

カスタマイズ版プロジェクトのフォームの部品の定義や設定

投稿される記事の作成



フォームで投稿された記事を表示したり検索したりするための、記事の定義や設定を追加します。

カスタマイズ版プロジェクト記事の定義や設定

投稿するためのメニューの作成



投稿フォームを呼び出すためのメニューを作成する方法を解説します。

カスタマイズ版プロジェクトの投稿フォームを表示するためのメニューの設置方法

記事の一覧画面のカスタマイズ



投稿された記事は、スペースのダッシュボードなどに表示できます。

カスタマイズ版プロジェクト記事をダッシュボードに表示するには

また、独自の一覧画面を作成することも可能です。

カスタマイズ版プロジェクトを一覧表示する画面を作成するには



Attachments:
image01.png
image02.png
関連記事
Article: DocSDK379 (permalink)
Categories: :DocSDK:FAQ, :DocSDK:カスタマイズ, :DocSDK:GWTフォーム, :FAQ:カスタマイズ, :FAQ:プロジェクト管理, :DocJp:FAQ, :DocJp:カスタマイズ
Date: 2020/05/02; 8時57分04秒 JST
Author Name: TeamPage サポート
Author ID: jpbo