製品と開発方法の違い
NocoBase 2 では、テーブル、ページ、権限、ワークフローはデータベースに保存された 設定 として存在し、プラットフォームがその設定を読み取って画面を描画していました。NocoBase 3 では、これらはすべて自社リポジトリの コード であり、エージェントが書きます。NocoBase はランタイム、プラグイン、基盤ライブラリを npm パッケージとして提供します。
変更がコードになれば、コードとして管理できます。ブランチで開発し、レビューし、テストし、バージョンごとにリリースし、問題があればロールバックします。プラットフォームに足りない機能があればエージェントが直接書けるので、設定画面の制約を受けることもなくなります。
| NocoBase 2 では | NocoBase 3 では |
|---|---|
| プラグインマネージャーでプラグインを有効にする | アプリのプラグインリストにプラグインを登録します。通常はエージェントが pnpm nocobase plugin register で行います。プラグインを管理する を参照してください |
| プラグインの設定ページで設定する | 3 か所に分かれます。デプロイ設定(データベース、ストレージ、メールプロバイダー)は config.yml に、業務ルールはエージェントがコードに書き込み、管理者が日常的に調整するもの(ユーザー、ロール、データ範囲、承認者、金額のしきい値)はアプリの System settings にあります |
| 画面上でページやブロックをドラッグ&ドロップする | ページの内容をエージェントに伝えると、エージェントが UI ライブラリのコンポーネントを使ってページをコードで書きます |
| ワークフローキャンバスでプロセスを設定する | プロセスはコード(レコードのライフサイクル)で書きます。管理者は Workflow management でフロー図を確認し、ワークフローパラメーターを調整し、実行履歴を確認します。 |
| データソース管理でテーブルを作成し、フィールドを追加する | エージェントがマイグレーションファイルを書き、pnpm nocobase db apply で実行します |
| 保存するとすぐに反映される | 変更はコードであり、開発、検証、デプロイを経て反映されます |
| AI 従業員 | 業務エージェント。Agents プラグインで接続し、人と同じロールと権限を使います |
プラグインに画面はまだあるのか
あります。ただし形が変わりました。プラグインはサーバー側の機能、スキル、コマンドをアプリにもたらし、一部のプラグインは独自のページを持っています(たとえば App foundation)。画面の多くは、エージェントがページに配置する UI コンポーネントとして提供されます。管理用の入口はアプリの System settings に集約されており、エージェントはアプリを引き渡す際に既定でこれを作ります。
アプリが使っているプラグインを確認するには、System settings › App foundation を開きます。アプリが実際に使っている Core の機能と、それを提供するパッケージが一覧表示されます。
機能の対応関係
| NocoBase 2 | NocoBase 3 | 備考 |
|---|---|---|
| ユーザー、ロール、権限 | 認証、ユーザー、認可の各プラグインに加え、既定のデータ範囲、共有ルール、制限ルールの 3 つのプラグイン | 既定のテンプレートで有効になっており、User management、Roles and permissions、Default data scopes の各ページが付属します |
| データソースとコレクション | データベースの基盤ライブラリとマイグレーション。外部データベースは 2 つ目の接続として接続します | SQLite、PostgreSQL、MySQL、SQL Server、Oracle に対応。Dameng、KingbaseES、OceanBase は商用版で対応します |
| ファイルマネージャー | ファイルプラグインとストレージの基盤ライブラリ | ローカルストレージ、S3 互換ストレージ、Alibaba Cloud OSS |
| ワークフロー | レコードのライフサイクル(基盤ライブラリ)と定期タスクプラグイン | プロセスの構造はコードで書き、ドラッグ&ドロップのデザイナーはありません |
| 承認 | 承認プラグイン 商用版 | 多段階承認、全員承認、いずれか承認、承認者の追加、転送、差し戻し |
| 通知とアプリ内メッセージ | 通知、アプリ内メッセージ、通知チャネルの各プラグイン | アプリ内メッセージ、メール(SMTP、Resend)、Feishu と DingTalk のグループボット |
| メール管理 | メールプラグイン | 個人のメールボックスを連携し、メールの送受信と同期を行います |
| AI 従業員と AI ナレッジベース | Agents プラグインとナレッジベースプラグイン | 既定のテンプレートにインストール済みで、必要なときに登録します |
| 多言語化とテーマ | 多言語化プラグイン。テーマはテンプレートに含まれます | |
| API キー | API キープラグイン | 既定のテンプレートで有効 |
| テンプレート印刷 | テンプレート印刷のスキルパック | エージェント向けのガイダンスのみです。実装はエージェントがアプリ内で行います |
| グラフ、インポート・エクスポート、その他のブロック | エージェントがアプリ内で実装 | UI ライブラリがデータテーブルやダッシュボードなどのコンポーネントを提供します |
| 監査ログ | まだ提供されていません | App foundation の監査の項目には、プロバイダーがまだ検出されていないことが表示されます |
| LDAP、SAML、DingTalk、WeCom、Feishu、Slack などのサインイン方法 | 認証プラグイン | すべて対応しています。認証プラグインは Better Auth 上に構築されており、エンタープライズ ID とソーシャルサインインは設定で接続します |
アプリが使うプラグインの確認、登録、更新、削除については、プラグインを管理する を参照してください。
既存アプリの移行
両者は構造が異なります。2 では業務の定義がデータベース内の設定であり、3 ではコードであるため、アプリをそのままアップグレードすることはできません。3 へ移行するには、アプリを 3 で作り直してから業務データをインポートします。
公式の移行方法とツール、および NocoBase 2 のメンテナンス計画が確定したら、このセクションを追記します。