従業員のアイデア サンプル アプリのアーキテクチャを理解する

この記事では、従業員のアイデア アプリで使用されるコレクションおよびグローバル変数について学習し、それらを効果的に使用する方法について理解します。 代わりに従業員のアイデアのサンプル アプリをインストールし、使用する方法の詳細については、従業員のアイデア を参照してください。

前提条件

この記事の情報を理解して使用するには、キャンバス アプリのさまざまなコントロール、機能、およびキャパビリティについて知る必要があります。

また、従業員のアイデアのサンプル アプリのインストール方法、および使用方法についても知る必要があります。

アーキテクチャ モデル

次の図は、ユーザーとシステムがこの従業員アイデア ソリューションでデータとやり取りする方法を示しています。

従業員アイデア サンプル アプリのアーキテクチャ モデル。

コネクタ

次のコネクタは従業員アイデア アプリで使用されます。

  • Microsoft Dataverse - Dataverse のデータの読み取りと書き込みに使用します。
  • Office 365 Users - Microsoft 365 ユーザー プロファイル データの読み取りに使用します。

データ モデル

次の図では、従業員のアイデアのサンプル アプリで使用されるデータ モデルについて説明します。

従業員のアイデアのサンプル アプリのデータ モデル。

テーブル名 内容
従業員のアイデア キャンペーン キャンペーンとは、特定の目標を達成することを目的とした一連のアクションまたはイベントです。 キャンペーンのタイトル、説明、開始日と終了日、チーム、チャネル ID などの詳細は、従業員アイデア キャンペーン テーブルに保存されます。 アイデア キャンペーンには、複数のアイデアとアイデアの質問を含めることができます。
従業員のアイデア アイデアは、キャンペーンの一部として言及されている特定の目標を達成するために従業員によって提供される考えまたは提案です。 タイトル、説明、関連キャンペーン、結果、および投票数などの詳細は、従業員アイデア テーブルに保存されます。 1 つのアイデアに複数のファイルやアイデアの質問が関連付けられることがあります。
従業員のアイデアの質問 アイデアの質問は、アイデアに関して従業員からより多くの意見を得るのに役立ちます。 指示、関連キャンペーン、回答の種類、および質問の値などの詳細は、従業員アイデアの質問テーブルに保存されます。 各アイデアの質問には複数の回答がある場合があります。
従業員のアイデアへの応答 アイデアの回答は、アイデアの質問に対する従業員の回答を得るために使用されます。 指示、関連アイデア、アイデアの質問、シーケンス、回答の種類、および質問の値などの詳細は、従業員アイデアの回答テーブルに保存されます。 回答は、1 つのアイデアの質問にのみ関連付けることができます。
従業員のアイデアのイメージ イメージはアイデアをより深く理解するために使用されます。 ユーザーは自分のアイデアのカバー画像を追加することができます。 名前、関連画像、選択した画像などの詳細は、従業員アイデアのイメージ テーブルに保存されます。 アイデアには、特定の時点で選択したカバー画像を 1 つだけ含めることができます。
従業員のアイデアのファイル 従業員は、自分のアイデアをより適切に説明するための複数のサポート ファイルを添付できます。 ファイル名、添付ファイル、および関連アイデアなどの詳細は、従業員アイデアのファイル テーブルに保存されます。
従業員アイデアのユーザー設定 ユーザー設定は、アプリにログインするたびに Power Apps スプラッシュ スクリーンを表示することに関連するユーザー設定を保存するために使用されます。 各ユーザーに対して 1 つのレコードがあります。
従業員アイデアの設定 設定は、チーム ID に関連するユーザー設定および通知に使用されるチャネル ID を保存するために使用されます。

コレクション

次のテーブルに、従業員のアイデア アプリで使用されるコレクションを示します。

コレクション名 内容 使用場所
colFileIcons アプリ ファイルの種類とアイコンを保存するコレクション。 アプリの OnStart
colStockImages アプリで使用されているストック画像を保存するためのコレクションです。 アプリの OnStart
colUserSettings ユーザー設定を収集するためのコレクション (存在する場合)。 アプリの OnStart
colocalization ユーザーの言語に基づいたローカライズ済みテキストのコレクション。 アプリの OnStart
colIdeaStats_Raw 所有者に関する詳細を含む統計のために、生のアイデアを収集するためのコレクション。 アプリの OnStart
colVotes アイデアに投じられた票の数を保存するコレクション アプリの OnStart
colIdeas 従業員のアイデアを保存するために使用されるコレクション。 キャンペーンの詳細画面
colResponses アイデアの回答を保存するために使用されるコレクション キャンペーンの詳細画面
colFiles アイデアに関連付けられたファイルを収集するために使用されるコレクション。 アイデア作成画面にあるギャラリーの Items プロパティ
colQuestions アイデアの質問を収集するためのコレクション。 キャンペーンの詳細画面にあるギャラリーの Items プロパティ
colQuestionsToDelete 削除する質問を収集するために使用されます。 キャンペーンの詳細画面にある削除ボタンの OnClick プロパティ
colVoteCounter アイデアが受け取った投票数を数えるために使用されます。 アプリの OnStart
colCdsSampleDataIdeaUsers アイデアのランダムな所有者でコレクションを作成します。20% は現在のユーザー、それ以外はランダム。 読み込み画面にあるサンプル データのランダム化ボタン (非表示) の OnSelect プロパティ
colSampleDataIdeas アクティブな従業員アイデアのサンプルを収集するために使用されるコレクション 読み込み画面にあるサンプル データのランダム化ボタン (非表示) の OnSelect プロパティ
colSampleDataUsers サンプル ユーザーを収集するために使用されるコレクション。 読み込み画面にあるサンプル データのランダム化ボタン (非表示) の OnSelect プロパティ

