All pages
Powered by GitBook
1 of 13

Groups

This section is in reference to the 'Groups' mobile block group.

Group Attendance Entry

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.

Parameters

Name
Type
Description

GroupGuid

Guid

The guid of the group you wish to mark attendance for.

Settings

Property
Description

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.

Styles

Class
Element
Description

group-attendance-entry-layout

StackLayout

Outer content wrapper

header

ContentView

Header content wrapper

divider

Divider

Applies to all dividers

notes

Text Editor

The conditional notes editor

save-button

Button

The conditional save button

Group Edit

This is a block that allows you to edit specific details and attributes about a particular group.

Getting Content

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.

Page parameters

The parameters that this block looks for are as follows.

Name
Type
Description

GroupGuid

Guid

The guid of the group you wish to edit.

Block Configuration

Show Header

This setting determines whether a "Group Details" header should be displayed.

Limiting Group Configuration

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.

Attribute Category

This should be set to a category of group attributes that you would like to show and be editable.

Group Detail Page

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.

Group Finder

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.

The returned groups matching the filters do not account for user security. Use the HasRightsTo Lava filter to check view permissions for each group as needed.

Query Strings

Value
Description

LoadResults

true

Bypasses the filter and shows results immediately.

Template

The Deploy button is not required for content changes.

Merge Fields

Property
Type
Description

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.

Styles

Class
Type

.group-finder-filter

StackLayout

.campus-picker

Picker

.day-of-week-picker

Picker

.time-of-day-picker

Picker

.group-finder-search-button

Button

Group Member Edit

Edits a member of a group.

Getting Content

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.

Page parameters

The parameters that this block looks for are as follows.

Name
Type
Description

GroupMemberGuid

Guid

The guid of the group you wish to display members of.

Block Configuration

Show Header

If enabled, a header containing a "Group Member Edit" title will be displayed.

Allow Role Change

If enabled, you will be able to modify a group member's role within this block.

Allow Member Status Change

If enabled, you will be able to modify a group member's status.

Allow Communication Preference Change

If enabled, you will be able to modify the group member's communication preference.

Allow Note Edit

If enabled, you will be able to modify the group member's notes.

Attribute Category

This references the category of attributes that will be displayed and modifiable.

Member Detail Page

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.

Enable Delete

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.

Delete Navigation Action

The action to perform after the group member is deleted from the group.

Group Member List

Allows the user to view a list of members in a group.

scroll-included

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.

Name
Type
Description

GroupGuid

Guid

The GUID of the group you wish to display members of.

Block Configuration

Group Member Detail Page

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.

Title Template

The value to use when rendering the title text. Lava is enabled.

Template

The Deploy button is required for content changes.

Merge Fields

Property
Type
Description

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.

Commands

Command
Parameter
Description

CreateEntitySetAndNavigate

CommandReference

Create an entity set and performs a navigation command that passes an EntitySetGuid as a query string parameter.

Creating an Entity Set

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:

<Button Command="{Binding CreateEntitySetAndNavigate}"
        Text="Create EntitySet and navigate"
        StyleClass="btn,btn-primary">
        <Button.CommandParameter>
            <Rock:CreateEntitySetAndNavigateParameters TimeToExpire="30">
                <Rock:CreateEntitySetAndNavigateParameters.NavigateCommand>
                    <Rock:CommandReference Command="{Binding PushPage}"
                        CommandParameter="f0ef45ac-4eb8-4ad1-b817-408d7d7fe0fc" />
                </Rock:CreateEntitySetAndNavigateParameters.NavigateCommand>
            </Rock:CreateEntitySetAndNavigateParameters>
        </Button.CommandParameter>
</Button>

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.)

Group By Person

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.

Filters

Show Include Inactive Members Filter

When enabled, shows a filter option to limit the member list to include inactive members.

By default, inactive members will never be included. The only way to show them is by enabling this setting and turning on this filter in the app.

Show Group Role Type Filter

When enabled, shows a filter option to limit the member list to a specific group role type (IsLeader).

Show Group Role Filter

When enabled, shows a filter option to limit the member list to a specific group role.

Show Subgroup Filter

When enabled, shows a filter option to limit the member list to individuals that also belong in any of the selected child groups.

Show Attendance Filter

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).

Option
Description

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.

Attendance Filter Short Week Range

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.

Attendance Filter Long Week Range

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.


Additional Fields

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.

Lava Expression Syntax

{{ item }} will always be the root as that is the Group Member Object. The example below provides the block with theIsLeader merge field.

{{ item.GroupRole.IsLeader }}

Group Member View

Allows the user to view the details about a specific group member.

Parameters

Name
Type
Description

GroupMemberGuid

Guid

The guid of the group member you would like to see details for.

Settings

Setting
Description

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.

Template

The Deploy button is not required for content changes.

By default, this will output the following:

  1. Group name

  2. Total group member count

  3. Selected group member photo, name, age, and birth date

  4. Visible group member attributes

  5. Contact options including email, SMS, and calling

  6. Edit group member if a page is defined

Merge Fields

Merge Field
Type
Description

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.

Group Registration

Allows a person to register for a group.

Getting Content

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.

Page parameters

The parameters that this block looks for are as follows.

Name
Type
Description

GroupGuid

Guid

The guid of the group you wish to display registration for.

Block Configuration

Group Member Status

The 'Group Member Status' to use when adding a new member.

Group Type Guid

The group type identifiers which are valid to use as the page parameter. You can use this to limit registration to certain group types.

Registration Workflow

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.

Family Options

Provide additional inputs to register additional members of the family upon the current person's registration.

Mobile Phone

Determines if the mobile phone field should be hidden, required, or optional.

Email Address

Determines if the e-mail address should be hidden, required, or optional.

Group

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.

Connection Status

The connection status to use for new individuals upon registration.

Record Status

The record status to use for new individual's upon registration.

Result Page

An optional page to navigate the individual to upon registration. GroupGuid will be passed as a query string parameter.

Registration Completion Message

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.

Prevent Overcapacity Registrations

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.

Autofill Form

If set to false then the form will not load the context of the logged-in user.

Register Button Text

The text to display in the save button.

Group View

Displays a page to allow the user to view the details about a group.

Parameters

Name
Type
Description

GroupGuid

Guid

The guid of the group you wish to view the details of.

Settings

Description

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.

Template

The Deploy button is not required for content changes.

Merge Fields

Property
Type
Description

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.

Schedule Preference

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.

Group Selection

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.

Preferences

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.

Add Assignment

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.

Schedule Sign Up

Sign up for additional group scheduling opportunities.

scroll-included

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.

Future Weeks to Show

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.

Group Selection

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.

Schedule Sign-Up

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.

Scheduler Receive Confirmation Emails

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.

Scheduling Response Email

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.

Schedule Toolbox

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.

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

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:

Property
Type
Description

ScheduleList

List<ScheduleData>

A list of all of the specific individual's schedule information.

Commands

This block offers specific command bindings to use in the Toolbox Template XAML.

Command
Description

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".

Confirm Decline Template

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.

Merge Fields

Property
Type
Description

Attendance

Attendance

The specific attendance that the user is attempting to decline.

Scheduler Receive Confirmation Emails

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.

Scheduling Response Email

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.

Schedule Unavailability

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.

Unavailability Description

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".