cybozu developer network

カテゴリー内の他の記事

ガントチャートプラグインのアップデートを詳細解説

はじめに

こんにちは。武井です。
皆さん、ガントチャートプラグインは使用しているでしょうか?
kintoneの標準機能では搭載していない「スケジュールの可視化」が実現できて便利ですね。

このほど、そのガントチャートプラグインが大幅にパワーアップされました!
今回は、アップデートされたガントチャートプラグインをフル活用する方法を書いていきます。

注意:旧バージョンのプラグインをお使いの方で、新バージョンのプラグインにアップデートされる方は、
   色付け設定が引き継がれないのでプラグイン設定画面で再設定をお願いします。

今回新たに10個もの機能を追加しました。目玉アップデートはこちらです。

目玉1:アプリフォームのテーブル化に対応
タスクを大項目と小項目に分けて管理できるようになりました。

4.png

目玉2:タスクバーをクリックするとモーダルウィンドウを出し、開始日/終了日を更新可能に。
これまで該当するレコードを探し、別途開いてデータ更新しなければなりませんでしたが、ガントチャートからスムーズな更新が可能になりました。

2.PNG

その他の機能追加については下のセクションをご確認ください。

新たに追加された機能一覧

新たに以下の機能が追加されました。

  • アプリフォームのテーブル化に対応
    • タスクを大項目と小項目に分けて管理できるようになりました。
  • ページングでガントチャートを再描画
    • 検索数が一覧画面の表示件数以上でも、ページングによってガントチャートが再描画されます。
  • ガントチャートの土曜日と日曜日を着色。
    • 一目で曜日が判別できるようになりました。
  • 優先度の色をカラーパレットから選択可能に。
    • 簡単に目的の色を設定できるようになりました。
  • 優先度を行追加で増やせるように。
    • 好きな数だけタスクカラーを設定することができるようになりました。
  • 初期表示のスケジュールに「時間」を追加。
    • 時間単位のガントチャートをデフォルトで表示できます。
  • マウスオーバーによるポップアップ画面では設定画面で設定する全データを表示。
    • タイトル/サブタイトル/開始日/終了日/優先度がすべて表示されるようになりました。
  • マウスオーバーによるポップアップ画面でフィールド名を表示。
    • タイトル/サブタイトルを除き「フィールド名:フィールドの値」という表示形式になりました。
  • タスクバーをクリックするとモーダルウィンドウを出し、開始日/終了日を更新可能に。
    • これまで該当するレコードを探し、別途開いてデータ更新しなければなりませんでしたが、ガントチャートからスムーズな更新が可能になりました。
  • タスクバーの中のタイトルは小項目を表示し、小項目がない場合には大項目を表示。
    • テーブル化に際し、サブタイトルを優先的に表示するようにしました。

設定手順

プラグインの設定方法など基本的な設定手順はガントチャートプラグインのページをご覧ください。

ここでは、アップデートされた機能の利用方法を説明します。

アプリのテーブル化対応の利用方法

1.上記の基本的なフィールドに加え、フォームの編集で、以下のようなテーブルフィールドを作成します。

使用目的 フィールドタイプ 備考
サブタイトル 文字列フィールド  
開始日 日付フィールド  
終了日 日付フィールド  
優先度 ドロップダウンなど  
テーブル テーブル 上記フィールドを含むテーブルを作成の上、フィールドコードを必ず「Table」として下さい。

特に、テーブルのフィールドコードを必ず「Table」とすることが重要となります。
※第2階層までガントチャート上で表示したい場合、
この「Table」というフィールドコードがついたテーブルを使用するプラグイン構造となっているため。
その他のフィールドコードは自由でかまいません。

これを設定すると、下図の様になります。
1.PNG

2.プラグイン設定画面にて下図のように設定します。
_____3.PNG

テーブルフィールドに関しては、テーブルのフィールドコードが「Table」のフィールドのみ、選択肢として表示されるようになっています。
また、テーブルフィールドについては選択肢の先頭に[Table]と表示されます。

設定の際の注意点は以下のようになります。

  • タイトルにするフィールドに、テーブルのフィールドを設定することはできません。
  • タイトルにするフィールドを除き、テーブルフィールドと非テーブルフィールドを混在させることはできません。

3.これらを設定し、アプリに反映させます。

4.レコードを作成します。
この際、テーブルで複数のタスクを設定します。

5.下図のような表示になります。
4.png

