設定

このセクションでは、ポータルのロール、権限などの設定について取り上げます。

portal-header

ポータル設定の実行

ポータル設定を手動で行う方法については、ハウツー:ポータル設定を更新する を参照してください。

ポータル設定は、変数 として格納されます。

開発において、デザイナーの再起動後にポータルの設定を行うのは、かなり退屈な作業です。 対象となる設定の portal/config/variables.yaml の変数を更新します。

これにより、デザイナーを再起動せずに済みます。

言語設定

新しい言語をポータルに追加するには、以下を行う必要があります。

  • ポータルのすべての CMS エントリを Excel ファイルにエクスポートします。

  • このファイルの最後に新しい列を 1 つ追加し、新しい言語のロケール(例えば、イタリア語の場合は it )をその新しい列の最初のセルに追加します。サポートされるロケールについては、 Java がサポートするロケール を参照してください。

    export-cms

  • すべての CMS エントリに新しい言語の翻訳を追加します。

  • Excel ファイルをインポートします。

  • ポータルを再展開します。

ロールの設定

ポータルのロール

権限

AXONIVY_PORTAL_ADMIN

このロールを持つユーザーはポータルの管理者ページにアクセスし、内部のロールのプロパティを設定し、パブリックフィルターを作成できます。このロールを保持するユーザーには権限が必要です。

権限の設定

エンジンコックピット で権限を設定します。 セキュリティ領域の「PortalPermissions」グループにこれらすべての権限があります。

タスクの権限

  • ノートの追加

    ユーザーには次の権限が必要です:🔑TaskCaseAddNote

  • 委任

    ユーザーが委任できるようになるには、🔑TaskDisplayDelegateAction🔑TaskWriteActivator 権限が必要です。

    ユーザーが自分のタスクやグループのタスクを委任するには、🔑TaskWriteActivatorOwnTasks 権限が必要です。 この権限は PortalPermissions グループに属します。 Everybody ロールには自動的に割り当てられません。

    🔑CaseOwnerTaskDelegate.権限を持つケースオーナーは、ケース内のすべての関連するタスクを委任できます。この権限は PortalPermissions グループに属します。

    Important

    • ユーザーが処理可能なタスクのみ委任できます。タスクの状態が CREATED、DONE、DESTROYED、RESUMED、FAILED の場合は委任できません。

  • リセット

    ユーザーがリセットアクションを表示するには、次の権限が必要です: 🔑TaskDisplayResetAction.

    To reset tasks, the user needs permission: 🔑TaskResetOwnWorkingTask or 🔑TaskResetReadyForJoin or 🔑TaskReset.

    Important

    RESUMED、PARKED、READY_FOR_JOIN、FAILED のいずれかの状態にあるタスクにのみ有効です。

  • 削除

    ユーザーがタスクの削除アクションを表示するには、次の権限が必要です: 🔑TaskDestroy.

    Important

    タスクの削除は、タスクの状態が DESTROYED または DONE でない場合のみ有効です。

  • 予約

    ユーザーが予約アクションを表示するには、次の権限が必要です: 🔑TaskDisplayReserveAction.

    ユーザーがタスクを予約するには、次の権限が必要です: 🔑TaskParkOwnWorkingTask.

    Important

    タスクが CREATED、RESUMED、SUSPENDED のいずれかの状態にある場合のみ、予約が可能です。

  • 説明の変更

    ユーザーには次の権限が必要です: 🔑TaskWriteDescription.

    Important

    終了したタスクは変更できません。そのため、タスクの状態は次の値以外とします: DONE, DESTROYED, FAILED.

  • 期限の変更

    ユーザーには次の権限が必要です: 🔑TaskWriteExpiryTimestamp.

    Important

    有効期限を変更するには、タスクは次の状態以外とします: DONE, DESTROYED, FAILED.

  • 優先度の変更

    ユーザーには次の権限が必要です: 🔑TaskWriteOriginalPriority.

    Important

    タスクの優先度を変更するには、タスクは次の状態以外とします: DONE, DESTROYED, FAILED.

  • 追加のオプションの表示

    ユーザーが追加のアクションを表示するには、次の権限が必要です: 🔑TaskDisplayAdditionalOptions.

ケースの権限

  • ノートの追加

    ユーザーには次の権限が必要です:🔑TaskCaseAddNote

  • 削除

    ユーザーには次の権限が必要です:🔑CaseDestroy

    Important

    ケースの状態は RUNNING でなければなりません。

  • 説明の変更

    ユーザーには次の権限が必要です:🔑CaseWriteDescription

    Important

    ケースの状態は DESTROYED 以外とします。

  • ケースの関連タスクを参照してください。

    ユーザーが関連するタスクアクションを表示するには、次の権限が必要です: 🔑ShowAllTasksOfCase.

    ユーザーが関連するタスクを表示するには、次の権限が必要です: 🔑TaskReadOwnCaseTasks or 🔑TaskReadAll.

    Important

    ケースの状態は DESTROYED 以外とします。

  • 詳細の表示リンクの表示

    ユーザーには次の権限が必要です:🔑ShowCaseDetails この権限は、Everybody ロールには自動的に割り当てられません。

