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

شِماهای آرتیفکت

هر چیزی که یک سازنده در Parsware می‌سازد — یک جدول، یک نما، یک فرم، یک پرس‌وجو، یک گزارش، یک فرایند، یک برنامه — در زیرِ خود یک سند سادهٔ JSON است، و هر نوع سند یک JSON Schema منتشرشده دارد (draft 2020-12). طراح یکی از راه‌های نوشتن آن سند است؛ یک ویرایشگر، یک اسکریپت یا یک دستیار هوش مصنوعی راه دیگری است. هر که آن را نوشته باشد، پلتفرم آن را با همان شِما بررسی می‌کند: هنگام ذخیره، و دوباره هنگامی که راه‌حلی که آن را دارد وارد می‌شود.

هر شِما از همین سایت در نشانی /schemas/<name>.schema.json ارائه می‌شود، پس هر ابزار JSON Schema می‌تواند پیش از فرستادن، یک فایل را بررسی کند:

npx ajv-cli validate --spec=draft2020 -s saved-query.schema.json -d visitors-by-purpose.json

سندی که سند دیگری را در خود دارد، آن بخش را به شِمای آن سند دیگر می‌سپارد، همان‌طور که پلتفرم هم می‌کند: query یک پرس‌وجوی ذخیره‌شده یک سند پرس‌وجو است و با parsware-query بررسی می‌شود. آن را آن‌جا هم بررسی کنید.

ردِ پلتفرم همان چیزهایی را نام می‌برد که یک اعتبارسنج: کجای سند (یک JSON Pointer مانند /aggregate/measures/0/function) و چه چیزی آن‌جا نادرست است.

همهٔ شِماها​

سندشِماصفحه
جدولmodel-driven-entityتعریف جدول
مجموعه گزینهmodel-driven-option-setتعریف مجموعه گزینه
نماmodel-driven-viewتعریف نما
فرمmodel-driven-formتعریف فرم
برنامهٔ مدل‌محورmodel-driven-appتعریف برنامه
پرس‌وجوparsware-query
پرس‌وجوی ذخیره‌شدهsaved-query
گزارشmodel-driven-report
داشبوردmodel-driven-dashboard
برنامهٔ استودیوstudio-app
یک صفحهٔ استودیوی کامپایل‌شدهui-tree
برنامهٔ پورتالportal-app
راهنمای برنامهapp-guide
فرایندbpms-process
نقشهٔ فرایندbpms-design
قاعده کسب‌وکار سمت کاربرbusiness-rule
گام افزونهٔ سمت سرورplugin-stepگام افزونه
اسکریپت راه‌حلsolution-script
کار زمان‌بندی‌شدهscheduled-job
اپی‌آی سفارشیcustom-apiاپی‌آی سفارشی
نقش امنیتیsecurity-role
سیاست دادهpolicy-definition
متغیر محیطenvironment-variable
دادهٔ اولیهseed-data
منبع وبweb-resource-manifestمانیفست منبع وب
برنامهٔ سفارشیcustom-app-manifestمانیفست برنامه
کنترل سفارشیcustom-control-manifestمانیفست کنترل
بایگانی یک برنامه یا کنترل (parsware.json)artifact-packageبستهٔ آرتیفکت
بستهٔ راه‌حلsolution-packageبستهٔ راه‌حل

فیلدهای description هر شِما اعضای آن را توضیح می‌دهند؛ هر جا شکل سند به توضیح بیشتری نیاز داشته، صفحهٔ جداگانه‌ای هست.

نسخه‌های قدیمی‌تر​

وقتی شکل یک سند طوری تغییر می‌کند که فایل‌های قدیمی دیگر با آن جور نیستند، شِمای قدیمی کنار شِمای تازه نگه داشته می‌شود تا راه‌حلی که پیش از تغییر خروجی گرفته شده همچنان وارد شود: model-driven-form-v1 و model-driven-view-v1 آن‌جا ثابت مانده‌اند.

این فایل‌ها همان فایل‌های پلتفرم‌اند​

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