タイトルにするフィールドをプロジェクト名、
サブタイトルをタスク名のようにすることで便利な使い方ができそうですね。

また、ズームボタン「+」を押すごとに、曜日の下に
(0.12)(0.9.18)(0.6.12.18)(0.3.6.9.12.15.18.21)(0.1.2.3…23)と詳細な時間が表示されます。
5.png

ガントチャート上レコード更新の利用方法

1.ガントチャートを表示し、タスクバーをクリックします。

2.下図のようなモーダルウィンドウが表示されます。
2.PNG

3.下図のように開始日/終了日をそれぞれ入力またはカレンダーから選択します。
3.png

4.「更新」ボタンを選択します。

5.画面が自動的にリロードされ、タスクが変更されていることを確認します。
4.png

※開始日/終了日以外のデータは「詳細画面へ」のリンクをクリックして更新可能です。

拡張可能性

  • マウスオーバーのポップアップ情報で、プラグイン設定画面で設定する項目以外のテーブル項目も表示できるようにする。
  • 大項目/小項目の最大表示文字数を増やす。
  • レコード一覧に表示されているレコードについて表示するのではなく、全件表示にする。

注意事項

  • 旧バージョンのプラグインをお使いの方で、新バージョンのプラグインにアップデートされる方は、
    色付け設定が引き継がれないのでプラグイン設定画面で再設定をお願いします。
  • スマートフォン用のブラウザには対応していません。
  • カレンダービューにはガントチャートは適用されません。
  • 大項目および小項目は全角6文字まで表示可能で、全角7文字以上となる場合、全角5文字まで表示されます。

おわりに

いかがでしたでしょうか。
ガントチャートプラグインをご利用中の方も多いかと思いますが、
かゆいところに少し手が届くようになったのではないかと思います。

皆様の素晴らしいkintoneカスタマイズライフの一助になれたら幸いです。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

Avatar
nakamura

似たようなものを独自で実装しましたが、モーダル機能良いですね。

参考にさせて頂きます。

Avatar
nomoto

ガントチャート、素晴らしいです!

現在は、Project, taskの2層となっておりますが、これを更に3層、4層へカスタマイズすることはできるでしょうか?

担当者等を追記したく思います。

Avatar
尾島 勝

テーブルのフィールドコードをtable_0、table_1と記述しても、ガントチャートの設定画面で選択肢にTableが表示されません。記述が悪いのでしょうか?

Avatar
武井 琢治

nomotoさん

物理的には出来るのでしょうが、

3階層から先はライブラリ自体の改修が必要となるため、難度は上がるかと思います。

階層を追加するというよりも、何か別の場所(タスクバークリック時のモーダルウィンドウなど)に表示するほうが現実的かもしれません。

Avatar
武井 琢治

尾島さん

テーブルのフィールドコードは「Table」とすることで、

本プラグインにて使用することが可能になります。

複数のテーブルを指定することはできません。

Avatar
尾島 勝

武井様

お世話になります。尾島です。

ご連絡ありがとうございます。

Table内のフィールドコードをTable_1、Table_2、Table_3に
設定したのですが、プラグイン設定画面の選択にTableの項目が
表示されません。

Avatar
nomoto

自信でパッケージングしなくても、gantt_plugin.zip を使用するだけでOKでしょうか?

 

Avatar
nomoto

サンプルパッケージ(gantt_plugin.zip)を設定して動いたので、cygwinなるものをインストールして
パッケージファイルを作成しようとしていますが、下記のようなエラーで止まっております。

何かヒントが頂けましたら幸いです。


ファイル構成
$ dir
css html img js manifest.json package.sh PUBKEY SIGNATURE


パッケージングエラー
$ sh package.sh ./
package.sh: 行 74: /usr/bin/zip: No such file or directory
package.sh: 行 79: /cygdrive/c/work/tmp/contents.zip: No such file or directory
package.sh: 行 99: /usr/bin/zip: No such file or directory
Plugin ID: eogfpmonigkciddlokaiidfkhfhjdjbj
Plugin file: /cygdrive/c/work/vault/plugins/work.eogfpmonigkciddlokaiidfkhfhjdjbj/work.plugin.zip
Private key file: /cygdrive/c/work/vault/keys/work.eogfpmonigkciddlokaiidfkhfhjdjbj.ppk


ファイル構成(vaultが増えた)
$ dir
css html img js manifest.json package.sh PUBKEY SIGNATURE vault

