@nocobase/plugin-ai 3.0.0-alpha.7 → 3.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/ai/docs/nocobase/ai-builder/ai-portal/model-selection.md +120 -0
  2. package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
  3. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
  4. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
  5. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-bulk-edit/index.md +1 -1
  6. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-bulk-update/index.md +1 -1
  7. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-custom-request/index.md +1 -1
  8. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-duplicate/index.md +1 -1
  9. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-export/index.md +1 -1
  10. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-import/index.md +1 -1
  11. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-action-print/index.md +1 -1
  12. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ai/index.md +1 -1
  13. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ai-gigachat/index.md +1 -1
  14. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-api-doc/index.md +1 -1
  15. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-api-keys/index.md +1 -1
  16. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-async-task-manager/index.md +1 -1
  17. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-audit-logs/index.md +1 -1
  18. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth/index.md +1 -1
  19. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-auth-sms/index.md +1 -1
  20. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-backup-restore/index.md +1 -1
  21. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-backups/index.md +1 -1
  22. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +1 -1
  23. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-grid-card/index.md +1 -1
  24. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-iframe/index.md +1 -1
  25. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-list/index.md +1 -1
  26. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-markdown/index.md +1 -1
  27. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-multi-step-form/index.md +1 -1
  28. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-template/index.md +1 -1
  29. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-tree/index.md +1 -1
  30. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-workbench/index.md +1 -1
  31. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-calendar/index.md +1 -1
  32. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-charts/index.md +1 -1
  33. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-client/index.md +1 -1
  34. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-fdw/index.md +1 -1
  35. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-sql/index.md +1 -1
  36. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-collection-tree/index.md +1 -1
  37. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-comments/index.md +1 -1
  38. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-custom-variables/index.md +1 -1
  39. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-main/index.md +1 -1
  40. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-source-manager/index.md +1 -1
  41. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-visualization/index.md +1 -1
  42. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-data-visualization-echarts/index.md +1 -1
  43. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-departments/index.md +1 -1
  44. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-embed/index.md +1 -1
  45. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-environment-variables/index.md +1 -1
  46. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-error-handler/index.md +1 -1
  47. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-attachment-url/index.md +1 -1
  48. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-china-region/index.md +1 -1
  49. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-code/index.md +1 -1
  50. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-formula/index.md +1 -1
  51. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-m2m-array/index.md +1 -1
  52. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-markdown-vditor/index.md +1 -1
  53. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-sequence/index.md +1 -1
  54. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-field-sort/index.md +1 -1
  55. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-file-manager/index.md +1 -1
  56. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-file-previewer-office/index.md +1 -1
  57. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-flow-engine/index.md +1 -1
  58. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-form-drafts/index.md +1 -1
  59. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-gantt/index.md +1 -1
  60. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-graph-collection-manager/index.md +1 -1
  61. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-idp-oauth/index.md +1 -1
  62. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-kanban/index.md +1 -1
  63. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-license/index.md +1 -1
  64. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-locale-tester/index.md +1 -1
  65. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-localization/index.md +1 -1
  66. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-logger/index.md +1 -1
  67. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-map/index.md +1 -1
  68. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-mcp-server/index.md +1 -1
  69. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-mobile/index.md +1 -1
  70. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-mobile-client/index.md +1 -1
  71. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-app-manager/index.md +1 -1
  72. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-app-share-collection/index.md +1 -1
  73. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-keyword-filter/index.md +1 -1
  74. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-email/index.md +1 -1
  75. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-in-app-message/index.md +1 -1
  76. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-notification-manager/index.md +1 -1
  77. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-public-forms/index.md +1 -1
  78. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-snapshot-field/index.md +1 -1
  79. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-system-settings/index.md +1 -1
  80. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-text-copy/index.md +1 -1
  81. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-theme-editor/index.md +1 -1
  82. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-layout/index.md +1 -1
  83. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-schema-storage/index.md +1 -1
  84. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-templates/index.md +1 -1
  85. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-user-data-sync/index.md +1 -1
  86. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-users/index.md +1 -1
  87. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-verification/index.md +1 -1
  88. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow/index.md +1 -1
  89. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-action-trigger/index.md +1 -1
  90. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-aggregate/index.md +1 -1
  91. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-cc/index.md +1 -1
  92. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-custom-action-trigger/index.md +1 -1
  93. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-date-calculation/index.md +1 -1
  94. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-delay/index.md +1 -1
  95. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-dynamic-calculation/index.md +1 -1
  96. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-javascript/index.md +1 -1
  97. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-json-variable-mapping/index.md +1 -1
  98. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-loop/index.md +1 -1
  99. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-mailer/index.md +1 -1
  100. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-manual/index.md +1 -1
  101. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-notification/index.md +1 -1
  102. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-parallel/index.md +1 -1
  103. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-request/index.md +1 -1
  104. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-request-interceptor/index.md +1 -1
  105. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-response-message/index.md +1 -1
  106. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-sql/index.md +1 -1
  107. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-test/index.md +1 -1
  108. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-variable/index.md +1 -1
  109. package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
  110. package/dist/client/index.js +2 -2
  111. package/dist/client-v2/index.js +2 -2
  112. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +2 -0
  113. package/dist/externalVersion.js +15 -15
  114. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  115. package/dist/node_modules/@langchain/xai/package.json +1 -1
  116. package/dist/node_modules/fs-extra/package.json +1 -1
  117. package/dist/node_modules/jsonrepair/package.json +1 -1
  118. package/dist/node_modules/just-bash/package.json +1 -1
  119. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  120. package/dist/node_modules/openai/package.json +1 -1
  121. package/dist/node_modules/zod/package.json +1 -1
  122. package/package.json +2 -2
