Waldur Proposal Module
The Waldur proposal module provides a comprehensive research proposal management system that enables institutions to manage competitive resource allocation through structured calls for proposals, peer review processes, and automated resource provisioning.
Architecture Overview
The proposal system follows a Call → Round → Proposal → Review → Allocation architecture that handles the complete lifecycle from call publication to resource delivery:
graph TB
subgraph "Call Management"
CMO[CallManagingOrganisation] --> C[Call]
C --> RO[RequestedOffering]
C --> CRT[CallResourceTemplate]
CD[CallDocument] --> C
end
subgraph "Submission Process"
C --> R[Round]
R --> P[Proposal]
P --> RR[RequestedResource]
P --> PD[ProposalDocumentation]
P --> MP[Waldur Project]
end
subgraph "Review System"
P --> REV[Review]
REV --> RC[ReviewComment]
U[User/Reviewer] --> REV
end
subgraph "Resource Allocation"
P --> RA[ResourceAllocator]
RR --> MR[Marketplace Resource]
RA --> MR
PPRM[ProposalProjectRoleMapping] --> MP
end
Core Models
CallManagingOrganisation
: Organizations that create and manage calls for proposalsCall
: Main entity representing calls with configuration for review settings and durationRound
: Time-bounded submission periods with configurable review and allocation strategiesProposal
: Individual proposals with project details and resource requestsRequestedResource
: Specific resource requests within proposals linked to marketplaceReview
: Peer review system with scoring, comments, and field-specific feedback
Call Lifecycle and State Management
Call States
Calls progress through a simple but effective state machine:
stateDiagram-v2
[*] --> DRAFT : Call created
DRAFT --> ACTIVE : Call published
DRAFT --> ARCHIVED : Call canceled
ACTIVE --> ARCHIVED : Call completed
ARCHIVED --> [*]
Call State Descriptions
State | Description | Operations Allowed |
---|---|---|
DRAFT | Call being prepared by organization | Edit call details, add rounds, configure offerings |
ACTIVE | Call open for submissions | Submit proposals, manage reviews, allocate resources |
ARCHIVED | Call completed or canceled | View historical data, generate reports |
Proposal States
Proposals follow a comprehensive lifecycle with review integration:
stateDiagram-v2
[*] --> DRAFT : Proposal created
DRAFT --> SUBMITTED : Submitter ready
DRAFT --> CANCELED : Submitter cancels
SUBMITTED --> IN_REVIEW : Review process starts
SUBMITTED --> CANCELED : Admin cancels
IN_REVIEW --> ACCEPTED : Positive review outcome
IN_REVIEW --> REJECTED : Negative review outcome
IN_REVIEW --> CANCELED : Process canceled
ACCEPTED --> [*] : Resources allocated
REJECTED --> [*] : Process complete
CANCELED --> [*] : Process terminated
Proposal State Descriptions
State | Description | Triggers | Actions Available |
---|---|---|---|
DRAFT | Proposal being prepared | User creation | Edit, add resources, upload docs |
SUBMITTED | Proposal submitted for review | User submission | View, withdraw |
IN_REVIEW | Under review by experts | System/admin trigger | Review, comment, score |
ACCEPTED | Approved for resource allocation | Review completion | Allocate resources, create project |
REJECTED | Declined after review | Review completion | View feedback, appeal |
CANCELED | Withdrawn or administratively canceled | User/admin action | Archive |
Review States
Reviews maintain independent state for tracking progress:
stateDiagram-v2
[*] --> CREATED : Review assigned
CREATED --> IN_REVIEW : Reviewer starts
CREATED --> REJECTED : Reviewer declines
IN_REVIEW --> SUBMITTED : Review completed
IN_REVIEW --> REJECTED : Reviewer withdraws
SUBMITTED --> [*] : Review processed
REJECTED --> [*] : Assignment ended
Round Management and Strategies
Review Strategies
Rounds can be configured with different review timing approaches:
Strategy | Description | Use Case | Workflow |
---|---|---|---|
AFTER_ROUND | Reviews start after submission deadline | Large competitive calls | All proposals collected → batch review assignment |
AFTER_PROPOSAL | Reviews start immediately upon submission | Rolling submissions | Individual proposal → immediate review assignment |
Allocation Strategies
Resource allocation can be automated or manual:
Strategy | Description | Decision Maker | Allocation Logic |
---|---|---|---|
BY_CALL_MANAGER | Manual allocation by call administrators | Human reviewers | Call manager reviews scores and allocates |
AUTOMATIC | Automated based on review scores | System algorithm | Automatic allocation above score threshold |
Round Configuration
graph LR
subgraph "Round Configuration"
ST[Start Time] --> CT[Cutoff Time]
CT --> RD[Review Duration]
RD --> MR[Min Reviewers]
MR --> MS[Min Score]
MS --> AD[Allocation Date]
end
subgraph "Strategies"
RS[Review Strategy:<br/>AFTER_ROUND/<br/>AFTER_PROPOSAL]
AS[Allocation Strategy:<br/>BY_CALL_MANAGER/<br/>AUTOMATIC]
AT[Allocation Time:<br/>ON_DECISION/<br/>FIXED_DATE]
end
Resource Template System
Template Architecture
Call resource templates standardize resource requests across proposals:
graph TB
subgraph "Template Definition"
C[Call] --> CRT[CallResourceTemplate]
RO[RequestedOffering] --> CRT
CRT --> A[Attributes JSON]
CRT --> L[Limits JSON]
CRT --> REQ[Is Required]
end
subgraph "Proposal Usage"
P[Proposal] --> RR[RequestedResource]
CRT --> RR
RR --> PA[Proposal Attributes]
RR --> PL[Proposal Limits]
end
subgraph "Validation"
CRT --> V[Template Validation]
RR --> V
V --> MR[Marketplace Resource]
end
Template Configuration Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Review System Architecture
Review Assignment
The system supports flexible reviewer assignment strategies:
sequenceDiagram
participant R as Round
participant P as Proposal
participant RM as ReviewManager
participant Rev as Reviewer
participant N as NotificationSystem
Note over R: Review Strategy Check
alt After Round Strategy
R->>R: Cutoff time reached
R->>RM: Assign reviewers to all proposals
else After Proposal Strategy
P->>P: State changed to SUBMITTED
P->>RM: Assign reviewers immediately
end
RM->>Rev: Create review assignments
RM->>N: Notify assigned reviewers
Rev->>Rev: Complete reviews
RM->>RM: Aggregate review results
Review Scoring System
Reviews include comprehensive scoring and feedback:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Review Visibility Configuration
Calls can configure review transparency:
Setting | Description | Impact |
---|---|---|
reviewer_identity_visible_to_submitters |
Whether submitters see reviewer names | False : Shows "Reviewer 1", "Reviewer 2" |
reviews_visible_to_submitters |
Whether submitters see review details | False : Only final decision visible |
Integration with Waldur Marketplace
Resource Provisioning Flow
Accepted proposals automatically trigger marketplace resource creation:
sequenceDiagram
participant P as Proposal
participant RA as ResourceAllocator
participant MP as Marketplace
participant R as Resource
participant Proj as Project
P->>P: State changed to ACCEPTED
P->>RA: Create allocator
RA->>MP: Create marketplace order
MP->>R: Provision resources
R->>Proj: Link to proposal project
Note over Proj: Automatic role mapping
RA->>Proj: Apply ProposalProjectRoleMapping
Role Mapping System
The ProposalProjectRoleMapping
enables automatic role assignment:
1 2 3 4 5 6 |
|
When proposals are accepted:
- System identifies users with proposal roles
- Automatically assigns corresponding project roles
- Users gain appropriate project permissions
- Resources become accessible immediately
Realistic Usage Examples
1. Academic HPC Resource Allocation
Use Case: University research computing center allocating CPU hours
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
Workflow:
- Researchers submit proposals with resource requests
- Expert reviewers evaluate scientific merit
- Proposals scoring ≥7.0 automatically receive allocations
- HPC accounts created with specified limits
- Usage tracked through marketplace billing
2. Cloud Infrastructure Grant Program
Use Case: Government agency providing cloud resources for research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Workflow:
- Research teams submit project proposals
- Panel review with domain experts
- Program managers manually select winning proposals
- Resources allocated on fixed quarterly dates
- Multi-year projects supported with renewal process
3. Startup Incubator Resource Program
Use Case: Accelerator providing development resources to startups
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
Workflow:
- Startups apply continuously throughout year
- Industry mentors review applications within 14 days
- Incubator staff make acceptance decisions
- Resources provisioned immediately upon acceptance
- 6-month duration with renewal option
Compliance Checklist Integration
Optional Compliance Requirements
Calls can optionally include compliance checklists that proposals must complete before submission. This feature integrates with the marketplace checklist system to ensure regulatory or institutional compliance requirements are met.
graph TB
subgraph "Compliance Flow"
C[Call] --> CC[Compliance Checklist]
CC --> P[Proposal]
P --> PCC[ProposalChecklistCompletion]
PCC --> PCA[ProposalChecklistAnswer]
PCA --> VS[Validation & Submission]
end
subgraph "Question Types"
CC --> BQ[Boolean Questions]
CC --> TQ[Text Questions]
CC --> SQ[Select Questions]
CC --> DQ[Date Questions]
end
subgraph "Review Triggers"
PCA --> RT[Review Triggers]
RT --> CMR[Call Manager Review]
CMR --> A[Approval/Comments]
end
Compliance Checklist Configuration
Call managers can assign compliance checklists when creating or editing calls:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
Automatic Checklist Assignment
When proposals are created for calls with compliance checklists, completion tracking is automatically initialized:
sequenceDiagram
participant U as User
participant P as Proposal
participant S as Signal Handler
participant PCC as ProposalChecklistCompletion
U->>P: Create proposal
P->>P: Save to database
P->>S: Trigger post_save signal
alt Call has compliance checklist
S->>PCC: Create completion tracking
PCC->>PCC: Initialize as incomplete
else No compliance checklist
S->>S: No action needed
end
Proposal Compliance Workflow
1. Compliance Checklist Access
Proposal managers can access compliance checklists through dedicated endpoints:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
2. Answer Submission
Proposal managers submit compliance answers:
1 2 3 4 5 6 7 8 9 10 11 |
|
3. Automatic Review Triggering
Certain answers can trigger call manager review requirements:
1 2 3 4 5 6 7 8 9 10 11 |
|
4. Submission Validation
Proposals cannot be submitted until compliance requirements are met:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Call Manager Oversight
Call managers have comprehensive oversight capabilities for compliance management:
1. Compliance Overview
View compliance status across all proposals in a call:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
2. Detailed Answer Review
Access detailed compliance answers for specific proposals:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
3. Compliance Review and Approval
Call managers can review and approve compliance requirements:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Integration with Proposal Serializers
Proposal serializers automatically include compliance status information:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Real-World Use Cases
1. University Ethics Compliance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
2. Industry Safety Compliance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
3. Government Security Clearance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Benefits of Compliance Integration
- Automated Compliance Tracking: Ensures all proposals meet regulatory requirements before submission
- Flexible Question Types: Supports various question formats (boolean, text, select, date) for comprehensive compliance assessment
- Review Triggering: Automatically flags proposals requiring additional oversight based on specific answers
- Call Manager Oversight: Provides administrators with comprehensive compliance monitoring and approval capabilities
- Audit Trail: Maintains complete records of compliance answers and review decisions
- Integration with Submission: Prevents non-compliant proposals from being submitted to review process
The compliance checklist system seamlessly integrates with the existing proposal workflow while providing the flexibility needed for various regulatory and institutional requirements.
Advanced Features
Project Integration
Accepted proposals create Waldur projects with automatic configuration:
graph LR
subgraph "Proposal Acceptance"
P[Proposal ACCEPTED] --> PC[Project Creation]
PC --> RM[Role Mapping]
RM --> RA[Resource Allocation]
end
subgraph "Project Setup"
PPRM[ProposalProjectRoleMapping] --> AR[Assign Roles]
AR --> UP[User Permissions]
UP --> RS[Resource Access]
end
Notification System
Comprehensive notification system keeps stakeholders informed:
Event | Recipients | Content |
---|---|---|
Proposal Submitted | Call managers, reviewers | New proposal requiring review |
Review Assigned | Individual reviewers | Review assignment with deadline |
Review Completed | Call managers | Review submitted notification |
Proposal Accepted | Proposal team, call managers | Acceptance with resource details |
Proposal Rejected | Proposal team | Rejection with feedback |
Round Closing | All stakeholders | Deadline reminder |
Audit Trail
Complete audit logging for compliance and transparency:
1 2 3 4 5 6 7 8 9 10 |
|
Error Handling and Data Integrity
Validation Framework
Comprehensive validation ensures data consistency:
1 2 3 4 5 6 7 8 9 10 |
|
State Transition Guards
Prevent invalid state changes:
1 2 3 4 5 6 7 8 9 |
|
Resource Cleanup
Automatic cleanup for canceled or rejected proposals:
1 2 3 4 5 6 |
|
Performance Considerations
Query Optimization
- Eager loading for nested relationships
- Database indexes on frequently queried fields
- Efficient permission filtering
Scalability Patterns
- Asynchronous review assignment for large calls
- Batch processing for resource allocation
- Cached statistics for dashboard views
Monitoring Integration
- Review progress tracking
- Resource utilization monitoring