ObjectOS
构建

Marketplace

无需编写代码,即可将现成应用安装到运行中的 ObjectOS。

Marketplace

ObjectOS marketplace 让你能够将预构建的应用安装到运行中的运行时——无需构建步骤、无需重启、无需检出源代码。这是在第一天就将真正的软件交付到用户面前的最快方式。

工作原理

每个 ObjectOS 运行时默认都启用了 MarketplaceProxyMarketplaceInstallLocal 插件。当你打开 Console(/_console/)时,marketplace 标签页会查询已配置的应用目录,并展示可安装的应用。

You ─→ Console ─→ Marketplace tab ─→ pick app ─→ Install

                                       Artifact merged into kernel

                                       Console re-renders with new
                                       objects / views / permissions

                                       Done — no restart

目录

目录来源适用场景
Default与运行时镜像预先打包首次评估、演示、离线
ObjectStack public catalog公共应用注册表最新的社区应用与第一方应用
Private catalog你自己发布的制品不想公开的内部应用
Local挂载到运行时中的文件隔离网络环境、自定义构建

目录来源通过 marketplace 插件或环境变量配置;参见运行时配置

默认目录中包含的内容

这些应用可以在 Console 中一键安装:

应用提供的能力
Todo通用任务与项目跟踪器
Contracts带 AI 条款提取的合同生命周期管理(CLM)
Procurement供应商、采购订单、三方匹配
ComplianceSOC 2 / ISO 27001 控制项 + 证据收集
HelpdeskAI 优先的客户支持工单系统
Content编辑日历 + 渠道 ROI
HR通讯录、组织架构图、休假
Project项目 / 任务 / 里程碑跟踪

源代码位于 github.com/objectstack-ai/templates——可以克隆其中任意一个作为自定义应用的起点。

安装流程

  1. 打开 Console——http://localhost:3000/_console/
  2. 登录——如果尚不存在账户,请在 /_account/register 注册一个
  3. 进入 marketplace 标签页
  4. 选择一个应用,点击 Install
  5. 重新加载 Console——新应用的对象、视图和流程将会出现

在幕后,marketplace 会获取应用编译后的制品,将其合并到运行中的内核,并通过 ObjectQL 注册其对象。种子数据(如果应用定义了)会在首次安装时插入。

卸载

在 Console → Marketplace → 已安装的应用 → Uninstall。该应用的对象会从内核中移除,其数据表会被标记为待清理(默认情况下数据会被保留;你可以选择是否删除数据表)。

发布你自己的应用

任何通过 os init 构建的内容都可以成为一个 marketplace 应用。

os init my-app -t app --install
cd my-app
# ... write objects, views, etc. ...
os compile                                    # → dist/objectstack.json
os package publish                            # publish to a catalog

要发布到公共目录,你需要一个注册表账户(os login)。要发布到私有目录,请将 OS_PACKAGE_REGISTRY 指向你自己的注册表。

版本管理

每个已发布的应用都是不可变的。更新会产生一个新版本。运行时会按应用跟踪已安装的版本以及可用的更新。当某个应用在用户所跟踪的目录中发布了新版本时,用户会在 Console 中看到一个 "Update available" 徽标。

权限

安装应用需要 manage_marketplace 系统权限——默认情况下只有 Setup Administrator 权限集的成员拥有该权限。普通用户看到的 marketplace 是只读的。

隔离网络环境下的 marketplace

对于没有公网出口的部署环境,可在你的网络内运行一个本地目录服务器,并将 ObjectOS 指向它。拓扑结构请参见隔离网络

marketplace 不是什么

  • 不是代码分发渠道。 已发布的应用是编译后的制品——它们以声明式方式描述数据 + UI + 流程,不会分发任意 JavaScript。
  • 不是沙箱。 已安装的应用对你数据库的访问权限与内核中的其他任何内容相同——在安装来自不可信来源的应用之前,请先审查制品。
  • (暂时)不是支付平台。 公共目录中的应用都是免费的 Apache-2.0 应用。商业 / 付费分发已列入路线图。

On this page