グローバル変数

次のテーブルに、従業員のアイデア アプリで使用される変数を示します。

変数名 内容
gblAppLoaded Boolean アプリが読み込まれているかどうかを確認します。
gblAppContext Boolean アプリが実行されている場所のコンテキストを確認する。
gblUserLanguage テキスト ログインしたユーザーの言語を確認する
gblParamTeamId テキスト プランナーからグループ ID を設定します。
gblParamChannelId テキスト プランナーからチャネル ID を設定します。
gblThemeDark Boolean チームのテーマがダークに設定されているかどうかを確認します。
gblThemeHiCo Boolean チームのテーマがハイ コントラストに設定されているかどうかを確認します。
gblMobileMode Boolean ホスト クライアントの種類が Android または iOS かどうかを確認します。
gblRecordSettings レコード 現在のチームとチャネル ID のチーム設定を確認します。
gblRandomizeData Boolean データをランダム化する必要があるかどうかを確認する変数 (つまり、チームの最初の実行)。
gblRecordUserSettings レコード 複数のレコードが存在する場合に最も古いレコードを使用する変数。
gblUserFirstName テキスト ユーザーのフル ネームを設定する変数。
gblDropdownChannel テーブル Microsoft Teams の特定のグループのチャンネルを取得する。
gblPadding レコード アプリでパディング値を設定するために使用されます。
gblMobileWidth グローバル モバイルの幅を設定するために使用されます。
gblToday 現在の日付を日付/時刻の値として設定する変数。
gblUserRecord レコード ログインしているユーザーのユーザー レコードを取得するための変数。
gblSettingNotificationChannelId テキスト 通知のチャネル ID を設定する変数。
gblSettingTeamId テキスト 通知のチーム ID を設定する変数。
gblSelectedRecordCampaign レコード 選択したキャンペーン レコードを取得する変数。
gblRecordCampaignIdea レコード 選択したキャンペーンのアイデアを取得する変数。
gblSelectedRecordCampaign_FormValues レコード 追加または編集するキャンペーンのフィールド値を保存する変数。
gblAppSetting_inputMobileOnWeb Boolean デスクトップで実行されるモバイル指向のアプリのフォントを拡大縮小する変数。
gblAppSetting_inputMobile Boolean モバイル指向のアプリのフォントを拡大縮小する変数です。
gblAppSetting_inputScaleFontsby この変数を使用して、すべてのフォントを一定量でスケーリングします。
gblAppColors レコード アプリで色の値を設定する変数です。
gblAppSizes レコード アプリで色の値を設定する変数です。
gblAppStyles レコード アプリでスタイル値を設定する変数です。
gblAppManager Boolean ユーザー チームのロールを確認します。

アプリの OnStart

このセクションでは、アプリ OnStart コレクション、変数、および実行の詳細について説明します。

OnStart コレクション

アプリ OnStart 中に使用されるコレクション:

コレクション名 内容
colLocalization ユーザーの言語に基づいたローカライズ済みテキストのコレクション。
colStockImages ストック カバー画像のコレクションです。
colUserSettings 従業員アイデアのユーザー設定テーブルからのユーザー設定のコレクション。
colFileIcons さまざまなファイルの種類のアイコンを収集するために使用されます。
colVoteCounter アイデアが受け取った投票数を数えるためのコレクション。
colIdeaStats_Raw 所有者に関する詳細を含む統計のために、生のアイデアを収集します。
colVotes アイデアへの投票を収集するために使用されます。

OnStart 変数

アプリ OnStart 中に使用される変数:

変数名 内容
gblAppLoaded アプリが完全に読み込まれたかどうかを確認するグローバル変数。
gblAppContext アプリが実行されている場所のコンテキストを確認するグローバル変数。
gblUserLanguage ユーザーの言語を保存するグローバル変数。
gblParamTeamId プランナーからグループ ID を設定するグローバル変数。
gblParamChannelId プランナーからチャネル ID を設定するグローバル変数。
gblThemeDark Teams がダーク テーマで実行されているかどうかを定義するグローバル変数。
blThemeHiCo Teams がハイ コントラスト テーマで実行されているかどうかを定義するグローバル変数。
gblMobileMode アプリがモバイル デバイスからアクセスされているかどうかを保存するグローバル変数。
gblRecordSettings チームおよびチャネル ID を従業員のアイデア設定テーブルに設定するために使用されるグローバル変数。
gblRandomizeData データをランダム化する必要があるかどうかを確認するためのグローバル変数 (この実行がアプリの最初の実行かどうか)。
gblRecordUserSettings 現在のユーザーの最新の従業員アイデアのユーザー設定レコードを保存するグローバル変数。
gblUserFirstName ユーザーの名を保存するグローバル変数。
gblDropdownChannel グループのチャネルのリストを保存するグローバル変数。
gblSettingNotificationChannelId 通知が投稿されるチャネル ID を保存するグローバル変数。
gblSettingTeamId チーム ID を保存するグローバル変数。
gblPadding パディング値を設定するグローバル変数。
gblMobileWidth モバイル用アプリの幅を定義するグローバル変数。
gblToday 現在の日付を保存するグローバル変数。
gblUserRecord 現在のユーザー レコードを保存するグローバル変数。