Note

通常ユーザーには、ユーザーが作業可能なタスクとケースのみ表示されます。

管理者は、アプリケーションのすべてのタスク/ケースを表示できます。必要な権限は、🔑TaskReadAll🔑CaseReadAll です。

管理者は、アプリケーションのすべてのワークフローを操作できます。

管理者は、アプリケーションのすべてのワークフローを作成、更新、削除できます。

通常ユーザーは、自分が作成したワークフローを更新、削除し、自分に割り当てられたタスクを操作できます。

その他の権限

アクション

必要な権限

不在

閲覧

🔑UserReadOwnAbsences または 🔑UserReadAbsences

作成、編集

🔑UserCreateOwnAbsence または 🔑UserCreateAbsence

削除

🔑UserDeleteOwnAbsence または 🔑UserDeleteAbsence

すべてのユーザーの不在の閲覧

🔑UserReadAbsences

すべてのユーザーの不在の削除

🔑UserDeleteAbsence

すべてのユーザーの新しい不在の作成

🔑UserCreateAbsence

代行者

代行者の管理

🔑UserCreateSubstitute🔑UserReadSubstitutes

ドキュメント

アップロード、削除

🔑DocumentWrite 🔑DocumentOfInvolvedCaseWrite

ポータルの権限

全プロセスリストへのアクセス左側のメニューに表示される「プロセス」、ダッシュボードの「すべてのプロセスの表示」リンク)

🔑AccessFullProcessList

全タスクリストへのアクセス(左側のメニューに表示される「タスク」、ダッシュボードの「タスクリスト全体を表示」リンク)

🔑AccessFullTaskList

全ケースリストへのアクセス(左側のメニューに表示される「ケース」)

🔑AccessFullCaseList

タスク/ケースへのノートの追加

🔑TaskCaseAddNote

[さらにノートを表示]の表示

🔑TaskCaseShowMoreNote

公開用外部リンクの作成。他のユーザーには全プロセスリストでそのリンクが表示されます。

🔑CreatePublicExternalLink

ダッシュボードの共有

🔑ShareDashboardLink

ウイルススキャンの設定

PrimeFaces には、 VirusTotal を使用するインターフェースがあらかじめ実装されています。 VirusTotal を有効にするには、 VirusTotal のウェブサイト でコミュニティアカウントを作成する必要があります。

アカウントの作成後、API キーを受け取ります。 API キーを設定するには、configuration/web.xml ファイルに次のスニペットを追加します。

<context-param>
<param-name>primefaces.virusscan.VIRUSTOTAL_KEY</param-name>
<param-value>PUT YOUR API KEY HERE</param-value>
</context-param>

web XML ファイルで context-param を設定すると、ウイルススキャンが自動的に有効になります。 ウイルススキャンを無効にしたい場合は、 portal/config/variables.yamlEnableVirusScanner 変数を false に変更します。

参照: How to check if uploaded files contain a virus.

Warning

ウイルスチェックを行うファイルが VirusTotal にアップロードされます。外部ネットワークや国外にあるサーバーにアプリケーションのデータを格納しない場合は、この設定を省略してもよいでしょう。

変数

以下の変数は、キーと値の組み合わせで格納されます。これらはエンジンコックピットで編集する必要があります。

変数

デフォルト値

説明

PortalStartTimeCleanObsoletedDataExpression

0 6 * * *

クロン式は、古いユーザーのデータを消去する時間を定義します。例えば、毎日 6AM の式は 0 6 * * * になります。 CRON Expression を参照してください。この変数の変更後、Ivy エンジンを再起動します。

PortalDeleteAllFinishedHiddenCases

false

true に設定すると、上記の cron ジョブが毎日動作し、エンジンのすべての完了した非表示のケースを削除します。そうでない場合は、このポータルで生成されたケースのみ削除されます。

PortalHiddenTaskCaseExcluded

true

ポータルは自動的に非表示でないタスクとケースを問い合わせます。false に設定すると、ポータルはこのプロパティを無視します。

PortalLoginPageDisplay

true

ログインが必要で、ユーザーが不明な場合、ポータルは自動的にログインページにリダイレクトします。ログインエラーページにリダイレクトし、ユーザーメニューの[ログアウト]を非表示にするには、false に設定します(外部認証を使用しており、アプリケーションのユーザーリストに該当するユーザーが存在しない場合)。

設定

これらの変数は JSON 形式で格納されます。これらはコックピットで編集できます。ポータルの管理者設定の UI を使用することも可能です。

ポータルの通知

ポータルの標準的な通知は、一般情報(ダウンタイム、変更など)に使用されます。 ポータルのすべてのユーザーにこのメッセージを表示できます。

ファイル名: variables.Portal.Announcement.json

