Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A NuGet-style package is used to defined Fabric Workloads. This manifest is the contract between your workload and Fabric—it tells the host what your workload is, which capabilities it exposes, how and where to load it, and what items it contributes.
What’s in the manifest package
The manifest package is composed of several parts that work together:
- Workload manifest: Declares identity, routes, entry points, permissions, and capabilities. See Workload manifest.
- Product JSON: Provides product-level metadata used for discovery and publishing. See Product manifest.
- Item manifests and JSON files: Define each item type your workload contributes, including creation, editing, viewing, and behaviors. See Items.
Package structure
The workload is packaged as a NuGet package, combining backend and frontend components. The structure adheres to specific naming conventions and is enforced by Fabric for consistency across upload scenarios.
Backend structure
The backend segment is in the BE folder and comprises .xml files that define the workload and its associated items:
WorkloadManifest.xml- The workload configuration file, required to have this exact name for Fabric's verification.Item1.xml,Item2.xml,...- Manifests for individual items with flexible naming, following the XML format.
Frontend structure
The frontend section is in the FE folder and contains .json files detailing the product and items for the frontend, along with an assets directory for icons:
Product.json- The main manifest for your product's frontend, which must be named precisely for Fabric's verification.Item1.json,Item2.json,...- Manifests for individual items with flexible naming, following the JSON format. Each json corresponds to a backend manifest (for example, Item1.json to Item1.xml).assetsfolder - Stores all icons and localized resources used by the frontend.
Package limits
The following limits apply to all types of NuGet packages, both in development mode and cloud mode:
- Only
BEandFEsubfolders are permitted. Any other subfolders or files located outside these folders result in an upload error. - The
BEfolder accepts only.xmlfiles. Any other file type result in an upload error. - A maximum of 10 item files is allowed, meaning the
BEfolder can contain oneWorkloadManifest.xmland up to 10Item.xmlfiles. Having more than 10 item files in the folder result in an upload error. - The
Assetssubfolder must reside under theFEfolder. It can contain up to 15 files, with each file being no larger than 1.5 MB. - Only the following file types are permitted in the
Assetssubfolder:.jpeg,.jpg,.png. - The
FEfolder can contain a maximum of 10 item files plus oneproduct.jsonfile. - The size of the
product.jsonmust not exceed 50 KB. - Each asset within the
Assetsfolder must be referenced within the item files. Any asset referenced from an item file that is missing in theAssetsfolder will result in an upload error. - Filenames for items must be unique. Duplicate filenames result in an upload error.
- Filenames must contain alphanumeric (English) characters or hyphens only and cannot exceed a length of 32 characters. Using other characters or exceeding this length result in an upload error.
- The total package size must not exceed 20 MB.
Why the manifest matters
- Development: The manifest enables local registration and host bootstrapping so you can run and debug your workload inside Fabric.
- Publishing: The same manifest package is used to validate, certify, and publish your workload to the Workload Hub or tenant environments.
Scripts and automation in the Starter-Kit
The Starter-Kit repository includes scripts that automatically build the manifest package for you during setup and development. It reduces manual steps and keeps the contract in sync with your code.
How it’s used in dev and production
- DevGateway: Uses the manifest to register your local development instance with Fabric so your app loads in an iFrame during development. See DevGateway.
- Admin Portal: For testing and production, upload the manifest package through the Fabric Admin Portal as part of your publishing flow. See Publish your workload.