شِماهای آرتیفکت
هر چیزی که یک سازنده در 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 آنجا ثابت ماندهاند.
این فایلها همان فایلهای پلتفرماند
شِماهای اینجا رونوشت شِماهاییاند که هر سرویس با آنها اعتبارسنجی میکند، و آزمونی هست که اگر رونوشتی با منبعش فرق کند، ساخت را شکست میدهد. چیزی که شما با آن بررسی میکنید، همان چیزی است که پلتفرم با آن بررسی میکند.