You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ROADMAP_CONSOLE.md
+32-31Lines changed: 32 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
# ObjectStack Console — Complete Development Roadmap
2
2
3
3
> **Last Updated:** February 16, 2026
4
-
> **Current Version:** v0.5.2
4
+
> **Current Version:** v0.8.0
5
5
> **Target Version:** v1.0.0 (GA)
6
6
> **Spec Alignment:**@objectstack/spec v3.0.2
7
7
> **Bootstrap (Phase 0):** ✅ Complete
8
-
> **Phases 1-9:** ⚠️ Mostly Complete (see verified status below)
9
-
> **Priority Focus:** 🎯 UI-essential features for v1.0 release
8
+
> **Phases 1-9:** ✅ Complete
9
+
> **Phase 10 (L1):** ✅ Complete — Data Interaction Foundation
10
+
> **Priority Focus:** 🎯 Phase 11-12 for v1.0 release
10
11
11
12
---
12
13
@@ -433,19 +434,19 @@ These were the initial tasks to bring the console prototype to production-qualit
433
434
434
435
---
435
436
436
-
### Phase 10: Data Interaction Foundation (v1.0 Blockers) 🔲 Planned
437
+
### Phase 10: Data Interaction Foundation (v1.0 Blockers) ✅ Complete
437
438
438
439
**Goal:** Implement core data interaction features required for v1.0 GA — file upload, related record lookup, export, ActionEngine, and server-driven metadata loading.
439
440
440
-
**Status:**🔲 Not Started — These are v1.0 blockers that must ship before GA.
441
+
**Status:**✅ L1 Complete — All v1.0 blocker features implemented and tested.
441
442
442
443
**Approach:** Progressive implementation with L1 (Foundation) → L2 (Production) → L3 (Excellence) maturity stages. Each feature starts with a minimal viable implementation (L1), then evolves to production-ready quality (L2), and optionally to advanced capabilities (L3).
|**L1 (Foundation)**| Basic file input field with preview in forms. Single file upload with progress indicator. Accepts common file types (images, PDFs, docs). |🔲 Planned|`FieldMetadata` type `file` + `FileUploadField` widget |
449
+
|**L1 (Foundation)**| Basic file input field with preview in forms. Single file upload with progress indicator. Accepts common file types (images, PDFs, docs). |✅ Done|`FieldMetadata` type `file` + `FileUploadField` widget |
|**L1 (Foundation)**| LookupField widget with DataSource-integrated search. Type-ahead search returns matching records. Selected record displayed with primary field. |🔲 Planned|`FieldMetadata` type `lookup` with `referenceObject` property |
464
+
|**L1 (Foundation)**| LookupField widget with DataSource-integrated search. Type-ahead search returns matching records. Selected record displayed with primary field. |✅ Done|`FieldMetadata` type `lookup` with `referenceObject` property |
464
465
|**L2 (Production)**| Advanced search with multiple fields, record preview on hover, quick-create button for related records, multi-select lookup. | 🔲 Planned |`LookupFieldMetadata.searchFields`, `quickCreate`, `multiple`|
465
466
|**L3 (Excellence)**| Dependent lookups (filter options based on other fields), hierarchical lookups (parent-child relationships), lookup result caching. | 🔲 Planned |`dependsOn` filters, `hierarchical` mode, caching strategy |
466
467
@@ -475,7 +476,7 @@ These were the initial tasks to bring the console prototype to production-qualit
|**L1 (Foundation)**| CSV/JSON export button on Grid toolbar. Exports visible columns and current filtered/sorted data. |🔲 Planned |`ListViewSchema.exportOptions` with `csv`, `json` formats |
479
+
|**L1 (Foundation)**| CSV/JSON export button on Grid toolbar. Exports visible columns and current filtered/sorted data. |✅ Done |`ObjectGridSchema.exportOptions` +`ListViewSchema.exportOptions` with `csv`, `json` formats |
479
480
|**L2 (Production)**| Excel (XLSX) export, PDF export with formatting, export all data (not just visible), custom column selection for export. | 🔲 Planned |`exportOptions.formats: ["csv", "xlsx", "json", "pdf"]`|
480
481
|**L3 (Excellence)**| Scheduled exports via automation, export templates with custom formatting, email export results, export to cloud storage. | 🔲 Planned | Integration with Phase 18 Automation workflows |
481
482
@@ -490,7 +491,7 @@ These were the initial tasks to bring the console prototype to production-qualit
|**L1 (Foundation)**| Console fetches app config from server at runtime using `DataSource.getApp()`, `getView()`, `getPage()` methods. Fallback to static config when server unavailable. |🔲 Planned|`DataSource` interface metadata methods |
509
+
|**L1 (Foundation)**| Console fetches app config from server at runtime using `DataSource.getApp()`, `getView()`, `getPage()` methods. Fallback to static config when server unavailable. |✅ Done|`DataSource` interface metadata methods |
509
510
|**L2 (Production)**| Metadata caching with ETag support (already implemented in adapter), hot-reload on metadata changes, version compatibility checks. | ✅ Done (Adapter) |`MetadataCache` in `ObjectStackAdapter`|
510
511
|**L3 (Excellence)**| Metadata editing UI (admin console), metadata versioning and rollback, A/B testing with metadata variants. | 🔲 Planned | Advanced admin features |
511
512
@@ -517,11 +518,11 @@ These were the initial tasks to bring the console prototype to production-qualit
517
518
- Console displays loading state during metadata fetch
518
519
519
520
**Success Metrics:**
520
-
-[] File upload works in forms with progress indicator
521
-
-[] Lookup field searches related records via DataSource
522
-
-[] Grid export button downloads CSV with current data
523
-
-[] All CRUD actions dispatched through ActionEngine
524
-
-[] Console loads app config from server (not static file)
521
+
-[x] File upload works in forms with progress indicator
522
+
-[x] Lookup field searches related records via DataSource
523
+
-[x] Grid export button downloads CSV with current data
524
+
-[x] All CRUD actions dispatched through ActionEngine
525
+
-[x] Console loads app config from server (not static file)
525
526
526
527
---
527
528
@@ -875,7 +876,7 @@ These were the initial tasks to bring the console prototype to production-qualit
0 commit comments