環境
このセクションでは、Swarmで使用できる環境設定項目について説明します。
- mode: Swarmがproductionモードとdevelopmentモードのどちらで稼働するかを指定します。
- hostname: 電子メール通知に記載されるSwarmへのリンクなどで、Swarmが使用する正規のホスト名を指定します。
- external_url: Swarmで使用される正規のURLを指定します(メール通知内に記載される、Swarmに接続するためのURLなど)。多くの場合、Swarmによって正しいURLが自動的に検出されますが、複雑な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
デフォルトの場合、Swarmはproductionモードで稼働します。mode
をdevelopment
に設定すると、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
を指定した場合、Swarmはhttps://myswarm.url:8080/
の部分のみを使用してURLを作成します。
単一のHelixサーバインスタンスに接続された複数のSwarmインスタンス:
base_urlをexternal_urlとともに指定する場合は、すべてのSwarmインスタンスで同じbase_url
を指定する必要があります。連携する複数のSwarmで異なるbase_url
を指定することはできません。
base_url
base_url
項目を使用して、Webサーバのドキュメントルート内でSwarmのフォルダを指定することができます。別のWebサービスがすでにインストールされているために、Swarmを他のアプリケーションやコンテンツと共存させる必要がある場合など、Swarm専用の仮想ホスト内でSwarmを実行するように設定できない場合は、この項目を使用すると便利です。既存のWebサイトのサブフォルダでSwarmを実行する方法については、「既存のWebサイトのサブフォルダでSwarmを実行する」を参照してください。
swarm-trigger.confファイルで、base_urlをSWARM_HOSTパスに含める必要があります(「Swarmトリガの構成」を参照)。
base_url
は、デフォルトでnullに設定されています。これは、「/
」を指定した場合と同じ動作になります。フォルダを指定する場合は、先頭に「/
」を指定します。例えば、/swarm
などのように指定します。
単一のSwarmインスタンス上の 複数のHelixサーバインスタンス:
問題: <swarm_root>/data/config.phpファイルのenvironmentブロックでbase_url構成可能変数の値を変更すると、Helixサーバに対するSwarmの接続がすべて失われます。この場合、システムの動作が停止します。
解決策: base_url構成可能変数を<swarm_root>/data/config.phpのenvironmentブロックから削除します。
単一のHelixサーバインスタンスに接続された複数のSwarmインスタンス:
external_url
をbase_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を設定して画像を使用するには、「絵文字」を参照してください。