|
1 | 1 | # ObjectUI Development Roadmap |
2 | 2 |
|
3 | | -> **Last Updated:** March 2, 2026 |
| 3 | +> **Last Updated:** March 4, 2026 |
4 | 4 | > **Current Version:** v0.5.x |
5 | 5 | > **Spec Version:** @objectstack/spec v3.2.0 |
6 | 6 | > **Client Version:** @objectstack/client v3.2.0 |
@@ -1164,6 +1164,38 @@ The `FlowDesigner` is a canvas-based flow editor that bridges the gap between th |
1164 | 1164 | - [ ] Conflict resolution on reconnection wired into Console flow |
1165 | 1165 | - [ ] Optimistic updates with TransactionManager state application |
1166 | 1166 |
|
| 1167 | +### P2.6 Plugin Modularization & Dynamic Management |
| 1168 | + |
| 1169 | +> **Status:** Phase 1 complete — Plugin class standard, install/uninstall API, example plugin classes. |
| 1170 | +
|
| 1171 | +Plugin architecture refactoring to support true modular development, plugin isolation, and dynamic plugin install/uninstall at runtime. |
| 1172 | + |
| 1173 | +**Phase 1 — Plugin Class Standard & Example Plugins ✅** |
| 1174 | +- [x] Define `AppMetadataPlugin` interface in `@object-ui/types` (name, version, type, description, init/start/stop/getConfig) |
| 1175 | +- [x] Define `PluginContext` interface for lifecycle hook context (logger, kernel) |
| 1176 | +- [x] Add `install(plugin)` / `uninstall(pluginName)` convenience methods to `PluginSystem` in `@object-ui/core` |
| 1177 | +- [x] Create `CRMPlugin` with full lifecycle (init/start/stop/getConfig) — `examples/crm/plugin.ts` |
| 1178 | +- [x] Create `TodoPlugin` — `examples/todo/plugin.ts` |
| 1179 | +- [x] Create `KitchenSinkPlugin` — `examples/kitchen-sink/plugin.ts` |
| 1180 | +- [x] Update `package.json` exports for all example apps (`./plugin` entry point) |
| 1181 | +- [x] Refactor root `objectstack.config.ts` to use plugin-based config collection via `getConfig()` |
| 1182 | +- [x] Unit tests for `install()` / `uninstall()` (5 new tests, 18 total in PluginSystem) |
| 1183 | + |
| 1184 | +**Phase 2 — Dynamic Plugin Loading (Planned)** |
| 1185 | +- [ ] Hot-reload / lazy loading of plugins for development |
| 1186 | +- [ ] Runtime plugin discovery and loading from registry |
| 1187 | +- [ ] Plugin dependency graph visualization in Console |
| 1188 | + |
| 1189 | +**Phase 3 — Plugin Identity & Isolation (Planned)** |
| 1190 | +- [ ] Preserve origin plugin metadata on objects, actions, dashboards for runtime inspection |
| 1191 | +- [ ] Per-plugin i18n namespace support |
| 1192 | +- [ ] Per-plugin permissions and data isolation |
| 1193 | + |
| 1194 | +**Phase 4 — Cross-Repo Plugin Ecosystem (Planned)** |
| 1195 | +- [ ] Plugin marketplace / registry for third-party plugins |
| 1196 | +- [ ] Plugin publish/validate tooling (spec v3.0.9 `PluginBuildOptions`, `PluginPublishOptions`) |
| 1197 | +- [ ] Cross-repo plugin loading from npm packages |
| 1198 | + |
1167 | 1199 | --- |
1168 | 1200 |
|
1169 | 1201 | ## 🔮 P3 — Future Vision (Deferred) |
|
0 commit comments