This section is in reference to the 'Groups' mobile block group.
This block displays a list of group members that can be selected to mark attendance for a specified date. You can read more about group attendance here in the Rock Your Groups manual.
Unlike the web, groups must have a schedule configured in order to use this block.
GroupGuid
Guid
The guid of the group you wish to mark attendance for.
Number of Days Forward to Allow
The number of days forward to allow attendance to be entered for.
Number of Days Back to Allow
The number of days back to allow attendance to be entered for.
Save Redirect Page
When the 'Save' button is pressed, this is the page that is navigated back to. If Show Save Button is disabled, this will be irrelevant.
Show Save Button
Whether or not you want to display the save button.
Allow Any Date Selection
Whether or not any custom date can be selected.
Show Attendance Notes
Whether or not the text field for note entry will be visible.
Attendance Note Label
The attendance label that appears above the notes field. If Show Attendance Notes is disabled, this will be irrelevant.
group-attendance-entry-layout
StackLayout
Outer content wrapper
header
ContentView
Header content wrapper
This is a block that allows you to edit specific details and attributes about a particular group.
Content is passed in through a page parameter, referenced as GroupGuid
. There are quite a few examples of passing page parameters (also known as query parameters) lying around the documentation, and here is a great example.
The parameters that this block looks for are as follows.
GroupGuid
Guid
The guid of the group you wish to edit.
This setting determines whether a "Group Details" header should be displayed.
Each configurable facet of the group will have two options, one to show the field and the other to enable the ability to edit the field.
These are the configurable fields. For instance, if I wanted to show the group name and disable the ability to edit it, I could leave Show Group Name
checked, but uncheck Enable Group Name Edit
. It's also important to keep in mind that if a field isn't shown, it isn't possible to edit it, so that value will be irrelevant.
This should be set to a category of group attributes that you would like to show and be editable.
This setting should be set to a page that you wish to replace the current one with when the "cancel" button is pressed. It takes the GroupGuid
and passes it as a page parameter.
Display a list of groups based on a series of filters.
This block provides the ability to search for groups based on campus, day of week, time of day, location, and custom attributes.
Note: If location searching is enabled, groups with no location set will not be included in the results.
LoadResults
true
Bypasses the filter and shows results immediately.
The Deploy button is not required for content changes.
DetailPage
Guid
The page GUID defined in the block settings.
Groups
List<Group>
A collection of Group
objects.
Distances
List<groupId, distance>
A collection of key value pairs with the groupId
and distance
in miles.
.group-finder-filter
.campus-picker
.day-of-week-picker
.time-of-day-picker
.group-finder-search-button
Edits a member of a group.
Content is passed in through a page parameter, referenced as GroupMemberGuid
. There are quite a few examples of passing page parameters (also known as query parameters) lying around the documentation, and here is a great example.
The parameters that this block looks for are as follows.
GroupMemberGuid
Guid
The guid of the group you wish to display members of.
If enabled, a header containing a "Group Member Edit" title will be displayed.
If enabled, you will be able to modify a group member's role within this block.
If enabled, you will be able to modify a group member's status.
If enabled, you will be able to modify the group member's communication preference.
If enabled, you will be able to modify the group member's notes.
This references the category of attributes that will be displayed and modifiable.
The group member page to return to when the "cancel" button is pressed. So for instance, if you were using a Group Member List to navigate to this detail page, you would want to set this to the page containing that block.
This action will show/hide the delete button. If enabled, it will either delete or archive the member based on the group type configuration. More specifically, the Enable Group History setting must be checked and the Process Group History job must run in order for the Archive button to appear.
The action to perform after the group member is deleted from the group.
Allows the user to view a list of members in a group.
Context is passed in through a page parameter, referenced as GroupGuid
. There are quite a few examples of passing page parameters (also known as query parameters) lying around the documentation, and here is a great example.
The parameters that this block looks for are as follows.
GroupGuid
Guid
The GUID of the group you wish to display members of.
The page will display the group member details when selecting a member.
Including a Group Member View block on this page would not be a bad idea.
The value to use when rendering the title text. Lava is enabled.
The Deploy button is required for content changes.
DetailPage
Guid
The page selected in the Detail Page setting.
Title
String
The text entered in the Title Template setting.
Members
Custom
Only included when the Group By Person setting is disabled. 1. PhotoUrl 2. Id 3. Guid 4. PersonId 5. PersonGuid 6. FullName 7. FirstName 8. LastName 9. NickName 10. GroupRole 11. PhotoId
People
Custom
Only included when the Group By Person setting is enabled.
CreateEntitySetAndNavigate
Create an entity set and performs a navigation command that passes an EntitySetGuid
as a query string parameter.
This command requires Edit permissions on the following API endpoint: POST api/EntitySets/CreateFromItems/{entityTypeGuid}
You can create an entity set using the group member list by adding the following functionality into your template:
When the button is pressed, it will generate an entity set, and append the EntitySetGuid
to the PushPage
command parameter. The command won't execute if the CommandReference isn't a navigation command (i.e. PushPage, ReplacePage, OpenBrowser, etc.)
When enabled, the Template merge field completely changes to People
instead of Members
. This will cause the block to display each distinct Person
instead of the Group Member occurrence. The object also has an attached Roles
merge field that you can use to see all of the different roles the distinct Person has.
When enabled, shows a filter option to limit the member list to include inactive members.
When enabled, shows a filter option to limit the member list to a specific group role type (IsLeader).
When enabled, shows a filter option to limit the member list to a specific group role.
When enabled, shows a filter option to limit the member list to individuals that also belong in any of the selected child groups.
When enabled, will show up each of these options for both the Attendance Filter Short Week Range option and Attendance Filter Long Week Range option (x in the examples).
Attended
Filters to individuals who have attended within the last x number of weeks.
First Attended
Filters to individuals who had their first attendance within the last x number of weeks.
No Attendance
Filters to individuals who have had no attendance entries for within the last x number of weeks.
This value will be used to provide options in the Attendance Filter, meant to be used as a shorter duration of time. For instance, a value of three would equal three weeks in the attendance filtering process. If a value isn't provided, the options won't show.
This value will be used to provide options in the Attendance Filter, meant to be used as a longer duration of time. For instance, a value of six would equal six weeks in the attendance filtering process. If a value isn't provided, the options won't show.
Since the Group Member List block does not provide the full object for the members, Rock Mobile gives you the opportunity to pull in any merge field that is associated with a group member. To do this, you can use either an existing property, attribute, or even add a merge field via a lava expression.
{{ item }} will always be the root as that is the Group Member Object. The example below provides the block with theIsLeader
merge field.
Allows the user to view the details about a specific group member.
GroupMemberGuid
Guid
The guid of the group member you would like to see details for.
Group Member Edit Page
The page to navigate to for editing the selected group member. You'll generally use a Group Member Edit block here.
The Deploy button is not required for content changes.
By default, this will output the following:
Group name
Total group member count
Selected group member photo, name, age, and birth date
Visible group member attributes
Contact options including email, SMS, and calling
Edit group member if a page is defined
AllowedActions
Custom
Includes View, ManageMembers, Edit, and Administrate.
GroupMemberEditPage
Guid
The mobile page selected in the Group Member Edit Page setting.
Member
Group Member
The full Group Member object, which can also be used to access the associated Person data.
VisibleAttributes
Custom
Group Member attributes that the person signed in has View permissions to see. Returns an object with the Key, Name, Value, and FormattedValue for each.
Allows a person to register for a group.
Content is passed in through a page parameter, referenced as GroupGuid
. There are quite a few examples of passing page parameters (also known as query parameters) lying around the documentation, and here is a great example.
The parameters that this block looks for are as follows.
GroupGuid
Guid
The guid of the group you wish to display registration for.
The 'Group Member Status' to use when adding a new member.
The group type identifiers which are valid to use as the page parameter. You can use this to limit registration to certain group types.
An optional workflow to start for each individual being added to the group. The GroupMember will be set as the workflow entity. The current/primary person will be passed as the workflow initiator. If you are unfamiliar with workflows, please take a look at Workflows in Rock.
Provide additional inputs to register additional members of the family upon the current person's registration.
Determines if the mobile phone field should be hidden, required, or optional.
Determines if the e-mail address should be hidden, required, or optional.
The group to provide registration for. If this is left blank, it will be inferred that the guid of the group will be retrieved from the page parameters.
The connection status to use for new individuals upon registration.
The record status to use for new individual's upon registration.
An optional page to navigate the individual to upon registration. GroupGuid
will be passed as a query string parameter.
The lava template that is used to format the result message after a user has been successfully registered. Note that if you set a result page, this setting will be irrelevant.
When this is set to true, a user cannot register for groups that are at capacity. If there is only one spot available, none of the family members can be registered.
If set to false then the form will not load the context of the logged-in user.
The text to display in the save button.
Displays a page to allow the user to view the details about a group.
GroupGuid
Guid
The guid of the group you wish to view the details of.
Group Edit Page
The page that will be navigated to when the 'edit' button is pressed. GroupGuid
will be passed in as a page parameter.
Show Leader List
Specifies if the leader list should be shown, this value is made available to the template as ShowLeaderList.
The Deploy button is not required for content changes.
Group
Group
The group that is retrieved from the GroupGuid
parameter.
GroupEditPage
Guid
The Guid of the page that is passed when the Edit button is pressed. Retrieved from the Group Edit Page block configuration.
ShowLeaderList
boolean
True or False depending on the Show Leader List setting.
Set your preferences for group scheduling.
This allows an individual to set their scheduling preferences, so an administrator (and auto-scheduling) knows their preferred dates, times, and locations. If you are unfamiliar with group scheduling in Rock, please refer to the Rock Your Groups - Group Scheduling manual.
If a user is enrolled in more than one group that has group scheduling enabled, it will first prompt them with a group selection page, provided in the screenshot below. If an individual is not enrolled in any groups, a friendly message is displayed to reach out to the church if they are interested in volunteering.
With 'Children's' and 'Greeters' being the groups that the individual is enrolled in. This allows a user to set their preferences on a per-group basis.
This is the screen that an individual can update their preferences on. It will automatically update when the user changes the value, with a friendly ShowToast to notify them that it was successful.
The 'Add Assignment' button will prompt them with a modal to allow an individual to request exact group scheduling opportunities, as exampled below:
When this form is submitted, it is reflected in the 'Preferences' page with a friendly ShowToast stating it was successful.
Sign up for additional group scheduling opportunities.
This allows an individual to sign up for additional scheduling opportunities, instead of having to be scheduled for a particular location and time through an administrator. This block is heavily dependent on group configuration for scheduling so if you are unfamiliar with group scheduling in Rock, please refer to Rock Your Groups - Group Scheduling.
This block setting sets how many weeks into the future you would like an individual to be able to sign-up for. For instance, if today is 6/1/2022, and I have this block setting set to '6', I will be able to sign up for dates and times through 7/15/2022.
If a user is enrolled in more than one group that has group scheduling enabled, it will first prompt them with a group selection page, provided in the screenshot below. If an individual is not enrolled in any groups, a friendly message is displayed to reach out to the church if they are interested in volunteering.
When there are available schedules, a user can easily scroll through and click the dates and times that work for them. If there are multiple locations, a friendly action sheet is displayed that allows an individual to specify a location preference, or not.
When enabled, the scheduler will receive an email for each confirmation or decline. Note that if a Group's "Schedule Coordinator" is defined, that person will automatically receive emails.
The system communication used to send emails to the scheduler for each confirmation or decline. If a Group's "Schedule Coordinator" is defined, this will also be used when sending emails.
Accept, decline or cancel scheduled attendances.
This block manages scheduling opportunities for an individual, allowing them to 'Accept' or 'Decline' an attendance request, or cancel a previously accepted or declined request. If you are unfamiliar with group scheduling in Rock, please refer to Rock Your Groups - Group Scheduling.
This block gives an individual the opportunity to confirm his attendance, decline it (and provide a reason), or cancel an attendance that they previously confirmed. All of this is customizable via the Toolbox Template.
Changing this default template allows you to fully customize the schedule toolbox page.
The default template contains two |
characters on Lines 47 and 75 which is invalid. Until a fix is in place, you'll need to modify this template and remove the extra pipes.
Merge fields are fields that the block replaces with applicable information. For instance, in this block, we provide a list of the pending schedules, defined as "ScheduleList". This will provide the entire list of pending, unavailable, and declined attendances. The merge fields we provide for this block are:
ScheduleList
List<ScheduleData>
A list of all of the specific individual's schedule information.
This block offers specific command bindings to use in the Toolbox Template XAML.
PushScheduleConfirmModal
Pushes a modal that allows a user to provide a decline reason for the specific attendance. If a decline reason is marked as required in the GroupType settings, it will reflect that. You can customize the content of this modal in the "confirm decline template", as seen below.
ConfirmAttend
Marks an attendance as "confirmed".
SetPending
Sets an attendance back to a state of neither "confirmed" or "declined".
Changing this content allows you to customize the content on the modal that is pushed when a user "declines" an attendance, this is mostly just the header content as the decline reason picker and button are programmed into the block itself.
Attendance
Attendance
The specific attendance that the user is attempting to decline.
When enabled, the scheduler will receive an email for each confirmation or decline. Note that if a Group's "Schedule Coordinator" is defined, that person will automatically receive emails.
The system communication used to send emails to the scheduler for each confirmation or decline. If a Group's "Schedule Coordinator" is defined, this will also be used when sending emails.
Mark dates to be excluded from when group scheduling.
This block allows an individual to schedule dates that they (or their household members) are unavailable, so an administrator knows not to schedule them on these days. If you are unfamiliar with group scheduling in Rock, please refer to Rock Your Groups - Group Scheduling.
Here is an example of our rendered default template. Here, you can see your previously scheduled "exclusions", or dates that an individual will be unavailable.
You can see above, in the third exclusion, a description was provided and therefore displayed. You can set these as mandatory in the block settings, underneath the "Schedule Unavailability Template".