React & Blazor + Fluent UI
現代的なReact + Vite + TypeScript SPAや ASP.NET Core Blazorを基盤に構築してください。どちらもMicrosoftのFluent UIデザインシステムでレンダリングされ、同じメタデータ駆動のコンポーネントとDataverseの機能を公開しています。チームのスキルに合ったスタックを選んでください。開発者体験、テーマ、アクセシビリティ、コンポーネントのカバレッジは両者で一貫しています。
Dataverse用のReact & Blazorフレームワーク+Fluent UIコンポーネント
Power Portals Proで、より賢く、より速く、よりクリーンな構築をしましょう。Microsoft Dataverseを加速させるためのツールとコンポーネントのフレームワークです。複雑さを飛ばし、柔軟性、スケーラビリティ、パフォーマンスを犠牲にすることなく、記録的な短期間で完全に動作するカスタムポータルを立ち上げましょう。
Power Portals Proは、フォームデータを読み取りMicrosoft Dataverseに保存する本番対応のReactおよびBlazorコンポーネントを提供します。コントロールはDataverseメタデータ(ラベル、ツールチップ、必須・制約)を使って自動設定され、フレームワークはローカライゼーションや翻訳を簡単に行います。
{/* Metadata-driven fields (label/required/min/max/length from Dataverse) */}
<RecordContext>
<Section>
<SectionColumn headerText="Account Info">
<ColumnEdit columnName="name" />
<ColumnEdit columnName="telephone1" />
<ColumnEdit columnName="websiteurl" />
<ColumnEdit columnName="parentaccountid" />
<ColumnEdit columnName="tickersymbol" />
</SectionColumn>
<SectionColumn headerText="Primary Contact">
<LookupRecordContext columnName="primarycontactid">
<Section>
<ColumnEdit columnName="firstname" />
<ColumnEdit columnName="lastname" />
<ColumnEdit columnName="emailaddress1" />
<ColumnEdit columnName="mobilephone" />
<ColumnEdit columnName="jobtitle" />
</Section>
</LookupRecordContext>
</SectionColumn>
</Section>
<SubGrid relationshipName="contact_customer_accounts" />
</RecordContext>

