IROHA2シーケンス管理サーバー ================================= .. contents:: 目次: :depth: 3 起動 ################################# 手動起動 --------------------------------- シーケンス管理サーバーがインストールされたディレクトリにおいて以下のコマンドを実行する。 .. code-block:: sh $ cd /opt/mlfsoft/iroha2/iroha-sequence-server $ ./run.sh コンソールにはアクセスログ(POST/GETなど)が出力される。 サービスとしての起動 --------------------------------- シーケンス管理サーバーをサービスとして登録している場合、systemctlコマンドによるサーバーの起動・停止の管理が可能である。 .. code-block:: sh # 起動 $ sudo systemctl start irhseqsrv # 状態確認 $ sudo systemctl status irhseqsrv # 再起動 $ sudo systemctl restart irhseqsrv # 停止 $ sudo systemctl stop irhseqsrv サービスとして起動した場合、サーバーへのアクセス(POST/GETなど)を記録するアクセスログが出力される。 バージョン2.6までは :file:`/tmp` に上書きで保存され、ファイル名のフォーマットは以下の通りである。 :file:`irhseqsrv.{ポート番号}.log` バージョン2.7からは起動時の日時をファイル名に付与して :file:`/tmp` に保存する。ファイル名のフォーマットは以下の通りである。 :file:`irhseqsrv.{ポート番号}.YYYYmmdd-HHMMSS.log` Web UIへのアクセス --------------------------------- サーバーを起動しているマシンからアクセスする場合、Webブラウザで以下のURLにアクセスする。 **http://localhost:8087** サーバー外のマシンからアクセスする場合、localhostをサーバーのIPアドレスに変更する。 URLにアクセスするとシーケンス管理サーバーのログイン画面が表示される。 .. figure:: images/irhseqsrv/login.jpg :scale: 60 :alt: Alternative Text :name: login シーケンス管理サーバーのログイン画面 装置管理サーバーで作成したアカウントでログインすることができる。 Web UI ################################# 管理者ログインとホーム画面 --------------------------------- 管理者としてログインに成功するとシーケンス管理サーバーのホーム画面が表示される。シーケンス管理サーバーの画面構成を :numref:`home` に示す。 .. figure:: images/irhseqsrv/home.jpg :scale: 60 :alt: Alternative Text :name: home シーケンス管理サーバーのホーム画面 Mainパネルの概要 --------------------------------- :guilabel:`Main` パネルは4つのパネルとステータス表示バー、ならびにドロップダウン形式のメニューで構成する。 各パネルの概略は次のとおりである。 1. :guilabel:`Dashboard` パネル シーケンス制御用のボタン( :guilabel:`Begin` や :guilabel:`End` など)が配置される。また、ランおよびシーケンスに関する情報を表示する。 2. :guilabel:`Script Editor` パネル :guilabel:`File` パネルと :guilabel:`Edit` パネルのサブパネルで構成し、スクリプトファイルの作成や、編集等を行う。また、スクリプトの実行予約を行う。 3. :guilabel:`Sequence` パネル 実行予約したスクリプトの操作、実行中シーケンスのコマンドの編集や、コマンド追加を行う。 4. :guilabel:`Results` パネル シーケンスの実行結果を表示する。 ログインユーザーによって :guilabel:`Main` パネルに表示されるパネルや制限が異なる。 また、メニューに表示される項目も異なる。 .. csv-table:: ログインユーザーごとのMainパネルの各パネルの表示 :header-rows: 1 :widths: 10, 30, 30, 30 :name: main_panel_disp パネル, 予約ユーザー, 非予約ユーザー, admin Dashboard, 〇, ×, 〇 Script Editor, 〇, 〇, 〇 Sequence, 〇, ×, 〇 Results, 〇, ×, 〇 .. csv-table:: ログインユーザーごとのMainパネルの各パネルの制限 :header-rows: 1 :widths: 10, 30, 30, 30 :name: main_panel_limit パネル, 予約ユーザー, 非予約ユーザー, admin Dashboard, ―, ―, 全てのボタンが使用不可 Script Editor, ―, Booking不可, Booking不可 Sequence, ―, ―, Bookedスクリプトリスト、コマンドは表示のみ、ロックボタン非表示 Results, ―, ―, ― .. csv-table:: ログインユーザーごとのメニューの表示 :header-rows: 1 :widths: 5, 25, 20, 20, 20 :name: menu_disp No., メニューの項目, 予約ユーザー, 非予約ユーザー, admin 1, Logout, 〇, 〇, 〇 2, MainPanel, 〇, ×, 〇 3, Log, 〇, ×, 〇 4, Maintenance, 〇, ×, × 5, GUI Settings, 〇, ×, 〇 6, System Settings, 〇, ×, 〇 7, Create Facade, ×, ×, 〇 初期設定 --------------------------------- シーケンス管理サーバーは装置管理サーバーと通信してユーザー認証や情報取得を行う。 装置管理サーバーのIPアドレスおよびポート番号をデフォルトのlocalhost:8086以外に設定している場合、 シーケンス管理サーバー側の設定の変更を行う必要がある。 1. adminユーザーでログインし、ユーザー名横の :guilabel:`▽` ボタンを押下してホーム画面のメニューを開く 2. :guilabel:`System Settings` を選択して :guilabel:`System Settings` 画面を表示する 3. :guilabel:`System Settings` 画面の :guilabel:`System` タブを選択する 4. 装置管理サーバーのIPアドレスとポート番号を設定する .. figure:: images/irhseqsrv/setting_irhmngsrv.jpg :scale: 40 :alt: Alternative Text :name: setting_irhmngsrv 装置管理サーバーのIPアドレスとポート番号の設定 スクリプトファイルの管理 --------------------------------- .. _file_newscript_sec: ファイル新規作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルを新規作成する手順を以下に示す。 1. :guilabel:`Script Editor/File` パネルの :guilabel:`New` ボタン(:numref:`file_newscript`)を押下し、スクリプトファイル新規作成ダイアログを開く(:numref:`file_newscript_dialog`)。 2. 新規作成ダイアログの :guilabel:`Select` ボタンを押下するとスクリプトファイルを保存するフォルダを選択するダイアログが開かれる(:numref:`file_newscript_folder_dialog`)。 フォルダ選択ダイアログにおいてフォルダを選択し、 :guilabel:`OK` ボタンを押下する。 なお、スクリプトファイルツリーにおいて新規ファイルを保存するフォルダおよび同じフォルダにあるファイルを 選択した状態でスクリプトファイル新規作成ダイアログを開くと、 :guilabel:`Target Folder` にそのフォルダへのパスが入力される。 3. :guilabel:`New File Name` に新規作成するファイル名を入力して :guilabel:`OK` ボタンを押下するとファイルが新規作成される。 ファイル名として利用可能な文字は半角英数、半角記号の「-」「_」「.」である(フォルダ名も同様)。 .. figure:: images/irhseqsrv/file_newscript.jpg :scale: 40 :alt: Alternative Text :name: file_newscript Script Editor/FileパネルのNewボタン .. figure:: images/irhseqsrv/file_newscript_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_newscript_dialog スクリプトファイル新規作成ダイアログ .. figure:: images/irhseqsrv/file_newscript_folder_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_newscript_folder_dialog フォルダー選択ダイアログ スクリプトファイルツリーは、新規作成したファイルが追加された状態のツリーに自動的に更新される。 また、作成したファイルが :guilabel:`Script Editor/Edit` パネル上に表示され、編集可能状態となる(:numref:`edit_after_newscript`)。 .. figure:: images/irhseqsrv/edit_after_newscript.jpg :scale: 40 :alt: Alternative Text :name: edit_after_newscript 新規作成ファイルが編集可能状態になっているEditパネル なお、以下の状態では新規作成ダイアログの :guilabel:`OK` ボタン押下時にエラーメッセージが出力され、ファイルは作成されない。 * ファイル名を入力していない * 使用不可の文字を入力している * 指定したフォルダに同名のファイルがある 編集可能な状態にする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルを編集可能な状態にする手順を以下に示す。 1. スクリプトファイルツリーにおいて、編集を行いたいファイルを選択する。 2. :guilabel:`Edit` ボタン(:numref:`file_edit`)を押下すると、選択したファイルの内容が :guilabel:`Edit` パネルに表示され、編集可能状態となる(:numref:`edit_after_editscript`)。 .. figure:: images/irhseqsrv/file_edit.jpg :scale: 40 :alt: Alternative Text :name: file_edit Script Editor/FileパネルのEditボタン .. figure:: images/irhseqsrv/edit_after_editscript.jpg :scale: 60 :alt: Alternative Text :name: edit_after_editscript スクリプトファイルの編集可能状態 既に編集状態のスクリプトファイルがあり、かつ、そのファイルが保存されていない状態で :guilabel:`Edit` ボタンを押下した場合、 編集内容を保存、または編集内容を破棄するよう促すメッセージダイアログが表示される。 また、スクリプトファイルツリーで選択したファイルが実行予約状態になっている場合は編集不可となる。 実行予約済みのファイルを選択して :guilabel:`Edit` ボタンを押した場合、ファイルコピーのダイアログが表示される(ファイルコピーの手順は後述する)。 ファイルコピー ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルをコピーする手順を以下に示す。 1. スクリプトファイルツリーにおいて、コピーしたいファイルを選択する。 2. :guilabel:`Copy` ボタン(:numref:`file_copy`)を押下すると、スクリプトファイルのコピーダイアログが表示される(:numref:`file_copy_dialog`)。 3. コピーダイアログの :guilabel:`Target Folder` には、あらかじめスクリプトファイルツリーで選択したフォルダへのパスが入力されている。 ファイルのコピーダイアログにおける操作は、ファイルの新規作成ダイアログと同様である( :ref:`file_newscript_sec` 参照)。 .. figure:: images/irhseqsrv/file_copy.jpg :scale: 40 :alt: Alternative Text :name: file_copy Script Editor/FileパネルのCopyボタン .. figure:: images/irhseqsrv/file_copy_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_copy_dialog ファイルのコピーダイアログ フォルダ新規作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ フォルダを新規作成する手順を以下に示す。 1. :guilabel:`Make Folder` ボタン(:numref:`file_mkdir`)を押下すると、フォルダの新規作成ダイアログが表示される(:numref:`file_mkdir_dialog`)。 フォルダ新規作成ダイアログの :guilabel:`Target Folder` には、あらかじめスクリプトファイルツリーで選択したフォルダへのパスが入力されている。 2. フォルダの新規作成ダイアログにおける操作は、ファイルの新規作成ダイアログと同様である( :ref:`file_newscript_sec` 参照)。 .. figure:: images/irhseqsrv/file_mkdir.jpg :scale: 40 :alt: Alternative Text :name: file_mkdir Script Editor/FileパネルのMake Folderボタン .. figure:: images/irhseqsrv/file_mkdir_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_mkdir_dialog フォルダの新規作成ダイアログ .. _file_delete_sec: ファイル・フォルダの削除 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイル、またはフォルダを削除する手順を以下に示す。 1. スクリプトファイルツリーにおいて、削除したいファイル、またはフォルダを選択する。 2. :guilabel:`Delete` ボタン(:numref:`file_delete`)を押下すると、確認ダイアログが表示される(:numref:`file_delete_dialog`)。 3. 確認ダイアログで :guilabel:`Delete` ボタンを押すと、ファイル、またはフォルダが削除される。 この時、フォルダを選択していた場合は、フォルダ内のファイルも全て削除されるので注意が必要である。 .. figure:: images/irhseqsrv/file_delete.jpg :scale: 40 :alt: Alternative Text :name: file_delete Script Editor/FileパネルのDeleteボタン .. figure:: images/irhseqsrv/file_delete_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_delete_dialog ファイル、またはフォルダ削除の確認ダイアログ なお、以下に示すファイルおよびフォルダは削除不可であり、削除しようとするとその理由が記述されたダイアログが表示される。 * :file:`-Common` フォルダ * ユーザー名のフォルダ(サブフォルダにユーザー名を付けたものは除く) * 編集状態のファイル、およびそのファイルが格納されているフォルダ * 実行予約状態になっているファイル、およびそのファイルが格納されているフォルダ ファイル・フォルダのリネーム ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイル、またはフォルダをリネームする手順を以下に示す。 1. スクリプトファイルツリーにおいて、リネームしたいファイル、またはフォルダを選択する。 2. :guilabel:`Rename` ボタン(:numref:`file_rename`)を押下すると、スクリプトファイルのリネームダイアログが表示される(:numref:`file_rename_dialog`)。 3. ファイルのリネームダイアログにおける操作は、フォルダの選択がない以外はファイルの新規作成ダイアログと同様である( :ref:`file_newscript_sec` 参照)。 .. figure:: images/irhseqsrv/file_rename.jpg :scale: 40 :alt: Alternative Text :name: file_rename Script Editor/FileパネルのRenameボタン .. figure:: images/irhseqsrv/file_rename_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_rename_dialog ファイルのリネームダイアログ なお、リネームの操作においても、削除不可であるファイル、フォルダと同じ条件( :ref:`file_delete_sec` 参照)が適用される。 スクリプトファイル、ファサードファイルのアップロード(インポート) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイル、およびファサードファイルのアップロード(インポート)は、以下の2つの方法で行う。 * :guilabel:`Upload` ボタンを押す * ファイルをドラッグ&ドロップする Uploadボタン ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Upload` ボタンを使用した、ファイルのインポートの手順を以下に示す。 1. :guilabel:`File` パネルの :guilabel:`Upload` ボタン(:numref:`file_upload`)を押下すると、ファイルのアップロードダイアログが表示される(:numref:`file_upload_dialog`)。 2. アップロードダイアログにおいて、インポートしたいスクリプトファイル、またはファサードファイルを選択し、開くボタンを押下する。 * スクリプトファイルを選択していた場合、インポート先のフォルダを選択するダイアログが表示される。ダイアログでフォルダ選択後、 :guilabel:`OK` ボタンを押下するとスクリプトファイルがアップロードされる。 * ファサードファイルを選択していた場合、 :file:`/database/facades` フォルダ直下にファサードファイルがアップロードされる。 3. アップロードに成功した場合、メッセージダイアログが表示される。また、アップロードに失敗した場合、エラーメッセージダイアログが表示される。 インポートが可能なファイルの拡張子を :numref:`import_ext` に示す。 .. csv-table:: インポートが可能なファイルの拡張子 :header-rows: 1 :name: import_ext ファイル, 拡張子 スクリプトファイル, .i2s、.xml、.spt ファサードファイル, .py .. figure:: images/irhseqsrv/file_upload.jpg :scale: 40 :alt: Alternative Text :name: file_upload Script Editor/FileパネルのUploadボタン .. figure:: images/irhseqsrv/file_upload_dialog.jpg :scale: 40 :alt: Alternative Text :name: file_upload_dialog ファイルのアップロードダイアログ ドラッグ&ドロップ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ドラッグ&ドロップでファイルをインポートする手順を以下に示す。 1. インポートするのがスクリプトファイルであった場合、ローカルの環境からインポートしたいスクリプトファイルを選択し、スクリプトファイルツリーへドラッグ&ドロップする。 2. インポートするのがファサードファイルであった場合、 :guilabel:`Edit` パネルの左側に表示されているツリー( :numref:`dragdrop_facade` の赤枠・以下、ファサード関数ツリーとする)へドラッグ&ドロップする。 3. 以降の操作は、ファイルのアップロードダイアログで開くボタンを押した後と同様である。 .. figure:: images/irhseqsrv/dragdrop_facade.jpg :scale: 40 :alt: Alternative Text :name: dragdrop_facade Script Editor/Fileパネルのファサード関数ツリー スクリプトファイルのダウンロード ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルをダウンロードする手順を以下に示す。 1. スクリプトファイルツリーにおいて、ダウンロードしたいファイルを選択する。 2. :guilabel:`Download` ボタン(:numref:`file_download`)を押下すると、スクリプトファイルのダウンロードダイアログが表示される(:numref:`file_download_dialog`)。 3. :guilabel:`Save File` (ファイルを保存する)のラジオボタンにチェックを入れて :guilabel:`OK` ボタンを押下すると、ローカルの環境にファイルが保存される。 .. figure:: images/irhseqsrv/file_download.jpg :scale: 40 :alt: Alternative Text :name: file_download Script Editor/FileパネルのDownloadボタン .. figure:: images/irhseqsrv/file_download_dialog.jpg :scale: 80 :alt: Alternative Text :name: file_download_dialog ファイルのダウンロードダイアログ ファイルツリーのリロード ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Script Editor/File` パネルのヘッダ部右側にある :guilabel:`Reload` ボタン(:numref:`file_reload`)を押下すると、スクリプトファイルツリーの内容が現在の最新の状態に更新される。 .. figure:: images/irhseqsrv/file_reload.jpg :scale: 40 :alt: Alternative Text :name: file_reload Script Editor/FileパネルのReloadボタン .. _edit_file_sec: スクリプトファイルの編集 --------------------------------- コマンドの追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドの追加は、以下の2つの方法で行う。 * :guilabel:`Add` ボタンを押下する * ファサード関数をドラッグ&ドロップする Addボタン ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Add` ボタンを使用してコマンドを追加する手順を以下に示す。 1. ファサード関数ツリーから追加したいファサードを選択する。 2. :guilabel:`Edit` パネルの右側にある :guilabel:`Script` エリアにおいて、コマンドを追加したい箇所を選択する。 3. :guilabel:`Add` ボタン(:numref:`edit_add`)を押下すると、コマンドのパラメータ入力ダイアログが表示される(:numref:`edit_add_dialog`)。 4. ダイアログでパラメータ値を入力後、 :guilabel:`Add` ボタンを押すと :guilabel:`Script` エリアで選択したコマンドの1つ下にファサード関数ツリーで選択したファサードが追加される。 .. figure:: images/irhseqsrv/edit_add.jpg :scale: 40 :alt: Alternative Text :name: edit_add Script Editor/EditパネルのAddボタン .. figure:: images/irhseqsrv/edit_add_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_add_dialog コマンドのパラメータ入力ダイアログ ファサードを選択していない状態で :guilabel:`Add` ボタンを押した場合は、エラーメッセージダイアログが表示される。 ドラッグ&ドロップ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ドラッグ&ドロップでコマンドを追加する手順を以下に示す。 1. ファサード関数ツリーから追加したいファサードを選択し、 :guilabel:`Script` エリアのコマンドを追加したい箇所へドラッグする。 2. ドラッグ先が青線で表示されるので(:numref:`edit_add_dragdrop`)、追加したい箇所でドロップするとコマンドのパラメータ入力ダイアログが表示される。 3. その後の操作は :guilabel:`Add` ボタンを押した時と同様である。 .. figure:: images/irhseqsrv/edit_add_dragdrop.jpg :scale: 40 :alt: Alternative Text :name: edit_add_dragdrop ドラッグ&ドロップによるコマンドの追加 コマンドの移動 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドの移動は、以下の2つの方法で行う。 * 矢印ボタンを押下する * コマンドをドラッグ&ドロップする 矢印ボタン ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 移動したいコマンドを選択状態にして、ボタンを押下する( :numref:`edit_move` )。 この時、上下の矢印ボタン( :guilabel:`↑` :guilabel:`↓`)は同じ階層にあるコマンドを移動する際に使用する。 また、左右の矢印ボタン( :guilabel:`←` :guilabel:`→`)は階層を変更する時(ループ内に入れる、ループ外に出す)に使用する。 .. figure:: images/irhseqsrv/edit_move.jpg :scale: 40 :alt: Alternative Text :name: edit_move Script Editor/Editパネルの矢印ボタン 移動できないコマンドを選択した時は、エラーメッセージが表示される。 矢印ボタンを使用するコマンドの移動では、複数のコマンドを同時に移動させることはできず、エラーメッセージが表示される。 複数のコマンドを同時に移動させたい場合は、ドラッグ&ドロップを利用する。 ドラッグ&ドロップ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 移動したいコマンドを選択し、入れ替え先にドラッグする。 ドラッグ時は、コマンド追加時と同様にドラッグ先が青線で表示されるので、移動したい箇所でドロップする。 複数のコマンドを選択した状態( :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリック)でドラッグ&ドロップをすることで、 複数のコマンドを同時に移動させることができる。 コマンドのコピー ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドをコピーする手順について以下に示す。 1. :guilabel:`Script` エリアにおいてコピーしたいコマンドを選択する。 2. :guilabel:`Copy` ボタン( :numref:`edit_copy` )を押下するとコマンドがコピーされる。 .. figure:: images/irhseqsrv/edit_copy.jpg :scale: 40 :alt: Alternative Text :name: edit_copy Script Editor/EditパネルのCopyボタン 複数のコマンドを選択した状態( :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリック)で :guilabel:`Copy` ボタンを押すことで、複数のコマンドのコピーも可能である。 また、コピーされたコマンドは、再度 :guilabel:`Copy` ボタンを押すか、画面のリロードをするまで保存されているので、 別なファイルにペーストすることが可能である。 コマンドを選択していない状態で :guilabel:`Copy` ボタンを押した場合、エラーメッセージダイアログが表示されコピーは行われない。 コマンドのペースト ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドをペーストする手順について以下に示す。 1. :guilabel:`Script` エリアにおいてペースト先のコマンドを選択する。 2. :guilabel:`Paste` ボタン( :numref:`edit_paste` )を押下すると、あらかじめコピーしておいたコマンドが選択したコマンドの1つ下にペーストされる。 .. figure:: images/irhseqsrv/edit_paste.jpg :scale: 40 :alt: Alternative Text :name: edit_paste Script Editor/EditパネルのPasteボタン コマンドをコピーしていない状態で :guilabel:`Paste` ボタンを押した場合、エラーメッセージダイアログが表示される。 コマンドの削除 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドを削除する手順について以下に示す。 1. :guilabel:`Script` エリアにおいて削除したいコマンドを選択する。 2. :guilabel:`Delete` ボタン( :numref:`edit_delete` )を押下すると、確認ダイアログが表示される。 3. 確認ダイアログで :guilabel:`Delete` ボタンを押下すると、選択したコマンドが削除される。 .. figure:: images/irhseqsrv/edit_delete.jpg :scale: 40 :alt: Alternative Text :name: edit_delete Script Editor/EditパネルのDeleteボタン 複数のコマンドを選択した状態( :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリック)で :guilabel:`Delete` ボタンを押下することで、複数のコマンドの削除も可能である。 コマンドを選択していない状態で :guilabel:`Delete` ボタンを押下した場合、エラーメッセージダイアログが表示されコマンドの削除は行われない。 パラメータの変更 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドのパラメータ(ファサード関数の引数)を変更する手順について以下に示す。 1. :guilabel:`Script` エリアにおいて、パラメータを変更したいコマンドの :guilabel:`Arguments` 列( :numref:`edit_change_args` の赤枠)をクリックすると、コマンド追加時と同様のパラメータ編集ダイアログが表示される(:numref:`edit_change_args_dialog`)。 2. パラメータ値を入力後、 :guilabel:`Update` ボタンを押下すると、 :guilabel:`Script` エリアに表示されているパラメータが更新される。 .. figure:: images/irhseqsrv/edit_change_args.jpg :scale: 80 :alt: Alternative Text :name: edit_change_args ScriptエリアのArguments列 .. figure:: images/irhseqsrv/edit_change_args_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_change_args_dialog パラメータ編集ダイアログ コマンドのスキップ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Script` エリアにおいて、 :guilabel:`Do/Skip` 列のチェックボックス( :numref:`edit_skip` の赤枠)の チェックを外すとコメントアウト状態となり、シーケンス実行時にスキップされる。 また、スクリプトファイルのチェック( :ref:`edit_check_sec` 参照)を行う際も、 コメントアウトされているコマンドはチェック対象から除外される。 .. figure:: images/irhseqsrv/edit_skip.jpg :scale: 80 :alt: Alternative Text :name: edit_skip ScriptエリアのDo/Skipチェックボックス .. _edit_graph_sec: パラメータの可視化設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 可視化するパラメータを設定する手順について以下に示す。 1. :guilabel:`Edit` パネルの :guilabel:`Params Graph` ボタン( :numref:`edit_graph` )を押下すると、可視化パラメータ設定ダイアログが表示される(:numref:`edit_graph_dialog`)。 2. 可視化パラメータの設定後、 :guilabel:`Update` を押下すると可視化パラメータ設定ダイアログが閉じる。 なお、この時点ではまだスクリプトファイルに可視化パラメータの設定は反映されていないため、上書き保存、または名前を付けて保存を行う必要がある( :ref:`edit_save_script` 、 :ref:`edit_saveas_script` 参照)。 .. figure:: images/irhseqsrv/edit_graph.jpg :scale: 40 :alt: Alternative Text :name: edit_graph Script Editor/EditパネルのParams Graphボタン .. figure:: images/irhseqsrv/edit_graph_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_graph_dialog 可視化パラメータ設定ダイアログ ダイアログには、編集中のスクリプトファイルに含まれるコマンドのパラメータのうち、 可視化可能なパラメータの一覧が表示される(数値でない引数は可視化不可)。 パラメータ毎に設定できる項目について :numref:`params_graph_settings` に示す。 .. csv-table:: 可視化パラメータ設定ダイアログの項目一覧 :header-rows: 1 :widths: 5, 20, 40 :name: params_graph_settings No., 項目名, 説明 1, On, チェックを付けると可視化対象となる。 2, Parameter, パラメータ名。 3, Facade, パラメータを取るファサード名。 4, Graph Name, グラフ上の表示名。 5, Unit, グラフ上に表示する単位。 .. _edit_save_script: スクリプトファイルの上書き保存 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Edit` パネルの :guilabel:`Save` ボタン(:numref:`edit_save`)を押下すると、現在編集中のスクリプトファイルが上書き保存される。 もし、同名のファイルが実行予約状態になっている状態で :guilabel:`Save` ボタンを押下した場合、 上書き保存は不可であるため、名前を付けて保存するダイアログが表示される(:numref:`edit_save_warning_dialog`)。 .. figure:: images/irhseqsrv/edit_save.jpg :scale: 40 :alt: Alternative Text :name: edit_save Script Editor/EditパネルのSaveボタン .. figure:: images/irhseqsrv/edit_save_warning_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_save_warning_dialog スクリプトファイルに名前を付けて保存するダイアログ .. _edit_saveas_script: スクリプトファイルに名前を付けて保存 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプトファイルに名前を付けて保存する手順について以下に示す。 1. :guilabel:`Edit` パネルの :guilabel:`Save as` ボタン(:numref:`edit_save_as`)を押下すると、現在編集中のスクリプトファイルに名前を付けて保存するダイアログが表示される(:numref:`edit_save_warning_dialog`)。 2. ダイアログの :guilabel:`Target Folder` には、ログインユーザー名のフォルダへのパスが入力されている。 その他、名前を付けて保存するダイアログにおける操作は、ファイルの新規作成ダイアログと同様である( :ref:`file_newscript_sec` 参照)。 .. figure:: images/irhseqsrv/edit_save_as.jpg :scale: 40 :alt: Alternative Text :name: edit_save_as Script Editor/EditパネルのSave asボタン 編集内容の破棄 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 編集内容の破棄の手順について以下に示す。 1. :guilabel:`Edit` パネルの :guilabel:`Revert` ボタン(:numref:`edit_revert`)を押下すると、編集内容の破棄確認ダイアログが表示される(:numref:`edit_revert_confirm`)。 2. 確認ダイアログで :guilabel:`Revert` ボタンを押下すると、編集内容が破棄され、編集前のスクリプトファイルの内容が :guilabel:`Script` エリアに表示される。 .. figure:: images/irhseqsrv/edit_revert.jpg :scale: 40 :alt: Alternative Text :name: edit_revert Script Editor/EditパネルのRevertボタン .. figure:: images/irhseqsrv/edit_revert_confirm.jpg :scale: 80 :alt: Alternative Text :name: edit_revert_confirm 編集内容の破棄確認ダイアログ .. _edit_check_sec: スクリプトファイルのチェック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Edit` パネルの右側にある :guilabel:`Check` タブをクリックすると、 :guilabel:`Script` エリアが :guilabel:`Check` エリアに切り替わると同時に、 スクリプトファイルの検査実行が行われ、その結果が表示される(:numref:`edit_check_tab`)。 検査実行の結果、エラーが生じたコマンドには、エラーメッセージが表示される(:numref:`edit_check_tab_error`)。 この場合、予測時間の合計は計算されない。 エラーがない場合は、予測時間の合計が計算され、シーケンスメインエリアの右下に表示される。 ループのコマンドが含まれていた場合は展開された状態で表示される。 また、コメントアウト状態のコマンドの検査は行われず、コマンドの終了予測時間の列にはハイフンが表示される。 .. figure:: images/irhseqsrv/edit_check_tab.jpg :scale: 80 :alt: Alternative Text :name: edit_check_tab Script Editor/EditパネルのCheckエリア .. figure:: images/irhseqsrv/edit_check_tab_error.jpg :scale: 80 :alt: Alternative Text :name: edit_check_tab_error エラーが生じた場合のCheckエリア シーケンスの制御 --------------------------------- .. _booking_script_sec: スクリプト実行の予約 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ スクリプト実行の予約には以下の2つの方法がある。 * :guilabel:`File` パネルから予約する * :guilabel:`Edit` パネルから予約する .. _booking_by_filepanel: Fileパネルからの予約 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`File` パネルからスクリプト実行を予約する手順を以下に示す。 1. :guilabel:`Script Editor` パネル内の :guilabel:`File` パネルのスクリプトファイルツリーから、予約するスクリプトを選択する。 2. :guilabel:`Booking` ボタン(:numref:`file_booking`)を押下すると、選択したスクリプトが、 :guilabel:`Sequence` パネルのBookedスクリプトエリア(:numref:`booked_script_list`)の末尾に追加され、予約が完了する (以降、予約したスクリプトをBookedスクリプト、そのリストをBookedスクリプトリストと記す)。 .. figure:: images/irhseqsrv/file_booking.jpg :scale: 40 :alt: Alternative Text :name: file_booking Script Editor/FileパネルのBookingボタン .. figure:: images/irhseqsrv/booked_script_list.jpg :scale: 40 :alt: Alternative Text :name: booked_script_list Bookedスクリプトエリア スクリプトを予約するときに、すでに同一のスクリプトが予約されている場合は、 同一スクリプトの予約確認ダイアログ(:numref:`file_booking_confirm`)が表示される。 ここでは、2つのボタンが表示されるので、実行したい処理に応じたボタンを押す。 * :guilabel:`OK` :スクリプトを予約する * :guilabel:`Cancel` :予約をキャンセルする .. figure:: images/irhseqsrv/file_booking_confirm.jpg :scale: 80 :alt: Alternative Text :name: file_booking_confirm 同一スクリプトの予約確認ダイアログ Editパネルからの予約 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Script Editor` パネル内の :guilabel:`Edit` パネルで、編集状態( :guilabel:`Edit` パネルに表示されているが、変更はされてない状態) のスクリプトファイルが存在するときに、 :guilabel:`Edit` パネルからスクリプト実行の予約が可能である。 その状態で :guilabel:`Booking` ボタン(:numref:`edit_booking`)を押下することで、編集状態のスクリプトが :guilabel:`Sequence` パネルのBookedスクリプトエリア(:numref:`booked_script_list`)の末尾に追加され、予約が完了する。 .. figure:: images/irhseqsrv/edit_booking.jpg :scale: 40 :alt: Alternative Text :name: edit_booking Script Editor/EditパネルのBookingボタン すでに同一のスクリプトが予約されている場合の処理は :ref:`booking_by_filepanel` の場合と同様である。 予約するスクリプトを編集している場合(なんからの変更を加えたが、保存していない状態)に :guilabel:`Booking` ボタンを押下すると、 編集中スクリプトの保存ダイアログ(:numref:`edit_booking_dialog`)が表示される。 ここでは、3つのボタンが表示されるので、実行したい処理に応じたボタンを押下する。 それぞれのボタンの機能について、以下に示す。 * :guilabel:`Save` ボタン 編集中スクリプトを上書き保存してから、予約する。 * :guilabel:`Save as` ボタン 編集中スクリプトを別名で保存してから、別名で保存したスクリプトを予約する。その手順を以下に示す。 * ボタンを押すと、編集中スクリプトの別名保存ダイアログ(:numref:`edit_booking_saveas_dialog`)が表示される。 * 保存先フォルダを選択し、スクリプトファイル名を入力して、 :guilabel:`OK` ボタンを押下する。 それにより、スクリプトファイルが別名保存され、そのスクリプトが予約される。 * :guilabel:`Cancel` ボタン 保存も予約も行わない。 .. figure:: images/irhseqsrv/edit_booking_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_booking_dialog 編集中スクリプトの保存ダイアログ .. figure:: images/irhseqsrv/edit_booking_saveas_dialog.jpg :scale: 80 :alt: Alternative Text :name: edit_booking_saveas_dialog 編集中スクリプトの別名保存ダイアログ 予約するスクリプトが編集中(変更されていて保存していない状態)で、かつ同一スクリプトが予約済みの場合は、 編集中スクリプトの別名保存ダイアログ(:numref:`edit_booking_dialog2`)が表示される。 このダイアログは、編集中スクリプトの保存ダイアログ(:numref:`edit_booking_dialog`)から :guilabel:`Save` ボタンを除いたものである。 :guilabel:`Save as` ボタン、 :guilabel:`Cancel` ボタンを押したときの処理は、編集中スクリプトの保存ダイアログと同一である。 .. figure:: images/irhseqsrv/edit_booking_dialog2.jpg :scale: 80 :alt: Alternative Text :name: edit_booking_dialog2 編集中スクリプトの別名保存ダイアログ(同一スクリプトが予約済みの場合) シーケンスの開始 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンスの開始は、 :guilabel:`Dashboard` パネルまたは :guilabel:`Sequence` パネルから行う。手順を以下に示す。 1. スクリプト実行を予約する( :ref:`booking_script_sec` )。 2. :guilabel:`Dashboard` パネルまたは :guilabel:`Sequence` パネルの :guilabel:`Start` ボタン(:numref:`sequence_start`)を押下すると、 Bookedスクリプトリストの先頭のBookedスクリプトのシーケンスが開始される。 .. figure:: images/irhseqsrv/sequence_start.jpg :scale: 40 :alt: Alternative Text :name: sequence_start DashboardパネルおよびSequenceパネルのStartボタン シーケンスが正常に開始したか否かを通知するトーストメッセージが表示される(:numref:`sequence_start_toast`)。 .. figure:: images/irhseqsrv/sequence_start_toast.jpg :scale: 80 :alt: Alternative Text :name: sequence_start_toast トーストメッセージ(シーケンスが正常に開始された状態) また、シーケンスが開始されると :guilabel:`Main` パネル上部のサーバー名の右隣に実行中のスクリプトファイル名が表示される(:numref:`sequence_status`)。 状態によって背景色が :numref:`sequence_status_color` に示すように変化する。 .. figure:: images/irhseqsrv/sequence_status.jpg :scale: 80 :alt: Alternative Text :name: sequence_status シーケンス実行中のファイル名と状態の表示 .. csv-table:: 実行中のスクリプトファイル名の背景色 :header-rows: 1 :widths: 5, 30, 30 :name: sequence_status_color No., 状態, 背景色 1, 未実行, 青色 2, 実行中, 緑色 3, 中断中, 水色 4, 実行中止, オレンジ 5, 実行シーケンスのエラー, 赤色 測定およびシーケンスに関する情報 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Dashboard` パネル(:numref:`dashboard`)には、ランおよびシーケンスに関する情報が自動的に表示され、一定時間間隔で更新される。 表示される項目を :numref:`dashboard_runinfo` と :numref:`dashboard_seqinfo` に示す。 .. figure:: images/irhseqsrv/dashboard.jpg :scale: 40 :alt: Alternative Text :name: dashboard Dashboardパネル .. csv-table:: 測定に関する情報 :header-rows: 1 :widths: 5, 30, 50 :name: dashboard_runinfo No., 項目, 内容 1, Run No., 装置管理サーバーで設定されているRun No. 2, Inst, 装置管理サーバーで設定されているビームライン番号、装置コード 3, User, 予約ユーザー名 4, Theme ID, 装置管理サーバーで設定されている課題ID 5, Sample ID, 装置管理サーバーで設定されている試料ID .. csv-table:: シーケンスに関する情報 :header-rows: 1 :widths: 5, 30, 50 :name: dashboard_seqinfo No., 項目, 内容 1, Facade, 実行中/実行済みコマンド名 in スクリプトファイル名 2, Status, シーケンスの状態 3, Started, シーケンスの開始日時 4, Estimated End, シーケンスの予測終了日時 5, Next Script, 次に実行される予定の予約スクリプト名 6, Booked Scripts, 未実行の予約スクリプト名 7, Post Processing, " 実行済みの後処理コマンド名 | 後処理シーケンスのステータス" 8, 赤枠, ファサードから送信されたメッセージ シーケンスの一時停止 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンス実行中は、制御ボタンの :guilabel:`Pause` ボタン(:numref:`sequence_control_running`)が使用可能であり、シーケンスを一時停止することができる。 .. figure:: images/irhseqsrv/sequence_control_running.jpg :scale: 100 :alt: Alternative Text :name: sequence_control_running シーケンス実行中の制御ボタン シーケンスを一時停止する手順を、以下に示す。 1. :guilabel:`Pause` ボタンを押下することで、シーケンスの一時停止アクション選択ダイアログ(:numref:`sequence_pause_dialog`)が表示される。 2. シーケンスの一時停止アクション選択ダイアログには、3つのボタンが表示されるので、 実行したい処理に応じたボタンを押下する。それぞれのボタンの機能について、以下に示す。 * :guilabel:`Pause Sequence` ボタン シーケンスを一時停止する。 * :guilabel:`Pause Sequence and DAQ` ボタン シーケンスとDAQを一時停止する。DAQが進行中でない場合は :guilabel:`Pause Sequence` ボタンと同じ処理となる。 * :guilabel:`Cancel` ボタン シーケンスの一時停止をキャンセルする。 .. figure:: images/irhseqsrv/sequence_pause_dialog.jpg :scale: 100 :alt: Alternative Text :name: sequence_pause_dialog シーケンスの一時停止アクション選択ダイアログ .. _resume_sequence: シーケンスの再開 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンスの一時停止中は、制御ボタンの :guilabel:`Resume` ボタン(:numref:`sequence_control_pause`)が使用可能であり、シーケンスを再開することができる。 :guilabel:`Resume` ボタンを押下することで、一時停止中のシーケンスが再開する。 また、DAQを一時停止していた場合は、DAQも再開する。 シーケンスを再開すると、それを示すトーストメッセージが表示される。 .. figure:: images/irhseqsrv/sequence_control_pause.jpg :scale: 100 :alt: Alternative Text :name: sequence_control_pause シーケンス停止中の制御ボタン シーケンスの中止 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンス実行中およびシーケンスの一時停止中は、 :guilabel:`Abort` ボタンが使用可能であり、シーケンスを中止することができる。 シーケンスを中止する手順を、以下に示す。 1. :guilabel:`Abort` ボタンを押下することで、シーケンスの中止アクション選択ダイアログ(:numref:`sequence_abort_dialog`)が表示される。 2. シーケンスの中止アクション選択ダイアログには、4つのボタンが表示されるので、 実行したい処理に応じたボタンを押下する。それぞれのボタンの機能について、以下に示す。 * :guilabel:`End Sequence` ボタン シーケンスを中止する。 * :guilabel:`End Sequence and DAQ` ボタン シーケンスとDAQを中止する。 * :guilabel:`Post Processing` ボタン シーケンスを中止した後、後処理シーケンスを開始する。開始した後処理シーケンスの実行状況は、:guilabel:`Dashboard` パネルの下部に表示される。 * :guilabel:`Cancel` ボタン シーケンスの中止をキャンセルする。 .. note:: シーケンスの中止アクション選択ダイアログが表示される際に、 後処理用のスクリプトファイルについて以下のチェックが行われる。 これらのチェックで問題が生じた場合は、 :guilabel:`Post Processing` ボタンは表示されない。 * 後処理用のスクリプトファイルが存在するかどうか * 後処理用のスクリプトでエラーが発生しないかどうか .. figure:: images/irhseqsrv/sequence_abort_dialog.jpg :scale: 100 :alt: Alternative Text :name: sequence_abort_dialog シーケンスの中止アクション選択ダイアログ 後処理シーケンス実行中は、 :guilabel:`Dashboard` の :guilabel:`Abort` ボタンが使用可能になる。 :guilabel:`Abort` ボタンを押下すると、後処理シーケンスが中止される。 中止するかどうかの確認はないので、 :guilabel:`Abort` ボタンを押下する場合は注意が必要である。 実行中のシーケンスの状況を閲覧 --------------------------------- 実行中のシーケンスの状況は、以下の2つの方法で閲覧する。 * 実行中のシーケンスを表示する * グラフを表示する 実行中のシーケンスの表示 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 実行中のシーケンスは、自動的にシーケンスメインエリア(:numref:`sequence_main_area`)に表示され、一定時間間隔で表示内容が更新される。 シーケンス実行中のシーケンスメインエリアの表示内容について、以下に示す。 * 実行中のシーケンスの、各コマンドが表示される。 * テーブルの1行に、1つのコマンドが対応する。 * 実行中のコマンドには、赤枠が表示され、文字色がグレーで表示される。 * 実行済み、またはスキップされたコマンドは、文字色がグレーで表示される。 * 実行済みのコマンドには、コマンドの開始と終了時刻が表示される。 * 未実行のコマンドは、文字色が黒で表示される。 .. figure:: images/irhseqsrv/sequence_main_area.jpg :scale: 80 :alt: Alternative Text :name: sequence_main_area シーケンス実行中のシーケンスメインエリア シーケンスメインエリア上部の :guilabel:`Auto scroll` チェックボックスをオンにすると、 実行中のコマンド(赤枠が表示されたコマンド)をテーブルの中央に表示するように自動的にスクロールされる (ただし、コマンドの先頭を実行している場合など、スクロールできない場合を除く)。 グラフの表示 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンス実行中または一時停止中に、シーケンスメインエリア上部の :guilabel:`Graph` ボタンを押下すると、 実行中のシーケンスのグラフがブラウザの別タブに表示される。 表示されるグラフについて、以下に示す。 * 一定時間間隔で更新される。 * 予測時間と実際に実行に要した時間、パラメータ値のグラフが表示される。 * 実行したスクリプトにグラフのパラメータ( :ref:`edit_graph_sec` )が設定されていない場合、グラフのタブは表示されるが、グラフは表示されない。 .. figure:: images/irhseqsrv/params_graph.jpg :scale: 60 :alt: Alternative Text :name: params_graph 実行中のシーケンスのグラフ .. _edit_running_sequence: 実行中のシーケンスの編集 --------------------------------- コマンドの使用/不使用の切り替え ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンスメインエリアには、実行中のシーケンスの各コマンドが表示される。 各コマンド行の1列目には、チェックボックスがあり、コマンドの使用/不使用を示している(:numref:`seqedit_use_nouse`)。 未実行のコマンドのチェックをオフにすることで、そのコマンドは使用しない設定になる。 逆に、未実行のコマンドのチェックをオンにすることで、そのコマンドは使用する設定になる。 チェックをオンまたはオフに切り替えたときは、状態の変更をサーバー側に通知するため、連続してオン、オフを切り替えることはできない。 また、実行中や実行済みのコマンドについては、オン、オフを切り替えることはできない。 .. figure:: images/irhseqsrv/seqedit_use_nouse.jpg :scale: 60 :alt: Alternative Text :name: seqedit_use_nouse コマンドの使用、不使用の切り替え コマンドの移動 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドの移動は、以下の2つの方法で行う。 * 矢印ボタンを使用する * コマンドをドラッグ&ドロップする 矢印ボタン ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 矢印ボタンを使用したコマンドの移動手順を以下に示す。 1. 移動するコマンドをクリックして選択する(複数のコマンドを選択する場合は :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリックする)。 2. コマンドの移動ボタン(移動したい方向のボタン、:numref:`command_move_before` の赤枠)を押下することで、コマンドが1つ上または下に移動する( :numref:`command_move_before` で緑枠の上にあった2つのコマンドが、 :numref:`command_move_after` で緑枠の下に移動)。 .. figure:: images/irhseqsrv/command_move_before.jpg :scale: 60 :alt: Alternative Text :name: command_move_before 実行中シーケンスのコマンド移動(移動前) .. figure:: images/irhseqsrv/command_move_after.jpg :scale: 60 :alt: Alternative Text :name: command_move_after 実行中シーケンスのコマンド移動(移動後) 実行済みのコマンドを移動しようとしたり、 実行済みのコマンドの上にコマンドを移動したりしようとした場合は、 エラーメッセージが表示され移動は行われない。 ドラッグ&ドロップ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ドラッグ&ドロップによるコマンドの移動手順を以下に示す。 1. 移動するコマンドをクリックして選択する(複数のコマンドを選択する場合は :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリックする)。 2. 選択したコマンドをドラッグすることで、移動先が青線で示される( :numref:`command_move_dragdrop` の緑枠内)。 3. 移動したい位置でドロップすることで、青線で示された位置にコマンドが移動する。 .. figure:: images/irhseqsrv/command_move_dragdrop.jpg :scale: 60 :alt: Alternative Text :name: command_move_dragdrop ドラッグ&ドロップによる実行中シーケンスのコマンド移動 実行済みのコマンドを移動しようとしたり、 実行済みのコマンドの上にコマンドを移動したりしようとした場合は、 エラーメッセージが表示され移動は行われない。 コマンドのコピー&ペースト ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コピー ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ コマンドをコピーする手順を以下に示す。 1. コピーするコマンドをクリックして選択する(複数のコマンドを選択する場合は :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリックする)。 2. :guilabel:`Copy` ボタン(:numref:`command_copy`)を押下することで、クリップボードにコマンドがコピーされる。 .. figure:: images/irhseqsrv/command_copy.jpg :scale: 60 :alt: Alternative Text :name: command_copy 実行中シーケンスのコマンドのコピー ペースト ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ コピーしたコマンドをペーストする手順を以下に示す。 1. ペースト先のコマンドを選択する。 2. :guilabel:`Paste` ボタン(:numref:`command_paste`)を押下することで、選択したコマンドの下にコピーしたコマンドが追加される( :numref:`command_paste` の緑枠)。 .. figure:: images/irhseqsrv/command_paste.jpg :scale: 60 :alt: Alternative Text :name: command_paste 実行中シーケンスのコマンドのペースト 使用しないコマンド(チェックがオフ)をコピーしてペーストした場合は、 自動的に使用する設定(チェックがオンの状態)に変更される。 実行済みのコマンドや実行中のコマンドの上にペーストしようとした場合は、 エラーメッセージが表示されペーストは行われない。 コマンドのパラメータ編集 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドのパラメータを編集する手順を以下に示す。 1. シーケンスメインエリアの未実行コマンドの :guilabel:`Arguments` 列( :numref:`command_edit` の緑枠)をクリックする。 または、未実行コマンドを選択し、 :guilabel:`Edit` ボタン( :numref:`command_edit` の赤枠)を押下することで、コマンドパラメータの編集ダイアログ( :numref:`command_edit_dialog` )が表示される。 2. コマンドパラメータの編集ダイアログでパラメータを変更する。 3. コマンドパラメータの編集ダイアログには2つのボタンが表示されるので、実行したい処理に応じたボタンを押下する。 それぞれのボタンの機能について、以下に示す。 * :guilabel:`Update` ボタン 対象コマンドのパラメータを更新してダイアログを閉じる。 * :guilabel:`Close` ボタン 対象コマンドのパラメータを更新せずにダイアログを閉じる。 .. figure:: images/irhseqsrv/command_edit.jpg :scale: 60 :alt: Alternative Text :name: command_edit 実行中シーケンスのコマンドパラメータの編集 .. figure:: images/irhseqsrv/command_edit_dialog.jpg :scale: 80 :alt: Alternative Text :name: command_edit_dialog コマンドパラメータの編集ダイアログ 実行済みや実行中のコマンドの場合は、 :guilabel:`Arguments` 列をクリックしてもコマンドパラメータの編集ダイアログは表示されない。 未実行のコマンドについて、コマンドパラメータの編集ダイアログを表示したままにして時間が経過すると、そのコマンドが実行中や実行済みの状態に変化する。 そのような状態になった後で、コマンドパラメータを更新しようとした場合は、エラーメッセージが表示され、コマンドパラメータは更新されない。 コマンドの削除 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドを削除する手順を以下に示す。 1. 削除するコマンドをクリックして選択する(複数のコマンドを選択する場合は :kbd:`Shift` キー、または :kbd:`Ctrl` キーを押しながらコマンドをクリックする)。 2. :guilabel:`Delete` ボタン(:numref:`command_delete`)を押下することで、コマンド削除の確認ダイアログ( :numref:`command_delete_dialog` )が表示される。 3. コマンド削除の確認ダイアログには、2 つのボタンが表示されるので、実行したい処理に応じたボタンを押下する。 それぞれのボタンの機能について、以下に示す。 * :guilabel:`Delete` ボタン 選択したコマンドを削除する。 * :guilabel:`Cancel` ボタン 削除をキャンセルする。 .. figure:: images/irhseqsrv/command_delete.jpg :scale: 60 :alt: Alternative Text :name: command_delete 実行中シーケンスのコマンドの削除 .. figure:: images/irhseqsrv/command_delete_dialog.jpg :scale: 60 :alt: Alternative Text :name: command_delete_dialog コマンド削除の確認ダイアログ 実行中または実行済みのコマンドを削除しようとした場合は、エラーメッセージが表示され削除は行われない。 コマンドの追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ コマンドを追加する手順を以下に示す。 1. シーケンスメインエリアで、追加先のコマンドをクリックして選択する(追加するコマンドは、選択したコマンドの下に追加される)。 2. :guilabel:`Add Commands` タブにおいて追加するファサード関数を選択して :guilabel:`Add` ボタン(:numref:`command_add`)を押下することで、コマンド追加ダイアログ( :numref:`command_add_dialog` )が表示される。 3. コマンド追加ダイアログでパラメータを設定する。 4. コマンド追加ダイアログには2つのボタンが表示されるので、実行したい処理に応じたボタンを押下する。 それぞれのボタンの機能について、以下に示す。 * :guilabel:`Add` ボタン シーケンスメインエリアで選択した追加先のコマンドの下にコマンドを追加する。 * :guilabel:`Close` ボタン コマンドの追加をせずに、ダイアログを閉じる。 .. figure:: images/irhseqsrv/command_add.jpg :scale: 60 :alt: Alternative Text :name: command_add 実行中シーケンスへのコマンドの追加 .. figure:: images/irhseqsrv/command_add_dialog.jpg :scale: 60 :alt: Alternative Text :name: command_add_dialog コマンド追加ダイアログ 実行済みのコマンドを選択してコマンドを追加しようとした場合は、 エラーメッセージが表示されコマンドの追加は行われない。 また、実行中のコマンドの下に追加する場合も、追加できない場合もあるので注意が必要である ( :guilabel:`Sequence` パネルの更新タイミングのラグより、実行中のコマンドが既に実行済みの場合がある)。 実行中シーケンスの管理 --------------------------------- 実行中シーケンスの保存 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンスを実行中に編集した場合、元のスクリプトファイルにはその結果は反映されない。 そのため、編集した実行中シーケンスを再利用したい場合には実行中もしくは実行後に保存を行う。 実行中のシーケンスを保存する手順を以下に示す。 1. シーケンス実行中に :guilabel:`Save` ボタン(:numref:`sequence_save`)を押下すると、シーケンスの保存ダイアログ( :numref:`sequence_save_dialog` )が表示される。 2. シーケンスの保存ダイアログにおいて、実行中のシーケンスの保存フォルダと保存するスクリプトファイル名を設定する。 保存フォルダには、ログインしているユーザーの名称のフォルダ( :file:`/database/scripts` フォルダ内のユーザーごとのフォルダ)がデフォルトで表示される。 別のフォルダを保存先に指定する場合は、 :guilabel:`Select` ボタンを押してシーケンス保存先フォルダの選択ダイアログを表示し、保存先を指定する。 3. シーケンスの保存ダイアログには前述した :guilabel:`Selcet` ボタン以外に、2つのボタンが表示されるので、実行したい処理に応じたボタンを押す。 それぞれのボタンの機能について以下に示す。 * :guilabel:`OK` ボタン 設定した保存フォルダに、実行中のシーケンスを設定したスクリプトファイル名で保存する。 * :guilabel:`Cancel` ボタン シーケンスの保存をキャンセルする。 .. figure:: images/irhseqsrv/sequence_save.jpg :scale: 60 :alt: Alternative Text :name: sequence_save 実行中シーケンスの保存 .. figure:: images/irhseqsrv/sequence_save_dialog.jpg :scale: 60 :alt: Alternative Text :name: sequence_save_dialog 実行中シーケンスの保存ダイアログ シーケンス保存時にすでに同名のファイルが存在する場合は、エラーメッセージが表示される。 次に実行するシーケンスが予約されていない場合(Bookedスクリプトリストが空の場合)は、シーケンスの実行終了後でも保存が可能である。 一方、次に実行するシーケンスが予約されている状態で保存操作を行う場合は、 :guilabel:`OK` ボタンを押した時点で実行中のシーケンスが保存対象となる。 保存操作を行うタイミングによっては、次に予約されているシーケンスが開始されている可能性もあるので注意が必要である。 実行中シーケンスのチェック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 実行中のシーケンスをチェックするには、 :guilabel:`Check Sequence` タブ( :numref:`sequence_check` の赤枠)を押下する。 それにより、実行中のシーケンスの検査実行が行われ、チェック結果がシーケンスメインエリアに表示される。 使用しないコマンドは、チェック対象から除外される。 検査実行の結果、エラーが生じたコマンドにはエラーメッセージが表示される。 その場合、予測時間の合計は計算されない。エラーが存在しない場合は予測時間の合計が計算され、シーケンスメインエリアの右下に表示される。 .. figure:: images/irhseqsrv/sequence_check.jpg :scale: 60 :alt: Alternative Text :name: sequence_check 実行中シーケンスのチェック Bookedスクリプトの管理 --------------------------------- .. _booked_script_add_sec: 実行中シーケンスへの追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンスが実行中で、かつBookedスクリプトが1つ以上設定されている状態でBookedスクリプトを選択する。 その状態で :guilabel:`Add Now` ボタン(:numref:`booked_script_add`)を押下することで、頭のBookedスクリプトが展開され、実行中のシーケンスに追加される( :numref:`booked_script_add_after` )。 .. figure:: images/irhseqsrv/booked_script_add.jpg :scale: 60 :alt: Alternative Text :name: booked_script_add 実行中のシーケンスへのBookedスクリプトの追加 .. figure:: images/irhseqsrv/booked_script_add_after.jpg :scale: 60 :alt: Alternative Text :name: booked_script_add_after 実行中のシーケンスへのBookedスクリプトが追加された状態 Bookedスクリプトの実行 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 自動実行 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 実行したシーケンスが終了した際にBookedスクリプトが存在する場合、 自動的に先頭のBookedスクリプトのシーケンスが開始される。 開始したBookedスクリプトはリストから削除される。 Bookedスクリプトが存在しなくなるか、 :guilabel:`Abort` ボタンでシーケンスを中止するまで、自動実行は継続する。 Add Nowボタン ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ シーケンスが実行されておらず、かつBookedスクリプトが1つ以上設定されている状態で、 :ref:`booked_script_add_sec` で説明した :guilabel:`Add Now` ボタンを押下すると、 先頭のBookedスクリプトのシーケンスが実行状態へと遷移するが、 最初のコマンドを実行する前の段階で一時停止となる。 これは、複数のスクリプトを組み合わせて測定する際に :ref:`edit_running_sequence` で説明した機能を用いて シーケンスの編集を行うための機能である。 例えば、スクリプトAの途中にスクリプトBの処理を差し込みたい場合、 通常はスクリプトAをコピーした新しいスクリプトファイルを作成し、 そのファイルにスクリプトBのコマンドを追加するということを行う。 一方で、実行中シーケンスの編集機能を用いれば、 新しいスクリプトファイルを作成せずにスクリプトの作成を行うことができる。 シーケンスを再開するには :guilabel:`Resume` ボタンを押下する( :ref:`resume_sequence` 参照)。 Bookedスクリプトの操作 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ チェック ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Bookedスクリプトが1つ以上存在する状態で、チェックするBookedスクリプトを選択する。 それにより、選択したBookedスクリプトがハイライトされる。 2. :guilabel:`Check script` ボタン( :numref:`booked_script_check` 赤枠)を押下することで、選択した Bookedスクリプトの内容がチェックされる。 結果は :guilabel:`Check Script` パネル( :numref:`booked_script_check` 緑枠)に表示される。 なお、スクリプトがBookされた時点で自動的にチェックが行われる。 .. figure:: images/irhseqsrv/booked_script_check.jpg :scale: 60 :alt: Alternative Text :name: booked_script_check Bookedスクリプトのチェック 順番の入れ替え ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bookedスクリプトの順番を入れ替える手順を以下に示す。 1. Bookedスクリプトが複数存在する状態で、順番を入れ替えるBookedスクリプトを選択する。 それにより、選択したBookedスクリプトがハイライトされる。 2. :guilabel:`↑` または、 :guilabel:`↓` ボタン( :numref:`booked_script_move` )を押下することで、押したボタンに応じて選択したBookedスクリプトが、上または下に移動する。 最上段のBookedスクリプトを選択して :guilabel:`↑` ボタンを押した場合や、最下段のBookedスクリプトを選択して :guilabel:`↓` ボタンを押した場合は、順番の入れ替えは行われない。 .. figure:: images/irhseqsrv/booked_script_move.jpg :scale: 60 :alt: Alternative Text :name: booked_script_move Bookedスクリプトの入れ替え 削除 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bookedスクリプトを削除する手順を以下に示す。 1. Bookedスクリプトが1つ以上存在する状態で、削除するBookedスクリプトを選択する。 それにより、選択したBookedスクリプトがハイライトされる。 2. :guilabel:`Delete` ボタン( :numref:`booked_script_delete` )を押下すると、確認ダイアログが表示される。 3. 確認ダイアログにおいて :guilabel:`Delete` ボタンを押下すると、選択したBookedスクリプトが削除(予約解除)される。 .. figure:: images/irhseqsrv/booked_script_delete.jpg :scale: 60 :alt: Alternative Text :name: booked_script_delete Bookedスクリプトの削除 差し戻し ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bookedスクリプトを差し戻して編集状態にする手順を以下に示す。 1. Bookedスクリプトが1つ以上存在する状態で、差し戻すBookedスクリプトを選択する。 それにより、選択したBookedスクリプトがハイライトされる。 2. :guilabel:`Edit` ボタン( :numref:`booked_script_edit` )を押下すると、確認ダイアログが表示される。 3. 確認ダイアログにおいて :guilabel:`Edit` ボタンを押下すると、選択したBookedスクリプトが差し戻される。 .. figure:: images/irhseqsrv/booked_script_edit.jpg :scale: 60 :alt: Alternative Text :name: booked_script_edit Bookedスクリプトの差し戻し 結果の確認 --------------------------------- シーケンス実行結果の確認 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンス実行結果は、 :guilabel:`Results` パネル(:numref:`result_sequence_panel`)で確認することができる。 :guilabel:`Results` パネルに表示される内容を :numref:`result_sequence_panel` に示す。 .. figure:: images/irhseqsrv/result_sequence.jpg :scale: 60 :alt: Alternative Text :name: result_sequence_panel Resultsパネル .. csv-table:: Resultパネルに表示される内容 :header-rows: 1 :widths: 5, 20, 50 :name: result_sequence No., 項目, 内容 1, Date, ログが記録された日時 2, Level, ログのレベル(INFO、ERROR、WARNING、DEBUG) 3, Facade, ファサード名(括弧内はファサード関数名) 4, Arguments, ファサードの引数とその値 5, Return, ファサードの戻り値 6, Start, ファサードの開始時刻 7, End, ファサードの終了時刻 8, Duration, ファサードの実行時間 9, Difference, ファサードの実行時間と予測実行時間の差 10, Status, 終了状態 :guilabel:`Results` パネルは :guilabel:`Main` パネル(ログインしたときに最初に表示されるパネル)に配置されている。 :guilabel:`Results` パネルには、ログインしているユーザーの実行ログが表示される。 ただし、adminでログインしている場合は、全ユーザーの実行ログが表示される。 表示する実行ログは :guilabel:`Filter` 欄で設定する。設定する項目を :numref:`result_filter` に示す。 なお、 :guilabel:`Filter` 欄の設定値は、ログインし直したり、別画面を表示後に :guilabel:`Main` パネルを表示したりしたときは、デフォルト値にリセットされる。 .. csv-table:: Resultパネル/Filter欄の設定項目 :header-rows: 1 :widths: 5, 25, 45, 15 :name: result_filter No., 項目, 内容, デフォルト値 1, Starting Log File No., 最新ログファイルから数えて、何番目のログファイルからを表示対象とするか。, 1 2, Num of Log Files, Starting Log File No.で指定したログファイルから新しい方に向かって、いくつのログファイルを表示するか。, 1 3, Records per Page, 1ページあたりの表示ログ数, 50 4, Level, 表示するログレベル(all、info、warning、error、debug), all 5, Reverse Order, 実行ログを表示する順番(Falseの場合は、Dateの古い順番で表示され、Trueの場合は、Dateの新しい順番で表示される), False Resultsパネルの機能について以下に示す。 * :guilabel:`Update` ボタンを押下することで、 :guilabel:`Filter` 欄で設定した内容が反映される。 また、 :guilabel:`Results` パネルは定周期更新をしており、そのタイミングでも :guilabel:`Filter` 欄で設定した内容が反映される。 * :guilabel:`Filter` 欄の設定によっては、表示する実行ログの数が多くなる。 その場合は、複数のページに分割して、表示される(:numref:`result_pagination`)。 ページ番号のボタンを押すことで、そのページの実行ログが表示される。 ボタンの背景が青いページが、選択中のページである。 * ページネーションの両端のボタン( :numref:`result_pagination` の緑枠)を押下すると、選択中のページのそれぞれ、一つ前、一つ後ろのページが表示される。 * 複数のページに分割されるとき、分割されるページ数が多い場合は、ページが省略表示される( :numref:`result_pagination` の赤枠)。 .. figure:: images/irhseqsrv/result_pagination.jpg :scale: 100 :alt: Alternative Text :name: result_pagination Resultsパネルのページネーション システムログの確認 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ システムログ画面はMainパネルの右上のプルダウンメニューのLogメニューを選択して表示する。 .. figure:: images/irhseqsrv/syslog.jpg :scale: 40 :alt: Alternative Text :name: syslog システムログ画面 システムに対する操作が行われたときやイベント発生時に記録されるログが表形式で表示される。 表示される項目は次のとおりである。 1. Date:ログが記録された日時 2. Level:ログレベル(Info、Warning、Error、Debugの4種類) 3. Info:ログの内容 ログ画面はフィルタ機能を有しており、 :guilabel:`Filter` ボタンを押下すると表示されるリストで表示するログのLevelを指定する。 デフォルトはAllで、この場合はすべてのLevelのログが表示される。 それ以外のLevelを指定した場合は、選択したLevelに対応するログのみが表示される。 画面下部には、ページネーションが表示される。 ページ番号をクリックすることで対象ページのログが表示される。 ボタンの背景が青いページが選択中のページである。 ページネーションの両端のボタンを押下すると、選択中のページのそれぞれ一つ前、一つ後ろのページが表示される。 特定の文字列を含むメッセージを非表示にする場合は、以下に示すように、 :file:`iroha-sequence-server/const.py` の定数「SYSTEM_LOG_MSG_FILTER_LIST」(リスト形式)に、 フィルタリングする文字列を定義する。 それにより、設定した文字列にマッチするメッセージを含むログは表示されなくなる。 なお、このフィルタリングする文字列は、正規表現に対応している。 .. code-block:: python # システムログのメッセージのフィルタ # ここで定義したもは、表示されない。 # 正規表現を使用可能 SYSTEM_LOG_MSG_FILTER_LIST = ¥ [ "API:from .* G(et|ET) method user reply status OK code:0", # "==== Server Started =====" ] バージョン2.7以降では :file:`iroha-settings/sequence/database/log_msg_filter.json` でフィルタリングする文字列を定義する。 上記の方法と同様に正規表現に対応している。 複数の文字列を登録する場合にはカンマ(,)区切りで追加していく。 .. code-block:: { "system_log": [ "API:from .* G(et|ET) method user reply status OK code:0", "message a" ] } 設定 --------------------------------- パネル設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 折り畳み ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Main` パネルに表示されるパネルは折り畳み状態を設定することが可能である。 * :guilabel:`Dashboard` パネル * :guilabel:`Script Editor` パネル(パネル内の :guilabel:`File` パネル、 :guilabel:`Editor` パネルも折り畳み可能) * :guilabel:`Sequence` パネル(パネル内の :guialbel:`Booked Scripts` / :guilabel:`Add Commands` パネルも折り畳み可能) * :guilabel:`Results` パネル 各パネルの左上のパネル名をクリックすると該当するパネルが折り畳まれ、再度クリックすると展開される。 :guilabel:`Main` パネルを再表示した場合(シーケンス管理サーバーへの再ログインやブラウザのリロード操作など)は、 それまでの状態に係わらず、すべてのパネルが展開された状態で表示される。 .. figure:: images/irhseqsrv/panel_collapse.jpg :scale: 40 :alt: Alternative Text :name: panel_collapse パネルの折り畳み(上:展開、下:折り畳み) ロック状態 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Main` パネルに表示されるパネルはロック状態を設定することが可能である。 各パネルの右端上の :guilabel:`Lock` ボタンを押下すると、ボタン、チェックボックス、テキストボックス等が使用不可になる。 ロック状態でも使用可能なコントロールは、 :guilabel:`Sequence` パネルの :guilabel:`Auto Scroll` と、 :guilabel:`Results` パネルのページ選択ボタンの2つのみである。 :guilabel:`Unlock` ボタンを押下するとロック状態が解除され、ボタン等のコントロールが使用可能になる。 パネルのロック状態はサーバー側でユーザーごとに管理されており、ログアウトした場合や、別画面を表示した場合でも保持される。 そのため、再度、 :guilabel:`Main` パネルを開いた場合にもロック状態は、維持される。 .. figure:: images/irhseqsrv/panel_lock.jpg :scale: 40 :alt: Alternative Text :name: panel_lock パネルのロック(上:ロック解除状態、下:ロック状態) 配置および表示 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :guilabel:`Main` パネルの各パネルの配置順や表示/非表示の設定は、 :guilabel:`GUI Settings` 画面(:numref:`gui_settings`)で行う。 :guilabel:`GUI Settings` 画面は :guilabel:`Main` パネルの右上のプルダウンメニューの :guilabel:`GUI Settings` メニューを選択すると表示される。 .. figure:: images/irhseqsrv/gui_settings.jpg :scale: 40 :alt: Alternative Text :name: gui_settings GUI Settings画面 *Settings for all panels* では各パネルの配置順とパネル自体の表示/非表示の切り替えを設定する。 * Visible列のチェックボックスのOn/Offを切り替えることで、そのパネルの表示/非表示を切り替える。 ただし、 :guilabel:`Sequence` パネルと :guilabel:`Script Editor` パネルは非表示には出来ない。 * :guilabel:`Order` 列の上下ボタンを押下してそのパネルの配置順を入れ替える。 ただし、 :guilabel:`Dashboard` パネルは最上部に固定である。 *Setting for Dashboard* では :guilabel:`Dashboard` パネル内のパーツの表示/非表示を設定する。 *Setting for Sequence panel* では :guilabel:`Sequence` パネル内のパーツの表示/非表示を設定する。 :guilabel:`Update` ボタンを押下することで設定が反映され、 :guilabel:`Main` パネルが表示される。 なお、エラーが発生した場合は、 :guilabel:`Main` パネルへは遷移されずに画面にエラーメッセージが表示される。 また、パネルの配置順は全ユーザーで共通の設定である。 システム設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ システムの設定は :guilabel:`System Settings` 画面で行う。 :guilabel:`System Settings` 画面は :guilabel:`Main` パネルの右上のプルダウンメニューの :guilabel:`System Settings` メニューをクリックすると表示される。 :guilabel:`System Settings` メニューはadminもしくは予約済みのユーザーでログインした場合に表示される。 :guilabel:`System Settings` 画面では、以下の3つの設定を行う。 * ユーザーごとの設定( :guilabel:`User Access` タブ) * システム全体の設定( :guilabel:`System` タブ) * 後処理シーケンスの設定( :guilabel:`Post Process` タブ) ユーザーごとの設定(User Accessタブ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ユーザーごとの設定は :guilabel:`System Settings` 画面の :guilabel:`User Access` タブ(:numref:`system_settings_user_access`)で行う。 画面下部の :guilabel:`User Settings List` は、admin でログインしている場合のみ表示される。 .. figure:: images/irhseqsrv/system_settings_user_access.jpg :scale: 80 :alt: Alternative Text :name: system_settings_user_access System Settings画面のUser Accessタブ :guilabel:`User Access` タブでは、 :numref:`system_settings_user_access_items` に示す項目を設定する。 設定を変更し、 :guilabel:`Apply` ボタンを押下すると、設定内容が更新される。 エラーが発生した場合は、エラーメッセージが画面上部に表示され、設定内容は更新されない。 .. csv-table:: User Accessタブでの設定項目 :header-rows: 1 :widths: 5, 30, 55 :name: system_settings_user_access_items No., 項目, 概要 1, Experiment (Theme id), 装置管理サーバーで設定されている課題番号が表示される。編集は不可である。 2, Static HTML Output, 静的HTML出力機能を有効にするかどうかを指定する。 3, Output Interval (sec), 静的HTMLを出力するインターバルを指定する。システム設定での最小インターバル値未満の場合は、システム設定のインターバル値で動作する。 4, Screen Scale, モバイル端末で表示する場合のスケール値を指定する。値が大きくなるほど表示される文字サイズが大きくなる。未指定時は、 :guilabel:`System` タブでの設定値が使用される。 5, Minimum Width, モバイル端末で表示する場合の最低表示幅を指定する。スケール値を自動で調整して最低幅が表示されるように動作する。そのため端末の縦表示・横表示では、文字サイズが異なる場合がある。未指定時は、 :guilabel:`System` タブでの設定値が使用される。 adminでログインしている場合は、画面下部に :guilabel:`User Settings List` が表示される。 シーケンス管理サーバーでは各ユーザーごとの :guilabel:`User Access` タブの設定( :numref:`system_settings_user_access_items` )を保存しており、 この画面ではそれらを削除することができる。 この画面には各ユーザーの名称、最終ログイン日時、 :guilabel:`Delete` ボタンが表形式で表示される。 削除するユーザーの行の :guilabel:`Delete` ボタンを押下すると、ユーザー情報削除の確認ダイアログが表示される。 :guilabel:`OK` ボタンを押下すると対象ユーザーの情報が削除され、画面に反映される。 :guilabel:`Cancel` ボタンを押下すると、対象ユーザーの情報は削除されない。 ユーザー情報を削除した場合でも、当該ユーザーでシーケンス管理サーバーにログインし、 :guilabel:`User Access` タブで再設定を行う( :guilabel:`Apply` ボタンを押下する)ことにより、ユーザー情報の再登録が可能である。 システム全体の設定(Systemタブ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ システム全体の設定は :guilabel:`System Settings` 画面の :guilabel:`System` タブで行う。 adminでログインしている場合のみ設定が可能である(admin以外でログインした場合は、 :guilabel:`System` タブが表示されない)。 .. figure:: images/irhseqsrv/system_settings_system.jpg :scale: 80 :alt: Alternative Text :name: system_settings_system System Settings画面のSystemタブ :guilabel:`System` タブでは、 :numref:`system_settings_system_items` に示す項目を設定する。 設定を変更し、:guilabel:`Update` ボタンを押下すると、設定内容が更新される。 エラーが発生した場合は、エラーメッセージが画面上部に表示され、設定内容は更新されない。 .. csv-table:: User Accessタブでの設定項目 :header-rows: 1 :widths: 5, 30, 55 :name: system_settings_system_items No., 項目, 概要 1, Server Name, ログイン画面および画面上部に表示されるサーバー名称を設定する。 2, Management Server Address:Port, 装置管理サーバーの IP アドレスとポート番号を<IP アドレス>:<ポート番号>の形式で指定する。 3, Log File Path, 操作や動作の状態を記録するログファイルのパスを指定する。 4, Display facades, Edit パネルやSequence パネルのファサード関数のツリーに、アクティブなデバイスのファサードのみを表示するかどうかを指定する。 5, Static HTML Output, 静的 HTML 出力機能を有効にするかどうかを指定する。 6, Static HTML Output Directory, 静的 HTML を出力するフォルダを指定する。出力されるファイルはHTML、JSON、CSS、JavaScript、画像などの静的コンテンツで構成される。 7, Server Name of Static HTML, 静的 HTML のナブバーの左端(Brand リンク)に表示するサーバー名を指定する。未指定時はNo.1の値が使用される。 8, Shortest Output Interval (sec), ユーザーが指定できる静的HTML の出力インターバルの最小値を秒単位で指定する。ユーザーがこの値より小さな値を設定した場合、出力インターバル値としてこの値が使用される。未指定時はユーザーに対して制限しない。 9, Screen Scale, モバイル端末で表示する場合のスケールのデフォルト値を指定する。値が大きくなるほど表示される文字サイズが大きくなる。 10, Minimum Width, モバイル端末で表示する場合の最低表示幅のデフォルト値を指定する。スケール値を自動で調整して最低幅が表示されるように動作する。そのため端末の縦表示・横表示では、文字サイズが異なる場合がある。 後処理シーケンスの設定(Post Processタブ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 後処理シーケンスの設定は、 :guilabel:`System Settings` 画面の :guilabel:`Post Process` タブで行う。 adminでログインしている場合のみ、設定が可能である(admin以外でログインした場合は、 :guilabel:`Post Process` タブが表示されない)。 .. figure:: images/irhseqsrv/system_settings_post_process.jpg :scale: 80 :alt: Alternative Text :name: system_settings_post_process System Settings画面のPost Processタブ 後処理シーケンス用のスクリプトファイルは、 :file:`iroha-settings/sequence/database/scripts` フォルダに格納され、その名称は :file:`const.py` で定義されている。 :guilabel:`System Settings` 画面の :guilabel:`Post Process` タブでは、そのスクリプトファイルを編集状態にして表示している。 後処理シーケンス用のスクリプトファイルの編集は、通常のシーケンス用のスクリプトファイルと同様の方法で行う。 編集方法については、 :ref:`edit_file_sec` に記載している方法と同じである。 ただし、後処理シーケンスファイルの格納フォルダとファイル名は決まっているので、別名を付けて保存するための :guilabel:`Save as` ボタンは :guilabel:`Post Process` タブには表示されない。 後処理シーケンスを編集後、 :guilabel:`Save` ボタンを押して変更内容を保存したときには、自動的にシーケンスがチェックされる。 コマンドのパラメータが不正の場合は、ダイアログにエラーメッセージが表示される。 ファサードの作成 --------------------------------- 簡易的なファサードの作成は、 :guilabel:`Create Facade` 画面で行う。 :guilabel:`Create Facade` 画面は :guilabel:`Main` パネルの右上のプルダウンメニューの :guilabel:`Create Facade` メニューをクリックすると表示される。 :guilabel:`Create Facade` メニューは、adminでログインしている場合のみ表示される。 :guilabel:`Create Facade` 画面(手順)は以下の3段階に分かれる。 1. デバイスリストの取得 2. パラメータの取得 3. ファサードの作成 デバイスリストの取得 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Create New Facade` 画面で、IROHA2のデバイス制御サーバーのホストまたはIPアドレス、ポート番号を入力し、 :guilabel:`Get Device List` ボタンを押下する。 .. figure:: images/irhseqsrv/create_facades_1.jpg :scale: 80 :alt: Alternative Text :name: create_facades_1 Create New Facade画面(デバイスリストの取得) パラメータの取得 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :numref:`create_facades_2` が表示され、 :guilabel:`Device Name` にデバイスの一覧が表示される。 そこからファサードを作成するデバイスを選択し、 :guilabel:`Get Parameters` ボタンを押下する。 .. figure:: images/irhseqsrv/create_facades_2.jpg :scale: 80 :alt: Alternative Text :name: create_facades_2 Create New Facade画面(パラメータの取得) ファサードの作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :numref:`create_facades_3` が表示され、パラメータがツリー状(階層構造がわかるように)に表示される。 ファサードを作成するパラメータをチェックボックスで選択し、作成するファサード名を入力して :guilabel:`Create` ボタンを押下すると、ファサードが作成される。 ファサード作成に失敗した場合は、 :guilabel:`Create New Facade` 画面上部にエラーメッセージが表示される。 成功した場合は、同じ場所に成功メッセージが表示される。 .. figure:: images/irhseqsrv/create_facades_3.jpg :scale: 80 :alt: Alternative Text :name: create_facades_3 Create New Facade画面(ファサードの作成) 作成されるファサードについて、以下に示す。 * ファサードファイルは :guilabel:`New Facade Name` に入力した名前に.pyを付けたファイル名で、 :file:`iroha-settings/sequence/database/facades` フォルダ直下に作成される * :guilabel:`New Facade Name` に拡張子を含めた名前を入力した場合は、その拡張子を取り除いた上で.py が付加される * :file:`iroha-settings/sequence/database/facades` フォルダ以下にあるフォルダに保存したい場合は、相対パスで指定する * :guilabel:`Create New Facade` 画面( :numref:`create_facades_3` )で選択したパラメータごとにファサード関数が作成される (1つのファサードファイルに、複数のファサード関数が作成される)。 * ファサードの関数の名称は以下のように定義される。 * acq_${NEW_FACADE_NAME}_${PARAM} * ${NEW_FACADE_NAME}:New Facade Name に入力した文字列から、パスと拡張子を除外した文字列 * ${PARAM}:パラメータ名(パラメータの階層は_で表現される) 例えば :numref:`create_facades_3` において、sampleの :guilabel:`testSet` にチェックを入れ、 :guilabel:`New Facade Name` に「sample/Sample」(つまり :file:`sample` フォルダに :file:`Sample.py` を作成する)と入力して :guilabel:`Create` ボタンを押下した場合、次のようになる。 * ${NEW_FACADE_NAME}:Sample * ${PARAM}:sample_testSet * 作成される関数名:acq_Sample_sample_testSet * ファサードファイルのパス: :file:`iroha-settings/sequence/database/facades/sample/Sample.py` (ただし、 :file:`iroha-settings/sequence/database/facades/sample` フォルダが存在しない場合はエラーとなる。) 統合制御サーバーとの連携機能 ################################# 統合制御サーバーの :guilabel:`Measurment` パネルは、統合制御サーバーのWebUIから測定制御やシーケンス制御を行うことを目的としている。 このパネルは2つの測定モード(簡易測定モード、シーケンスモード)を備えており、モード切り替えによっていずれかのモードを選択して使用する。 測定モード切替 --------------------------------- :guilabel:`Simple` ボタンで簡易測定モード、 :guilabel:`Sequence` ボタンでシーケンスモードに切り替わる。 :guilabel:`Begin` ボタン(シーケンスモードでは :guilabel:`Start` ボタン)を押下した後は、開始した処理が終了するまでモードの切り替えは不可となる(両モード共通)。 .. figure:: images/irhintsrv/measpanel_switch_mode.jpg :scale: 40 :alt: Alternative Text :name: intsrv_switch_mode 測定モード切替ボタン 簡易測定モード --------------------------------- 簡易測定モードについては :doc:`irhmngsrv` を参照のこと。 シーケンスモード --------------------------------- シーケンスモードはシーケンス管理サーバーの :guilabel:`Dashboard` パネルと同様の機能を有し、 実行中もしくは実行予約状態のスクリプト(Bookedスクリプト)に対して、 シーケンスの開始、一時停止、再開、終了コマンドを送信することが可能である。 Run情報を装置管理サーバーから取得して表示する点、シーケンスの実行状況をシーケンス管理サーバーから取得して表示する点も、 :guilabel:`Dashboard` パネルと同様である。 シーケンス管理サーバーの :guilabel:`Dashboard` パネルと異なるのは、測定のコメント設定が可能である点と、 シーケンス管理サーバーのトップページを表示するボタンが配置される点である。 .. figure:: images/irhintsrv/measpanel_sequence.jpg :scale: 60 :alt: Alternative Text :name: intsrv_sequence Measurementパネル(シーケンスモード) シーケンスモードの機能は以下の通りである。 * Run情報の閲覧 * シーケンス管理サーバーへのコマンド送信 * コメントの編集 * シーケンスの進捗状況の閲覧 * シーケンス管理サーバーのWebUIのトップページの表示 Run情報の閲覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Run情報の表示機能については、簡易測定モード( :ref:`intsrv_simple_runinfo_sec` )と同じである。 シーケンス管理サーバーへのコマンド送信 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Measurement` パネルには5つの制御ボタンが配置されており( :numref:`intsrv_sequence` の赤枠)、 それぞれのボタンを押下することで、ボタンに対応するコマンドがシーケンス管理サーバーに送信される。 シーケンスモード時の各ボタンの機能は次のとおりである。 * :guilabel:`Start` ボタン 予約しているスクリプトの実行を開始する。 シーケンス(後処理シーケンスも含む)が実行中でない場合に使用可能になる。 スクリプトの実行予約は、シーケンス管理サーバーのWebUIで行う必要がある点に注意が必要である。 * :guilabel:`Pause` ボタン 実行中のシーケンスを一時停止する。 シーケンス管理サーバーの状態がRunningの場合に使用可能になる。 * :guilabel:`Resume` ボタン 一時停止中のシーケンスを再開する。 シーケンス管理サーバーの状態がPausedの場合に使用可能になる。 * :guilabel:`Abort` ボタン(上部) 実行中または一時停止中のシーケンスを中止する。 シーケンス管理サーバーの状態がRunningまたはPausedの場合に使用可能になる。 * :guilabel:`Abort` ボタン(下部) 後処理シーケンスの実行を中止する。 後処理シーケンスが実行中の場合に使用可能になる。 コメントの編集 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 簡易測定モードのコメントの編集と同様である( :ref:`edit_comment` を参照)。 シーケンスの進捗状況の閲覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シーケンス情報は自動的に定周期配信Jsonデータから取得され、パネル上に表示される。 更新間隔はRun情報と同じである。 表示されるシーケンス情報を :numref:`intsrv_sequence_progress` に示す。 .. csv-table:: シーケンス情報 :header-rows: 1 :widths: 5, 20, 70 :name: intsrv_sequence_progress No., 項目, 内容 1, Step, 実行中のシーケンスのコマンド数と実行済みのコマンド数、実行中のコマンド名とスクリプトファイル名 2, なし(※1), シーケンスの進捗状況(プログレスバー) 3, Started, シーケンスの開始日時 4, Estimated End, シーケンスの予測終了日時 5, Status, シーケンスのステータス 6, なし(※2), ファサードから送信されたメッセージ 7, Post Processing, 実行中の後処理シーケンスのコマンド名(実行済みコマンド数/全コマンド数)、後処理シーケンスのステータス ※1 :guilabel:`Measurement` パネル (:numref:`intsrv_sequence`)の青枠 ※2 :guilabel:`Measurement` パネル (:numref:`intsrv_sequence`)の緑枠 シーケンス管理サーバーのWebUIのトップページの表示 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Measurement` パネルの :guilabel:`Detail` ボタンを押下することで、ブラウザの別タブにシーケンス管理サーバーのMainパネルが表示される。