パッケージングエラー
$ sh package.sh ./
PLUGIN_DIR must not contain *.ppk files.

Avatar
cybozu Development team

nomoto様

いつもお世話になっております。
cybozu developer network事務局です。

1回目の「$ sh package.sh ./」実行時にパッケージングエラーとありますが、
下記部分を見ると、パッケージングに成功していると思われます。

> Plugin ID: eogfpmonigkciddlokaiidfkhfhjdjbj
> Plugin file: /cygdrive/c/work/vault/plugins/work.eogfpmonigkciddlokaiidfkhfhjdjbj/work.plugin.zip
> Private key file: /cygdrive/c/work/vault/keys/work.eogfpmonigkciddlokaiidfkhfhjdjbj.ppk

「work.plugin.zip」は Plugin file の情報をみると、「 /cygdrive/c/work/vault/plugins」の下に
作成できるようですので、一度ご確認いただけますでしょうか?

(vaultが増えた)とありますので、その vault の下の plugins の下だと思います。

ご確認よろしくお願い致します。

Avatar
nomoto

コメント有難うございます。

> 「work.plugin.zip」は Plugin file の情報をみると、「 /cygdrive/c/work/vault/plugins」の下に
> 作成できるようですので、一度ご確認いただけますでしょうか?

 

「 /cygdrive/c/work/vault/plugins」配下には「work.najcjcinjanalbdljhikcmmilaiellbm」という意味不明の

名前のフォルダが出来ておりますが、中身は空でファイルはありません。

 

宜しくお願いします。

 

Avatar
cybozu Development team

nomoto様

ご確認いただきありがとうございます。

> PLUGIN_DIR must not contain *.ppk files.

こちらのエラーは、「plugins」と「keys」というファイルがある状態で、
package.shを実行すると表示されるものになります。

確認いただいた、フォルダ名が成功しているときに作成されたものと、
名前が異なっているので、再度、「$ sh package.sh ./」を実行したときに
作成されてしまったものかもしれません。

お手数をおかけしますが、「plugins」と「keys」を削除をしていただき、
再度「$ sh package.sh ./」を実行してみていただけないでしょうか。

よろしくお願い致します。

Avatar
nomoto

コメント有難うございます。

実は投稿前に全てのファイルを削除して数回やり直しております。

何度やっても同じですので、他に原因があるかと思います。

何かお気づきの点がありましたら、コメント頂けますと助かります。

宜しくお願いします。

Avatar
cybozu Development team

nomoto様

ご確認いただきありがとうございます。
既にお試しいただいているということで、大変申し訳ございませんでした。

別記事でコメントいただいた内容でご確認頂きたい点がございますので、
そちらのコメントでご連絡させていただきます。

別の場所となり、申し訳ございませんがよろしくお願い致します。

 

Avatar
nomoto

cybozu Development teamさん

URLを張って貰えるでしょうか? 場所が分かりませんため。

宜しくお願いします。

Avatar
cybozu Development team

nomoto様


別記事でのコメントにより、メールが送信されていると思いますので、
こちらでのご連絡は控えさしていただきました。

申し訳ございませんでした。
別記事にて、コメントをいただいているのを確認しておりますので、
そちらで、引き続き、よろしくお願い致します。

Avatar
nomoto

解説にあるようなテーブル (table) を作成しようとしますが、下記エラーでテーブルを作成できないでおります。
エラーに記載されている条件は、何も無いのですが、何か作成のコツがあるのでしょうか?

====================================================================================
次のフィールドを含む行は、テーブルにできません:
・すでに使用中のフィールド
・ラベル、関連レコード一覧、スペース、罫線、グループ、レコード番号、作成者、更新者、作成日時、更新日時
====================================================================================

 

Avatar
nomoto

cybozu Development teamさん

> アプリのテーブル化対応の利用方法
> 1.上記の基本的なフィールドに加え、フォームの編集で、以下のようなテーブルフィールドを作成します。

とありますが、アプリ 「To Do」 のデフォルトのフォーム以外に新たに作成するという意味でよろしいでしょうか?

そのように理解してフォームを追加してテーブルを作成しましたが、ガントチャートのプラグインはこの新たなテーブルを
認識してチャート化してくれません。

フィールド名をデフォルトのフィールド名に全て置き換え、更にコンフリクトしないよう デフォルトのフォームを削除しましたが
それでもプラグインはチャート化してくれません。

テーブルの作成についてコメント頂けないでしょうか?

