スクリプトコンソールからのスクリプトの実行
スクリプトコンソールは、Groovyスクリプトを実行し、その出力を印刷するための単一のビューを提供します。 ウィジェットとユーザーの操作を容易にする定義済みの変数があります。 次のトピックでは、スクリプトコンソールの使用を開始します。
スクリプト コンソールはシステムの操作とメンテナンス用であり—エンド ユーザー用ではありません。 スクリプトコンソールへのアクセスをポータル管理者に制限してください。
まず、スクリプトコンソールのサンプルスクリプトを実行します。
スクリプトコンソールでサンプルスクリプトを実行する
スクリプトコンソールでサンプルスクリプトを実行する方法は次のとおりです。
-
管理者としてログインします。
-
製品メニューで、 コントロール パネル に移動し、 システム → サーバー管理を選択します。
-
スクリプトをクリックします。 これがスクリプトコンソールです。 デフォルトのサンプルスクリプトは、ユーザー数をコンソール出力に出力します。
// ### Groovy Sample ### number = com.liferay.portal.kernel.service.UserLocalServiceUtil.getUsersCount(); out.println(number); -
実行 をクリックし、スクリプト コンソール 出力 でユーザー数を確認します。

Groovy サンプルは、Liferay サービス ユーティリティ UserLocalServiceUtil を呼び出してユーザー数を取得します。 次に、out(組み込みのPrintWriter)を使用して、スクリプトコンソールに数を書き込みます。
System.out.println を out.printlnの代わりに使用すると、出力はスクリプトコンソールではなく Liferay のログファイルに出力されます。
定義済みのスクリプトコンソール変数
スクリプトコンソールのスクリプトで使用できる定義済みの変数は次のとおりです。
| 値 | クラス |
|---|---|
out | java.io.PrintWriter |
actionRequest | javax.portlet.ActionRequest |
actionResponse | javax.portlet.ActionReponse |
portletConfig | javax.portlet.PortletConfig |
portletContext | javax.portlet.PortletContext |
preferences | 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ワークフローなど、スクリプトコンソールの外部で使用できます。 ワークフローでスクリプトエンジンを使用する方法は次回学びます。