Helix Swarm管理者ガイド (2020.1)

環境

このセクションでは、Swarmで使用できる環境設定項目について説明します。

  • mode: Swarmproductionモードとdevelopmentモードのどちらで稼働するかを指定します。
  • hostname: 電子メール通知に記載されるSwarmへのリンクなどで、Swarmが使用する正規のホスト名を指定します。
  • external_url: 電子メール通知に記載されるSwarmへのリンクなどで、Swarmが使用する正規のURLを指定します。 通常は、正しいURLをSwarmで自動的に検出できますが、複雑なWebホスト環境の場合は、external_urlを使用しなければならないことがあります。
  • base_url: WebサーバのドキュメントルートにSwarmがインストールされていない場合に、Swarmのインストール先となるフォルダの名前を指定します。
  • logout_url: ユーザがSwarmからログアウトしたときにリダイレクトされるURLを指定します。
  • emoji_path: Gemoji画像が保存される場所を指定します。
ヒント

構成情報を変更しても、構成キャッシュを再ロードしない限り、その構成情報がSwarmで使用されることはありません。構成キャッシュを再ロードすると、変更した構成情報がSwarmで強制的に使用されます。 Swarm構成キャッシュを再ロードするには、admin ユーザまたはsuper ユーザでなくてはなりません。 [ユーザID]ドロップダウンメニューに移動して[システム情報]を選択し、[キャッシュ情報]タブをクリックしてから[構成の再ロード]ボタンをクリックします。

SWARM_ROOT/data/config.phpファイルに次の構成ブロックを追加します。

<?php
// this block should be a peer of 'p4'
'environment' => array(
'mode' => 'development', // defaults to 'production'
'hostname' => 'myswarm.hostname', // defaults to requested hostname
'external_url' => null, // defaults to null
'base_url' => null, // defaults to null
'logout_url' => null, // defaults to null
'vendor' => array(
'emoji_path' => 'vendor/gemoji/images',
),
),

mode

デフォルトの場合、Swarmproductionモードで稼働します。 modedevelopmentに設定すると、Swarmは詳細なエラー情報をブラウザに表示します。 また、Swarmは、JavaScriptとCSSのリソースを収集して圧縮する処理を中止し、すべてのアクティブなモジュールについて、JavaScriptとCSSの各リソースを要求する処理を開始します。 デフォルト値は「production」です。 development以外の値を指定した場合は、すべて「production」として解釈されます。

開発モードの場合、問題の検出やその原因の特定は容易になりますが、ファイルのサイズが大きい場合はJavaScriptとCSSの要求数が増えるため、ブラウザで追加のオーバーヘッドが発生することになります。 そのため、Perforceのテクニカルサポートによる指示がない限り、実稼働環境ではdevelopmentモードを使用しないようにすることをお勧めします。

hostname

hostname項目により、Swarmのホスト名を指定することができます。 1つのSwarmインスタンスに複数の仮想ホストが展開されている場合は、この項目を使用すると便利です。Swarmは、Webページや電子メール通知の生成時にユーザが指定したホスト名を使用します。

注意

hostname項目には、ホスト名だけを指定する必要があります。 この項目に、"http://"などのスキームや、":80"などのポートを含めることはできません。

external_url

external_url項目を使用して、Swarmの正規のURLを指定することができます。 SwarmがロードバランサやキャッシュプロキシなどのWebサービスの背後でプロキシされている場合は、この項目を使用すると便利です。これは、現在のホスト名やポートをSwarmで自動的に検出する際に、正しくない自己参照URLが検出される可能性があるためです。

Swarm項目を指定すると、external_urlは、この項目をURLのプレフィックスとして使用して、URLを作成します。作成されたURLをSwarmのWebページや電子メール通知内でクリックすると、Swarmにアクセスすることができます。

注意

external_urlに含まれているパスコンポーネントは、すべて無視されます。 例えばhttps://myswarm.url:8080/a/b/cを指定した場合、Swarmhttps://myswarm.url:8080/の部分のみを使用してURLを作成します。

重要

単一の Helixサーバ インスタンスに接続された複数の Swarm インスタンス :

base_urlexternal_urlとともに指定する場合は、すべてのSwarmインスタンスで同じbase_urlを指定する必要があります。 連携する複数のSwarmで異なるbase_urlを指定することはできません。

base_url

base_url項目を使用して、Webサーバのドキュメントルート内でSwarmのフォルダを指定することができます。 別のWebサービスがすでにインストールされているために、Swarmを他のアプリケーションやコンテンツと共存させる必要がある場合など、Swarm専用の仮想ホスト内でSwarmを実行するように設定できない場合は、この項目を使用すると便利です。

base_urlは、デフォルトでnullに設定されています。これは、「/」を指定した場合と同じ動作になります。 フォルダを指定する場合は、先頭に「/」を指定します。 例えば、/swarmなどのように指定します。

警告

単一のSwarmインスタンス上の複数のHelixサーバインスタンス:

問題: <swarm_root>/data/config.phpファイルのenvironmentブロックでbase_url構成可能変数の値を変更すると、Helixサーバに対するSwarmの接続がすべて失われます。 この場合、システムの動作が停止します。

解決策: base_url構成可能変数を<swarm_root>/data/config.phpenvironmentブロックから削除します。

重要

単一の Helixサーバ インスタンスに接続された複数の Swarm インスタンス :

external_urlbase_urlとともに指定する場合は、すべてのSwarmインスタンスで同じbase_urlを指定する必要があります。 連携する複数のSwarmで異なるbase_urlを指定することはできません。

logout_url

logout_urlの構成可能変数は、ユーザがSwarmからログアウトした後に自動的にリダイレクトされるカスタムURLに使用されます。

logout_urlの項目が設定され、Swarmからログアウトした場合:

  • Swarmから[ログアウト]を使用します。Swarmによってログアウトされ、カスタムURLにリダイレクトされます。
  • グローバルダッシュボードの単一のSwarmインスタンスから[ログアウト]を使用します。SwarmによってHelixサーバインスタンスからログアウトされます。 グローバルダッシュボードの別のHelixサーバインスタンスにログインしていない場合、カスタムURLにのみリダイレクトされます。
  • グローバルダッシュボードの[すべてのインスタンスからログアウト]を使用します。SwarmによってすべてのHelixサーバインスタンスからログアウトされ、カスタムURLにリダイレクトされます。

Swarmからログアウトした後にユーザをカスタムURLにリダイレクトするには、SWARM_ROOT/data/config.phpファイルを編集して、logout_urlの構成可能変数をリダイレクト先のURLに設定します。

<?php
// this block should be a peer of 'p4'
'environment' => array(
'logout_url' => <http[s]://your/redirect/logout/url>, // defaults to null
),

デフォルト値がnullの場合、Swarmからログアウトしてもユーザはリダイレクトされません。

emoji_path

emoji_pathの構成可能変数はSWARM_ROOT/public/でGemoji画像が保存される場所を定義します。

Gemoji画像の保存場所を変更するには、SWARM_ROOT/data/config.phpファイルを編集して、Gemoji画像が保存される場所にemoji_path構成可能変数を設定します。

<?php
// this block should be a peer of 'p4'
'environment' => array(
'vendor' => array(
'emoji_path' => 'vendor/gemoji/images',
),
),

デフォルトの場所はvendor/gemoji/imagesです。つまり、デフォルトでは画像はSWARM_ROOT/public/vendor/gemoji/imagesに保存されています。

詳細情報

Gemojiをダウンロードして、Swarmを設定して画像を使用するには、「絵文字」を参照してください。