項目拡張手順(Docker利用)
## Docker版プリザンターについて
Docker Hubで公開されているプリザンターの公式Dockerイメージを利用する手順です。
implem/pleasanter - Docker Image | Docker Hub
https://hub.docker.com/r/implem/pleasanter
## 概要
Community Editionでは[分類項目](/ja/manual/table-management-class)、[数値項目](/ja/manual/table-management-num)、[日付項目](/ja/manual/table-management-date)、[説明項目](/ja/manual/table-management-description)、[チェック項目](/ja/manual/table-management-check)、[添付ファイル項目](/ja/manual/table-management-attachments)の各項種別毎に26個、計156項目が利用できますが、Enterprise Editionでは項目を拡張することができます。
| DB | Enterprise Editionで利用できる項目の上限 |備考|
| ---- | ---- | ---- |
| PostgreSQL | 6つの項目種別の合計で最大900個まで ||
| MySQL | 6つの項目種別の合計で最大256個まで |MySQLはver1.4.9.0以降のプリザンターで使用できます。|
拡張した項目は"001"からの連番で作成されます(分類001、分類002・・・等)。
項目を拡張する、拡張した項目数を変更する場合は本手順を実行してください。
## 注意事項
項目拡張を行うと期限付きテーブル(Issuesテーブル)、記録テーブル(Resultsテーブル)のテーブル構造を変更します。特に項目数を削減する場合にはテーブルから項目そのものを削除するため、項目拡張で増やした項目に登録したデータが消滅します。項目拡張を行う前には必ずバックアップを取得してください。
## 前提条件
本手順はプリザンターをEnterprise Editionにアップグレードしていることを前提とします。
## 操作手順
1. コンテナの停止
1. データベースのバックアップ
1. Issues.jsonおよびResults.jsonの編集、格納
1. コンテナイメージのビルド
1. CodeDefinerの実行
1. 項目拡張の確認
## 操作手順
### 1. コンテナの停止
1. 以下コマンドを実行します。
```
docker compose stop
```
### 2. データベースのバックアップ
1. ご利用中の環境に応じてデータベースのバックアップを行ってください。弊社オンラインマニュアルもご参考ください。
・[FAQ:PostgreSQL データベース バックアップ・リストア手順(Docker利用)](/ja/manual/faq-postgresql-backup-restore-docker)
・[FAQ:MySQL データベース バックアップ・リストア手順(Docker利用)](/ja/manual/faq-mysql-backup-restore-docker)
### 3. Issues.jsonおよびResults.jsonの編集、格納
1. [ダウンロードセンター](https://pleasanter.org/dlcenter)から、起動するプリザンターと同一バージョンのモジュールをダウンロードします。
2. zipファイルを解凍します。
3. 解凍したフォルダからDocker用資源の配置先フォルダに以下のフォルダをコピーします。
・コピーするフォルダ:\pleasanter\Implem.Pleasanter\App_Data\Parameters\ExtendedColumns フォルダをコピー
・コピー先:\app_data_parameters フォルダ内に配置し、\app_data_parameters\ExtendedColumns フォルダを作成

4. コピー先のExtendedColumnsフォルダ内にあるIssues.jsonおよびResults.jsonを編集します。

- Issues.json:期限付きテーブル
```json
{
"TableName": "Issues",
"ReferenceType": "Issues",
"Class": 0,
"Num": 0,
"Date": 0,
"Description": 0,
"Check": 0,
"Attachments": 0
}
```
- Results.json:記録テーブル
```json
{
"TableName": "Results",
"ReferenceType": "Results",
"Class": 0,
"Num": 0,
"Date": 0,
"Description": 0,
"Check": 0,
"Attachments": 0
}
```
- 設定内容
|項目|内容|
|:----|:----|
|Class|分類項目に追加する項目数|
|Num|数値項目に追加する項目数|
|Date|日付項目に追加する項目数|
|Description|説明項目に追加する項目数|
|Check|チェック項目に追加する項目数|
|Attachments|添付ファイル項目に追加する項目数|
### 4. コンテナイメージのビルド
1. 以下コマンドを実行します。
```
docker compose build
```
### 5. CodeDefinerの実行
1. 以下コマンドを実行します。バージョンに応じて実行するコマンドが異なります。
#### バージョンがver.1.4.5まで
```bash
docker compose run --rm codedefiner _rds
```
#### バージョンがver.1.4.6以降
※Dockerイメージを使用する場合に限り、バージョンアップ時のコマンドに /l、/zの引数設定が必要です。
```bash
docker compose run --rm codedefiner _rds /l "<言語>" /z "<タイムゾーン>"
```
|引数|設定例|説明|
|:--|:--|:--|
|/l|ja|Service.jsonのDefaultLanguageの値を書き換えます(※1)|
|/z|Asia/Tokyo|Service.jsonのTimeZoneDefaultの値を書き換えます(※1)|
(※1) 言語、タイムゾーンは以下マニュアルページを参照ください。
[FAQ:プリザンターでサポートしている言語とタイムゾーンのパラメータの設定値を知りたい](https://pleasanter.org/manual/faq-supported-language)
日本語環境でご利用する場合は以下コマンドとなります。
```bash
docker compose run --rm codedefiner _rds /l "ja" /z "Asia/Tokyo"
```
途中で 「Type "y" (yes) if the license is correct, otherwise type "n" (no).」 と表示されたら **y** を入力してください。
なお、バージョン1.4.8以降では、"Enterprise Edition" である旨のメッセージが表示されますので、ご確認ください。
※ライセンス情報のLicenseeは利用するCLIによって文字化けする可能性があります。

また、バージョン1.4.8以降では、CodeDefiner実行時に項目拡張の使用数削減が起こる場合、エラーメッセージ「 Configurator.CheckColumnsShrinkage: The columns will be shrinked.」が表示されて終了し、CodeDefinerは実行されません。エラーとなった場合は下図のように削減する項目が表示されますので、パラメータファイルおよびライセンスが正しく適用されているか再度確認ください。

バージョン1.4.8以降で項目の削減を許容する場合は、引数「/f」を指定して、実行してください。
```bash
docker compose run --rm codedefiner _rds /l "ja" /z "Asia/Tokyo" /f
```
### 6.項目拡張の確認
1. 以下コマンドを実行し、項目が追加されたコンテナの再作成・再起動を行います。
```
docker compose up -d pleasanter
```
2. ブラウザでアクセスし、ログインします。
・<http://localhost:50001>
3. プリザンターにログインし、任意のテーブルを開き、ナビゲーションメニューの「管理」-[テーブルの管理](/ja/manual/table-management)より[エディタ](/ja/manual/table-editor)タブにて、選択肢一覧のリストに拡張した項目(分類001、数値001等)が表示されることを確認してください。
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/table-editor">テーブル機能:レコードのエディタ画面</a><span>2023/04/12 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management">テーブルの管理</a><span>2024/05/24 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-class">テーブルの管理:項目:分類</a><span>2023/04/21 up</span></li>
<li><a href="/ja/manual/table-management-num">テーブルの管理:項目:数値</a><span>2023/04/21 up</span></li>
<li><a href="/ja/manual/table-management-date">テーブルの管理:項目:日付</a><span>2023/04/21 up</span></li>
<li><a href="/ja/manual/table-management-description">テーブルの管理:項目:説明</a><span>2023/04/21 up</span></li>
<li><a href="/ja/manual/table-management-check">テーブルの管理:項目:チェック</a><span>2025/01/30 up</span></li>
<li><a href="/ja/manual/table-management-attachments">テーブルの管理:項目:添付ファイル</a><span>2024/06/13 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-editor">テーブルの管理:エディタ</a><span>2024/04/09 up</span></li>
<li><a href="/ja/manual/table-management-editor-columns">テーブルの管理:エディタ:エディタの項目の設定</a><span>2024/12/19 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />