Pleasanter：顧客別ToDo管理の作成

この記事は、2017年10月27日 [Bluemix IaaS 麹町#1](https://bmxug.connpass.com/event/68298/)のハンズオン資料です。

# Pleasanter
Pleasanter(読み方：プリザンター)は、AGPLライセンスで提供され商用・非商用問わず利用できます。ExcelでやっているようなことをWebアプリとしてWebブラウザ上でマウス操作で作ることができます。個人的には、Oracle Application Expressっぽいような感じがしています。
ここでは、IBM Bluemix IaaS(旧SoftLayer)上にインストールしたPleasanterを使用しています。環境構築手順書は[こちら](https://qiita.com/kolinz/items/036380bb887fe1f86fd0)をご覧ください。

# 初期パスワードの変更
環境構築後、Pleasanterにアクセスし、ログインします。

- http(s)://サーバーのIPアドレス名/pleasanter 
- http(s)://FQDN(例 abc.com)/pleasanter

最初にログインする際に、管理者パスワードを変更します。
ログインは、ログインID = Administrator / パスワード = pleasanter が初期設定です。最初のログイン後、Administratorユーザーのパスワードを変更します。

# アプリ構築
先ずは会社情報を管理するテーブルとそれに対するToDo管理のテーブルを作成します。

##フォルダ作成
フォルダは、Pleasanterではアプリを管理するために使用します。
「新規作成」をクリックし、フォルダを選択し、作成します。

![フォルダ作成_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/2712c61b-df1b-5b57-d525-e58a1ab69d4e.png)

フォルダ名を入力します。「ToDoアプリフォルダ」とします。

![フォルダ作成_2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/316b74ae-829d-d817-95ac-2b548fef2dae.png)

フォルダが作成できました。フォルダ内で、取引先テーブルとToDoテーブルを作成します。先ずは新規作成から取引先テーブルを作成します。

![フォルダ作成_3.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/5c0d3ab6-4fdd-9d88-9bd3-17adee3a84ff.png)

## 取引先テーブル
作成したフォルダ内で、新規作成をクリックします。画面左側で、「記録テーブル」を選び、作成をクリックします。

![会社_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/1a9841e2-42a0-89b9-8216-687a97186f8a.png)

テーブル名は、「取引先」とします。

![会社_2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/4d4532d9-f03e-191a-cac8-8adb60b404a5.png)

画面右上の「管理」→「テーブルの管理」をクリックします。

![テーブル管理.png](https://qiita-image-store.s3.amazonaws.com/0/41414/1fbc6633-02ce-70b7-7212-a98ac0d22525.png)

「エディタ」タブをクリックします。

![会社_3.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/2d88d99b-712d-e87a-27e2-cb8e7eb0da4b.png)

「エディタの設定」にて、「[取引先]タイトル」をクリックし、「詳細設定」をクリックします。表示名をタイトル → 会社名に変更します。

![会社_4.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/dfb23d6e-2285-acc4-653f-ea8f1fd0807d.png)

「更新」をクリックします。次は、「一覧」タブへ。

![会社_5.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/2887dc76-83f5-9539-72c2-fce6e981e03f.png)

「一覧タブ」にて、選択肢一覧で「[取引先]会社名」を選び、有効化をクリックします。現在の設定 一覧に移動しますが、一番下になりますので、「[取引先]会社名」を選び、「上へ」を数回クリックして、任意の位置に移動します。

![会社_6.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/bc9e3f5c-122b-0eb1-a7a8-137f5ef12337.png)

「[取引先]会社名」を任意の位置に移動させたら、「更新」をクリックします。

![会社_7.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/56f7d724-1fc2-784b-1105-d1056a214200.png)

次は、「ToDoテーブル」を作成します。

## ToDoテーブル
ToDoテーブルでは、取引先項目を作成し、また開始日や終了日、作業量、進捗率を記録するテーブルを作成します。

フォルダ内で「新規作成」をクリックします。
![ToDo_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/473a3ba0-9105-028a-1fed-653b546613e3.png)

画面左側にて「記録付きテーブル」を選択、作成をクリックします。

![ToDo_2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/78f6ec6f-54ce-55a5-4410-f2a10c49f8e6.png)

タイトルは「ToDo」としましょう。

![ToDo_3.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/f3d95ab8-439c-deb9-ca79-f4a44e7b8a80.png)

記録付きテーブルのひな形から、ToDoテーブルが出来上がります。ToDoに必要な項目が既に用意されていますが、取引先の項目が無いので追加しましょう。

![ToDo_4.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/f37342f9-7893-71fd-388d-2c9a3e039212.png)

「ToDo」テーブルをクリックし、画面右の「管理」→「テーブルの管理」をクリックします。
「エディタ」タブをクリックします。

![ToDo_5.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/d4cc6c31-b6e8-69b1-e737-14f346890679.png)

「エディタ」タブ内の「エディタの設定」にある「選択肢一覧」から「[ToDo]分類A」を選択し、「有効化」をクリックします。「エディタの設定」にある「現在の設定」に「[ToDo]分類A」が入りましたら、「詳細の設定」をクリックします。

![ToDo_6.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/691e29c7-5f14-ee98-33a9-8504adaa01b1.png)

表示名を「会社名」に変更し、「変更」をクリックします。

![ToDo_7.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/eb104ef7-47f8-807f-71be-d51ff05bec2f.png)

下図の状態になりましたら、「更新」をクリックします。

![ToDo_8.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/c4280644-b5e2-f295-d975-be551e963eaa.png)

次は、「一覧」タブに切り替えます。一覧タブ内の「一覧の設定」から「選択肢一覧」で「[ToDo]分類A」を選択、「有効化」をクリックします。

![ToDo_9.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/7cdd5b98-749c-510a-dafd-b2f975f9e9a7.png)

下図の状態になりましたら、「更新」をクリックします。

![ToDo_10.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/bd64512c-8477-5093-87ef-2a209957690b.png)

画面左上の「ToDoアプリフォルダ」をクリックし、作成したフォルダ画面に戻ります。

## テーブル連携
作成した「取引先」テーブルと「ToDo」テーブルについて、取引先別にToDo管理するために、互いのテーブルを連携させます。

![テーブル連携_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/f3870f74-a43e-ee1b-c1b6-021553a614f6.png)

ToDoテーブルを取引先テーブルに下図のようにドラッグ&ドロップします。

![テーブル連携_2.png](https://qiita-image-store.s3.amazonaws.com/0/41414/0f5d65bd-868c-a187-9963-bf39ee460d7f.png)

テーブル間でどの項目を連携させるか、画面内の「リンク項目」に「会社名」を選択し、「作成」をクリックします。

![テーブル連携_3.png](https://qiita-image-store.s3.amazonaws.com/0/41414/3cc2e263-4561-97e6-ab10-ca4d5cdae5b3.png)

確認メッセージが表示されますので、「OK」をクリックすれば、基本の取引先別のToDo管理アプリが完成です。

![テーブル連携_4.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/e43ccc7b-7481-b580-87ef-2312e196bf9c.png)

# 動作確認
幾つかデータを入力し、動作を確認します。

## 取引先データの作成
画面左上の「ToDoアプリフォルダ」→「取引先」→「新規作成」の順にクリックし、会社情報を登録します。
会社名を入れて、「作成」をクリックします。

![動作確認_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/0de98d32-d2af-4365-756a-d3f8b401746f.png)

## ToDoデータの作成
次に、画面左上の「ToDoアプリフォルダ」→「ToDo」→「新規作成」の順にクリックし、ToDoを登録します。「タイトル」に件名、「内容」はダブルクリックすると入力できます。「取引先」の項目をクリックして、先ほど作成した会社名を選択します。
「開始」や「終了」の日時を入れます。「状況」は未着手で良いでしょう。「作成」をクリックします。作業が進んだら「作業量」や「進捗率」、「状況」を更新します。

![動作確認_2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/aaebe2d7-f641-7986-1c77-d4b06f4dd8ca.png)

ToDoを作成しますと、下図のように表形式で表示されます。タイトルをクリックすると表示兼編集画面が表示されます。「エクスポート」をクリックすればCSV形式で出力されます。

![動作確認_3.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/4597892c-3266-dd15-1795-8ff38844c190.png)

また幾つかToDoを登録し、「表示」で「カンバン」なども実行してみましょう。Pleasanterは、「カンバン」や「ガントチャート」なども標準で組み込まれています。

## 関連付けの確認
画面左上の「ToDoアプリフォルダ」→「取引先」で、先ほど登録した会社名をクリックし、ToDoが関連付けられているか確認します。

# ユーザー管理とアクセス権の付与
## 組織の作成
画面右上の「管理」→「組織の管理」→「新規作成」にて、「組織コード」と「組織名」を入力し、ユーザー管理のための組織を作成します。
![1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/436a8585-7927-0949-75e6-31f4f6eb0508.png)

## ユーザの作成
画面右上の「管理」→「ユーザの管理」→「新規作成」にて、ユーザを作成します。ユーザー作成時に作成した組織を選択します。
![2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/2bfd6b88-af9d-c80c-004e-51579d036694.png)

## アプリへのアクセス権付与
作成した組織「管理本部」に対して、取引先テーブルとToDoテーブルが入っているフォルダ(=アプリ)へのアクセス権を割り当ててみましょう。

フォルダにアクセスし、画面右上の「管理」→「フォルダの管理」をクリックします。「サイトのアクセス制御」タブをクリックします。
選択肢一覧の直下で、作成した組織名で検索しましょう。組織名と組織に所属する人が表示されます。ここでは組織名を選び、「権限追加」をクリックします。
![フォルダへのアクセス権付与_1.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/c028b505-0af5-9faa-f5ad-e4d2df362a79.png)

権限設定の一覧に、組織名が配置されます。配置された組織名のアクセス権を編集するには、組織名を選択し「詳細設定」をクリックします。その後、画面下部の「更新」をクリックします。

![フォルダへのアクセス権付与_2.PNG](https://qiita-image-store.s3.amazonaws.com/0/41414/e9d58d14-b53a-414a-5d31-6b8d082e59e9.png)

これで、アクセス権を付与した組織に所属するすべてのユーザーが、アプリを使用できるようになります。


# ToDoアプリを拡張しましょう。
1. 「取引先」テーブルや「ToDo」テーブルに項目を追加しましょう。基本的なやり方は、「ToDo」テーブルで「会社名」項目を追加した手順です。(※)
2. 「取引先担当者」テーブルを作成し、「取引先」テーブルや「ToDo」テーブルを関連付けます。より一層顧客管理アプリ風になります。
3. SlackやChatworkと連携してみましょう。
    - 公式のSlack連携手順書：[ここをクリック](https://github.com/Implem/Implem.Pleasanter/wiki/slack%E3%81%AB%E9%80%9A%E7%9F%A5%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E8%A8%AD%E5%AE%9A)
    - 公式のChatwork連携手順書：[ここをクリック](https://github.com/Implem/Implem.Pleasanter/wiki/chatwork%E3%81%AB%E9%80%9A%E7%9F%A5%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E8%A8%AD%E5%AE%9A)

※ 追加項目の種別 →　各項目は、A～Zまであり、使用時には名称を変更します。

| 種別       | 概要        | 使用可能な数      |
|:-----------------|:------------------|:------------------|
| 分類 | 選択肢を入れればリスト形式。<br> 選択肢を入れなければテキスト項目として使用可能。| 26個 |
| 数値 | 数字データを取り扱います。通貨や単位を独自に指定することができます。 | 26個 | 
| 日付 | 日付または、日時を取り扱います。| 26個 |
| 説明 | 複数行のテキストエリアです。URLを入力すると自動的にリンクが張られ、クリックできるようになります。| 26個 |
| チェック | チェック項目を作成します。 | 26個 |

 
# 参考資料
[プリザンターの使い方マニュアル](https://github.com/Implem/Implem.Pleasanter/wiki)