Workflow
Connection request lifecycle
Serve System can create Rock Connection Requests during sign-up when the selected
role has a ConnectionOpportunityId configured.
Processing logic
On sign-up
|- if role has no ConnectionOpportunityId -> skip
|- else check for existing active connection request (person + opportunity)
| |- if found -> link sign-up to existing request
| |- else optionally evaluate role DataView filter
| |- if allowed -> create request and attach all selected shift times
| |- if filtered out -> keep sign-up without connection request
Fields set on create
| Field | Value source |
|---|---|
PersonAliasId |
Volunteer primary alias |
ConnectionOpportunityId |
Configured on role |
CampusId |
Selected campus or person primary campus |
ConnectionState |
Active |
ConnectionStatusId |
Default status from connection type |
Comments |
Aggregated shift date/time text |
ConnectorPersonAliasId |
Default connector by campus |
Sign-up cancellation behavior
After cancellation, the service method
DeactivateConnectionRequestIfOrphaned deactivates a connection request
only when no other active sign-ups still reference it.
- Connection state changes to inactive.
- An activity note is written to the request.
- If an auto-inactivate status exists, status is updated as well.
Implementation source
serve-system/Plugins/org_tpcc/ServeSystem/SignUp/ServeSignUp.ascx.cs(creation flow)serve-system/org.tpcc.ServeSystem/Model/ServeOpportunityRole/ServeOpportunityRole.cs(role configuration)serve-system/org.tpcc.ServeSystem/Model/ServeOpportunityInstanceSignUp/ServeOpportunityInstanceSignUpService.cs(orphan deactivation)
Canonical long-form documentation is mirrored at reference/TPCC_ServeSystem_ConnectionRequest_Documentation.md.