پرش به مطلب اصلی

ساخت یا ویرایش یک برنامهٔ مدل‌محور

هدف​

یک برنامهٔ مدل‌محور بسازید — برنامه‌ای نام‌دار که مجموعه‌ای برگزیده از جدول‌ها، صفحه‌های استودیو و گزارش‌های محیط را در یک ناوبری (نقشهٔ سایت) با یک صفحهٔ خانه گرد هم می‌آورد و آمادهٔ آن است که کاربر آن را در پوستهٔ پلتفرم باز کند — یا نام، ناوبری یا صفحهٔ خانهٔ یک برنامهٔ موجود را تغییر دهید.

پیش‌نیازها​

  • با نقش سازنده (یا مدیر پلتفرم) وارد شده‌اید.
  • جدول‌هایی که برنامه نشان خواهد داد از پیش در محیط وجود دارند (سناریوی ساخت یک موجودیت را ببینید)، و همچنین هر صفحهٔ استودیو (کشیدن یک برنامهٔ استودیو) یا گزارشی (ساخت یک گزارش) که می‌خواهید در ناوبری آن باشد.
  • پیشوند ناشرِ مالک را می‌دانید (برای نمونه، par). نام منطقی برنامه باید با همان پیشوند آغاز شود.

گام‌ها​

  1. در نوار کناری سمت راست، محیطی را که در آن کار می‌کنید و راه‌حلی را که برنامه به آن تعلق دارد، از انتخابگرهای محیط و راه‌حل برگزینید. پیشوند ناشرِ مالک زیر آن‌ها نمایش داده می‌شود (برای نمونه، par_) و نام برنامه با همان پیشوند فضانام‌بندی می‌شود.
  2. صفحهٔ برنامه‌ها را از ناوبری نوار کناری باز کنید. این صفحه برنامه‌های محیط را به‌صورت یک فهرست نشان می‌دهد.
  3. برای ساخت یک برنامه گزینهٔ جدید را انتخاب کنید، یا برای تغییر یک برنامهٔ موجود سطر آن را برگزینید و سپس ویرایش را انتخاب کنید. در هر دو حالت، پنلی در کنارهٔ صفحه با جزئیات برنامه باز می‌شود.
  4. یک نام نمایشی وارد کنید (برای نمونه، Sales).
  5. برای یک برنامهٔ تازه، یک نام منطقی وارد کنید که با پیشوند ناشر آغاز شود — برای نمونه، par_sales_app. هنگام ویرایش یک برنامهٔ موجود، نام منطقی نمایش داده می‌شود اما قابل تغییر نیست.
  6. در صورت تمایل یک توضیح (که روی کاشی برنامه در راه‌انداز دیده می‌شود) و یک کلید نماد وارد کنید.
  7. ناوبری برنامه را بسازید. هر گروه ناوبری یک عنوان دارد و زیر آن ردیفی از دکمه‌ها — برای هر گونه مقصد یکی: افزودن جدول به ناوبری، افزودن گزارش به ناوبری و افزودن صفحه به ناوبری. هر دکمه یک فهرست جست‌وجوپذیر از آن گونه را باز می‌کند؛ برای باریک کردن فهرست، نامی که به مقصد داده‌اید یا نام منطقی آن را بنویسید، سپس یکی را برای قرار دادن انتخاب کنید. هر دکمه تنها زمانی دیده می‌شود که محیط چیزی برای گذاشتن در آن داشته باشد، پس محیطی بدون گزارش، دکمهٔ گزارش نشان نمی‌دهد. هر مورد قرارگرفته می‌تواند یک برچسب جایگزین و یک نماد اختیاری بگیرد و می‌توان آن را برداشت. برای تغییر ترتیب موردهای یک گروه، سطر را از دستگیرهٔ کنارهٔ آغازینش بکشید — ترتیبی که رها می‌کنید همان ترتیبی است که ناوبری برنامه نشان می‌دهد. بدون ماوس: روی دستگیره تمرکز کنید، Space را برای برداشتن سطر، کلیدهای جهت‌دار را برای جابه‌جایی و دوباره Space را برای رها کردن آن بزنید. برای افزودن گروه ناوبری دیگری، افزودن گروه را انتخاب کنید.
  8. در صورت تمایل انتخاب کنید این برنامه برای یک جدول قرارگرفته چه فرم‌ها و نماهایی ارائه دهد — به «انتخاب آنچه برنامه برای یک جدول ارائه می‌دهد» در پایین نگاه کنید. زیر نام هر جدول قرارگرفته، سطر می‌گوید برنامه هم‌اکنون چه چیزی ارائه می‌دهد («۳ فرم · ۲ نما»، یا پس از محدود کردن یک فهرست «۲ از ۵ فرم»)، و دکمهٔ تنظیم‌کننده‌ها این انتخاب را باز می‌کند. سطر یک داشبورد و سطر یک گزارش به‌جای آن می‌گویند از کدام گونه‌اند و دکمهٔ تنظیم‌کننده‌ها ندارند: هیچ‌کدام فرم یا نمایی برای انتخاب ندارند.
  9. صفحهٔ خانهٔ برنامه را انتخاب کنید — آنچه هنگام آغاز برنامه توسط کاربر باز می‌شود و جایی که ورودی خانه در ریل به آن می‌رود. می‌تواند یک جدول، یک صفحهٔ استودیو یا یک گزارش باشد، و فهرست تنها آنچه را که در ناوبری قرار داده‌اید پیشنهاد می‌دهد. یک صفحه در اینجا همان راهی است که برنامه به‌جای شبکه‌ای از سطرها با اعداد زنده باز می‌شود.
  10. گزینهٔ افزودن برنامه (یا هنگام ویرایش، ذخیره) را انتخاب کنید. پنل بسته می‌شود و فهرست با تغییرات شما تازه می‌شود.
  11. برنامه را به کسانی که از آن استفاده می‌کنند بدهید. ساختن، آن را به اشتراک نمی‌گذارد: برنامهٔ تازه فقط برای سازندگان و مدیران دیده می‌شود و برای هیچ‌کس دیگر. سطر برنامه را انتخاب کنید و سپس اشتراک‌گذاری را بزنید — نگاه کنید به دادن یک برنامه به کسانی که از آن استفاده می‌کنند.

