オープンソースWebDBのプリザンター(pleasanter)ブログ

オープンソースのWebDBのプリザンター(pleasanter)のブログとサービス情報サイトです

カテゴリ : お知らせプリザンターとは?使い方スクリプト・スタイル環境構築事例動画

【わかりやすく解説】ローコード開発の中核となりそうなサーバスクリプトとは?

f:id:h-ogawa-reedex-co-jp:20201220230551p:plain

 

こんにちは。
リーデックス小川です。

 1月もだいぶ終わりが近づいてきました。正月からあっという間ですね。12月から初めたマラソンですが、当初の目的だった30分で5kmが走れるようになりました。お酒も週1~2回程度、缶ビール1本程度になったので、おなか周りがだいぶすっきりしました。

 さて、今回は、2020年末から話題に上がっているサーバスクリプトについての情報をまとめていきたいと思います。本ブログでも記事にしていますので、参考になさっていただければと思います。

pleasanter.hatenablog.jp

 

 

サーバスクリプトとは?

さて、プリザンターにはスクリプトという似たような機能がすでに実装されていますが、サーバスクリプトとはどのようものなのでしょうか?公式サイトには下記のように記載されています。

「サーバスクリプト」機能を使うことで、クライアントサイドで実行される従来の「スクリプト」機能では実現出来なかった条件分岐や複雑な計算をシンプルなコードで実現できます。
また、クライアントサイドで実行される「スクリプト」機能とは異なり、「サーバスクリプト」機能はインポートでのレコード追加・更新やAPIによる操作のタイミングでも実行されます。 

Pleasanter ユーザーマニュアル - 【サーバスクリプト】サーバスクリプト機能 より

 

サーバー側で処理を行うことで、便利に、シンプルに、従来のスクリプトでは実現できない機能を実装することができる、ということのようですね。

認定パートナー限定のパートナー会で聞いたところによると、拡張SQLでしか実現できなかったこともサーバスクリプトで実現できるようになるようです。ということは、再起動なしで管理画面から拡張SQLと同様の機能拡張を行うことができる、ということです。これは、pleasanter.netや、サーバが別管理のプリザンターをスクリプトでカスタマイズがしやすくなる、ということになります。とてもうれしい機能ですね。なお、サーバスクリプトもJavaScriptがベースとなっていますので、いままでのノウハウをそのまま利用できます。

 

スクリプトについては、本ブログにも記事がありますので、参考ください。

 

pleasanter.hatenablog.jp

  

pleasanter.hatenablog.jp

 

サーバスクリプトの更新状況

次に、2020年01月23日2021年02月16日現在の公式マニュアルから、サーバスクリプトのリリース情報をまとめてみたいと思います。

2/15 リリース情報(ver. 0.50.220)

・サーバスクリプトでフィルタにOr条件を設定する機能を追加。
・サーバスクリプトで選択肢一覧を制御する機能を追加。
・サーバスクリプトでセクションを非表示にする機能を追加。
・サーバスクリプトにdepts/groups/usersオブジェクトを追加。
・メール通知の宛先を動的に設定する機能を追加。

2/9 リリース情報(ver. 0.50.219)

・サーバースクリプトのContextにデータ受け渡し用のプロパティを追加。
・拡張サーバスクリプト機能を追加。

2/3 リリース情報(ver. 0.50.218)

・サーバスクリプトのsiteSettingsオブジェクトにSectionsオブジェクトへの参照を追加。

1/30 リリース情報(ver. 0.50.216)

・コントロールCSS機能を追加。
・サーバスクリプトのログをコンソール出力する機能を追加。
・サーバスクリプトから拡張SQLを実行する機能を追加。
・サーバスクリプトに動作条件BeforeOpeningRowを追加。

1/27 リリース情報(ver. 0.50.215)

・サーバスクリプトでHiddenデータを生成する機能を追加。
・サーバスクリプトでレコードの読み取り専用をセットする機能を追加。
・サーバスクリプトの条件にレコード読み込み時を追加。

1/21 リリース情報(ver. 0.50.212)

・サーバスクリプトのcontextにControlIdを取得する機能を追加。

1/9 リリース情報(ver. 0.50.210)

・サーバスクリプトにSum, Average, Count, Max, Minメソッドを追加。

12/26 リリース情報(ver. 0.50.207)

・サーバスクリプトに編集画面のフィールドCSSを設定するパラメータを追加。
・サーバスクリプトに拡張HTMLを設定するパラメータを追加。
・サーバスクリプトに編集画面の項目の非表示を設定するパラメータを追加。
・サーバスクリプトにタイムアウト、再帰呼出制限を追加。
・サーバスクリプトに一覧画面のセルの表示の置き換えを設定するパラメータを追加。
・サーバースクリプトの実行タイミングを追加。

12/19 リリース情報(ver. 0.50.206)

・サーバースクリプトに現在テストで動いていを表すパラメータを追加。
・サーバスクリプトにcontextでパラメータで渡される値を追加。
・サーバスクリプトにロックを設定するパラメータを追加。

12/14 リリース情報(ver. 0.50.204)

・サーバスクリプトにレコードの取得、追加、更新、削除、一括削除機能を追加。

 

12/9 リリース情報(ver. 0.50.203)

・サーバスクリプト関連クラスの名前空間をLibraries内にリファクタリング。

12/5 リリース情報(ver. 0.50.201)

・サーバスクリプトに一覧画面の行CSSを設定するパラメータを追加。

12/3 リリース情報(ver. 0.50.200)

・サーバスクリプトに一覧画面のセルCSSを設定するパラメータを追加。

・サーバスクリプトに一覧画面のソートを設定するパラメータを追加。
・サーバスクリプトでユーザーごとに一覧画面のレコードを限定するパラメータを追加。
・サーバスクリプト用のライブラリをリリース候補版からリリース版にアップグレード。

11/16 リリース情報(ver. 0.50.199)

・サーバースクリプトの無効化を指定するパラメータを追加。

11/3 リリース情報(ver. 0.50.196)

・サーバサイドスクリプト機能を追加。

 

このように、短期間でサーバスクリプトの機能がリリースされています。今後も目が離せませんね。本ブログでも、次回以降により具体的な利用方法について書いていきたいと思います。

サーバスクリプトの設定について

サーバスクリプトの設定は、設定ファイルScript.jsonにて行います。公式サイトの「パラメータ設定:Script.json」には、サーバスクリプト有効/無効の切り替えしかないようです(2020年01月23日現在)。サーバサイドで実行されるため、無限ループや時間のかかる処理を制御するため、実行時間の指定などもできるようになると思われます。

 

まとめ

今回は、ローコード開発の中核となりそうなサーバスクリプトについてまとめてみました。公式マニュアルにも情報が記載され始めましたので、次回以降で、実践編についてもまとめていきたいと思います。

弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。

それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。