データモデル:

{
    "contents": [
        {
            "language": "en",
            "value": "The announcement content in English"
        }
    ],
    "enabled": false
}
  • contents:サポートされる言語のリストと各言語のコンテンツ

    • languageendeesfr などの言語コード

    • value:その言語の通知コンテンツ

  • enabled:通知のステータス。true の場合、通知を表示します。

ポータルにリンクされるサードパーティーのアプリケーション

以下の JSON ファイルでカスタムメニュー項目を定義できます。カスタムメニュー項目は、左側のメニューに表示されます。

ファイル名: variables.Portal.ThirdPartyApplications.json

データモデル:

[
   {
      "id": "284352a58c7a48a2b64be8a946857c7a",
      "displayName": "{\"de\":\"AxonIvy ger\",\"en\":\"AxonIvy\"}",
      "menuIcon": "fa-group",
      "menuOrdinal": 1,
      "name": "{\"de\":\"AxonIvy ger\",\"en\":\"AxonIvy\"}",
      "link": "https://developer.axonivy.com/download"
   }
]
  • id:サードパーティーのアプリケーションの ID 番号。自動生成される UUID になります。

  • displayName:左側のメニューに表示されるアプリの表示名。 複数言語をサポートしています。

  • menuIcon:左側のメニューに表示されるアプリアイコンのスタイルクラス。

  • menuOrdinal:アプリのインデックス。左側のメニューのメニュー項目を並べ替えるのに使用されます。

  • name:サードパーティーのアプリの名前。

  • link:サードパーティーのアプリのURL。

ポータルの統計チャート

ポータルダッシュボードの 統計ウィジェット で使用できるすべての統計チャートのフィルターロジック、外観などの設定を定義できます。

ファイル名: variables.Portal.ClientStatistic.json

データモデル:

[
   {
      "id": "1",
      "aggregates": "priority",
      "filter": "businessState:OPEN IN_PROGRESS,canWorkOn",
      "chartTarget": "TASK",
      "chartType": "pie",
      "names": [
            {
               "locale": "de",
               "value": "Aufgaben nach Prioritäten"
            },
            {
               "locale": "en",
               "value": "Tasks by Priority"
            },
            {
               "locale": "fr",
               "value": "Tâches par Priorité"
            },
            {
               "locale": "es",
               "value": "Tareas por Prioridad"
            }
      ],
      "descriptions": [
            {
               "locale": "de",
               "value": "Dieses Kreisdiagramm zeigt alle Aufgaben nach Priorität an."
            },
            {
               "locale": "en",
               "value": "This pie chart displays all tasks by priority."
            },
            {
               "locale": "fr",
               "value": "Ce diagramme à secteurs affiche toutes les tâches par priorité."
            },
            {
               "locale": "es",
               "value": "Este gráfico circular muestra todas las tareas por prioridad."
            }
      ],
      "icon": "si si-analytics-pie-2",
      "refreshInterval": 300
   }
]
  • id:統計チャートの ID。

  • aggregates:バケット(グループ)集計またはメトリック集計を行う集計クエリ

  • filter:統計チャートのフィルター条件。複数の条件がサポートされています。 なお、フィルターによっては、チャートのタイプと互換性がない場合があります。

  • chartTarget:チャートのターゲットとして使用したいエンティティのタイプ。ivy ワークフローの主なエンティティのタイプをサポートしています。

    TASK:Ivy のタスク

    CASE:Ivy のケース

  • names:チャートの複数言語の表示名

  • descriptions:チャートの複数言語の説明

  • icon:各ウィジェットのアイコン。ポータルは、Streamline アイコンと FontAwesome アイコンをサポートします。

  • refreshInterval:統計チャートの更新間隔(秒単位)

  • chartType:UI に表示したいチャートのタイプ。以下の 4 つのタイプがあります。

    pie:円グラフ

    pie-chart

    bar:棒グラフ

    bar-chart

    line:折れ線グラフ

    line-chart

    number:ラベル付きの数値表

    number-chart

グラフ、 折れ線 グラフ、 数値 表については、さらに以下のフィールドが必要です。

  • barChartConfig グラフを設定する場合に必要なフィールド。チャートのタイプが bar の場合に追加してください。

    • xTitles:X 軸の複数言語の表示タイトル

    • yTitles:Y 軸の複数言語の表示タイトル

    • yValue:Y 軸に時間を表示したい場合は、このフィールドに 時間 の値を追加します。

  • lineChartConfig折れ線 グラフを設定する場合に必要なフィールド。チャートのタイプが line の場合に追加してください。

    • xTitles:X 軸の複数言語の表示タイトル

    • yTitles:Y 軸の複数言語の表示タイトル

  • numberChartConfig数値 表を設定する場合に必要なフィールド。チャートのタイプが number の場合に追加してください。

    • suffixSymbol:数値の隣に表示されるアイコン。ポータルは、Streamline アイコンと FontAwesome アイコンをサポートします。