@@ -0,0 +1,120 @@
1
+ ---
2
+ title: "LLM Selection"
3
+ description: "Explore test results and selection guidance for using leading flagship models to build NocoBase applications, based on a standardized evaluation system covering data modeling, pages, permissions, and workflows."
4
+ keywords: "NocoBase AI Builder,LLM selection,GPT,DeepSeek,Qwen,AI Agent,model evaluation"
5
+ ---
6
+
7
+ # LLM Selection
8
+
9
+ :::tip Key takeaway
10
+
11
+ **Leading flagship models currently available on the market can all build the core of a NocoBase application.**
12
+
13
+ Models differ in the completeness of their initial output, build time, and number of issues. Choose one based on the model services already available to you, network conditions in your region, cost, and your team's preferences.
14
+
15
+ :::
16
+
17
+ This evaluation used a standardized CRM requirement set (a sales opportunity and customer follow-up system) to validate the applications built by different models:
18
+
19
+ | Evaluation dimensions | Standardized evaluation items |
20
+ | :---: | :---: |
21
+ | 14 | 61 |
22
+
23
+ ## Evaluation dimensions
24
+
25
+ The evaluation covers NocoBase's core capabilities, configuration capabilities, and foundational components. It also checks whether each model can understand requirements and carry out the corresponding build tasks.
26
+
27
+ | Capability | Evaluation focus |
28
+ | --- | --- |
29
+ | Data modeling | Collections, field types, relationships, required and unique constraints, and default values |
30
+ | Pages and features | Navigation, lists, forms, details, search, filters, and dashboards |
31
+ | Business logic | Status transitions, business validation, calculation rules, and consistency of related data |
32
+ | Permissions and security | Roles, menu permissions, action permissions, data scopes, and field permissions |
33
+ | Workflow automation | Triggers, nodes, conditional branches, notifications, data side effects, and failure retries |
34
+ | User experience | Information architecture, form experience, action feedback, and responsive layouts |
35
+ | Robustness | Invalid input, duplicate submissions, consistency on failure, data volume, and network recovery |
36
+ | Requirements coverage | Whether explicit requirements and core business paths are fully implemented |
37
+ | Reasonable extensions | Whether features proactively added by the model serve a clear business purpose |
38
+ | Scope control | Whether the result contains duplicate, unused, or out-of-scope business modules |
39
+
40
+ ## Evaluation results
41
+
42
+ | Evaluation dimension | GPT-5.6 Sol | DeepSeek-V4-Flash | Qwen3.8-Max | GPT-5.6 Luna |
43
+ | --- | :---: | :---: | :---: | :---: |
44
+ | Data modeling | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
45
+ | Feature completion | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#d97706;font-weight:600">◐ Partial pass</span> |
46
+ | Business logic | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
47
+ | Permissions and security | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
48
+ | Workflow automation | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
49
+ | User experience | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#d97706;font-weight:600">◐ Partial pass</span> |
50
+ | Robustness | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
51
+ | Requirements coverage | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#d97706;font-weight:600">◐ Partial pass</span> |
52
+ | Reasonable extensions | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
53
+ | Scope control | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> | <span style="color:#15803d;font-weight:600">✓ Pass</span> |
54
+ | **Build speed** | <span style="color:#2563eb;font-weight:700">Relatively fast</span> | <span style="color:#2563eb;font-weight:700">Relatively fast</span> | <span style="color:#d97706;font-weight:700">Slow</span> | <span style="color:#15803d;font-weight:700">Fastest</span> |
55
+ | **Single-run quality score** | <span style="display:inline-block;min-width:42px;padding:2px 10px;border-radius:6px;color:#1d4ed8;background:#eff6ff;font-weight:800">90</span> | <span style="display:inline-block;min-width:42px;padding:2px 10px;border-radius:6px;color:#1d4ed8;background:#eff6ff;font-weight:800">91</span> | <span style="display:inline-block;min-width:42px;padding:2px 10px;border-radius:6px;color:#1d4ed8;background:#eff6ff;font-weight:800">90</span> | <span style="display:inline-block;min-width:42px;padding:2px 10px;border-radius:6px;color:#c2410c;background:#fff7ed;font-weight:800">77</span> |
56
+
57
+ :::tip Single-run quality score
58
+
59
+ The single-run quality score has a maximum of 100 points. One point is deducted for each bug found during the first complete acceptance check, providing an indication of the quality of the model's initial build. The model can resolve these issues through subsequent feedback and revisions.
60
+
61
+ :::
62
+
63
+ :::info Note on build time
64
+
65
+ Build time is affected by factors such as computer hardware performance, dependency installation and Build compilation, model service response speed, and network conditions.
66
+
67
+ :::
68
+
69
+ ## Evaluation item details
70
+
71
+ The 61 standardized evaluation items are organized into three layers: 46 items for build result quality, 7 for requirements understanding and reasonable extensions, and 8 for build process efficiency. Every item uses consistent inspection methods and pass criteria.
72
+
73
+ ### Layer 1: Build result quality (46 items)
74
+
75
+ <table style="table-layout: fixed; width: 100%;">
76
+ <colgroup><col style="width: 32%;" /><col style="width: 68%;" /></colgroup>
77
+ <thead><tr><th>Evaluation dimension</th><th>Standardized evaluation items</th></tr></thead>
78
+ <tbody>
79
+ <tr><td>Data modeling (8 items)</td><td><code>DM-01</code> Whether all required collections are created<br /><code>DM-02</code> Whether all required fields exist<br /><code>DM-03</code> Whether field types are correct<br /><code>DM-04</code> Whether one-to-one relationships can be created and used<br /><code>DM-05</code> Whether one-to-many relationships can be created and used<br /><code>DM-06</code> Whether many-to-many relationships can be created and used<br /><code>DM-07</code> Whether required, unique, and default-value rules take effect<br /><code>DM-08</code> Whether related data can be viewed and filtered</td></tr>
80
+ <tr><td>Feature completion (6 items)</td><td><code>FC-01</code> Whether all required pages and navigation entries are present<br /><code>FC-02</code> Whether records can be created, viewed, edited, and deleted<br /><code>FC-03</code> Whether core user journeys can be completed end to end<br /><code>FC-04</code> Whether key business actions are available<br /><code>FC-05</code> Whether search, filtering, and sorting are available<br /><code>FC-06</code> Whether dashboards contain the required content</td></tr>
81
+ <tr><td>Business logic (6 items)</td><td><code>BL-01</code> Whether opportunity status transition rules are correct<br /><code>BL-02</code> Whether business validation rules take effect<br /><code>BL-03</code> Whether calculated fields and statistical definitions are correct<br /><code>BL-04</code> Whether data is mapped correctly after lead conversion<br /><code>BL-05</code> Whether updates to related records remain consistent<br /><code>BL-06</code> Whether deletion and archiving rules are correct</td></tr>
82
+ <tr><td>Permissions and security (7 items)</td><td><code>ACL-01</code> Whether all required roles are created<br /><code>ACL-02</code> Whether test users and role assignments are correct<br /><code>ACL-03</code> Whether page and menu access permissions are correct<br /><code>ACL-04</code> Whether data operation permissions are correct<br /><code>ACL-05</code> Whether record-level data scopes are correct<br /><code>ACL-06</code> Whether field-level view and edit permissions are correct<br /><code>ACL-07</code> Whether role changes and combined roles behave correctly</td></tr>
83
+ <tr><td>Workflow automation (7 items)</td><td><code>WF-01</code> Whether all required workflows are created and enabled<br /><code>WF-02</code> Whether workflow triggers are designed correctly<br /><code>WF-03</code> Whether node order and data transfer are correct<br /><code>WF-04</code> Whether conditions and branch results are correct<br /><code>WF-05</code> Whether record read/write side effects are correct<br /><code>WF-06</code> Whether notification recipients and content are correct<br /><code>WF-07</code> Whether failure logs and retry behavior are traceable</td></tr>
84
+ <tr><td>User experience (7 items)</td><td><code>UX-01</code> Whether navigation and information architecture are clear<br /><code>UX-02</code> Whether list information and common actions are easy to use<br /><code>UX-03</code> Whether form grouping, order, and guidance are clear<br /><code>UX-04</code> Whether detail pages support understanding and follow-up actions<br /><code>UX-05</code> Whether action feedback and status changes are clear<br /><code>UX-06</code> Whether the application is usable at different screen widths<br /><code>UX-07</code> Whether empty, loading, and error states are complete</td></tr>
85
+ <tr><td>Robustness (5 items)</td><td><code>ROB-01</code> Whether invalid and boundary inputs are handled safely<br /><code>ROB-02</code> Whether duplicate submissions cause duplicate side effects<br /><code>ROB-03</code> Whether data remains consistent when execution fails<br /><code>ROB-04</code> Whether the application remains usable with empty and large datasets<br /><code>ROB-05</code> Whether the application can recover after a session or network interruption</td></tr>
86
+ </tbody>
87
+ </table>
88
+
89
+ ### Layer 2: Requirements understanding and reasonable extensions (7 items)
90
+
91
+ <table style="table-layout: fixed; width: 100%;">
92
+ <colgroup><col style="width: 32%;" /><col style="width: 68%;" /></colgroup>
93
+ <thead><tr><th>Evaluation dimension</th><th>Standardized evaluation items</th></tr></thead>
94
+ <tbody>
95
+ <tr><td>Requirements coverage (3 items)</td><td><code>COV-01</code> Whether all pages and actions requested in the prompt are implemented<br /><code>COV-02</code> Whether all data, permissions, and workflows requested in the prompt are implemented<br /><code>COV-03</code> Whether capabilities required by the main process but not individually specified in the prompt are present</td></tr>
96
+ <tr><td>Reasonable extensions (2 items)</td><td><code>EXT-01</code> Whether proactively added fields, relationships, and rules are necessary<br /><code>EXT-02</code> Whether proactively added pages, actions, and statistics serve a clear purpose</td></tr>
97
+ <tr><td>Scope control (2 items)</td><td><code>SCOPE-01</code> Whether duplicate or unused features and configurations are generated<br /><code>SCOPE-02</code> Whether business modules unrelated to the task scope are added</td></tr>
98
+ </tbody>
99
+ </table>
100
+
101
+ ### Layer 3: Build process efficiency (8 items)
102
+
103
+ <table style="table-layout: fixed; width: 100%;">
104
+ <colgroup><col style="width: 32%;" /><col style="width: 68%;" /></colgroup>
105
+ <thead><tr><th>Evaluation dimension</th><th>Standardized evaluation items</th></tr></thead>
106
+ <tbody>
107
+ <tr><td>Time to first usable result (1 item)</td><td><code>EFF-FIRST-01</code> Time required to reach the first usable result</td></tr>
108
+ <tr><td>Convergence efficiency (3 items)</td><td><code>EFF-FINAL-01</code> Number of iterations required to reach final acceptance<br /><code>EFF-FINAL-02</code> Total time required to reach the final state<br /><code>EFF-FINAL-03</code> Tokens consumed to reach the final state</td></tr>
109
+ <tr><td>Human intervention (1 item)</td><td><code>EFF-HUMAN-01</code> Number of human interventions during the evaluation</td></tr>
110
+ <tr><td>Repeatability (3 items)</td><td><code>EFF-STABLE-01</code> Whether repeated runs of the same task produce consistent acceptance results<br /><code>EFF-STABLE-02</code> Whether collections, relationships, roles, and workflows are consistent across three runs<br /><code>EFF-STABLE-03</code> Whether variation in iterations and time remains controlled</td></tr>
111
+ </tbody>
112
+ </table>
113
+
114
+ ## Next steps
115
+
116
+ - [Build collaboratively with an AI Agent](./agent-workflow.md) — Describe pages and interactions in natural language and iterate continuously with an AI Agent
117
+ - [AI Portal quick start](./index.md) — Create and run your first AI Portal
118
+ - [Data modeling](../data-modeling.md) — Create collections, fields, and relationships with natural language
119
+ - [Workflow management](../workflow.md) — Create, edit, enable, and diagnose workflows
120
+ - [Permission configuration](../acl.md) — Manage roles, permission policies, user assignments, and risk assessments
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: "nb api resource create"
3
- description: "nb api resource create command reference: create a record in a selected NocoBase resource."
3
+ description: "nb api resource create command reference: create one or more records in a selected NocoBase resource."
4
4
  keywords: "nb api resource create,NocoBase CLI,create record,CRUD"