صفحه‌ها و گزارش‌ها در یک برنامه​

هر مورد ناوبری یک مقصد است و سه گونه دارد:

  • یک جدول فهرست خود و رکوردها، نماها و فرم‌های پشت آن را باز می‌کند.
  • یک صفحهٔ استودیو تمام ناحیهٔ محتوا را می‌گیرد — آنچه کشیده‌اید خودِ صفحه است.
  • یک گزارش نمایشگر گزارش را روی کل جدول باز می‌کند، آمادهٔ چاپ. (گزارشی که از فرم یک رکورد یا از نوار فرمان یک نما اجرا شود، همان رکورد یا همان صافی را با خود می‌برد؛ گزارشی که از ناوبری باز شود چنین نمی‌کند، چون چیزی روی صفحه نیست که با خود ببرد.)

هرکدام نشانی خود را دارند، پس همه را می‌توان نشانه‌گذاری، هم‌رسانی، تازه‌سازی و سنجاق کرد: /apps/{app}/{table}، /apps/{app}/dashboard/{name}، /apps/{app}/report/{name}.

اینکه چه کسی می‌تواند یکی را باز کند، یک مجوز است. باز کردن یک صفحه و اجرای یک گزارش، مانند هر مجوز دیگری در اختیار یک نقش امنیتی قرار می‌گیرند. کاربری بدون این مجوز، مورد را در ریل می‌بیند و به او گفته می‌شود که اجازهٔ باز کردنش را ندارد، به‌جای آنکه اعداد کس دیگری به او نشان داده شود. جدا از آن، هرچه یک صفحه و مجموعه‌دادهٔ یک گزارش می‌خوانند با مجوزهای رکوردی خودِ خواننده صافی می‌شود — پس دو نفر که یک صفحه را باز می‌کنند، رکوردهایی را می‌بینند که هرکدام مجاز به دیدنشان است.