Avatar
cybozu Development team

nomoto様

ご質問いただきありがとうございます。
テーブル設定について回答させていただきます。

すでに運用中のアプリで特定フィールドをテーブル化しようとすると作成できない場合があります。
お手数ですが、再度新規でフィールドを配置していただいた上でテーブル化の設定をお願いできますでしょうか?

また、ガントチャートの小項目として設定できるテーブルはひとつのみになります。
設定したいテーブルのフィールドは、フィールドコードを「Table」としていただく必要があるのですが、そちらは設定されていますでしょうか?
今一度ご確認お願いします。

Avatar
nomoto

cybozu Development teamさん

> すでに運用中のアプリで特定フィールドをテーブル化しようとすると作成できない場合があります。
> お手数ですが、再度新規でフィールドを配置していただいた上でテーブル化の設定をお願いできますでしょうか?

 「To Do」は使用しておりませんでしたので、何度も新規作成して試しています。

> また、ガントチャートの小項目として設定できるテーブルはひとつのみになります。
>設定したいテーブルのフィールドは、フィールドコードを「Table」としていただく必要があるのですが、そちらは設定されていますでしょうか?

質問で記載したように、何度も実施しましたが、新規作成の「Table」をチャート化せず、
デフォルトの「ToDo」「Detail」などがチャートの対象になってしまいます。
おしゃるように追加作成のデーブルのフィールド名を「Table」にしただけでは認識してくれません。

また、下記のように質問させて頂いております。こちらにも回答頂きたく。

> フィールド名をデフォルトのフィールド名に全て置き換え、更にコンフリクトしないよう デフォルトのフォームを削除しましたが
> それでもプラグインはチャート化してくれません。

 

Avatar
cybozu Development team

nomoto様

>「To Do」は使用しておりませんでしたので、何度も新規作成して試しています。

ヘルプにもある通り設定していらっしゃるのに、テーブル化できないということですね。
▼フォームに表(テーブル)を追加する
https://help.cybozu.com/ja/k/user/table.html

こちらも同じ環境を作成しているわけではないので、原因を特定できないかもしれないですが、
一度レコードの詳細画面とフォームの設定画面とプラグインの設定画面を添付いただくことは可能でしょうか?

>質問で記載したように、何度も実施しましたが、新規作成の「Table」をチャート化せず、
>デフォルトの「ToDo」「Detail」などがチャートの対象になってしまいます。
>おしゃるように追加作成のデーブルのフィールド名を「Table」にしただけでは認識してくれません。

ToDoやDetailのフィールドコードはTable以外に設定されていますでしょうか?
またここで言う、フィールドコードはフィールド名とは別物になりますのでご注意ください。
https://help.cybozu.com/ja/k/user/fieldcode.html

> フィールド名をデフォルトのフィールド名に全て置き換え、更にコンフリクトしないよう デフォルトのフォームを削除しましたが
> それでもプラグインはチャート化してくれません。

こちら回答が漏れており失礼いたしました。設定に何かしら間違いがあると思われますので、
上記に記載させていただいた通り、お手数なのですが設定画面の添付をお願いしたいです。
よろしくお願いします。

Avatar
nomoto

cybozu Development team さん

コメント有難うございます。

齟齬があるように感じますので、再度記載致します。
・アプリ「To Do」のデフォルトのフォームはテーブル化できない。
・デフォルト以外に、新たにフォームを追加してテーブル化し、フィールドコードを「Table」としてもガントチャートが認識して表示してくれない
・ガントチャートが認識して表示するのは、あくまでデフォルトのフォームのみ

・上記、新たに作成したテーブル内の各フォームのフィールドコードをデフォルトのフォームに記載のフィールドコードへ変更(「Details」など)
・コンフリクトしないよう、デフォルトのフォームを削除したが、それでも正しく動作しない。

解説によれば、新たにフォームを作成し、テーブル化した後、フィールドコードを「Table」へ変更するとだけ記載してありますが、
期待通りに表示されません。

★この掲示板へ添付できるのでしょうか?
 とりあえず、ドラッグ&コピーしましたが、では張り付きませんでした。

nomotoにより編集されました
Avatar
cybozu Development team

nomoto様

わかりやすくまとめていただきありがとうございます。

私の手元でも新規にフィールドを配置して、テーブル化するという手順で試してみたところ、正常に設定することができました。
※To Doアプリにデフォルトで配置されているフィールドはnomoto様がおっしゃる通りテーブル化できません。
 これはアプリストアからアプリを追加した時点で使用中のフィールドになるためです。