5
5
  ---
6
6
 
7
7
  # nb api resource create
8
8
 
9
- Create a record in a selected resource. Pass record data as a JSON object through `--values`.
9
+ Create records in a selected resource. Pass record data as a JSON object through `--values`, or as a JSON array of objects to create multiple records in a single request.
10
10
 
11
11
  ## Usage
12
12
 
@@ -21,7 +21,7 @@ nb api resource create --resource <resource> --values <json> [flags]
21
21
  | `--resource` | string | Resource name, required |
22
22
  | `--data-source` | string | Data source key, default `main` |
23
23
  | `--source-id` | string | Source record ID for association resources |
24
- | `--values` | string | Data for the new record as a JSON object, required |
24
+ | `--values` | string | Data for the new records: a JSON object, or a JSON array of objects to create multiple records; required |
25
25
  | `--whitelist` | string[] | Fields allowed to write; repeatable or pass a JSON array |
26
26
  | `--blacklist` | string[] | Fields forbidden to write; repeatable or pass a JSON array |
27
27
 
@@ -31,6 +31,7 @@ Also supports common connection parameters from [`nb api resource`](./index.md).
31
31
 
32
32
  ```bash
33
33
  nb api resource create --resource users --values '{"nickname":"Ada"}'
34
+ nb api resource create --resource users --values '[{"nickname":"Ada"},{"nickname":"Grace"}]'
34
35
  nb api resource create --resource posts.comments --source-id 1 --values '{"content":"Hello"}'
35
36
  ```
