PolarisUI :スコープ対象

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:7分
  • PolarisUI API は、直接 UI ページでネクストエクスペリエンスを有効にするためのメソッドを提供します。

    [ 直接 ] フィールドが 選択されている場合、UI ページ [sys_ui_page] は直接です。直接 UI ページには共通の HTML ページテンプレートが含まれておらず、ページで使用するすべての CSS と JavaScript を含める必要があります。

    非直接 UI ページはすべてデフォルトで ネクストエクスペリエンス を使用します。

    ネクストエクスペリエンスの詳細については、「ネクストエクスペリエンス UI」を参照してください。

    PolarisUI API は、sn_ui 名前空間内で提供されます。

    PolarisUI:canUsePolarisCSS()

    現在のページで ネクストエクスペリエンス UI を使用できるかどうかを確認します。

    このメソッドは、次の条件がすべて満たされた場合に true を返します。
    • sn_ui。PolarisUI.isEnabled()true です。
    • 要求 URL パラメーター sysparm_use_polarisfalse に設定されていません。
    • referrer HTTP 要求ヘッダーに sysparm_use_polaris=false が含まれていません。
    • ページまたはその親プラグインは、ページテーマサポート [sys_page_theme] テーブルのレコードによる ネクストエクスペリエンス の使用が拒否されません。

    ネクストエクスペリエンスが有効になっている場合は、このメソッドを使用して、動作または jelly 出力を条件付きで変更します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    ブーリアン

    現在のページで ネクストエクスペリエンス UI を使用できるかどうかを示すフラグ。

    有効な値:
    • true:現在のページで ネクストエクスペリエンス UI を使用できます。
    • false:現在のページでは ネクストエクスペリエンス UI を使用できません。

    現在のフォームで UI アクションが実行されている場合、この UI アクションは別のページ ネクストエクスペリエンス リダイレクトされます。

    var id = current.getUniqueValue();
    if (sn_ui.PolarisUI.canUsePolarisCSS())
    	action.setRedirectUrl("/now/custom/application/record/" + id);
    return "/record.do?sys_id=" + id;
    

    この jelly スクリプトは、 ネクストエクスペリエンス を使用するページに異なるスタイルシートを設定します。

    <g:evaluate var="jvar_css_path">
    	// Core UI content css record
    	var id = "5e8fde63d713310074304187ed61030d";
    
    	if (sn_ui.PolarisUI.canUsePolarisCSS())
    		id = "84f03cc87120a00cfab6dd207cb0b72";
    	
    	"/" + id + ".cssdbx";
    </g:evaluate>
    <link href="${jvar_css_path}" rel="stylesheet" type="text/css" />
    

    PolarisUI:getBodyClassNames()

    ネクストエクスペリエンス UI で使用される CSS クラス名のリストを返します。

    UI ページの HTML <body> タグでこのメソッドを使用して、 ネクストエクスペリエンス が正しく表示されるために必要な CSS クラスを設定します。
    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

    返されるクラス名は、システムのプロパティとセッションデバッグ出力が存在するかどうかに応じて変わります。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    文字列 ネクストエクスペリエンス UI で使用される CSS クラス名のリスト。

    この Jelly スクリプトは、カスタム UI ページに ネクストエクスペリエンス を追加します。

    <?xml version="1.0" encoding="utf-8" ?>
    <j:jelly trim="true" xmlns:j="jelly:core" xmlns:g="glide" xmlns:g2="null">
        <g2:doctype name="html" />
        <g:inline template="dir_checker.xml"/>
        <html class="${jvar_text_direction}" lang="$[gs.getSession().getLanguage()]">
            <head>
                <g:inline template="set_theme_vars.xml" /> <!-- sets jvar_theme and jvar_css_cache_key -->
                <g:requires name="styles/css_includes_my_app.css" includes="true" params="$[jvar_css_cache_key]" /> 
                <g:if_polaris>
    	<g:then><g:inline template="polarisberg_output.xml"/></g:when>
    	<g:else><g:inline template="heisenberg_output.xml" type="css"/></g:else>
                 </g:if_polaris>
            </head>
            <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">
                Your UI page content here
            </body>
        </html>
    </j:jelly>

    PolarisUI:isEnabled()

    現在のユーザーに対して ネクストエクスペリエンス UI が有効になっているかどうかを確認します。

    このメソッドは、 glide.ui.polaris.experience システムプロパティとユーザー設定の両方 glide.ui.polaris.usetrue に設定されているかどうかを確認します。
    • glide.ui.polaris.experience インスタンスで ネクストエクスペリエンス を有効にします。
    • glide.ui.polaris.usefalse に設定されている場合、指定されたユーザーのネクストエクスペリエンスを無効にします。
    ネクストエクスペリエンスシステムプロパティとユーザー設定の詳細については、「Next Experience システムプロパティ」を参照してください。
    注:
    このメソッドは、現在のページで ネクストエクスペリエンス が無効になっている場合でも true を返します。このメソッドは、 ネクストエクスペリエンス がグローバルに有効になっている場合に、エクスペリエンス全体を条件付きで有効にしたり、別のページにリダイレクトしたりする場合に便利です。
    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    ブーリアン

    現在のユーザーに対して ネクストエクスペリエンス UI が有効かどうかを示すフラグ。

    有効な値:
    • true:現在のユーザーに対して ネクストエクスペリエンス UI が有効です。
    • false:現在のユーザーに対して ネクストエクスペリエンス UI が有効になっていません。

    この UI ページには、現在のユーザーに対して ネクストエクスペリエンス が有効になっている場合に、ユーザーに条件付きメッセージが表示されます。

    <j:if test="${sn_ui.PolarisUI.isEnabled()}">
    	<a href="...">Click here to learn more about the new UI changes</a>
    </j:if>

    このビジネスルールは、ユーザーがクリックすると、ネクストエクスペリエンスではなくコア UIでレコードを表示できる情報メッセージがレコードディスプレイに表示されます。ビジネスルール の [条件 ] フィールドは !current.isNewRecord() &; sn_ui に設定されています。PolarisUI.isEnabled() &; sn_ui.PolarisUI.canUsePolarisCSS() です。

    // business rule script field
    
    (function executeRule(current, previous /*null when async*/) {
    
    	var sysId = current.getUniqueValue();
    	gs.addInfoMessage("<a href='/incident.do?sys_id="+ sysId +"&sysparm_use_polaris=false'>Click here to load this page in Core UI</a>");
    
    })(current, previous);