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

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

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

【わかりやすく解説】サーバスクリプトのデバッグについて

こんにちは。
リーデックス野田です。

最近、朝ごはんを食べるようになりました。時々ですが、朝ごはんにラーメンやカレーを食べることもあり、自分でもびっくりしています。

さて、今回はサーバスクリプトのデバッグ方法についてご紹介したいと思います。
サーバスクリプトのデバッグ方法は非常にシンプルですが、ほんの少し通常のスクリプトと記述が異なっており、ポイントを抑える必要があります。(私自身、サーバスクリプトで最初につまづいたのがデバッグについてでした。)
初めての方にも理解していただけるよう、わかりやすく解説していきたいと思いますので、ぜひご覧ください。

try-catch文を記載する。

サーバスクリプトで記述するスクリプトは、サーバ上で動作しますので、記述するスクリプトが誤っている場合はテーブル全体に影響が出てしまう可能性があります。サーバスクリプトを記載する際は、スクリプトをtry-catch文で囲むようにしましょう。

例えば、サーバスクリプトに「テスト」とだけ記載して、条件を「サイト設定の読み込み時」として保存してみます。
f:id:nodakoshiro:20210407221110p:plain

新規作成ボタンをクリックしてサーバスクリプトを実行させてみると、「アプリケーションで問題が発生しました。」のメッセージが表示されてしまい、テーブルそのものが閲覧できなくなってしまいます。
f:id:nodakoshiro:20210407221548p:plain

続いて、「テスト」の文字列をtry-catch文で囲んでサーバスクリプトを記載してみます。
f:id:nodakoshiro:20210407221235p:plain

新規作成ボタンをクリックしてみると、try-catch文によりエラーの発生が回避され、正常に新規作成画面が表示されるようになりました。「F12」キーを押してデベロッパーツールのコンソール画面を確認してみると、スクリプトの記述に誤りがあることが確認できます。
f:id:nodakoshiro:20210407221317p:plain

コンソールに値を表示する方法。

ブラウザコンソールに値を出力するには、以下のコードを使用します。

context.Log("ログ出力");

JavaScriptで使用するconsole.log()では動作しないので注意が必要です。
また、大文字と小文字も区別するので、context.log()でもなく、Context.log()でもなく、context.Log()と記載しましょう。
それでは、context.Log(”テスト”);と記載して、サーバスクリプトを保存してみます。
f:id:nodakoshiro:20210407221337p:plain

続いて新規作成ボタンをクリックしてサーバスクリプトを実行させてみましょう。「F12」キーを押してデベロッパーツールのコンソール画面を確認してみると、「テスト」と出力されていることが確認できます。
f:id:nodakoshiro:20210407221444p:plain

まとめ

今回はサーバスクリプトのデバッグ方法について解説してみました。今後も、少しづつプリザンターに関するお役立ち情報を発信できればと思います。
弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。
それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。