ライブデモの実画面 — ダッシュボードやチャート、インラインファイルのプレビュー、内蔵の画像表示と編集機能。どのスクリーンショットでも試してみてください。
Power Portals ProのコンポーネントはDataverseメタデータを使って自動的に設定されるため、ラベルやツールチップ、必要なルール、制約の配線にかかる時間が減り、ポータル体験の提供により多くの時間を割けます。
現代的なReact + Vite + TypeScript SPAや ASP.NET Core Blazorを基盤に構築してください。どちらもMicrosoftのFluent UIデザインシステムでレンダリングされ、同じメタデータ駆動のコンポーネントとDataverseの機能を公開しています。チームのスキルに合ったスタックを選んでください。開発者体験、テーマ、アクセシビリティ、コンポーネントのカバレッジは両者で一貫しています。
ラベル、ツールチップ、必須フラグ、最小・最大範囲、長さ制限はDataverseから提供されるため、各ページのエディターがフォームごとに設定されなくてもデータモデルと一貫しています。Dataverseで列名を変更したり制約を厳しくしたりすると、それを参照するすべてのポータルページが次のロード時に変更を拾い、ポータル側のコード編集や再デプロイは不要です。
ユーザーが保存すると、フォームフィールドに加えグリッドやサブグリッドの編集を含むすべての変更が単一のDataverseトランザクションに残るため、更新は原子的で、すべて成功するかロールバックされます。そして、React + Viteや ASP.NET Core Blazorで本格的なカスタムポータルを構築するため、npmや.NETのエコシステム全体、つまりライブラリ、ミドルウェア、認証プロバイダー、ログ、バックグラウンドサービスなど、すべてがあなたのものになります。
Power Portals Proは顧客対応サイトだけでなく、社内の従業員ポータル、部門のツール、バックオフィスアプリも一流のユースケースです。スタッフが自分のDataverse システムユーザーとしてサインインするため、既存の役割割り当てがセキュリティモデル となります 。重複した連絡先レコードがなく、並列権限システムもなく、単一のコードベースで内部スタッフと外部顧客を並行してサービスできます。
すべてのテーブルラベル、ツールチップ、表示名、選択オプションをどの言語にもローカライズでき、Dataverseが提供する言語パックに限定されることはありません。インストール済みの言語パックから翻訳をソース化したり、任意の文化ごとに自分でJSONファイルを提供したり、Dataverseが提供するものを上書きするJSONエントリで組み合わせたり、再デプロイせずにユーザーの言語を実行時に切り替えることができます。
数分でサイト全体を数十の言語に翻訳できます。組み込みの管理ページからローカライズファイルをアップロードし、目標言語を選択すると、すべての文字列がAzure Translator、DeepL、Googleで機械翻訳されます。既に翻訳済みのものを再利用するため、新しいものだけに料金を支払うことができます。言語ごと、または単一のzipで結果をダウンロードし、翻訳者なしで完全にローカライズされたポータルを配信できます。
コアアイデンティティ ASP.NET 基盤として、二つの観客に一流のサポートを提供します。スタッフはMicrosoft / Entra IDを通じて自身のDataverse システムユーザー としてサインインし、Dataverseのセキュリティロールは CallerId なりすましを通じて行、列、事業ユニットレベルのアクセスを強制します。顧客対応ユーザーはDataverseの 連絡先 にマッピングし、ローカルのユーザー名・パスワードに加えMicrosoft、Google、その他の ASP.NET コアプロバイダーを受け入れます。
任意のDataverseテーブルからレコードを読み込み、ユーザーの編集を1回のセーブコールで永続化するページを構築します。このフレームワークは、汚れたトラッキング、ルックアップ解決、関連レコードの更新、そしてFetchXML/Web APIの内部構造を扱っています。つまり、典型的な編集ページは宣言的なコンポーネントが数つで構成されており、Dataverse SDKに紐づけられた手書きのCRUDのページではありません。
必要なフラグ、最小/最大範囲、長さ制限、オプションセット制約はDataverseのメタデータから直接エディタに流れ込むため、フォームはDataverseがサーバー上で行うのと同様に無効な入力を拒否します。Dataverseで制約を変更すると、ポータルが次のページロード時に新しい動作を強制し、2か所で重複する検証ルールを2か所で維持する必要はありません。
Dataverseポータルの構成要素であるエディター、グリッド、チャート、レイアウト、テーマ設定は、ReactとBlazorの両方で利用可能です。
テキスト、メモ、数字、お金、ブール、選択、日付/時刻、ルックアップ、N:N、ファイル、画像など、すべてのDataverseのメタデータ(ラベル、ツールチップ、必須、最小/最大、長さ)から自己設定するメタデータ駆動型エディター。
ビュー、ページング、ソート、検索、インライン編集、関連レコード管理を備えた設定可能なMainGridおよびSubGrid。
ファイルレコード用の専用グリッドで、ドラッグ&ドロップでアップロード、インラインプレビュー、一括zipダウンロードが可能です。
テーマを意識したバーグラフ、ラインチャート、パイチャート、ドーナツチャート、レーダーチャート、ポーラーチャートと、Dataverseの集約データソース、クリックイベント、年次比較を組み合わせています。
ページレイアウト、レスポンシブナビゲーション、そして一貫したポータルシェルを組み立てるためのセクション/カラムプリミティブ。
内蔵のライト/ダークモード、アクセントカラー、SiteSettingsButtonによる右から左への切り替え、すべてFluentデザイントークンによって駆動されます。
Dataverseのメタデータから洗練された動作するポータルページへのスムーズな流れ。
エディタをDataverseのエンティティや属性(列)にバインドします。
エディターはラベルやツールチップを取り出し、必要な+制約を自動的に強制します。
Dataverseの期待に合致するパターンで、変更を確実に提出しましょう。
両者ともDataverse上でポータルを構築しています。比較は以下の通りです。
| 特徴 | パワーポータルズプロ | パワーページ |
|---|---|---|
| 技術 | React(Vite SPA)またはBlazor(Server、WebAssembly、またはAuto)— C# + TypeScript | ローコード/リキッドテンプレート |
| UIフレームワーク | Microsoft Fluent UI(React & Blazor) | Bootstrap(カスタマイズ可能) |
| 司会 | セルフホスト(Azure、任意のクラウド) | Microsoftホスト |
| ソース制御 | Gitの完全なコードベース | 構成ベース |
| フォームコンポーネント | メタデータ駆動型編集者 | ビジュアルフォームデザイナー |
| データグリッド | メイングリッドとサブグリッド(インライン編集、ビュー、ページング機能付き) | 基本構成リスト |
| チャート | ✓ Dataverseのデータソース、クリックイベント、集計を含むテーマ認識型チャート | 基本的なPower BI埋め込み |
| トランザクションセーブ | ✓ マルチレコード原子トランザクション | ✗ |
| 記録レベルのセキュリティ | ✓ コード駆動の権限ハンドラ | テーブル権限(設定ベース) |
| 内部ポータルとサイト | ✓ 従業員ポータル、社内ツール、バックオフィスサイトを構築し、スタッフが自分のDataverseユーザーとしてサインインする — Dataverseのセキュリティロールは CallerId なりすましによるアクセスを強制し、並列のアイデンティティモデルは不要です |
主に外部向けポータル向けに設計されており、内部スタッフは連絡先としてサインイン(並行識別) |
| サーバーサイドインターセプター | ✓ すべての操作におけるビフォー/アフターフック | ✗(プラグインが必要) |
| 局所化 | ✓ テーブル、列、ビュー、選択、カスタム文字列の完全な制御 | Dynamics言語パックに限定され、見解や選択肢は現地化が難しい |
| N:N 関係エディター | ✓ ManyToManyLookupEdit コンポーネント | ✗(カスタム開発が必要) |
| オフライン開発 | ✓ 完全なローカル開発経験 | ✗ クラウド接続が必要 |
| CI/CDパイプライン | ✓ 標準の.NETビルドおよびデプロイ | パワープラットフォームパイプライン |
| カスタムビジネスロジック | C# — 無限の柔軟性 | Power Automate / プラグイン |
| 価格モデル | 月額固定ライセンス料 | ユーザーごと/サイトごと、容量パック付き |
月349ドルだ。一つの製品、継続的なアップデート。
Data verse portal のためのFramework + components
Dataverseポータル開発者向けにカスタマイズされた回答。
エディターやグリッドはDataverseのメタデータを使ってラベルやツールチップを設定し、必須フィールド、最小・最大値、長さ制限などの制約を強制します。これにより、ポータルがデータモデルと一貫性を保てます。
Power Portals ProはReact + Vite + TypeScriptのシングルページアプリまたは ASP.NET Core Blazorアプリとして提供されます。両者ともMicrosoftのFluent UI設計システムに基づいて構築されており、現代的で一貫したエンタープライズの見た目と操作感を実現しており、同じメタデータ駆動型コンポーネントとDataverseの機能を公開しています。
はい。グリッドコンポーネントは、関連レコード(例えばアカウント上の子連絡先)を表示するためのサブグリッドとして設定できます。
このフレームワークには、初日からローカリゼーションや翻訳の設計が容易になる機能が含まれています(ラベルや内容は言語や地域ごとに異なる計画が可能です)。
はい、そして箱から出して2つの観客を支持しています。社内ポータルでは、スタッフがMicrosoft / Entra IDを通じて自分のDataverseシステム ユーザー としてサインインでき、Dataverseのセキュリティロールは CallerId なりすましを通じて行、列、事業単位レベルのアクセスを自動的に強制します。顧客向けポータルはDataverseの 連絡先 をユーザーにバックアップし、ローカルユーザー名・パスワードに加え、外部プロバイダー(Microsoft、Googleなど)をCore Identityを通じて受け入れ ASP.NET。両方のオーディエンスは同時に1つのポータルを共有することができます。
Power Portals Proはローカル認証(ユーザー名/パスワード)およびMicrosoft Entra ID(Azure AD)、Google、その他 ASP.NET コア認証でサポートされている外部のアイデンティティプロバイダーをサポートしています。
はい、それは後付けではなく、コアなユースケースです。社内ポータル、部門のツール、またはスタッフがMicrosoft / Entra IDを通じて自分のDataverse systemuser としてサインインできるバックオフィスサイトを構築しましょう。ポータルはサインインしたユーザーを systemuser.azureactivedirectoryobjectid と照合し、解決された場合は ServiceClient.CallerId を通じてそのユーザーになりすます。つまり、Dataverseのセキュリティロールはポータル側の権限コードなしで、行、列、事業単位レベルのアクセスを強制します。既存のDataverseの役割割り当てがセキュリティモデルです。一致するsystemuserが見つからない場合、サインインは連絡ベースのフローに戻され、同じポータルが内部スタッフと外部顧客の両方に同時に対応できるようにします。
はい、単一のMicrosoftサインインをDataverseの systemuser (社内アカウント)と contact (テストレコード、または顧客側のレコード)の両方にリンクすれば、初回サインイン時に選択ツールが表示され、その後プロファイルメニューには「 Switch to contact / Switch to systemuser 」のエントリが表示されます。これは、管理者アカウントからサインアウトせずに、連絡先側の体験を検証するための標準的なパターンです。レンダリング、隠しツールバーボタン、権限駆動のコンテンツです。選択者は小さなプロバイダー別キークッキーに記憶されるため、その後のサインインは最後に選んだIDに直接送られます。
いいえ。Power Portals Proは、環境内でPower Pagesを有効にする必要はありません。Power Pagesを使っていないため、Power Pagesに関連するライセンス費用はかかりません。
Power Portals ProはFluent UI上で構築されたReact + Blazorフレームワークおよびコンポーネントセットで、Dataverseと統合されるカスタムポータルを構築するためのものです。コアアイデンティティ(連絡先としてユーザー、馴染みのある連絡先フィールドを使用)ASP.NET 使われ、Power Pagesの有効化を必要としないため、Power Pagesのライセンスコストを回避できます。
Power Portals Proは月349ドルで始めましょう。
技術サポートをお探しの方、ライセンスに関するご質問、またはPower Portals Proがご要望にどのように対応できるかについてご相談いただける方も、私たちがサポートいたします。
メール:一般的なお問い合わせは support@powerportalspro.com までお問い合わせください。
サポートチケット: 技術的な問題やバグ報告については、 GitHubリポジトリでサポートチケットを作成してください。
私たちは迅速に対応し、Power Portals Proでの成功をお手伝いすることを約束します。さらに連絡手段はサポート ページをご覧ください。