پلتفرم پارسور
یک محصول که تمام یک نرمافزار سازمانی را پوشش میدهد: مدل داده، صفحهها، فرایند، گزارشها، امنیت، و راهی که یک تغییر از محیط توسعهدهنده به تولید میرسد بدون آنکه کسی چیزی را دستی کپی کند.
نگاهی کوتاه به پلتفرم
هر آنچه یک برنامهٔ سازمانی لازم دارد، در یک محصول
دوازده بخش که برای کار با هم ساخته شدهاند، و زیر همهٔ آنها یک مدل داده، یک مدل امنیتی، یک زبان اسکریپت و یک قالب بستهبندی — نه مجموعهای از محصولات که باید به هم وصل شوند.
برنامههای مدلمحور
جدولها، فرمها و نماها، ساختهشده از یک مدل داده.
برنامههای Studio
صفحههایی که روی بوم کشیده میشوند، برای رایانه و تلفن همراه.
فرایندها
تأییدهایی که در خطوط شنا کشیده و با یک موتور اجرا میشوند.
گزارشها
سندهایی که به اندازهٔ کاغذ طراحی و دقیقاً همانطور چاپ میشوند.
طراح گرافیکی
بومی که هر گزارش و هر صفحهٔ Studio روی آن کشیده میشود.
BS Lang
یک زبان اسکریپت برای قاعدهها، فرایندها، APIها و تابعها.
تابعها
کارهای زمانبندیشده و طولانی، بیرون از مسیر ذخیرهٔ یک رکورد.
APIهای سفارشی
نقطههای HTTP که خودتان تعریف میکنید تا سامانههای دیگر فراخوانیشان کنند.
پورتالها
وبسایتهایی برای مشتریان و شرکا، روی دادهٔ خودتان.
راهکارها و محیطها
توسعه، آزمون و تولید، جدا شده در سطح پایگاه داده؛ کار با درونریزی جابهجا میشود.
امنیت و ممیزی
نقشها، تیمها و قاعدههای سطح سطر، و ردپای ممیزیای که خود پایگاه داده مینویسد.
کد خودتان
برنامههای React و کنترلهای سفارشی که درون پلتفرم اجرا میشوند.
برنامههای مدلمحور
جدول را یک بار تعریف کنید، برنامه به دنبالش میآید
ستونها، ارتباطها و فهرستهای گزینه به جدولهای واقعی پایگاه داده تبدیل میشوند. فرمها، نماها و جستوجوها همه همان یک تعریف را میخوانند، پس ستونی که تغییر کند در هر صفحهای که از آن استفاده میکند تغییر میکند.
- فرمهایی با زبانه، بخش، جستوجو و رکوردهای مرتبط
- نماهایی با فیلتر، مرتبسازی، نمای ذخیرهشده و درونریزی از صفحهگسترده
- تقویم، خط زمانی و نمودار روی همان جدولها
برنامههای Studio
صفحه را بکشید، بعد بگویید هر بخش چیست
Application Studio برای صفحههایی است که یک فرم نمیتواند بیانشان کند. آنها را روی بوم بکشید، یک شکل را فهرست، فرم یا دکمه علامت بزنید، به جدولهایتان وصلش کنید، پیشنمایش ببینید و منتشرش کنید.
- فهرست، فرم، انتخابگر فایل و نمودار، وصل به رکوردهای زنده
- ناوبری، پنجرههای مودال و کشویی، و صفحههایی که خودشان بهروز میشوند
- یک برنامهٔ تلفن همراه روی همان داده، یا صفحهای درون یک برنامهٔ مدلمحور
فرایندها
تأیید را بکشید، بعد اجرایش را تماشا کنید
یک طراح خطوط شنا با یک موتور پشت آن. وظیفهها در همان برنامهای که هر کس از آن استفاده میکند به دست فرد درست میرسند، و هر اجرا نمودار زندهای دارد که نشان میدهد کجاست.
- خطوطی برای نقشها، تیمها و افراد، با واگذاری کار بر اساس قاعده
- زمانسنج، مهلت، امضای موازی و انشعاب بر اساس شرط
- تاریخچهٔ هر گام: چه کسی چه کاری کرد و چه زمانی
گزارشها
گزارشهایی که دقیقاً همانطور که طراحی شدهاند چاپ میشوند
سند را به اندازهٔ کاغذ بچینید و به یک جدول یا یک پرسوجوی ذخیرهشده وصلش کنید. آنچه طراح نشان میدهد همان است که روی صفحه، در PDF و از چاپگر بیرون میآید.
- باندها، گروهها، جمعها و عبارتهای قالببندیشده
- نمودار، بارکد و کد QR
- چیدمان راستبهچپ برای فارسی و عربی
طراح گرافیکی
یک بوم پشت هر طرح
گزارشها و صفحههای Studio روی یک طراح برداری واحد کشیده میشوند، پس آنچه سازنده یک بار یاد میگیرد در هر دو کار میکند. هر طرح بهصورت یک سند ساده با یک طرحواره منتشرشده ذخیره میشود، پس میشود آن را مثل کد بازبینی، تولید و درونریزی کرد.
- قابها، چیدمان خودکار و قیدهای تغییر اندازه
- سبکهای مشترک، توکنهای طراحی و یک کتابخانهٔ کامپوننت
- کامپوننتهایی که یک بار کشیده و در هر صفحهای که لازم دارد گذاشته میشوند
BS Lang
یک زبان برای هر قاعده
منطق فرم، اعتبارسنجی سمت سرور، شرطهای فرایند، APIهای سفارشی و تابعها همه با BS Lang نوشته میشوند — زبانی کوچک و نوعدار که در مرورگر و روی سرور با نتیجهٔ یکسان اجرا میشود.
- پرسوجوی رکوردها، فراخوانی یک سرویس بیرونی، فرستادن ایمیل
- اسکریپتهای مشترک، درونریزیشده هر جا که همان منطق لازم است
- ویرایشگری با نمایش خطا هنگام تایپ، تکمیل خودکار و راهنمای امضا
تابعها
کارهای طولانی، دور از ذخیرهٔ رکورد
تابع اسکریپتی به زبان BS Lang است که در سرویسی جداگانه اجرا میشود: دستی، طبق زمانبندی، یا با فراخوانی از اسکریپتی دیگر. یک کار دستهای چهلدقیقهای هرگز کار کسی را که رکوردی ذخیره میکند کُند نمیکند.
- همین حالا اجرا کنید، یا هر چند دقیقه، ساعت یا روز یک بار، در ساعتی که خودتان انتخاب میکنید
- حداکثر زمان اجرا، و گزارشی از هر اجرا و آنچه نوشته است
- فایلهایی که در فضای ذخیرهسازی اشیا نوشته میشوند، و خبردادن به فراخواننده وقتی اجرا تمام میشود
APIهای سفارشی
نقطههایی که خودتان تعریف میکنید، نه پایگاه دادهای که به دست یک یکپارچهسازی سپرده شود
API سفارشی یک قرارداد HTTP نسخهدار است که اسکریپتی به زبان BS Lang پشت آن قرار دارد. سامانهٔ دیگر دقیقاً همان عملیاتی را فرا میخواند که شما نام بردهاید، به عنوان برنامهای که ثبت کردهاید، و نه چیز دیگری.
- اسکریپتی که ورودی را میخواند، رکوردها را پرسوجو میکند و وضعیت و خروجی را تعیین میکند
- نسخهها کنار هم، تا هیچ تغییری فراخوانندهای را که هنوز روی نسخهٔ قدیمی است از کار نیندازد
- فراخوانی با شناسه و رمز کلاینتِ یک ثبت برنامه
پورتالها
سایتی برای مشتریان شما، روی همان جدولها
یک برنامهٔ Studio را به صورت پورتال منتشر کنید تا افراد بیرون از شرکت شما ورود و نشانی خودشان را داشته باشند — و فقط رکوردهایی را ببینند که یک سیاست میگوید مال آنهاست.
- بازدیدکنندگانی که ثبتنام میکنند، وارد میشوند و از ورود دومرحلهای استفاده میکنند
- قاعدههای سطح سطر: هر بازدیدکننده فقط رکوردهای شرکت خودش را میبیند
- دامنهٔ خودتان، که با یک رکورد CNAME به پورتال اشاره میکند
راهکارها و محیطها
محیطهایی که واقعاً جدا هستند، و یک راه میان آنها
هر محیط طرحوارهٔ پایگاه دادهٔ خودش را دارد، نه یک ستون فیلتر. کار به صورت یک راهکار نسخهدار از توسعه به آزمون و تولید میرود — برونبری، درونریزی و ارتقا در جای خود، و هرگز رونوشت دستی.
- پرسوجو روی محیط اشتباه شکست میخورد، به جای اینکه سطرهای اشتباه برگرداند
- مؤلفههای لایهای، تا حذف یک راهکار آنچه را پیشتر بود برگرداند
- دادهٔ اولیه و متغیرهای محیطی که همراه راهکار جابهجا میشوند
امنیت و ممیزی
اینکه چه کسی میتواند رکوردی را ببیند، سرور تصمیم میگیرد
نقشهای امنیتی ایجاد، خواندن، ویرایش و حذف را جدول به جدول اعطا میکنند: برای همهٔ رکوردها، رکوردهای یک تیم، یا فقط رکوردهای خود فرد. هیچ صفحهای تصمیم نمیگیرد کسی چه ببیند؛ سرور فقط آنچه را او مجاز است برمیگرداند.
- نقشهایی که مستقیم یا از راه یک تیم داده میشوند
- مالکیت رکورد، اشتراکگذاری و قاعدههای سطح سطر
- گزارش ممیزیای که خود پایگاه داده مینویسد: چه کسی، چه چیزی را، کِی تغییر داد
کد خودتان
React خودتان، درون پلتفرم
وقتی طراح کافی نیست، یک برنامهٔ React یا یک کنترل سفارشی با SDK زمان اجرا بسازید، آن را در یک بایگانی بستهبندی و بارگذاری کنید. درون پوستهٔ خود پلتفرم اجرا میشود و مثل هر چیز دیگری همراه راهکار جابهجا میشود.
- کنترلهای سفارشی که جای یک فیلد را روی فرم میگیرند
- برنامههای کامل React، کنار برنامههای مدلمحور و Studio
- بارگذاری مجدد فوری روی یک محیط توسعه، در حین ساختن
بگویید چه میسازید
جدولهای شما، فرایند شما، پرسشهای شما. هر کس پاسخ بدهد، خودش همان چیزی را ساخته که دربارهٔ آن میپرسید.