36
37
 
@@ -8,12 +8,53 @@ For file types that do not support native preview, you can enable preview functi
8
8
 
9
9
  Currently, NocoBase provides the following file preview plugins:
10
10
 
11
- * [Office File Preview Plugin](../file-preview/ms-office.md)
11
+ - [Office File Preview Plugin](./ms-office.md)
12
12
 
13
- ## PDF preview with external storage
13
+ ## PDF preview mechanism
14
14
 
15
- NocoBase previews PDFs through a browser iframe. Some browsers or PDF readers may support scripts, forms, or other interactive content inside PDF files. If the previewed file comes from an untrusted source, pay attention to the security boundary for script execution.
15
+ NocoBase selects the PDF preview method according to whether the file URL has the same origin as the current page:
16
+
17
+ | File URL | Common storage type | Preview method | CORS requirement |
18
+ | --- | --- | --- | --- |
19
+ | Same origin as NocoBase | Local storage | NocoBase reads the file and renders it with the built-in PDF.js viewer | No cross-origin CORS involved |
20
+ | Cross-origin | Third-party storage such as OSS, S3, COS, or a CDN | The browser opens the file URL in an iframe | The iframe preview itself does not require CORS |
21
+
22
+ :::tip What determines the preview method
23
+
24
+ The preview method depends on whether the file URL is same-origin, not directly on the storage engine name. Local storage served from a separate file domain is treated as cross-origin. Third-party storage accessed through a same-origin NocoBase proxy is treated as same-origin.
25
+
26
+ :::
27
+
28
+ ### Local storage or a same-origin URL
29
+
30
+ Local storage URLs usually start with `/storage/uploads/` and have the same origin as the NocoBase page. During preview, NocoBase reads the PDF data and passes it to the built-in PDF.js viewer to render pages and text.
31
+
32
+ This method does not depend on the browser's built-in PDF reader. Even if the file response uses `Content-Disposition: attachment` for security, NocoBase can still read and render the file in the preview component. The file URL must remain accessible with the current login state.
33
+
34
+ ### Third-party storage or a cross-origin URL
35
+
36
+ Third-party storage such as OSS, S3, COS, and CDNs usually uses a separate domain. NocoBase places this PDF URL in an iframe, so the browser and the storage service's response headers determine the result.
37
+
38
+ To open a PDF in the iframe, the storage service should normally return `Content-Type: application/pdf` and must not force a download with `Content-Disposition: attachment`. If the response requests a download, the browser downloads the file directly and NocoBase cannot override that behavior in the frontend.
39
+
40
+ Loading a cross-origin PDF in an iframe does not itself require CORS. However, the download button in the preview component reads the file with `fetch` and creates a Blob, so cross-origin downloads still require the storage service to allow CORS requests from the NocoBase site.
41
+
42
+ ### Notes for Aliyun OSS
43
+
44
+ In some cases, the default Aliyun OSS domain forces a download by returning `Content-Disposition: attachment` and `x-oss-force-download: true`. Images may still preview normally, while a PDF placed in an iframe is downloaded.
45
+
46
+ You can usually resolve this by binding a custom domain to the bucket and configuring NocoBase to access files through that domain. See [Aliyun OSS troubleshooting](../storage/aliyun-oss.md#common-issues) for configuration and diagnostic steps.
47
+
48
+ ### Security boundary for cross-origin previews
49
+
50
+ Some browsers or PDF readers may support scripts, forms, or other interactive content inside PDF files. If the previewed file comes from an untrusted source, pay attention to the security boundary for script execution.
16
51
 
17
52
  We recommend isolating the file access domain from the NocoBase site and API domains. For example, serve files from OSS, S3, COS, or a CDN through a dedicated domain, instead of sharing the same origin with the NocoBase frontend or API.
18
53
 
19
54
  If the file domain is different from the API domain, and the API does not enable CORS access for the file domain, scripts running in the PDF preview environment are usually restricted by the browser's same-origin policy. They cannot directly read the NocoBase page, browser storage, or API responses.
55
+
56
+ ## Related links
57
+
58
+ - [Office File Preview Plugin](./ms-office.md)
59
+ - [Aliyun OSS](../storage/aliyun-oss.md)
60
+ - [S3 Pro](../storage/s3-pro.md)
@@ -7,7 +7,7 @@ A storage engine based on Aliyun OSS. Before use, you need to prepare the releva
7
7
 
8
8
  This engine does not support private access. After a file is uploaded, NocoBase generates a directly accessible URL, and anyone who has that URL can access the file.
9
9
 
10
- Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does not generate temporary signed URLs for file access. If you need private access, use [S3 Pro](./s3-pro). If historical files already exist, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
10
+ Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does not generate temporary signed URLs for file access. If you need private access, use [S3 Pro](./s3-pro.md). If historical files already exist, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
11
11
 
12
12
  :::
13
13
 
@@ -18,9 +18,13 @@ Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does no
18
18
 
19
19
 
20
20
  :::info{title=Note}
21
- This section only introduces the specific parameters for the Aliyun OSS storage engine. For general parameters, please refer to [General Engine Parameters](./index#引擎通用参数).
21
+ This section only introduces the specific parameters for the Aliyun OSS storage engine. For general parameters, see [General Engine Parameters](./index.md#common-parameters).
22
22
  :::
23
23
 
24
+ ### Base URL
25
+
26
+ Enter the file access URL prefix, such as a custom domain bound to the current bucket: `https://oss.example.com`. Accessing PDFs through the default Aliyun OSS domain may cause the browser to download them. We recommend binding a custom domain first. See [Common issues](#common-issues) below for details.
27
+
24
28
  ### Region
25
29
 
26
30
  Enter the region of the OSS storage, for example: `oss-cn-hangzhou`.
@@ -43,4 +47,97 @@ Enter the name of the OSS bucket.
43
47
 
44
48
  ### Timeout
45
49
 
46
- Enter the timeout for uploading to Aliyun OSS, in milliseconds. The default is `60000` milliseconds (i.e., 60 seconds).
50
+ Enter the timeout for uploading to Aliyun OSS, in milliseconds. The default is `60000` milliseconds (i.e., 60 seconds).
51
+
52
+ ## Common issues
53
+
54
+ ### A PDF is downloaded instead of previewed
55
+
56
+ NocoBase previews cross-origin PDFs in an iframe. The browser accesses the OSS file URL directly, so the OSS response headers determine whether the file is displayed or downloaded.
57
+
58
+ If a PDF is downloaded from the iframe, inspect the file request in the browser developer tools. A typical problematic response looks like this:
59
+
60
+ ```http
61
+ Content-Type: application/pdf
62
+ Content-Disposition: attachment
63
+ x-oss-force-download: true
64
+ ```
65
+
66
+ `Content-Type: application/pdf` identifies the file correctly, but `Content-Disposition: attachment` instructs the browser to download it. The default Aliyun OSS domain forces downloads in some cases. See the official Aliyun documentation: [How do I configure a PDF file to be previewed instead of downloaded?](https://help.aliyun.com/zh/oss/user-guide/how-do-i-configure-an-object-to-be-previewed-instead-of-downloaded).
67
+
68
+ We recommend the following configuration:
69
+
70
+ 1. Follow [Access OSS resources through a custom domain](https://help.aliyun.com/zh/oss/user-guide/access-buckets-via-custom-domain-names) to bind a custom domain to the bucket
71
+ 2. Configure DNS and the HTTPS certificate, then verify that the custom domain can access the file directly
72
+ 3. Configure the access URL for the NocoBase storage engine in use
73
+
74
+ For step 3:
75
+
76
+ - With the built-in **Aliyun OSS** engine, set **Base URL** to the bound custom domain, such as `https://oss.example.com`
77
+ - With [S3 Pro](./s3-pro.md) connected to Aliyun OSS, the upload endpoint can continue to use the regional OSS endpoint; set the access endpoint to the custom domain and set `Full access URL style` to `Ignore`
78
+
79
+ Upload a new PDF to verify the configuration. If an existing file record stores a complete URL, also make sure that the URL returned to the frontend now uses the custom domain.
80
+
81
+ :::tip Check the response headers
82
+
83
+ Previewing a cross-origin PDF in an iframe does not itself require CORS. Whether the PDF can be displayed inline primarily depends on `Content-Type` and `Content-Disposition`. This is separate from the CORS requirement for the download button described below.
84
+
85
+ :::
86
+
87
+ ### An image previews correctly, but the download button reports a CORS error
88
+
89
+ Images are usually previewed with `<img>`, and cross-origin PDFs are previewed with an iframe. Both can display resources without CORS response headers. The download button, however, reads the file with `fetch` and creates a Blob for the browser to download. This request is subject to the browser's same-origin policy.
90
+
91
+ The following console error means that OSS did not return `Access-Control-Allow-Origin` for the current NocoBase site:
92
+
93
+ ```text
94
+ Access to fetch at 'https://oss.example.com/path/to/file.jpg' from origin
95
+ 'https://example.com' has been blocked by CORS policy:
96
+ No 'Access-Control-Allow-Origin' header is present on the requested resource.
97
+ ```
98
+
99
+ Follow the official Aliyun guide [Configure cross-origin resource sharing](https://help.aliyun.com/zh/oss/user-guide/configure-cross-origin-resource-sharing) and create a CORS rule for the bucket. For downloads from the preview component, use values like these:
100
+
101
+ | Setting | Recommended value |
102
+ | --- | --- |
103
+ | Allowed Origins | The complete NocoBase origin, such as `https://example.com` |
104
+ | Allowed Methods | `GET`, `HEAD` |
105
+ | Allowed Headers | `*` |
106
+ | Expose Headers | `ETag`, `Content-Disposition` |
107
+ | MaxAgeSeconds | `600` |
108
+
109
+ If S3 Pro also uploads files directly from the browser, add methods such as `PUT` and `POST` according to the actual upload requests shown in the browser Network panel, or create a separate upload rule.
110
+
111
+ After saving the rule, request the file again with the NocoBase site origin. The response should include at least:
112
+
113
+ ```http
114
+ Access-Control-Allow-Origin: https://example.com
115
+ Access-Control-Allow-Methods: GET, HEAD
116
+ ```
117
+
118
+ The browser may already have cached the response used for the image preview. That request did not include an `Origin` header, and the cached response may not contain `Access-Control-Allow-Origin`. If downloading still fails after you configure CORS, clear the browser cache for the file or select **Disable cache** in the developer tools and try again.
119
+
120
+ ### Verify the response headers
121
+
122
+ Use `curl` to simulate a cross-origin request from the NocoBase site. Replace the example origin, file URL, and signature parameters with the actual values:
123
+
124
+ ```bash
125
+ curl -sS -D - -o /dev/null \
126
+ -H 'Origin: https://example.com' \
127
+ 'https://oss.example.com/path/to/file.pdf?<signed-query>'
128
+ ```
129
+
130
+ Check the following results:
131
+
132
+ - PDF preview returns `Content-Type: application/pdf` without `Content-Disposition: attachment`
133
+ - Cross-origin download returns an `Access-Control-Allow-Origin` matching the NocoBase site
134
+ - The actual file URL uses the custom domain instead of the default `*.oss-cn-*.aliyuncs.com` domain
135
+
136
+ It is normal for a request without an `Origin` header to omit CORS response headers. Keep the `Origin` header in the example when verifying CORS.
137
+
138
+ ## Related links
139
+
140
+ - [File Preview](../file-preview/index.md)
141
+ - [S3 Pro](./s3-pro.md)
142
+ - [Migrate to S3 Pro](./migrate-to-s3-pro.md)
143
+ - [Storage Engines](./index.md)
@@ -10,7 +10,7 @@ description: |
10
10
  Batch edit all records or selected records.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -10,7 +10,7 @@ description: |
10
10
  Batch update all records or selected records.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -10,7 +10,7 @@ description: |
10
10
  Sending a request to any HTTP service supports sending context data to the target service.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -10,7 +10,7 @@ description: |
10
10
  Duplicate a record, you can either duplicate it into a form and edit it before saving it, or you can duplicate it directly to generate a new record.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -10,7 +10,7 @@ description: |
10
10
  Export filtered records to excel, you can configure which fields to export.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -10,7 +10,7 @@ description: |
10
10
  Import records using excel templates. You can configure which fields to import and templates will be generated automatically.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -7,7 +7,7 @@ description: |
7
7
  Calls the browser's print function to print a record.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -9,7 +9,7 @@ description: |
9
9
  Create AI employees with diverse skills to collaborate with humans, build systems, and handle business operations.
10
10
  isFree: true
11
11
  builtIn: true
12
- defaultEnabled: false
12
+ defaultEnabled: true
13
13
  editionLevel: 0
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: |
9
9
  Support integration with GigaChat LLM service.
10
10
  isFree: true
11
11
  builtIn: true
12
- defaultEnabled: false
12
+ defaultEnabled: true
13
13
  editionLevel: 0
14
14
  ---
15
15
 
@@ -7,7 +7,7 @@ description: |
7
7
  An OpenAPI documentation generator for NocoBase HTTP API.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Allows users to use API key to access application's HTTP API
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  This plugin is deprecated. There will be a new audit log plugin in the future.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  deprecated: true
12
12
  editionLevel: 0
13
13
  ---
@@ -7,7 +7,7 @@ description: |
7
7
  User authentication management, including password, SMS, and support for Single Sign-On (SSO) protocols, with extensibility.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  SMS authentication.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Backup and restore applications for scenarios such as application replication, migration, and upgrades.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  deprecated: true
12
12
  editionLevel: 0
13
13
  ---
@@ -10,7 +10,7 @@ description: |
10
10
  Provides backup and restore functionality, supports scheduled backups, and ensures data security and quick recovery.
11
11
  isFree: true
12
12
  builtIn: true
13
- defaultEnabled: false
13
+ defaultEnabled: true
14
14
  editionLevel: 0
15
15
  ---
16
16
 
@@ -7,7 +7,7 @@ description: |
7
7
  Provides a Comment block for viewing and creating comments in record details, pop-ups, and similar scenarios.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Display data in a grid list with pagination support.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Create an iframe block on the page to embed and display external web pages or content.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Display data in a list with pagination support.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Provide Markdown block
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -9,7 +9,7 @@ description: |
9
9
  Break the form with many fields into multiple steps to ease the burden on users.
10
10
  isFree: true
11
11
  builtIn: true
12
- defaultEnabled: false
12
+ defaultEnabled: true
13
13
  deprecated: true
14
14
  editionLevel: 0
15
15
  ---
@@ -7,7 +7,7 @@ description: |
7
7
  Create and manage block templates for reuse on pages.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  deprecated: true
12
12
  editionLevel: 0
13
13
  ---
@@ -9,7 +9,7 @@ description: |
9
9
  Provides tree structure filter block
10
10
  isFree: true
11
11
  builtIn: true
12
- defaultEnabled: false
12
+ defaultEnabled: true
13
13
  editionLevel: 0
14
14
  ---
15
15
 
@@ -7,7 +7,7 @@ description: |
7
7
  Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ description: |
7
7
  Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.
8
8
  isFree: true
9
9
  builtIn: true
10
- defaultEnabled: false
10
+ defaultEnabled: true
11
11
  editionLevel: 0
12
12
  ---
13
13
 
@@ -9,7 +9,7 @@ description: |
9
9
  The plugin has been deprecated, please use the data visualization plugin instead.
10
10
  isFree: true
11
11
  builtIn: true
12
- defaultEnabled: false
12
+ defaultEnabled: true
13
13
  deprecated: true
14
14
  editionLevel: 0
15
15
  ---