diff --git a/implementation.md b/implementation.md
index a98bc56..2749596 100644
--- a/implementation.md
+++ b/implementation.md
@@ -170,7 +170,6 @@ graph TB
- **Purpose**: Orchestrate complete publishing workflows
- **Technology**: ASP.NET Core + Hangfire
- **Responsibilities**:
- - Package creation from successful builds
- Coordinate document generation
- Manage cloud uploads
- Update help center articles
@@ -191,13 +190,15 @@ erDiagram
Packages {
int Id PK
- string Name
+ string Title
string Version
string Description
+ int ProjectId FK
int SourceBuildId FK
json CloudStorageConfig
- json HelpCenterConfig
+ json HelpCenterArticles
string Status
+ datetime PublishDate
datetime CreatedAt
datetime UpdatedAt
}
@@ -249,14 +250,15 @@ erDiagram
}
Projects ||--o{ Builds : "produces builds"
- Builds ||--o| Packages : "creates package"
+ Projects ||--o{ Packages : "user creates packages for"
+ Builds ||--o{ Packages : "can be referenced by"
Packages ||--o{ Publications : "has publications"
```
#### Core Entities
```sql
--- Packages: Top-level finalized software releases
-Packages (Id, Name, Version, Description, SourceBuildId, CloudStorageConfig, HelpCenterConfig, Status, CreatedAt, UpdatedAt)
+-- Packages: User-defined software release configurations
+Packages (Id, Title, Version, Description, ProjectId, SourceBuildId, CloudStorageConfig, HelpCenterArticles, Status, PublishDate, CreatedAt, UpdatedAt)
-- Projects from CruiseControl.NET
Projects (Id, Name, Description, CCNetProjectName, Status, CreatedAt, UpdatedAt)
@@ -483,12 +485,12 @@ sequenceDiagram
participant HF as Hangfire
participant SH as SignalR Hub
- Note over User,UI: Package Creation Phase
- User->>UI: Select Build & Create Package
- UI->>GW: POST /api/packages/create-from-build
- GW->>PUB: Create Package from Build
- PUB->>SH: Package Created Notification
- SH->>UI: Real-time Package Status
+ Note over User,UI: Package Management Phase
+ User->>UI: Create/Edit Package Configuration
+ UI->>GW: POST /api/packages
+ Note over UI: Package List View, Package Details Form
+ UI->>GW: GET /api/packages (List View)
+ UI->>GW: GET /api/packages/{id} (Details)
Note over User,UI: Publishing Phase
User->>UI: Select Package & Initiate Publishing
@@ -529,13 +531,13 @@ flowchart TD
subgraph "Core Data Model"
PROJ[Projects
CC.NET Projects]
BUILDS[Builds
From Projects]
- PKG[Packages
Finalized Releases]
+ PKG[Packages
User-Defined Configs]
PUB_DATA[Publications
Publishing History]
end
subgraph "Processing Layer"
DS[Document Service
PDF Generator]
- PUB[Publishing Service
Package Creator & Orchestrator]
+ PUB[Publishing Service
Workflow Orchestrator]
end
subgraph "Output Channels"
@@ -552,10 +554,10 @@ flowchart TD
PS --> PROJ
MS --> PROJ
PROJ --> BUILDS
- BUILDS --> PKG
- PKG --> PUB_DATA
UI --> PKG
+ PKG --> PROJ
+ PKG --> BUILDS
PKG --> PUB
PUB --> DS
PUB --> STOR
@@ -577,6 +579,19 @@ flowchart TD
class UI ui
```
+## Frontend Views
+
+### Package Management Interface
+- **Package List View**: Display all packages with columns for Title, Project, Build, Status, Publish Date
+- **Package Details/Create Form**:
+ - Title (user input)
+ - Project (dropdown from available projects)
+ - Build (dropdown from project's successful builds)
+ - Publish Date (date picker)
+ - Help Center Articles (multi-select/tags)
+ - Cloud Storage Configuration
+ - Status tracking
+
## Next Steps
1. Set up development environment with Docker Compose
@@ -584,5 +599,5 @@ flowchart TD
3. Implement core database models and Entity Framework setup
4. Build API Gateway with authentication
5. Develop individual services in parallel
-6. Create React frontend with SignalR integration
+6. Create React frontend with Package Management views and SignalR integration
7. Integration testing and deployment scripts
\ No newline at end of file