forked from SparkDevNetwork/Rock
-
Notifications
You must be signed in to change notification settings - Fork 12
Check In System
nairdo edited this page Apr 9, 2013
·
23 revisions
The Rock check-in system is a combination of a set of Blocks (that inherit CheckInBlock) that operate against a configured Workflow. From a high level the flow for a standard check-in would be as follows (as visualized by http://www.websequencediagrams.com/)
Note: Do NOT destroy this sequence diagram markup because I'm still hopeful that Github's Gollumn will begin supporting them again. In the mean time I'm manually using the tool at www.websequencediagrams.com to generate an image for the markup.
[
][img1]
[img1]: Attachments/Checkin-System/standard-checkin-sequence.png
[Attachments/Checkin-System/s_standard-checkin-sequence.png][img1] [img1]: Attachments/Checkin-System/standard-checkin-sequence.png
{{{{{{ vs2010
participant User
Welcome-->WF: SaveState()
User->+Welcome: *press search
Welcome->-Search: redirect
Search->User: show phone keypad
User->+Search: *enter phone
Search-->WF: SaveState()
Search->-FamilySelect: redirect
FamilySelect-->WF: ProcessActivity("Person Search")
FamilySelect-->WF: SaveState
FamilySelect->User: show families
User->+FamilySelect: *select family
FamilySelect-->WF: SaveState()
FamilySelect->-PersonSelect: redirect
PersonSelect->User: show family members
User->+PersonSelect: *select person
PersonSelect-->WF: SaveState()
PersonSelect->-GroupTypeSelect: redirect
GroupTypeSelect->User: show group types (classes)
User->+GroupTypeSelect: *select group type
GroupTypeSelect-->WF: ProcessActivity("Location Search")
GroupTypeSelect-->WF: SaveState()
GroupTypeSelect->-LocationTypeSelect: redirect
LocationTypeSelect->User: show group type locations
User->+LocationTypeSelect: *select location
LocationTypeSelect-->WF: ProcessActivity("Group Search")
LocationTypeSelect-->WF: SaveState()
LocationTypeSelect->-GroupSelect: redirect
GroupSelect->User: show location's groups
User->+GroupSelect: *select group
GroupSelect-->WF: ProcessActivity("Schedule Search")
GroupSelect-->WF: SaveState()
GroupSelect->-TimeSelect: redirect
TimeSelect->User: show times
User->+TimeSelect: *select time(s)
TimeSelect-->WF: ProcessActivity("Save Attendance")
TimeSelect-->WF: SaveState()
TimeSelect->-Success: redirect
Success-->WF: SaveState()
note over Success, User
if printFromServer then socket print labels
end note
Success->User: go to person select or welcome
}}}}}}