OnStart 実行の詳細

  1. ユーザーがアプリを読み込むと、gblAppLoaded 変数が false に設定されます。 ユーザーの言語コードは、「English - US」 を既定として gblUserLanguage 変数に保存されます。

  2. 次に、ユーザーの言語を使用して、アプリ全体で使用されるローカライズ済みテキスト (ラベルやボタンのテキストなど) を colLocalization に収集します。

  3. テーマが既定、ダーク、またはハイ コントラストかどうかを確認するためにユーザーの Teams テーマがチェックされます。 gblThemeDark および gblThemeHiCo 変数がそれに応じて設定されます。

  4. 変数 gblParamTeamIdgblParamChannelId は、パラメーターからグループ ID とチャネル ID を取得するために使用されます。

  5. チーム ID とチャネル ID は従業員アイデアの設定テーブルからフェッチされ、gblRecordSettings 変数に保存されます。

  6. gblRandomizeData 変数は、データをランダム化するためにアプリが初めて実行されているかどうかを確認します。

  7. 従業員アイデアのユーザー設定テーブルからのユーザーの詳細は、colUserSettings コレクションを使用して収集されます。 レコードが存在しない場合、新しいユーザー設定レコードが従業員アイデアのユーザー設定テーブルの下に作成されます。

  8. 複数のユーザー設定レコードが存在する場合、最も古い設定レコードが選択され、gblRecordUserSettings 変数に保存されます。

  9. アプリのグローバルのパディング値とモバイル幅は、それぞれ gblPaddinggblMobileWidth 変数を使用して設定されます。

  10. ストック画像とカバーの色はそれぞれ、colStockImagescolProjectCoverColors コレクションで収集されます。 colProjectCoverColors コレクションには 14 色の色が 2 セットあります。 各ベースに対して、2 色あります。 1 つは既定のテーマ用で、もう 1 つはダーク テーマ用です。 たとえば、#F4B9B9 は、#791818 と同等の既定のモードです。

  11. 必要な情報すべての設定および収集が行われると、gblAppLoaded 変数の値が true に変わります。

初回実行のエクスペリエンス

このセクションでは、アプリの初回の実行のエクスペリエンス、関連するコレクション、変数、および実行の詳細ついて説明します。

最初の実行エクスペリエンスのコレクション

アプリの最初の実行のエクスペリエンスではコレクションを使用しません。

最初の実行エクスペリエンス変数

アプリの最初の実行時に使用される変数:

変数名 内容
locShowModal ダイアログ設定コンテナーの表示方法を制御するために使用されるローカル変数。
locShowSetup 設定ダイアログの表示方法を制御するために使用されるローカル変数。
locShowPowerAppsPrompt スプラッシュ スクリーンを表示するかまたは非表示にするかを示すローカル変数。

初回実行エクスペリエンスの実行の詳細

  1. プロジェクト画面が表示されると、locShowModal 変数値が true の場合にダイアログ ポップアップが表示されます。 false の場合、アプリはキャンペーンの概要画面の読み込みを続行します。

  2. locShowModal 変数は、アプリの初回実行時に作成されるプロジェクト設定レコードに応じて設定されます (true/false)。 アプリの初回実行時、ユーザーが最初の実行エクスペリエンスを完了したときに、従業員アイデアのユーザー設定レコードが作成されます。

  3. 最初の実行中に、アプリはブール変数 locShowPowerAppsPrompt に基づいてスプラッシュ スクリーンを表示します。

  4. locShowPowerAppsPrompt 変数は、最初の実行中に作成されるプロジェクト設定に基づいて設定されます (true/false)。

  5. ユーザーが「次回から表示しない」チェックボックスをオンにすると、プロジェクト設定レコードの「スプラッシュを表示する (Power Apps)」が「いいえ」に設定されます。 このアクションは、次回の実行時に locShowPowerAppsPrompt 変数を false に設定し、スプラッシュ スクリーンを非表示にします。

概要画面

このセクションでは、アプリの概要画面のコレクション、変数、および実行の詳細について説明します。

概要画面のコレクション

概要画面が使用するコレクション:

コレクション名 内容
colIdeaStats_Raw 所有者に関する詳細を含む統計のために、生のアイデアを収集するためのコレクション。

概要画面の変数

概要画面が使用する変数:

変数名 内容
gblAppManager グローバル変数は、ユーザーがアプリを管理する特権を持っているかどうかを確認します。

概要画面の実行の詳細

  1. キャンペーン概要のランキングがキャンペーン概要画面に表示されます。 画面には、週間トップの投稿者と週間トップのアイデアの一覧も表示されます。

  2. 週間トップの投稿者は、galCampaignStatsTopContributors ギャラリーに一覧表示され、アイデアの合計数と所有者の列ごとのアイデアが colIdeaStats_Raw コレクションから取得されます。 アイデアの数が多い上位 3 人の投稿者も降順で表示されます。

  3. 週間トップのアイデアは galCampaignStatsTopIdeas ギャラリーに一覧表示されます。 投票数が空白ではないアイデアが colIdeaStats コレクションから取得され、投票数が上位 3 つのアイデアが降順で表示されます。

  4. ログインしているユーザーにチームのロールがある場合、galCampaignSummary ギャラリーには、ドロップダウン フィールドを使用して制御可能なキャンペーンのうち、アクティブ、期限切れ、開始前、およびすべてのキャンペーンが降順 (キャンペーン開始日) で表示されます。

  5. キャンペーンは、検索バーを使用して名前とキャンペーンの説明で検索できます。

  6. キャンペーンの追加 ボタンの表示方法は gblAppManager グローバル変数によって制御できます。 新しいキャンペーンは、キャンペーンの追加 ボタンを使用して作成できます。

キャンペーンの詳細画面

このセクションでは、キャンペーンの詳細画面のコレクション、変数、および実行の詳細について説明します。

キャンペーンの詳細画面のコレクション

キャンペーンの詳細画面が使用するコレクション:

コレクション名 内容
colIdeas 選択したキャンペーンのアイデアを収集するためのコレクション。
colVoteCounter アイデアが受け取った投票数を数えるためのコレクション。
colVotes アイデアへの投票を収集するコレクション。

キャンペーンの詳細画面の変数

キャンペーンの詳細画面が使用する変数:

変数名 内容
gblAppManager グローバル変数は、ユーザーがアプリ マネージャーの特権を持っているかどうかを確認します。
gblRecordCampaignIdea 選択したキャンペーンのアイデアを取得するグローバル変数。
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であることを示す)。
locVisibleCampaignView conCampaignDetailCard データ カードの Visible プロパティを制御するローカル変数 (値が true の場合にのみキャンペーンが表示される)。
locVisibleCampaignCreate conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に新しいキャンペーンの作成が可能であることを示す)。
locVisibleCampaignIdea conCampaignDetailsIdeas コンテナーの Visible プロパティを制御するローカル変数 (アイデアの表示が可能だが、編集はできないことを示す)
locVisibleIdeaCommands アイデアの削除 ボタンの表示方法を制御するために使用されるローカル変数 (galIdeaCommands)。
locSortGalCampaignDetailNav galCampaignDetailNav ギャラリーを並べ替えるために使用するローカル変数。

キャンペーン詳細画面の実行詳細

  1. galCampaignDetailNav ギャラリーには、アルファベット順に並べ替えられたキャンペーンの一覧が表示され、キャンペーン名に基づいて検索することもできます。

  2. キャンペーンは、キャンペーン名に基づいて並べ替えることもできます。 並べ替えの画像を選択すると、キャンペーンを昇順/降順で並べ替える locSortGalCampaignDetailNav 変数が更新されます。

  3. キャンペーンの追加ボタンにより、ユーザーは新しいキャンペーンを追加できるようになります。

  4. 任意のキャンペーンを選択すると、gblSelectedRecordCampaign 変数が選択したキャンペーンに設定されます。

  5. 選択したキャンペーンのアイデア (gblSelectedRecordCampaign 変数) は従業員アイデアのテーブルからフィルター処理され、colIdeas コレクションで収集されます。

  6. 実際の値の colVoteCounter コレクションから一時的な投票のオフセットが削除されます。

  7. conCampaignDetailCard コンテナーには、名前、説明、キャンペーン期間の日付、カバー画像、キャンペーンの開始、終了、または有効期限の日数が表示されます。

  8. galCampaignDetailsIdeas ギャラリーには選択したキャンペーンで利用可能なアイデアが一覧表示されます (colIdeas コレクション)。 ドロップダウンの選択に基づいてアイデアを並べ替えることができます。 使用可能なオプションは、「最新」、「最も古い」、および「トップの投票」です。

  9. ユーザーは、いいね ボタンを選択してアイデアに投票できます。

  10. いいね ボタンの初回の選択により、アイデアが colVotes コレクションに追加され、colVoteCounter コレクションの値が 1 増加します。

  11. アイデアに興味がない場合、アイデアが colVotes コレクションから削除され、colVoteCounter コレクションの値が 1 減少されます。

  12. アイデアの送信 ボタンを選択すると、ユーザーは選択したキャンペーンの新しいアイデアを作成できます。

  13. 編集 ボタンを選択すると、ユーザーは選択したキャンペーンを編集できるようになります。

  14. 戻る ボタンを選択すると、ユーザーはキャンペーンの概要画面に戻ります。

アイデア キャンペーンの追加

このセクションでは、アイデアのキャンペーンの追加中に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアのキャンペーンを追加するときに使用されるコレクション

次のコレクションは、アイデアのキャンペーンを追加するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。
colStockImages ストック カバー画像のコレクションに使用されます。
colQuestionsToDelete キャンペーンの追加/編集中に削除された質問を収集するために使用されます。
colIdeas 特定のキャンペーンのアイデアを収集するために使用されます。

アイデアのキャンペーンを追加するときに使用される変数

次の変数は、アイデアのキャンペーンを追加するときに使用されます。

変数名 内容
locBlockUserInput 保存の試行中にダイアログを表示することにより、ユーザー入力をブロックするために使用されるローカル変数。
locVisibleCampaignCreate conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に新しいキャンペーンの作成が可能であるかどうかを示す)。
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であるかどうかを示す)。
locVisibleCampaignView conCampaignDetailCard データ カードの Visible プロパティを制御するローカル変数 (値が true の場合にのみキャンペーンを表示できるかどうかを示す)。
locVisibleCampaignIdea conCampaignDetailsIdeas コンテナーの Visible プロパティを制御するローカル変数 (アイデアの表示が可能だが、編集はできないことを示す)。
locCreateNewCampaign conCampaignUpsert コンテナーの表示方法を制御するために使用されます。
gblSelectedRecordCampaign 現在のコンテキストにキャンペーン レコードを保存するグローバル変数。
gblSelectedRecordCampaign_FormValues 追加または編集されたキャンペーンのフィールド値を保存するグローバル変数。
locSelectedStockImage ストック画像が選択されているかどうかを確認するためのローカル変数。
locFormRecordCampaignPatch 更新されるキャンペーン レコードを保存するローカル変数。
locShowCampaignFormErrors 不足しているフィールドがある場合に表示されるエラー メッセージの表示方法を制御するローカル変数。
gblParamTeamId プランナーからグループ ID を設定するグローバル変数。
gblParamChannelId プランナーからチャネル ID を設定するグローバル変数。

