週刊プリザンター第51・52号

こんにちは。IISの田口です。
区切りの50号を過ぎたら早速先週落としてしましました!

週刊プリザンター第51・52号です。
12/2~12/15を追いかけます。

添付ファイルAPI機能追加。(登録、削除、ダウンロード)(0.50.120)

API機能がついに添付ファイルに対応しました!

登録

URLは今まで通りですが、リクエストするJSONデータに添付ファイル用として以下のように設定します。

{
    "ApiKey": "XXXXXXXXXX...",
    "Title": "新機能XXを開発する",
    "CompletionTime": "2018/3/31",
    ClassHash: {
        "ClassA":"分類"
    },
    NumHash: {
        "NumA":"100"
    },
    DateHash: {
        "DateA": "2019/01/01"
    },
    DescriptionHash: {
        "DescriptionA": "説明"
    },
    CheckHash: {
        "CheckA": "True"
    },
    AttachmentsHash: {
        "AttachmentsA":[
            {
                "Name": "添付画像.jpg",
                "Base64": "xxxxxxxxx....."
            },
            {
                "Name": "添付Excel.xlsx",
                "Base64": "xxxxxxxxx....."
            },
            {
                "Name": "添付アーカイブ.zip",
                "Base64": "xxxxxxxxx....."
            }
        ]
    }
}

ClassHash~CheckHashは今まで通りで、添付ファイル用に『AttachmentsHash』を設定することで、添付ファイルが登録できます。
※"○○Hash"についてはプリザンターユーザマニュアルを参照してください。

設定の注意点です。

  • 添付ファイルは配列形式で値を設定します。(添付ファイルが1つであっても配列で設定です)
  • "Base64"には添付ファイルをBase64変換した値を設定します。 各自での変換が必要です。
  • 添付ファイル項目で指定した各制限(ファイル数、容量、全容量)を超えた場合はAPIレスポンスでエラーが返ります。

実際の動作例です。 《正常時》
f:id:imageinformationsystem:20191219101426p:plain

《エラー:ファイル数オーバー》 f:id:imageinformationsystem:20191219113116p:plain

《エラー:容量オーバー》 f:id:imageinformationsystem:20191219113131p:plain

削除

今まで通りのURLでレコード削除すると添付ファイルも合わせて削除されます。

ダウンロード

ダウンロード用のAPIは以下URLになります。
{guid}はダウンロードするファイルのGUIDに置換してください。

http://{servername}/pleasanter/api/binaries/{guid}/get

レスポンスは以下の形式のjsonデータが返却されますので、Base64の値を変換(デコード)することでファイルが取得出来ます。
f:id:imageinformationsystem:20191219113235p:plain

って、GUIDって何?ですよね。
GUIDは以下の手順で取得出来ます。 1.取得APIで添付ファイルを含むレコードを取得すると、添付ファイル項目は以下のようにレスポンスが返ってきます。

"AttachmentsA":[
    {
        "Guid": "xxxxxx...",
        "Name": "添付画像.jpg",
        "size": "99999"
    }
]

《実際の動作例》 f:id:imageinformationsystem:20191219113253p:plain

2.内容や説明項目に図形を貼り付けた場合は以下のようにレスポンスが返ってきます。
※図形を貼り付けた後に内容(や説明項目)をダブルクリックしても下記内容が表示します。

"Body": "ロゴを貼り付けます。\n![image](/pleasanter/binaries/xxxxx.../show)",

このxxxxxx...が貼り付け画像のGuidです。
このように貼り付けた画像は f:id:imageinformationsystem:20191219111825p:plain 取得APIではこのようにレスポンスが返ってきます。 f:id:imageinformationsystem:20191219111843p:plain

ということで、APIで添付ファイルを取り出したい場合は ①取得APIでレコードを取得する。 ②取得レコードの添付ファイル項目/説明項目からGuidを抽出する。 ③ダウンロードAPIでファイルを取得する。 ④レスポンス結果のBase64値をデコードする。 の手順で添付したファイルを取得出来ます。

ログアウト後もビューを保存可能とする機能の追加。(0.50.120)

ビュー機能は使っていますか?
今まではセッションで管理していたので、別の画面を開いた後にもう一度戻ってきても選択したビューがそのまま適用していました。
今回ビューの管理をセッションだけでなく、ユーザ単位で保存する機能が追加になりました。
管理-ビューに「ビューの保存種別」が追加になっています。
f:id:imageinformationsystem:20191219111940p:plain

それぞれの設定でどのように動くかを説明します。

保存種別 説明
未設定 ビューの選択状態を保存しません。
別画面を開いた後に戻ってきても必ずビューは未選択状態※で表示します。
※管理-一覧で「既定のビュー」を設定している場合はそのビューが選択された状態で表示します。
セッション ビューの選択状態をセッションに保存します。
別画面を開いた後に戻った時はビューは前回の選択状態で表示します。
ログアウト後に再度画面を表示すると未選択状態※で表示します。
※管理-一覧で「既定のビュー」を設定している場合はそのビューが選択された状態で表示します。
ユーザ ビューの選択状態をセッションに保存します。
別画面を開いた後に戻った時はビューは前回の選択状態で表示します。
ログアウト後も再度画面を表示すると前回選択したビューが選択された状態で表示します。
(注意)ユーザを選択すると一覧の「既定のビュー」よりも優先されます。というか「既定のビュー」が無視されます。
既定のビューを設定した画面を最初に開いたときはビューが未選択状態になります。
(保存種別:ユーザが優先→初回表示なのでビューの選択状態が保存されていない→未選択として表示する)
保存しない 未設定と同じ動きでした。

その他

不具合解消やソースコードリファクタリングなどで9個のアップデートが実施されています。

バージョンアップに追いつけ!

プリザンターは日々進化しつづけて、新しい機能が追加されています。 皆さんの参考になるよう毎週紹介していきたいと思いますので、ご期待ください!

「+読者になる」のお願い

プリザンターの他、C#によるWebアプリ開発IISの得意とする領域です。今後もプリザンターの機能、拡張スクリプト、ページ追加の研究を進めて行くつもりです。関心のある方、よかったらブログ上部の「+読者になる」をクリックをお願いします!

最後に  

IISはプリザンターのスクリプトによるカスタマイズの経験が豊富です。
プリザンター導入に際してカスタマイズをご検討されている方は是非ご相談ください!
またご不明点やご質問などございましたら弊社までお問い合わせください。