CPQ_Admin 0.9.1-beta
dotnet add package CPQ_Admin --version 0.9.1-beta
NuGet\Install-Package CPQ_Admin -Version 0.9.1-beta
<PackageReference Include="CPQ_Admin" Version="0.9.1-beta" />
<PackageVersion Include="CPQ_Admin" Version="0.9.1-beta" />
<PackageReference Include="CPQ_Admin" />
paket add CPQ_Admin --version 0.9.1-beta
#r "nuget: CPQ_Admin, 0.9.1-beta"
#:package CPQ_Admin@0.9.1-beta
#addin nuget:?package=CPQ_Admin&version=0.9.1-beta&prerelease
#tool nuget:?package=CPQ_Admin&version=0.9.1-beta&prerelease
CPQ_Admin Project
Overview
CPQ_Admin is a backend administration and configuration project for the Dynamic Web CPQ (Configure, Price, Quote) system. It provides the UI and logic for managing CPQ models, inputs, rules, templates, and settings within the Dynamicweb admin interface.
Scope & Responsibilities
What CPQ_Admin Handles
- Admin Configuration: Models, model versions, input groups, inputs, and input options
- Rule Management: Input rules, BOM rules, route rules, and job templates
- Visual Configuration: Quick configure settings, card templates, and price rules
- Settings & Maintenance: Global CPQ settings, portable page management, and search functionality
- Tree Navigation: Hierarchical navigation structure for managing CPQ entities
What CPQ_Admin Does NOT Handle
- API Interactions: All API calls and external data interactions are handled by the CPQ_API project
- Quote Creation: Quote/sales order interactions are managed by CPQ_API
- Real-time Calculations: Runtime calculations and business logic execution are handled by CPQ_API
- Frontend Integration: Frontend UI components and user interactions (handled by Swift or other frontend templates)
Important: If you are implementing features involving API calls, data processing, or quote interactions, work in the CPQ_API project, not here.
Project Structure
CPQProject.CPQ_Admin/
├── README.md # This file
├── CPQ_Admin.csproj # Project configuration
├── Classes/ # Business logic classes
│ ├── BomRuleAction.cs
│ ├── BomRuleCondition.cs
│ ├── ConfigurationData.cs
│ └── ...
├── Commands/ # Admin commands
│ ├── InputCopyCommand.cs
│ ├── GroupCopyToModelCommand.cs
│ └── ...
├── Helpers/ # Utility helpers
├── Models/ # Data models
├── Queries/ # Data queries
├── Screens/ # UI screens for admin
├── Tree/ # Navigation tree structure
├── Updates/
│ └── Files/ # [DO NOT EDIT] Installation templates
│ ├── Assets/
│ ├── Paragraph/ # Paragraph templates for installation
│ └── ...
└── ContentPortable/ # Portable page export/import logic
├── Screens/
└── ...
Update/Files Directory
Important: DO NOT EDIT
The Update/Files/ directory contains template copies of the current version templates used during the installation process. These files are:
- Not part of active code review: Do not update or commit changes to these files as part of regular development
- Installation artifacts: Used only when preparing a new version for publication
- Managed elsewhere: Templates are maintained in the RobukProject.Files project
- Auto-updated at release: When ready to publish, these files will be synchronized from the
.Filesproject
Workflow
- During development: Edit templates in
RobukProject.Files(Swift, Swift-v2, etc.) - During code review: Focus on
Classes/,Commands/,Helpers/,Queries/,Screens/, andTree/ - At release time: Run the update process to sync
Update/Files/from.Filesproject - Never: Manually update files in
Update/Files/as part of regular development
Building & Testing
Prerequisites
- .NET 8.0 SDK
- Visual Studio 2022 or VS Code with C# extension
Build
dotnet build RobukProject.Host/RobukProject.Host.csproj
Project Dependencies
- Dynamicweb10: Core Dynamicweb framework
- CPQ_API: API project (do not build CPQ_Admin in isolation; build the host)
Related Projects
- CPQProject.CPQ_API: Backend API and business logic
- RobukProject.Files: Template and asset files
- RobukProject.Host: Hosting and integration layer
- RobukProject.Custom: Custom business logic
Development Guidelines
Adding New Admin Features
- Create data model in
Models/ - Create query in
Queries/to fetch data - Create command in
Commands/if data modification is needed - Create screen in
Screens/for the admin UI - Add navigation in
Tree/(CPQModelNodeProvider, etc.) - Update the corresponding template in
RobukProject.Fileswhen ready
Code Organization
- Classes: Business entities and configuration data
- Commands: Admin actions (save, copy, delete, etc.)
- Queries: Read operations and data retrieval
- Screens: Admin UI screens inheriting from Dynamicweb base screens
- Tree: Navigation structure and node providers
Important: API Logic Belongs in CPQ_API
- Do NOT add API endpoint logic here
- Do NOT add quote/sales order processing here
- Do NOT add calculation engines here
All runtime business logic should be in CPQProject.CPQ_API.
Contributing
When submitting PRs to CPQ_Admin:
- Focus on admin configuration only: Ensure changes are for admin UI or configuration management
- Ignore Update/Files: Do not include changes to
Update/Files/directory in PRs - Reference CPQ_API: If your change requires API logic, also create a PR in CPQ_API
- Update templates separately: Template changes go to
RobukProject.Files, not here - Test in context: Build and test using
RobukProject.Host
Support
For questions about:
- Admin UI/configuration: See this project (CPQ_Admin)
- API calls/data processing: See CPQProject.CPQ_API
- Templates/frontend: See RobukProject.Files
- Integration/hosting: See RobukProject.Host
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Dynamicweb (>= 10.24.11)
- Dynamicweb.Application.UI (>= 10.24.11)
- Dynamicweb.Apps.UI (>= 10.24.11)
- Dynamicweb.Content.UI (>= 10.24.11)
- Dynamicweb.Core (>= 10.24.11)
- Dynamicweb.CoreUI (>= 10.24.11)
- Dynamicweb.Ecommerce (>= 10.24.11)
- Dynamicweb.Insights.UI (>= 10.24.11)
- Dynamicweb.Integration.UI (>= 10.22.10)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|