アイデア キャンペーン追加中の実行詳細

  1. キャンペーン概要画面の キャンペーンの追加 ボタンを選択することにより、新しいキャンペーンを追加できます。

  2. キャンペーンの追加 ボタンを選択すると、locVisibleCampaignCreatelocVisibleCampaignEdit、および locVisibleCampaignIdea 変数が false に設定されます。 locVisibleCampaignViewlocCreateNewCampaign、および locBlockUserInput 変数は true。 そして、キャンペーンの詳細画面に移動します。

  3. galCampaignDetailNav ギャラリーは、locVisibleCampaignView、**locVisibleCampaignIdea、および locCreateNewIdea 変数の値に基づいて無効になります。

  4. キャンペーン名、説明、およびキャンペーンの開始日/終了日は、詳細を入力できる conCampaignForm コンテナーの一部です。

  5. galCampaignEditQuestions ギャラリーには、colQuestions コレクションに保存されているアイデアの質問の一覧が表示されます。

  6. galQuestionResponseRating ギャラリーには、質問に使用できる評価値が表示されます。

  7. galCampaignQuestionResponseType ギャラリーには、質問に使用できる回答の種類が表示されます。

  8. 追加 ボタンは、キャンペーンの開始日/終了日を含め、すべてのフィールドが入力されている場合にのみ有効になります。 新しい質問が追加または削除された場合、colQuestionsToDelete、および colQuestions コレクションが確認されます。

  9. 追加 ボタンを選択すると、新しいキャンペーン レコードが作成され、入力したすべてのフィールドが従業員アイデアのキャンペーン テーブルに更新されます。

  10. 新しい質問が追加された場合、colQuestions コレクションおよび従業員アイデアの質問テーブルで更新されます。

  11. 新しい質問が削除された場合、colQuestionsToDelete コレクションおよび従業員アイデアの質問テーブルから削除されます。

  12. 投稿先チャネル オプションを選択すると、gblParamChannelId および gblParamTeamId 変数に保存されている情報に基づいてメッセージが投稿されます。

  13. 作成されたキャンペーンに対するアイデアは、colIdeas コレクションに収集されます。

  14. 変数 locVisibleCampaignEditlocVisibleCampaignViewlocVisibleCampaignCreatelocCreateNewCampaignlocShowCampaignFormErrors、および locVisibleCampaignIdeaSubmitted の値が falseに設定されます。

  15. キャンペーン送信画面が表示され、確認メッセージがユーザーに表示されます。

アイデア キャンペーンの編集

このセクションでは、アイデアのキャンペーンの編集中に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアのキャンペーンを編集するときに使用されるコレクション

次のコレクションは、アイデアのキャンペーンを編集するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。
colStockImages ストック カバー画像のコレクションです。
colQuestionsToDelete キャンペーンの追加または編集中に削除された質問を収集するために使用されます。
colIdeas 特定のキャンペーンのアイデアを収集するために使用されます。

アイデアのキャンペーンを編集するときに使用される変数

次の変数は、アイデアのキャンペーンを編集するときに使用されます。

変数名 内容
locBlockUserInput 保存中にダイアログを表示することにより、ユーザー入力をブロックするために使用されるローカル変数。
gblSelectedRecordCampaign 現在のコンテキストにキャンペーン レコードを保存するグローバル変数。
gblSelectedRecordCampaign_FormValues 追加または編集されるキャンペーンのフィールド値を保存するグローバル変数。
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であることを示す)。
locFormRecordCampaign 編集されるキャンペーン レコードを保存するローカル変数。

アイデア キャンペーン編集中の実行詳細

  1. 既存のキャンペーンの一覧が、galCampaignSummary ギャラリーに表示されます。 任意のキャンペーンを選択すると、gblSelectedRecordCampaign 変数が選択したキャンペーンに設定され、ユーザーはキャンペーンの詳細ページに移動します。

  2. 編集 ボタンを選択すると、gblSelectedRecordCampaign 変数を使用してキャンペーンの詳細 (タイトルや説明など) が取得され、アイデアの質問は colQuestions コレクションから取得されます。

  3. locVisibleCampaignEdit 変数の値が true に設定され、conCampaignUpsert コンテナーが表示されます。

  4. 必要な詳細の更新と保存ができます。 保存 ボタンは、キャンペーンの開始日/終了日を含め、すべてのフィールドが入力されている場合にのみ有効になります。 新しい質問が追加または削除された場合、colQuestionsToDelete、および colQuestions コレクションが確認されます。

  5. 保存 ボタンを選択すると、更新されたすべてのフィールドは従業員アイデアのキャンペーン テーブルに保存されます (gblSelectedRecordCampaign 変数は編集されたキャンペーン レコードを保持します)。

  6. 追加/編集された質問について、colQuestions コレクションおよび従業員アイデアの質問テーブルが更新されます。

  7. 削除された質問は、colQuestionsToDelete コレクションおよび従業員アイデアの質問テーブルから削除されます。

  8. locVisibleCampaignView 変数の値が true に設定され、conCampaignUpsert コンテナーが表示されます。

アイデア キャンペーンの複製

このセクションでは、アイデアのキャンペーンの複製中に使用されるコレクション、変数、および実行の詳細について説明します

アイデアのキャンペーンを複製するときに使用されるコレクション

次のコレクションは、アイデアのキャンペーンを複製するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。
colQuestionsToDelete 編集プロセス中に削除された質問を収集するために使用されます。
colIdeas 特定のキャンペーンのアイデアを収集するために使用されます。
colStockImages ストック カバー画像のコレクションです。

アイデアのキャンペーンを複製するときに使用される変数

次の変数は、アイデアのキャンペーンを複製するときに使用されます。

