تعریف برنامهٔ Model-Driven
شناسهٔ شِما: model-driven-app@1
شِمای قابلخواندن توسط ماشین: model-driven-app.schema.json
بازنمایی مرجع یک برنامهٔ Model-Driven (بخش 6.7) — یک برنامهٔ نامدار که زیرمجموعهای گزیده از جدولها، داشبوردها و گزارشهای محیط را در قالب یک ناوبری (نقشهٔ سایت) با یک صفحهٔ خانه گرد هم میآورد، درست همانگونه که یک برنامهٔ model-driven در Power Apps این کار را میکند. به شکل یکسان اعتبارسنجی میشود، چه از طراح بیاید، چه از یک فراخوانی API، چه از یک دستیار هوش مصنوعی، و چه از یک وارد کردن راهحل.
شکل
| فیلد | نوع | اجباری | یادداشتها |
|---|---|---|---|
logicalName | string | بله | پیشوند ناشر در ابتدا، با snake-case کوچک (برای مثال، par_sales_app). |
displayName | string | بله | نام خوانای برنامه که روی کاشی راهانداز نمایش داده میشود. |
publisherPrefix | string | بله | پیشوند ناشر مالک؛ نام منطقی باید با آن آغاز شود. |
description | string | خیر | توصیف کوتاهی که روی کاشی راهانداز نمایش داده میشود. |
icon | string | خیر | کلید آیکون برای کاشی راهانداز و سرآیند نوار کناری برنامه. |
supportsTasks | boolean | خیر | اینکه این برنامه در فرایندهای کاری شرکت کند. با روشنبودنش، پوسته تا وقتی برنامه باز است فهرست کارها و دکمهٔ تصمیم را پیش میگذارد؛ با خاموشبودنش هیچکدام را نمیکشد. پیشفرض خاموش است، چون بیشتر برنامهها بخشی از یک فرایند نیستند و صندوق ورودی روی چنین برنامهای، تزیینی است که هرگز چیزی در آن نیست. |
home | مقصد | بله | آنچه در /apps/{id} باز میشود؛ باید در navigation بیاید. پایینتر را ببینید. |
navigation | array | بله | یک یا چند گروه ناوبری (نقشهٔ سایت؛ پایینتر را ببینید). |
includes | array | خیر | اجزای برنامه: چیزهایی که میتواند باز کند و روی نقشهٔ سایتش نیستند. پایینتر ببینید. |
مقصد
جایی که برنامه میتواند برود — یک شکل واحد، هم برای یک آیتم ناوبری و هم برای home.
این یک انتخاب سنجیده است: «خانه باید جایی باشد که ناوبری به آن میرود» آنگاه مقایسهٔ دو
مقدار از یک نوع است، نه سه بررسی تقریباً یکسان که میتوانند هر بار برای یک گونه از هم
فاصله بگیرند.
| فیلد | نوع | اجباری | یادداشتها |
|---|---|---|---|
type | Entity | Dashboard | Report | بله | سه چیزی که پخشکننده میتواند روی صفحه بگذارد: یک شبکه، یک میزبان داشبورد، یک نمایشگر گزارش. |
target | string | بله | نام منطقی مقصد. اینکه باید در کدام انبارهٔ داده وجود داشته باشد را type تعیین میکند. |
گروه ناوبری
| فیلد | نوع | اجباری | یادداشتها |
|---|---|---|---|
title | string | بله | عنوان گروه که در ناوبری کناری برنامه نمایش داده میشود. |
items | array | بله | یک یا چند آیتم ناوبری (پایینتر را ببینید). |
آیتم ناوبری
یک مقصد، بههمراه اینکه این برنامه چگونه میخواهد آن را برچسب بزند. بازنویسی برچسب و نماد برای هر سه گونه کار میکند — برنامهای که جدول Accounts را «مشتریان» مینامد، به همان دلیل ممکن است داشبوردی را «امروز» بنامد.
| فیلد | نوع | اجباری | یادداشتها |
|---|---|---|---|
type | Entity | Dashboard | Report | بله | این آیتم چه چیزی را باز میکند. |
target | string | بله | نام منطقی آن (باید در محیط، بهعنوان همان گونه، وجود داشته باشد). |
displayName | string | خیر | بازنویسی برچسب برای نوار کناری این برنامه؛ در صورت حذف، نام نمایشی خودِ مؤلفه به کار میرود. |
icon | string | خیر | کلید آیکون برای آیتم نوار کناری. |
forms | آرایهای از string | خیر | تنها آیتمهای جدول. فرمهایی از این جدول که این برنامه ارائه میدهد، با نام منطقی. پایینتر را ببینید. |
views | آرایهای از string | خیر | تنها آیتمهای جدول. نماهایی از این جدول که این برنامه ارائه میدهد، با نام منطقی. |
هر مقصد ارجاعشده — چه در یک آیتم ناوبری و چه در home — باید در محیط و در همان
انبارهای که گونهاش نام میبرد وجود داشته باشد، و home باید با یکی از آیتمهای ناوبری هم
در type و هم در target بخواند. هر دو، افزون بر اعتبارسنجی شِما، در زمان ذخیره اعمال
میشوند (modelapps.app.unknown_entity، modelapps.app.unknown_dashboard،
modelapps.app.unknown_report، modelapps.app.home_not_in_navigation).
forms و views روی یک آیتم Dashboard یا Report رد میشوند، نه نادیده گرفته
(modelapps.app.component_selection_not_allowed): هیچکدام فرم یا نما ندارند، پس چنین
انتخابی اشتباهِ نویسنده است که در غیر این صورت بیصدا ناپدید میشد و او را به این باور
میرساند که چیزی را محدود کرده است.