داشبوردها بازنشسته شده‌اند

پلتفرم پیش‌تر داشبورد — شبکه‌ای از ابزارک‌های KPI، نمودار و نما — را به‌عنوان گونهٔ چهارم مقصد پیشنهاد می‌داد، و استودیوی برنامه جای آن را گرفت: یک صفحهٔ کشیده‌شده هر کاری را که داشبورد می‌کرد انجام می‌دهد و همان بومی است که از پیش یاد می‌گیرید. پس نه فهرست داشبوردها هست، نه طراح داشبورد، و نه دکمهٔ افزودن داشبورد. برنامه‌ای که از پیش یکی را نام می‌برد همچنان آن را باز می‌کند و مجوزش هم برقرار است — چیزی از آنچه ذخیره شده تغییر نکرده — اما مورد تازه به‌صورت یک صفحهٔ استودیو کشیده می‌شود. سناریوی کشیدن یک برنامهٔ استودیو را ببینید.

انتخاب آنچه برنامه برای یک جدول ارائه می‌دهد​

یک جدول در طول عمرش فرم‌ها و نماهای بیشتری جمع می‌کند — فرمی برای مدیر در کنار فرمی که یک فروشنده به کار می‌برد، نمای «موارد باز من» که تنها برای یک تیم معنا دارد. برنامه‌ای که همهٔ آن‌ها را نشان دهد، همان‌جاست که جدولی مرتب به برنامه‌ای شلوغ تبدیل می‌شود.

دکمهٔ تنظیم‌کننده‌ها روی سطر جدول قرارگرفته را انتخاب کنید (فرم‌ها و نماهای جدول) تا این انتخاب باز شود. هر فهرست یکی از این دو است:

  • همهٔ فرم‌های این جدول، از جمله فرم‌هایی که بعداً افزوده شوند — برنامه از جدول پیروی می‌کند. فرمی که فردا به جدول بیفزایید، خودبه‌خود در این برنامه دیده می‌شود.
  • تنها موارد انتخاب‌شده در زیر — یک انتخاب بسته. فرمی که پس از آن به جدول افزوده شود در این برنامه دیده نمی‌شود مگر آنکه بازگردید و آن را علامت بزنید.

همین تفاوت است که دلیل وجود هر دو گزینه است، و با علامت زدن همهٔ کادرها یکی نیست: سازنده‌ای که فرم‌های یک برنامه را گزینش کرده، به‌ندرت می‌خواهد فرم بعدی بی‌خبر در آن ظاهر شود، و سازنده‌ای که چیزی گزینش نکرده همیشه می‌خواهد. با انتخاب تنها موارد انتخاب‌شده، همه‌چیز از پیش علامت خورده است، پس آنچه را نمی‌خواهید برمی‌دارید، نه اینکه فهرست را از نو بسازید.

برداشتن علامت همه، جدول را پنهان نمی‌کند — جدولی بدون فرم اصلاً باز نمی‌شود — پس به‌صورت «همه» ذخیره می‌شود، و پنجره تا وقتی در آن حالت هستید همین را می‌گوید.

این انتخاب تعیین می‌کند برنامه کدام فرم‌ها و نماها را ارائه دهد، نه ترتیب نمایش‌شان و نه اینکه کدام‌یک نخست باز شود. آن‌ها همچنان از آنِ خودِ جدول‌اند.

شمارش‌های زیر نام جدول، بدون باز کردن پنجره می‌گویند جدول در کدام حالت است: ۳ فرم · ۲ نما یعنی برنامه از جدول پیروی می‌کند، و ۲ از ۵ فرم یعنی فهرستی را بسته‌اید.

ناوبری بلند را به ناحیه‌ها تقسیم کنید​