変数名 内容
gblSelectedRecordCampaign キャンペーン レコードを保存するグローバル変数は現在のコンテキスト内にあります。
gblSelectedRecordCampaign_FormValues 追加または編集されるキャンペーンのフィールド値を保存するグローバル変数。
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であることを示す)。
locVisibleCampaignView conCampaignDetailCard データ カードの Visible プロパティを制御するローカル変数 (値が true の場合にのみキャンペーンが表示される)。
locVisibleCampaignCreate conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に新しいキャンペーンの作成が可能であることを示す)。
locBlockUserInput 保存中にダイアログを表示することにより、ユーザー入力をブロックするために使用されるローカル変数。

アイデア キャンペーン複製中の実行詳細

  1. キャンペーンは、キャンペーン詳細画面の 複製 ボタンを使用して複製できます。

  2. 複製 ボタンを選択すると、複製されるキャンペーンの詳細とともに gblSelectedRecordCampaign_FormValues 変数が設定されます (タイトル、説明、開始/終了日など)。 カバー画像は空白に設定されます。 新しく作成されたキャンペーンのタイトルには、(1) が追加されます。

  3. locVisibleCampaignCreate 変数の値が true に更新され、conCampaignUpsert コンテナーが表示されます。

  4. ユーザーは新しく作成したキャンペーンをさらに変更することができ、キャンペーンの追加 ボタンを選択します。

  5. キャンペーンの追加 ボタンの選択時、更新されたすべてのフィールドは従業員アイデアのキャンペーン テーブルに保存されます (gblSelectedRecordCampaign 変数は編集されたキャンペーン レコードを保持します)。

  6. 新しく質問が追加/編集された場合、colQuestions コレクションおよび従業員アイデアの質問テーブルで更新されます。

  7. 削除された質問は、colQuestionsToDelete コレクションおよび従業員アイデアの質問テーブルから削除されます。

  8. キャンペーン送信画面が表示され、確認メッセージが表示されます。

  9. キャンセル ボタンを選択すると、ユーザーはキャンペーンの概要画面に戻ります。

アイデア キャンペーンの削除

このセクションでは、アイデアのキャンペーンの削除中に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアのキャンペーンを削除するときに使用されるコレクション

次のコレクションは、アイデアのキャンペーンを削除するときに使用されます。

コレクション名 内容
colIdeas 特定のキャンペーンのアイデアを収集するために使用されます。

アイデアのキャンペーンを削除するときに使用される変数

次の変数は、アイデアのキャンペーンを削除するときに使用されます。

コレクション名 内容
gblSelectedRecordCampaign キャンペーン レコードを現在のコンテキストに保存するグローバル変数。
locVisibleDialog ダイアログのバックグラウンドでの表示方法を制御するローカル変数。
locVisibleDialogDelete 削除ダイアログの表示方法を制御するローカル変数。

アイデア キャンペーン削除中の実行詳細

  1. キャンペーンは、キャンペーン詳細画面の 削除 ボタンを使用して削除できます。

  2. 削除 ボタンを選択すると、locVisibleDialog、および locVisibleDialogDelete 変数の値が true に更新され、conConfirmDelete コンテナーが表示されます (削除の確認ダイアログ ボックス)。

  3. キャンペーンの削除を続行するには、ユーザーは 分かりました チェックボックスをオンにする必要があります。

  4. 削除 ボタンを選択すると、選択したキャンペーンが従業員アイデアのキャンペーン テーブルから削除され、関連アイデアが従業員のアイデア テーブルから削除されます。

  5. gblSelectedRecordCampaign 変数は、galCampaignDetailNav ギャラリーの最初のキャンペーンに設定され、関連キャンペーンのアイデアが colIdeas コレクションからフェッチされて、最初のキャンペーンの詳細が表示されます。

アイデアの質問の追加

このセクションでは、アイデアの質問の追加中に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアの質問を追加するときに使用されるコレクション

次のコレクションは、アイデアの質問を追加するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。

アイデアの質問を追加するときに使用される変数

次の変数は、アイデアの質問を追加するときに使用されます。

変数名 内容
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であることを示す)。
gblSelectedRecordCampaign キャンペーン レコードを現在のコンテキストに保存するグローバル変数。

アイデアの質問追加中の実行詳細

  1. キャンペーンの編集中に、新しいアイデアの質問を追加できます。

  2. + 質問の追加 ボタンを選択すると、colQuestions コレクションに新しいエントリが追加されます。 指示フィールドの値は、「*NEW QUESTION*」に設定されます。 既定の回答の種類が、「高」および「低」の値を持つ評価に設定されます (従業員アイデアの回答の種類)。

  3. 新しく追加した質問がリストの最後に表示されます。

  4. 保存 ボタンを選択すると、新しく追加された質問が従業員アイデアの質問テーブルに更新されます。

アイデアの質問の削除

このセクションでは、アイデアの質問の削除中に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアの質問を削除するときに使用されるコレクション

次のコレクションは、アイデアの質問を削除するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。
colQuestionsToDelete キャンペーンの追加/削除中に削除された質問を収集するために使用されます。

アイデアの質問を削除するときに使用される変数

アイデアの質問の削除は変数を使用しません。

アイデアの質問の削除中の実行詳細

  1. キャンペーンの編集中に、既存のアイデアの質問を削除できます。

  2. 削除 を選択すると、colQuestions コレクションから質問が削除され、削除された質問が colQuestionsToDelete コレクションに追加されます。

  3. 削除された質問は、galCampaignEditQuestions ギャラリーからも削除されます。

  4. 保存 を選択すると、削除された質問が従業員アイデアの質問テーブルから削除されます。

アイデアの質問の順序の変更

このセクションでは、アイデア キャンペーンの追加/編集時にアイデアの質問の順序を変更する場合に使用するコレクション、変数、および実行の詳細について説明します。

アイデアの質問の順序を変更するときに使用されるコレクション

次のコレクションは、アイデアの質問の順序を変更するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。

