DTS Dev Docs

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.