How microsoft/fabric-extensibility-toolkit works
This repository is a Microsoft Fabric workload-extension toolkit, with a runnable Hello World item illustrating the user experience: Fabric opens the workload, routes to an item editor, and the editor can use Fabric APIs and OneLake storage. The app also provides OneLake browsing and a development-only SDK playground. The tree includes remote setup and job-scheduling code, matching the README’s release notes, but the available excerpts do not establish its runtime wiring. Edges are limited to relationships shown in excerpts, the source index, or README; unsampled subsystem internals are not inferred.
Main entry points: ClientSDKPlayground.tsx Client SDK playground · OneLakeViewController.ts Explorer data logic · FabricPlatformClient.ts Platform API client · OneLakeStorageClient.ts OneLake storage
Components 27
Workload experience
- Workload routes
Workload/app/App.tsx - Hello World editor
Workload/app/items/HelloWorldItem/HelloWorldItemEditor.tsx
Fabric integration
- Item CRUD
Workload/app/controller/ItemCRUDController.ts - Navigation API
Workload/app/controller/NavigationController.ts - Data hub dialogs
Workload/app/controller/DataHubController.ts - Platform API client
Workload/app/clients/FabricPlatformClient.ts - Platform scopes
Workload/app/clients/FabricPlatformScopes.ts - Platform types
Workload/app/clients/FabricPlatformTypes.ts
OneLake exploration
- OneLake explorer
Workload/app/components/OneLakeView/OneLakeView.tsx - Explorer data logic
Workload/app/components/OneLakeView/OneLakeViewController.ts - Explorer view model
Workload/app/components/OneLakeView/OneLakeViewModel.ts - OneLake storage
Workload/app/clients/OneLakeStorageClient.ts - Item storage wrapper
Workload/app/clients/OneLakeStorageClientItemWrapper.ts
SDK playground
- Optional playground routes
Workload/app/playground/ConditionalPlaygroundRoutes.tsx - Client SDK playground
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Playground state
Workload/app/playground/ClientSDKPlayground/Store/Store.ts - Authentication examples
Workload/app/playground/ClientSDKPlayground/ApiAuthentication.tsx - Frontend auth example
Workload/app/playground/ClientSDKPlayground/ApiAuthenticationFrontend.tsx - Data hub example
Workload/app/playground/ClientSDKPlayground/ApiData.tsx - Variable library example
Workload/app/playground/ClientSDKPlayground/ApiVariableLibrary.tsx - UI component examples
Workload/app/playground/ClientSDKPlayground/UIComponents.tsx
Remote operations
- Job scheduling
scripts/Setup/job/JobSchedulerController.ts - Remote workload APIs
scripts/Setup/remote - OneLake remote service
scripts/Setup/remote/oneLakeClientService.js - Token exchange
scripts/Setup/remote/tokenExchangeService.js
Other components
- Fabric user
- Fabric host
Connections 25
- Fabric user → Fabric host: opens workload
README.md - Fabric host → Workload routes: loads routes
- Workload routes → Hello World editor: routes to editor
Workload/app/App.tsx - Workload routes → Optional playground routes: adds optional routes
Workload/app/App.tsx - Hello World editor → Item CRUD: uses item APIs
- Item CRUD → Fabric host: gets and updates items
Workload/app/controller/ItemCRUDController.ts - Navigation API → Fabric host: calls navigation API
Workload/app/controller/NavigationController.ts - Data hub dialogs → Fabric host: opens data hub dialogs
Workload/app/controller/DataHubController.ts - Platform API client → Fabric host: calls platform APIs
- Platform API client → Platform scopes: uses scopes
- Platform API client → Platform types: uses types
- OneLake explorer → Explorer data logic: uses explorer logic
- Explorer data logic → OneLake storage: reads path metadata
Workload/app/components/OneLakeView/OneLakeViewController.ts - Explorer data logic → Platform API client: fetches item
Workload/app/components/OneLakeView/OneLakeViewController.ts - Explorer data logic → Explorer view model: uses metadata types
Workload/app/components/OneLakeView/OneLakeViewController.ts - OneLake storage → Fabric host: requests OneLake DFS
Workload/app/clients/OneLakeStorageClient.ts - OneLake storage → Item storage wrapper: supports item wrapper
Workload/app/clients/OneLakeStorageClient.ts - Item storage wrapper → OneLake storage: delegates storage calls
Workload/app/clients/OneLakeStorageClientItemWrapper.ts - Optional playground routes → Client SDK playground: routes to SDK demos
Workload/app/playground/ConditionalPlaygroundRoutes.tsx - Client SDK playground → Playground state: reads and updates state
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Client SDK playground → Authentication examples: renders auth demo
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Client SDK playground → Frontend auth example: renders frontend auth demo
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Client SDK playground → Data hub example: renders data demo
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Client SDK playground → Variable library example: renders variable demo
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx - Client SDK playground → UI component examples: renders UI demo
Workload/app/playground/ClientSDKPlayground/ClientSDKPlayground.tsx