アイデアの質問の順序を変更するときに使用される変数

次の変数は、アイデアの質問を追加するときに使用されます。

変数名 内容
locSequenceCurrent 現在の質問のシーケンス番号を設定するローカル変数。
locSequenceNew 新しい質問のシーケンス番号を設定するローカル変数。

アイデアの質問順序変更時の実行詳細

  1. アイデアの質問のシーケンスは、質問の横にある上下矢印を使用して更新できます。

  2. ギャラリーの最初の質問では上矢印が無効になり、最後の質問では下矢印が無効になります (表示モードは msft_sequence field フィールドの値により制御されます)。

  3. colQuestions コレクションの質問は、locSequenceCurrent 変数と locSequenceNew 変数の値を比較することによって再配置されます。

質問への回答の種類の変更

このセクションでは、アイデア キャンペーンの追加/編集時にアイデアの質問の回答の種類を変更する場合に使用するコレクション、変数、および実行の詳細について説明します。

アイデアの質問の回答の種類を変更するときに使用されるコレクション

次のコレクションは、アイデアの質問の回答の種類を変更するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。

アイデアの質問の回答の種類を変更するときに使用される変数

アイデアの質問の回答種類の変更は変数を使用しません。

アイデアの質問の回答の種類を変更するときの実行詳細

  1. 質問の回答の種類は、galCampaignQuestionResponseType ギャラリーの一部として表示されます。

  2. galQuestionResponseRating ギャラリーの Visible プロパティは、locSequenceCurrent 変数および locSequenceNew 変数の値を比較することにより、galCampaignQuestionResponseType ギャラリーで選択した回答の種類によって制御されます。

  3. 回答の種類の評価として、番号のリストが表示されます — 最低は 1、最高は 5。

  4. 回答の種類がテキストの場合、長いと短いのオプションの切り替えが表示されます。

新しいアイデアの送信

このセクションでは、新しいアイデアの送信中に使用されるコレクション、変数、および実行の詳細について説明します。

新しいアイデアを送信するときに使用されるコレクション

次のコレクションは、新しいアイデアを送信するときに使用されます。

コレクション名 内容
colQuestions アイデアの質問を収集するために使用されます。
colResponses アイデアの質問への回答を収集するために使用されます。
colFiles アイデアに関連付けられたファイルを収集するために使用されます。

新しいアイデアを送信するときに使用される変数

次の変数は、新しいアイデアを送信するときに使用されます。

変数名 内容
gblSelectedRecordCampaign キャンペーン レコードを現在のコンテキストに保存するグローバル変数。
locVisibleCampaignIdea アイデアの詳細画面の表示方法を制御するために使用されるローカル変数。
locCreateNewIdea アイデアの詳細画面の表示方法を制御するために使用されるローカル変数。
locFormRecordIdea 作成されるアイデアのレコードを保存するために使用されるローカル変数。
gblParamTeamId プランナー グループ ID を保存する変数。
gblParamChannelId プランナー チャネル ID を保存する変数。

新しいアイデアを送信するときの実行の詳細

  1. 新しいアイデアは、キャンペーンの詳細画面から送信できます。

  2. アイデアの送信 ボタンを使用すると、選択したキャンペーンのアイデアの質問 (gblSelectedRecordCampaign) は colQuestions コレクションで収集されます。

  3. colResponses コレクションは、アイデアの回答を収集するために使用され、colQuestions コレクションの応答に存在するアイデアの質問はすべて colResponses コレクションで収集されます。

  4. colFiles コレクションがクリアされ、locCreateNewIdea および locVisibleCampaignIdea 変数は true に設定されます。

  5. locVisibleCampaignIdea 変数と locCreateNewIdea 変数の値が true に設定され、conCampaignIdeaPane および conIdeaImage コンテナーが表示されます。

  6. galIdeaResponses ギャラリーには、アイデアを保存するために入力する必要のあるフィールドが表示されます。

  7. 新しいファイル の画像を使用して、ユーザーは関連ファイルを追加できます。

  8. アイデアに追加されたファイルは、Items プロパティが colFiles コレクションに設定された galIdeaFiles ギャラリーの一部として表示されます。 対応するファイルのアイコンが表示されます (colFileIcons コレクションに保存)。

  9. 削除 により、colFiles コレクションから添付ファイルが削除されます。

  10. チャネルで共有 の切り替えを「オン」に設定すると、アイデアの作成に関するチャンネルにメッセージが投稿されます。

  11. 戻る により、ユーザーはキャンペーンの概要画面に戻ります。 キャンセル によりキャンペーンの詳細が表示されます。

  12. colResponses が空白でない場合、保存 が有効になります。 アイデアの送信 を選択すると、colResponses コレクションと colFiles コレクションに結果が保存され、従業員アイデアの回答テーブルに更新されます。チャネルで共有 オプションが「はい」に設定されている場合は、アプリの開始時に収集された gblParamTeamId および gblParamChannelId 変数の値に基づいて、チャネルに投稿されます。

  13. colFilescolIdeas、および colResponses からのデータは、従業員アイデアのファイル テーブル、従業員アイデアおよび従業員アイデアの回答テーブルにそれぞれ更新されます。

  14. locVisibleCampaignIdeaSubmitted 変数の値が true に設定され、conIdeaSubmtted コンテナーが表示されます (アイデア送信済のメッセージ)。

  15. アイデア リストに戻る により、locVisibleCampaignView 変数が true に設定され、キャンペーンの詳細が表示されます。

アイデアの削除

このセクションでは、アイデアの削除時に使用されるコレクション、変数、および実行の詳細について説明します。

アイデアを削除するときに使用されるコレクション

