CPQ_Admin 0.9.1-beta

This is a prerelease version of CPQ_Admin.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package CPQ_Admin --version 0.9.1-beta
                    
NuGet\Install-Package CPQ_Admin -Version 0.9.1-beta
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CPQ_Admin" Version="0.9.1-beta" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CPQ_Admin" Version="0.9.1-beta" />
                    
Directory.Packages.props
<PackageReference Include="CPQ_Admin" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CPQ_Admin --version 0.9.1-beta
                    
#r "nuget: CPQ_Admin, 0.9.1-beta"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CPQ_Admin@0.9.1-beta
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CPQ_Admin&version=0.9.1-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CPQ_Admin&version=0.9.1-beta&prerelease
                    
Install as a Cake Tool

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 .Files project

Workflow

  1. During development: Edit templates in RobukProject.Files (Swift, Swift-v2, etc.)
  2. During code review: Focus on Classes/, Commands/, Helpers/, Queries/, Screens/, and Tree/
  3. At release time: Run the update process to sync Update/Files/ from .Files project
  4. 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)
  • 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

  1. Create data model in Models/
  2. Create query in Queries/ to fetch data
  3. Create command in Commands/ if data modification is needed
  4. Create screen in Screens/ for the admin UI
  5. Add navigation in Tree/ (CPQModelNodeProvider, etc.)
  6. Update the corresponding template in RobukProject.Files when 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:

  1. Focus on admin configuration only: Ensure changes are for admin UI or configuration management
  2. Ignore Update/Files: Do not include changes to Update/Files/ directory in PRs
  3. Reference CPQ_API: If your change requires API logic, also create a PR in CPQ_API
  4. Update templates separately: Template changes go to RobukProject.Files, not here
  5. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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