To Doアプリで以下の画像のように設定しました。
大項目にも担当者や開始終了の期間が必要と思ったので、その下に新たに小項目用のフィールドを配置してテーブル化して、
フィールドコードを[Table]に設定しています。
※この際、プラグイン設定で必要になるフィールドは配置お願いします。フィールドコードの設定は必要ありません。
 ・サブタイトルにするフィールド
 ・開始日と終了日などの日付フィールド
 ・色付けするラジオボタンなどの選択フィールド

ここまで設定してプラグインの設定画面に移動し、以下の図のように設定するとガントチャートが表示されます。

こちらで参考になりますでしょうか?解決の糸口になれば幸いです。

 

★因みにコメントへの画像貼り付けはこちらから可能です。


Avatar
nomoto

cybozu Development team さん

お知らせ有難うございます。
送付頂いた画像のテーブル内にある「To Do」、「担当者」、「詳細内容」・・・は、実際に記入したとおりに表示
されますでしょうか?

★日付を含め、デフォルトのフォームの記載事項は削除した上でご確認お願いします。
 そちらが表示されているか分かりませんため。

当方の画像を貼付します。
当方は、2階層目と日付のみをテーブル化しておりますが、テーブル内に記載したものは、ガントチャートに記載されません。

 「Item 」→試験-1

日付もデフォルトのフィールドが有効なため、ここではデフォルトのフィールドに記載しています。

nomotoにより編集されました
Avatar
cybozu Development team

nomoto様

詳細をありがとうございます。
この記事をフォローするに設定されている場合、新規コメントがあった際にメールでも通知される仕組みになっております。

>送付頂いた画像のテーブル内にある「To Do」、「担当者」、「詳細内容」・・・は、実際に記入したとおりに表示されますでしょうか?

ガントチャートにはサブタイトルに設定したフィールドのデータについてのみ表示される仕様です。デフォルトの記載事項を削除しても同じです。
ガントチャートのバーにマウスオーバーすると、プラグイン設定画面で設定している以下の項目もダイアログ内に表示されるようになっています。
・サブタイトル
・開始日と終了日
・色付けするフィールド


>当方は、2階層目と日付のみをテーブル化しておりますが、テーブル内に記載したものは、ガントチャートに記載されません。

なるほど、原因がわかりました。プラグイン設定画面においてサブタイトルを選択する箇所で「[Table]Item」ではなく、「詳細内容」を選択されているからだと思います。
2階層表示をしたい場合は、設定項目のB,C,D,Eでテーブル内のフィールドを指定する必要があります。
そこを修正いただければうまく表示されるかと思います。ご確認お願いします。
それでもうまく行かない場合、プラグインの設定画面の画像を添付してください。

 

Avatar
nomoto

cybozu Development team さん

ご支援ありがとうございます。
大分いいところまで来ました。

一番上のレコード(時間軸的に新しいレコード)が曜日の行と重なってしまいます。
プラグインは自作のものでも、サンプルの「gantt_plugin.zip」でも同様の結果でした。

どこを確認すればよいでしょうか?

 

 

Avatar
cybozu Development team

nomoto 様

無事設定がうまくいったようで安心しました。

曜日と被って表示されてしまっている部分ですが、キャッシュの影響と思います。
Windowsをお使いの場合:Shift + F5
Macをお使いの場合:Command +Shift + R

で画面の更新を試していただけますでしょうか?

Avatar
nomoto

cybozu Development team さん

 

早速のコメント有難うございます。

曜日との被りだけでなく、月も重なっていました。(先の添付を参照ください。)

また、キャッシュのクリアでは改善せず、Chromeのcookie等もクリアしましたが変化ありませんでした。

月も正しく表示されないことから、他に疑うところはありあませんでしょうか?

Avatar
cybozu Development team

nomoto様

原因がわかりました。キャッシュの影響ではなかったです。失礼いたしました。
ブラウザの表示サイズが100%ではなく、縮小や拡大をされていませんでしょうか?
画角を変えると表示が崩れますので、100%に指定した状態でご覧ください。
よろしくお願いします。

Avatar
nomoto

cybozu Development team さん

 

できました!!

大変助かりました。有難うございました。

Avatar
cybozu Development team

nomoto様

ご確認ありがとうございます!良かったです。
引き続きご活用ください。

サインインしてコメントを残してください。