کنار عنوان هر گروه، کادر ناحیه هست. به گروه‌ها ناحیهٔ یکسان بدهید — پذیرش برای رزروها و مشتریان، تنظیمات برای پیکربندی — و همین که دو ناحیه یا بیشتر نام گرفت، ناوبری برنامه هر بار یک ناحیه را با یک تعویض‌گر در پایین نشان می‌دهد. کادر را برای گروهی که باید در همهٔ ناحیه‌ها دیده شود، مثل صفحهٔ خانه یا امروز، خالی بگذارید. بدون هیچ ناحیه‌ای، ناوبری تغییری نمی‌کند.

پشت صحنه چه اتفاقی می‌افتد​

برنامه به‌صورت فراداده و محدود به همین محیط ذخیره می‌شود، با پیشوند ناشر فضانام‌بندی می‌شود و جزئی از راه‌حل انتخاب‌شده است. ناوبری آن به هر مقصد با گونه و نامش ارجاع می‌دهد؛ پلتفرم پیش از ذخیره بررسی می‌کند که هر جدول، داشبورد و گزارش ارجاع‌شده وجود داشته باشد — در همان انبارهٔ گونه‌اش — و صفحهٔ خانه یکی از مقصدهای خودِ ناوبری باشد. خودِ برنامه هیچ داده‌ای نگه نمی‌دارد: برنامه نمایی گزیده بر روی مؤلفه‌های محیط است.

عیب‌یابی​

  • «… must be lower snake-case and start with the publisher prefix.» — نام منطقی باید با {prefix}_ آغاز شود و تنها از حروف کوچک، ارقام و زیرخط استفاده کند.
  • «Entity … is not defined in this environment.» — یکی از جدول‌های ناوبری در این محیط وجود ندارد؛ نخست جدول را بسازید، یا آن را از ناوبری بردارید.
  • «Dashboard … is not defined in this environment.» (یا Report …) — ناوبری به یکی ارجاع می‌دهد که حذف شده یا هرگز به اینجا وارد نشده است. آن را بسازید، وارد کنید، یا مورد را بردارید.
  • «The home page … must appear in the app's navigation.» — صفحهٔ خانه‌ای را انتخاب کنید که آن را به ناوبری افزوده‌اید. خانه‌ای که کسی نتواند به آن بازگردد، صفحه‌ای است که پس از کلیک کاربر روی هر جای دیگر، هیچ راهی به آن نمی‌ماند.
  • «An app named … already exists in this environment.» — نام منطقی دیگری برگزینید؛ نام‌های منطقی برنامه‌ها درون هر محیط یکتا هستند.
  • «You do not have permission to open the dashboard …» (یا … run the report …) — مقصد وجود دارد، اما نقش امنیتی شما هیچ مجوزی روی آن ندارد. یک مدیر مجوز <name>.Open برای یک داشبورد یا <name>.Run برای یک گزارش را اعطا می‌کند، یا *.Open / *.Run را تا هرچه بعداً ساخته شود را نیز دربر بگیرد.
  • «Form … is not defined on entity …» (یا View …) — برنامه فرم یا نمایی را برگزیده که جدول دیگر ندارد، معمولاً چون پس از ساخت برنامه تغییر نام داده یا حذف شده است. پنجرهٔ فرم‌ها و نماهای آن جدول را باز کنید و موارد کنونی را علامت بزنید.
  • فرمی که به یک جدول افزودم در برنامه دیده نمی‌شود. — آن برنامه فرم‌های مشخصی را برگزیده است، پس فرم تازه تا وقتی آن را نیفزایید در آن نیست. سطر به‌جای شمارشی ساده، «۲ از ۵ فرم» را می‌گوید. برنامه را باز کنید، دکمهٔ فرم‌ها و نماهای آن جدول را انتخاب کنید و یا فرم تازه را علامت بزنید یا فهرست را به همهٔ فرم‌های این جدول بازگردانید.

سناریوهای مرتبط​

  • دادن یک برنامه به کسانی که از آن استفاده می‌کنند.
  • ساخت یک موجودیت.
  • ساخت یک فرم.
  • ساخت یک نما.
  • ساخت یک گزارش.