Recipes and Recipe Steps
The Estimator modules ship Orchard Core recipes, and recipe steps that other recipes can use. Setup recipes show on the setup screen; the others show in Tools > Recipes. All recipe JSON is wrapped in { "steps": [...] }.
Recipes
Recipe (name) | Display name | Setup | Module | What it does |
|---|---|---|---|---|
Estimator | Estimator | Yes | CrestApps.OrchardCore.Estimator | Enables the Orchard Core admin features, the themes, every Estimator feature but the API and AI, Liquid, CrestApps Reports with its Excel export and the Report Builder, Data Pipelines and Media. Adds the starting proposal clauses (EstimatorProposalClauses) |
EstimatorElectrical | Estimator – Electrical | Yes | CrestApps.OrchardCore.Estimator | The same features as Estimator, plus the Estimator API, OrchardCore.OpenApi and OrchardCore.OpenApi.SwaggerUI; the Estimator, Estimating manager and Catalog administrator roles; and, with the Recipes step, the EstimatorSampleCatalog, EstimatorElectricalPackage and EstimatorMigrationTemplates recipes. See Estimator API |
EstimatorSampleCatalog | Estimator sample catalog | No | CrestApps.OrchardCore.Estimator.Catalog | A small fictional catalog, five assemblies, and sample labor rate tables, crews and factors. See Estimator Catalog |
EstimatorElectricalPackage | Estimator electrical package | No | CrestApps.OrchardCore.Estimator.Electrical | 263 sample items, 304 assemblies, job condition factors, crews, electrical clauses and the default Electrical – Commercial estimate template. See Estimator Electrical |
EstimatorMigrationTemplates | Estimator migration templates | No | CrestApps.OrchardCore.Estimator.Catalog | Two draft data pipelines that import the item and assembly exports of another estimating system, and sample exports in the media library. See Estimator Catalog |
EstimatorAIAssistant | Estimator AI assistant | No | CrestApps.OrchardCore.Estimator.AI | The CrestApps AI features, AI usage tracking, and the Estimator Assistant and Catalog Specialist profiles. See Estimator AI |
Each data recipe can run again: its steps change the records they added before and keep everything else. The EstimatorElectrical setup recipe runs the data recipes in the order of the table, so the electrical package finds the sample labor rates.
Recipe steps
| Step | Module | Imports | Matched by | Reference |
|---|---|---|---|---|
EstimatorCatalog | Estimator Catalog | Catalog items with their prices and labor units | Item number | Catalog recipe step |
EstimatorAssemblies | Estimator Catalog | Assemblies with their components, parameters and variants | Code; the assembly is replaced | Assembly recipe step |
EstimatorLabor | Estimator Catalog | Labor rate tables, crews and labor factors | Name; factors by group and name | Labor recipe step |
EstimatorProposalClauses | Estimator Proposals | Inclusions, exclusions and clarifications of the clause library | Kind and text | Proposals recipe step |
EstimatorEstimateTemplates | Estimator Estimates | Estimate templates with their recap settings, breakdown and lines | Name | Estimate templates |
Data pipeline steps
The Estimator Catalog adds two steps to Orchard Core Data Pipelines, for imports that a person maps and runs in the admin:
| Step | Writes | Reference |
|---|---|---|
Save catalog items (SaveCatalogItems) | Catalog items and their prices, such as from a price file | Price file import |
Save assemblies (SaveAssemblies) | Assemblies from rows of one component each | Migration from other estimating systems |
Tests
tests/CrestApps.OrchardCore.Estimator.Tests/Architecture/SetupRecipeTests.cs checks that the electrical setup recipe enables every feature of the Estimator recipe and the API, that its roles use only permissions the modules declare, and the order of its nested recipes. AIRecipeTests checks the AI recipe.