スクリプトコンソールからのスクリプトの実行
スクリプトコンソールは、Groovyスクリプトを実行し、その出力を印刷するための単一のビューを提供します。 ウィジェットとユーザーの操作を容易にする定義済みの変数があります。 次のトピックでは、スクリプトコンソールの使用を開始します。
スクリプトコンソールは、システムの操作とメンテナンス用です。エンドユーザー用ではありません。 スクリプトコンソールへのアクセスをポータル管理者に制限してください。
まず、スクリプトコンソールのサンプルスクリプトを実行します。
スクリプトコンソールでサンプルスクリプトを実行する
スクリプトコンソールでサンプルスクリプトを実行する方法は次のとおりです。
-
管理者としてログインします。
-
プロダクトメニューから、 [コントロールパネル] へ行き、 [設定] → [サーバ管理] を選択します。
-
[スクリプト] をクリックします。 これがスクリプトコンソールです。 デフォルトのサンプルスクリプトは、ユーザー数をコンソール出力に出力します。
// ### Groovy Sample ### number = com.liferay.portal.kernel.service.UserLocalServiceUtil.getUsersCount(); out.println(number);
-
[Execute] をクリックし、スクリプトコンソールの 出力 でユーザー数を確認します。
Groovyのサンプルは、Liferayサービスユーティリティ UserLocalServiceUtil
を呼び出して、ユーザー数を取得します。 次に、out
(組み込みのPrintWriter
)を使用して、スクリプトコンソールに数を書き込みます。
out.printlnではなくSystem.out.printlnを使用すると、出力はスクリプトコンソールではなくLiferayのログファイルに出力されます。
定義済みのスクリプトコンソール変数
スクリプトコンソールのスクリプトで使用できる定義済みの変数は次のとおりです。
変数 | クラス |
---|---|
out | java.io.PrintWriter |
actionRequest | javax.portlet.ActionRequest |
actionResponse | javax.portlet.ActionReponse |
portletConfig | javax.portlet.PortletConfig |
portletContext | javax.portlet.PortletContext |
表示設定 | javax.portlet.PortletPreferences |
userInfo | java.util.Map<String, String> |
変数の使用
次のスクリプトは、actionRequest
変数を使用してポータルインスタンスのCompany
を取得する方法を示しています。
import com.liferay.portal.kernel.util.*
company = PortalUtil.getCompany(actionRequest)
out.println("Current Company:${company.getName()}\n")
out.println("User Info:")
userInfo.each {
k,v -> out.println("${k}:${v}")
}
ヒント
スクリプトコンソールを使用するときは、次の点に注意してください。
- 元に戻すことはできません。
- プレビューはありません。
- アクセス許可のチェックは、ローカルサービスには適用されません。
- スクリプトは同期的に実行されます。 時間がかかる可能性のあるスクリプトの実行は避けてください。
スクリプトコンソールを慎重に使用し、スクリプトを本番環境で実行する前に非運用システムでテストしてください。
スクリプトエンジンは、Kaleoワークフローなど、スクリプトコンソールの外部で使用できます。 ワークフローでスクリプトエンジンを使用する方法は次回学びます。