次のコレクションは、アイデアを削除するときに使用されます。

コレクション名 内容
colResponses アイデアの回答を収集するために使用されます。
colFiles アイデアに関連付けられたファイルを収集するために使用されます。

アイデアを削除するときに使用される変数

次の変数は、アイデアを削除するときに使用されます。

変数名 内容
locVisibleIdeaCommands アイデアの削除ボタンの表示方法を制御するために使用されるローカル変数 (galIdeaCommands)。
gblRecordCampaignIdea キャンペーンのアイデア レコードを現在のコンテキストに保存するグローバル変数。
locVisibleCampaignIdea アイデアの詳細の表示方法を制御するために使用されるローカル変数。
locVisibleDialog ダイアログのバックグラウンドでの表示方法を制御するローカル変数。
locVisibleDialogDelete 削除ダイアログの表示方法を制御するローカル変数。
locVisibleCampaignEdit conCampaignUpsert コンテナーの Visible プロパティを制御するローカル変数 (値が true の場合に既存のキャンペーンの編集が可能であることを示す)。

アイデアを削除するときの実行の詳細

  1. galCampaignDetailsIdeas ギャラリーから任意のアイデアを選択すると、gblRecordCampaignIdea 変数が選択したアイデアに設定され、colResponses および colFiles に保存されていて対応する詳細が表示されます。

  2. locVisibleCampaignIdea 変数の値が true に設定され、アイデアの詳細が表示されます。

  3. ユーザーは、投票ボタンの横にある 詳細 アイコンを使用して、選択したアイデア レコードを削除できます。 このアクションには、locVisibleIdeaCommands 変数の値に基づいて削除ボタンが表示されます。

  4. 削除 により、locVisibleDialog、および locVisibleDialogDelete の値が true に更新され、conConfirmDelete コンテナーが表示されます (削除の確認ダイアログ)。

  5. キャンペーンの削除を続行するには、ユーザーは 分かりました チェックボックスをオンにする必要があります。

  6. 削除 を選択すると、選択したキャンペーンが従業員アイデアのキャンペーン テーブルから削除され、関連アイデアが従業員のアイデア テーブルから削除されて、colIdeas コレクションが更新されます。

  7. locVisibleCampaignView 変数の値が true に設定され、キャンペーンの詳細が表示されます。

設定画面

このセクションでは、アプリの構成を編集するとき、設定画面で使用されるコレクション、変数、および実行の詳細について説明します。

設定画面のコレクション

設定画面では、次のコレクションを使用します。

コレクション名 内容
colIdeaStats_Raw 所有者に関する詳細を含む統計のために、生のアイデアを収集するのに使用されます。

設定画面の変数

設定画面では、次の変数を使用します。

変数名 内容
locBlockUserInput 保存中にダイアログを表示することにより、ユーザー入力をブロックするために使用されるローカル変数。
gblRecordSettings チームおよびチャネル ID を従業員のアイデア設定テーブルに設定するために使用されるグローバル変数。
gblSettingNotificationChannelId 通知が投稿されるチャネル ID を保存するグローバル変数。
gblDropdownChannel グループのチャネルのリストを保存するグローバル変数。

設定画面の実行の詳細

  1. ユーザーには、チームの所有者のみがキャンペーンを追加し、メッセージを投稿するチャネルを選択できるかどうかを更新できる実現可能性があります。

  2. ドロップダウンのチャネルの一覧の元は、gblDropdownChannel 変数です。

  3. 保存 ボタンは、ドロップダウンの値が選択されたとき、またはチーム所有者の制限の値が gblRecordSettings の変数に保存されている値と異なる場合 (アプリの開始時に設定される)、有効になります。

  4. 保存 により、従業員アイデアの設定テーブルの詳細が更新され、ユーザーはキャンペーンの概要画面に移動します。 locBlockUserInput 変数の値は true に設定され、保存の処理中にユーザーがそれ以上更新しないようにします。

  5. キャンセル により、ユーザーは前の画面に移動します。

バージョン情報画面

このセクションでは、設定画面のコレクション、使用された変数、および実行の詳細について説明します。

[バージョン情報] 画面のコレクション

[バージョン情報] 画面はコレクションを使用しません。

[バージョン情報] 画面の変数

[バージョン情報] 画面は変数を使用しません。

[バージョン情報] 画面の実行の詳細

  1. conHeader_About コンテナーの Power Apps を使用してカスタマイズ のボタンは、Microsoft Teams で Power Apps を開きます。

  2. galAbout_HelpLinks ギャラリーにはヘルプ リンクが保存されています。

  3. このアプリをカスタマイズする方法 ボタンで、アプリをカスタマイズする方法を説明する外部リンクが表示されます。

  4. アイデアを送信する ボタンで、アプリのアイデアを投稿できる外部リンクが表示されます。

  5. コミュニティとの連携 ボタンで、Power Apps コミュニティ ページが表示されます。

  6. conAbout_AppVideo コンテナーには、アプリの概要を提供するビデオのリンクが含まれています。

  7. galAbout_OtherApps ギャラリーには、チームのストアの他の Power Apps へのリンクが含まれています。

  8. アプリの表示 ボタンで、Microsoft Teams アプリ ストアのアプリ ページが表示されます。

  9. アプリの概要 ボタンで、アプリの概要ビデオが表示されます。

  10. conAbout_Version は、アプリ バージョンに関する情報を提供します。

関連項目

従業員のアイデア アプリをカスタマイズする
従業員のアイデアのサンプル アプリ
Microsoft Teams ストアからのサンプル アプリを使用する
Teams ストアからインストールされたサンプル アプリをカスタマイズする
サンプル アプリについてよく寄せられる質問 (FAQ)