Create A Check-In Registration Portal

  • By Jim Michael 3 Months Ago

As functional as Rock is out-of-the-box, for many churches it's missing one important feature: A tool to act as a "portal" for registering new families during check-in -- one that is simple and safe enough to let volunteers use without giving them full access to Rock. We built such a tool for our needs that we call Check-In Central, and it looks like this:

Check-In Central.png

Check-In Central serves as a place to add new people (and search for existing ones), launch Check-In Manager, acts as a (browser-only) kiosk, and provides quick access to help and instructions for the volunteers using it... but there are no custom blocks (or magic) here. It's just some new pages, HTML blocks, and proper rights all brought together to create the end result. If you're interested in building your own, the rest of this article will show you how.

This article assumes you're relatively new to Rock's CMS and adding pages, blocks, and rights, and will try to do step-by-step where it's important... but will get progressively less step-by-step as we get further in, the assumption being that you're learning as you move along.

The process can be broken down into several large steps, with lots of sub-steps. We'll need:

  • A new role to add the volunteers to that will give them rights to the portal.
  • A new top-level menu and set of pages to create the portal.
  • Lots of adding/editing of security rights throughout Rock to make it all work.

Add New Role

It might be tempting to head to Admin | Security to add a new role to hold your check-in volunteers, but doing so would involve a Rock Admin every time someone needed to be added or removed from the role. Ain't nobody got time for that! Instead, we'll create a Serving Team group (or whatever kind of group makes sense for you) which has the Security Role option checked. This group will contain the volunteers that need access to Check-In Central, and since it's just a Serving Team, any staff person with proper rights can add/remove members without bugging you, the Rock Admin. Win! If you already have a group that represents your "check-in volunteers", use that group instead.

Checkin_Central_Role.png
Our Serving Team group. Name yours whatever you want.

Once you make your Serving Team group a role, you should see the role under Admin | Security | Security Roles with a name like GROUP - Check-In Central (or whatever group you chose to make a role.) This is the role we will use to assign rights to the portal... but we're getting ahead of ourselves.


Add Menu and Pages

Now we need to add the new top level menu and sub-pages. There are multiple ways to do this, but we'll use the "Pages" page because it's fewer clicks vs. using the Admin Toolbar.

  1. Head over to Admin | CMS Configuration | Pages
  2. Click Internal Homepage
  3. Click Add Page | Add Child To Selected
  4. On the Add Page dialog, give your new page the Internal Name Check-in Central or whatever makes sense to you. The Page Title and Browser Title will inherit your Internal Name, which should be fine for our needs, but change them if you really want to.
  5. Set Icon CSS Class to fa fa-check-square-o or whatever FontAwesome icon you prefer.
  6. Click Save

Here's what it should look like:

Add_Top-Level_Menu.png
New top-level menu page

At this point you should have a shiny new top-level menu with nothing in it. Notice that the new menu/page is at the very bottom of your sidebar menu, which is probably not where you want it. To fix that, go back to Admin | CMS Configuration | Pages, click Internal Homepage, and click the Child Pages icon that looks like this on the far right. From there, drag your new page to the desired place among your existing top-level menu pages. For volunteers logging into the portal, they will only see this one menu, so the placement wouldn't matter... except that staff and Rock admins who also have access to it will see it among the other menus, which is why you want it to appear in a logical place.

rock_menu.png
Your menu should now look something like this, but doesn't do anything (yet!)

Now we need to add a few more pages, same steps as above. Because the main Rock menu is three levels deep, we need to create another page to act as the "sub menu" page within the top-level menu:

cic_menu.png

  1. Go back to Admin | CMS Configuration | Pages and expand Internal Homepage then click on your new Check-In Central page.

  2. Just as before, click Add Page | Add Child To Selected and give the new page an internal name of Check-In Central. If you want your sub-menu to say something else, name it that.

  3. No need for a FA icon this time, so just click Save
So far we've created a top menu page with a child page. Now we have a menu () that when hovered-over pops out and shows a sub-heading of Check-In Central. Progress!


Hopefully you're starting to get a rhythm now and don't need explicit steps to create a new page. We need to create yet another child page of the page we just created, which will become the homepage of the portal. Go back to Pages, drill down through Internal Homepage and expand your Check-In Central page and click on your sub-menu page (also called Check-In Central). Use Add Child to Selected to add a new page and call it Home. This will be the homepage of the portal and where most of the action takes place. We'll add the other pages later, but let's go ahead and get this homepage configured since it's got so much going on. cic_menu.png
Adding the Check-In Central Homepage


Configure Homepage

At this point you should be able to click on your new Check-In Central menu and then click the Home menu, which takes you to the new, blank page. Let's configure it:

  1. Click Page Properties () in the Admin Toolbar (hover mouse at bottom of page to reveal) then click the Advanced Settings tab and give your home page a pageroute of CheckinCentral.

  2. While still in the Page Properties, click the Display Settings tab and un-check Show Title on Page and Show Breadcrumbs on Page then click Save.

  3. Click Page Zones () in the Admin Toolbar

  4. Add a new HTML Content block to the Main zone (make sure you're on the Page tab), give it a name like Main Content, and click Save then done.
  5. Add_HTML_block.png

  6. Edit your new block ( in the Admin Toolbar, click the flyout in the Main zone, click edit HTML ).

  7. Add the following content to your block and save it:
  8. <img src="/assets/images/Check_In_Central.png" class="img-responsive" width="650px">
    <br />
    <h4><strong><span id="clockbox"></span><span> | {{ CurrentPerson.FullName }}</span></strong> is currently logged into this station.</h4>
    

    <h2>Check-in Options</h2> <div class="btn-toolbar"> <a href="/CheckinAddFam" class="btn btn-success btn-lg" role="button"><i class="fa fa-group"></i>&nbsp;&nbsp;Add Person / Family <a href="/checkinmanager" class="btn btn-primary btn-lg" role="button" target="_blank">&nbsp;&nbsp;<i class="fa fa-line-chart"></i>&nbsp;Check-in Manager&nbsp;&nbsp;</a> <a href="/checkin" class="btn btn-warning btn-lg" role="button" target="blank">&nbsp;&nbsp;&nbsp;&nbsp;<i class="fa fa-credit-card">=</i>&nbsp;&nbsp;Check-in Kiosk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> </div> <br /><br />


A few notes about this content:

  • You will see a broken image because you need to provide your own image and put it on the file system in that location. Use whatever branding and size looks good to you, or put it in a differnet location if you want... just make sure the img tag matches.

  • The current time on the 'Logged in user' line will be missing, because we haven't added the Javacript to make it work, yet.

  • The button to Add Person / Family will not work, because we haven't created that page yet. Patience, young Padawan.

  • The Check-in Kiosk button may or may not be useful to you. It simply launches the /checkin URL in the browser, which means you have to be using server printing in order to print tags, and most cloud-hosted Rock organizations cannot take advantage of server printing, unless you nail up a VPN or similar. If the browser-based Check-in Kiosk isn't a fit for you, just remove it.

  • My apologies for the total hack of using all the &nbsp; codes to sort-of make the buttons all the same width and have the text sort-of centered within. I don't have the Bootstrap chops to make a btn-toolbar class have horizontal buttons all the same width with centered text. If you do, let me know! That said, this ugly hack works for us.

Let's go ahead and add that Javascript to make the clock work. Edit your content block again, but this time click the icon to edit the block settings. Click the Advanced tab and add the following code to the Post HTML section, then save the block:

<script type="text/javascript">
tday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
tmonth=new Array("January","February","March","April","May","June","July","August","September","October","November","December");

function GetClock(){ var d=new Date(); var nday=d.getDay(),nmonth=d.getMonth(),ndate=d.getDate(),nyear=d.getYear(); if(nyear<1000) nyear+=1900; var nhour=d.getHours(),nmin=d.getMinutes(),nsec=d.getSeconds(),ap;

if(nhour==0){ap=" AM";nhour=12;} else if(nhour<12){ap=" AM";} else if(nhour==12){ap=" PM";} else if(nhour>12){ap=" PM";nhour-=12;}

if(nmin<=9) nmin="0"+nmin; if(nsec<=9) nsec="0"+nsec;

document.getElementById('clockbox').innerHTML=""+tday[nday]+", "+tmonth[nmonth]+" "+ndate+", "+nyear+" "+nhour+":"+nmin+":"+nsec+ap+""; }

window.onload=function(){ GetClock(); setInterval(GetClock,1000); } </script> <div id="clockbox"></div>

Reload the page, and you should see the real time clock!


Add New Person/Family page

At this point your Check-In Central homepage should look pretty good, but doesn't do much. That's right, we need to add yet another page to support the Add New Person/Family button. You should be a pro at adding new pages by now, so go ahead and add a new child page to your Check-In Central sub menu page. This will put it at the same level as your portal's Home page. We called ours Add New Person/Family. Oh, and while you're here:

  1. Set the Layout to Full Width
  2. Click the Advanced Settings tab and add a Page Route of CheckinAddFam.
  3. Click the Display Settings tab and un-check Show Breadcrumbs on Page
  4. Save it.

This page contains two blocks that should be configured as follows:

  1. Add a Add Group block to the Main zone and name it Add Family. This is exactly the same block that's used on your People | Add Family page, but we're making a new instance of it here so that it can be configured with settings specific to check-in registration, and so that volunteers using your portal don't need access to your People menu.

  2. Edit the Add Family block settings however you prefer, but one you will likely want to set is Attribute Categories. This lets the block prompt for specific attributes you want added as a child is being registered, such as allergies or medical situations. We chose to select the Childhood Information attribute category in our block, but you can do whatever meets your needs... even to the point of creating a whole new Attribute Category and adding the specific attributes you want to it, just for this purpose. Be sure to examine all block settings and set them to how you want this block to function. Common ones helpful to family registration are Require a Gender for each person, Require a birthdate for each child, and Require a phone number.
    Check-In Central.png
    Setting an Attribute Category on the block

  3. This is optional, but we chose to add a HTML Content block to the Feature Zone with this content to remind volunteers of some important information every time they visit this page:
    <div class="alert alert-danger">
    <h4><strong>Do not</strong> enter the <strong>parent's</strong> phone or email on <strong>children</strong></h4>
    

    <h4><strong>Do not</strong> add friends/visitors to the family they came with. They need to go in their own Family with a <strong>check-in friend</strong> relationship to the associated family. </div>


  4. Also optional, but we chose to add a HTML Content block to the Header zone with this content, to remind volunteers where to search for existing people:
    <div class="hidden-sm hidden-xs">
    <h4 style="font-weight:bold; color:#B94A48; float:right">Search Here <i class="fa fa-arrow-right"></i> </h4>
    </div>

  5. If you've done it all correctly, at this point you should be able to Click your main menu () | Add New Person/Family (or click Add Person/Family button on the Home page) to get to your Add Family page that looks like this:

    Add New Person/Family Page


Add Remaining Page

Now let's add one last page to give Check-In Manager a place in the menu. This is an easy page because it simply redirects to the existing Check-In Manager page.

  1. Use Pages to add a new child page to the Check-In Central sub menu page, give it a Internal Name of Redirect to Check-in Manager, and give it a Page Title of Check-in Manager

  2. Add a Redirect block to the Main zone and give it a Redirect URL of /checkinmanager

As an Admin, you will see the red if you did not have Administrate permissions... redirect block on this page, but a normal Check-in Central user will simply be redirected.

At this point you should have the whole portal created. You should have:

  • A top-level Rock menu () with Home, Add New Person/Family, and Check-in Manager choices
  • Clicking Add new Person/Family from the menu or Home Page should take you to the new Add New Person/Family page.
  • Clicking Check-In Manager from the menu or Home page should redirect you to the existing Check-In Manager page.
  • Clicking Check-In Kiosk from the Home page should open a tab to a check-in kiosk.


Rights, Rights, Rights... right?

While you now have a working portal, it's not terribly useful since volunteers still can't log in and use it. Let's fix that. First, from this point on you will want to have a test user/login created who only belongs to that Check-in Central Serving Team group we created way back when. You will use this person to test the portal from a volunteer's perspective and you will want to log in as this person from a different browser than you're using as a Rock Admin, or use an Incognito window. Go ahead and add that test person/login now if you don't already have one, and make sure they have NO roles assigned except GROUP - Check-In Central, which they get by adding them to your Check-in Central Serving Team.

If you try to log in with this test user now, you will (hopefully) get a Access Denied error, because the Security Role assigned to this user has no rights to Rock at all, yet.

  1. Go to Admin | CMS Configuration | Sites and click the securituy () icon on the far right of the RockRMS site. You should see existing roles like RSR - Staff Workers already added here. This is where "base" roles get their rights to the internal Rock site, and yep, we're gonna add our role here as well.

  2. Make sure you're on the View tab and click Add Role, then choose GROUP - Check-in Central from your list of roles, then click Add

  3. The role you just added will end up below the existing All Users - Deny entry, so drag your GROUP - Check-in Central role to be above it. It should look like this when you've done it correctly:

Your test user should now be able to log into Rock and see pretty much what any person with RSR - Staff Workers role would see, which doesn't seem like what we want (and it isn't), but here's the deal... the reason we added our Check-in Central role at the Site level is because by doing so, a bunch of "stuff" (like Search and Person Profile) is automatically "wired up" for us that would otherwise be a pain to configure from scratch. Thus, our strategy going forward will be to selectively remove the excessive rights our role now has from various menus and functions, with the end result being our role only has the excact (and minimal) rights it needs to do the job.


Redirect Block

  1. This might seem odd at first, but add a Redirect block to the Section B zone on the Rock homepage, name it Redirect to check-in central, and set its Redirect URL to /checkincentral

  2. Edit the rights on this redirect block to give view rights to only your GROUP - Check-in Central role, followed by a All Users - Deny. This trick has the effect of only redirecting people in that specific role to your Check-in Central homepage, giving them the illusion that it is the homepage of the internal Rock site.


    Go ahead and try logging into Rock as your test user to see what I mean. Clever, huh?

  3. Yes, a side-effect of this is that you, as a Rock Admin, will forever see this red block on the Rock homepage, which is why we put it way down low. There is a way to do this redirect with Lava instead of this block (and you wouldn't see it), so feel free to research and implement that if you want to, but I prefer to have the red redirect block staring me in the face as a reminder of how I have things set up.


Top Level Menus

Now that we have our new role set up with View rights to the Rock site, we need to remove those rights from various places they will inherit-to, starting with the other top-level menus.

  1. Head back to Admin | CMS Configuration | Pages and expand Internal Homepage.

  2. Click Intranet and then click Security () on the far right, and notice how GROUP - Check-in Central has inherited view rights to this page via the rights we gave it at the Site. We will override that by adding a DENY rule for GROUP - Check-in Central role, like this:


  3. Repeat step 2 for the People and Tools menus (and any other menus you may have added to Rock that you don't want this role to see.) You can skip Finance and Admin Tools as there is already a All Users Deny rule on those that prevents our role from seeing them.
If you're on Rock v7 or older, that's all you need to do here... but if you're on Rock v8 or newer, you need to add one more right. Go to http://[YOUR SERVER]/page/89 and edit the security on that page to allow View to your Check-in Central role. The issue is that that the Person Search page in Rock v8 was moved under the People menu, which is denied by our rights above, so we need to add them back.


Attribute Rights

If you log in with your test user now, it should end up at the Check-in Central homepage with only that single side menu exposed. If you were to click the Add Person/Family button and actually go through the process of adding someone, when you got to the third page of the wizard where you are prompted to enter extra attributes (per the Attribute Category you configured in this block), you would see that they don't work... you can't edit them. This is because we need to give our role rights to do so!

  1. Go to Admin Tools | General Settings | Person Attributes and filter for the attribute category you configured in the Add Family block. Here we're choosing the Childhood Information category.

  2. Modify the security on each attribute you want the Check-in Central role to be able to edit, like this:

  3. Be sure to give Edit rights to all attributes you want this role to be able to edit.


Searching

While logged in as your test user, try to search for someone. Hmmm... not working? To fix this, we need to "pop the hood" and look at Rock's engine.

  1. Go to Admin Tools | Security | Entity Administration
  2. Find Rock.Model.Restcontroller and give our Check-in Central role view rights to this Entity.
  3. You should now be able to search when logged in as your test user! For the curious, know that Rock uses its own APIs to accomplish certain things (like search) thus the need to grant our role rights to use those APIs.


Person Profile

One of the main things a Check-in Central volunteer will need to do is search for people and edit their profiles and families, so let's turn our attenton to the Person Profile page.

  1. Search for anyone in the db to get to the Profile page.
  2. Edit the Bio block and give Edit rights to Check-in Central role. This lets us edit the person.
  3. Go ahead and Edit a person to get to the Edit Person page. On this page, edit the Edit Person block and give Edit rights to the Check-in Central role. Note that Edit rights will let this role edit all person properties. Rock v7 introduced more granular rights on this block that let you control things like Edit Record Status and Edit Connection Status. Feel free to use these to tailor more specific access to your Check-in Central role if you prefer.
  4. Back on the Profile page, edit the Family Members block and give Edit rights to the Check-in Central role.
  5. Edit a family, and on the Edit Family page modify the security on the Edit Family block and give Edit rights to Check-in Central role.


Known Relationships

Another task a Check-in Central volunteer must be able to do is set Known Relationships, to create a realtionship between (for example) an existing person and a friend or relative they have brought to church, who isn't in their family. But right now, when logged in as your test user, you're probably seeing a blue "You do not have enough rights..." box on Known Relationships. Here's how to fix that.

  1. Edit the Relationships block on the Profile page and give Edit rights to the Check-in Central role
  2. Go to Admin Tools | General Settings | Group Types and edit the rights on the Known Relationship Group Type and give View AND Edit rights to the Check-in Central role.


Misc cleanup

Back on Person Profile, when logged in as your test user you will notice that some things are still showing that you don't want a Check-in Central volunteer to see (remember, we only want to give them the minimum necessary to do the task of entering new families). From this point on, the decisions are yours, as only you can decide what you want your volunteers to see and what you don't. That said, I will give you a few suggestions:

  1. Click the Groups tab on the Profile page and edit the page rights to DENY Check-in Central
  2. Do the same for the History page.
  3. Do the same on the Timeline, Bookmarked Attributes, and Connection Requests blocks. Bookmarked Attributes may seem like one you want to allow volunteers to use, but it's dangerous... this is because by default, many Person Attributes have All users allow rights, which means a volunteer could create a Bookmarked Attribute for any attribute they have rights to, even if you're not showing them on the Profile page. This is why we chose to simply hide that block from that role. The alternative is to go through every person attribute in your system to deny the Check-in central role from the ones you don't want them to be able to bookmark or otherwise see.
  4. Consider denying view rights to the Badges blocks on the Profile page.
  5. Deny view right on any Attribute Values blocks on the Extended Attributes page you don't want your volunteers to see. As a volunteer, our Extended Attributes page looks like this
    Like I said, they only see what they need to see ;-)


Loose Ends

Staff Rights

The entire point of this article is to create a check-in registration portal for volunteers in your organization. By default, your Staff will also see the new Check-in Central menu, too. If you do not want this, just deny that menu from your RSR - Staff Workers (and Staff-Like) roles.

If you only want some staff to have acces to it, just make another Security Role named something like RSR - Staff Check-in Central and let it have access to the new menu, and only add the staff you want to that role. You've come far enough that you don't need step-by-step instructions for that... I'm sure of it.

That said, whatever you do... DO NOT add any normal Staff to the Check-in Central Serving Team/role... doing so will prevent them from ever seeing the normal Rock homepage, due to the redirect block we placed on it to redirect people in that role to the Check-In Central homepage. (If you do get a staff person into this pickle, just removing them from the Check-in Central Serving Team/role will fix them right up... whew!)


Check-in Central

We never got around to granting our Check-in Central role rights to use Check-in Manager. Oops!

  1. Browse to /checkinmanager as a Rock admin.
  2. Edit the page rights on the /checkinmanger page to add View rights to Check-in Central role.


Accordions

You may have noticed on the very first screen shot in this article that our Check-in Central homepage has several accordions that provide quick access to instructions for volunteers using the system. I didn't provide a step to add them earlier to prevent muddying the waters, but if you want to add them, here's ours:

  1. On the homepage, add another HTML Content block below the existing one in the Main zone, or add it to the Section A zone
  2. Add the following code to the block:
  3. <div class="col-md-8">
    {[ accordion firstopen:'false']}
        [[ item title:'Adding a Family' ]]
           <p>
          Adding a family is a straighforward process that should become easy with a little practice. The process can be broken down into these simple steps:
            <ol>
                <li>From the Home Page click the Add Person/Family button</li><br>
                <li>On the initial <em>Add New Person/Family</em> screen, enter the details for the first person:</li>
                <ul style="list-style-type:disc">
                    <li>Select Adult or Child.</li>
                    <li>Enter the person's First and Last name.</li>
                    <li>Leave the Connection Status as <em>Attender</em> unless you know this is a visitor. Visitors should be set to <em>Non-Attender</em>.</li>
                    <li>Select the Gender.</li>
                    <li>For each child, you <strong>MUST ENTER A BIRTHDAY</strong> or they will <strong>not be able to check in.</strong></li>
                    <li>Select the Grade. This is only available when entering a child.</li>
                    <li>Use the <i class="fa fa-plus-square"></i> icon to add the next family member and repeat the preceding steps. You will be
                        entering <strong>ALL</strong> family members before clicking <em>Next</em>.</li>
                    <li>When all family members have been added, select the <em>Campus</em> for the entire family.</li>
                    <li>The Marital Status of the Adults defaults to <em>Married</em>, but this can be changed if you know the situation is different.</li>
                    <li><strong>Skip over</strong> adding the <em>Address</em> information to save time. This can be added later from the info
                        provided on the card the adult filled-out.</li>
                    <li>Click <strong><em>NEXT.</em></strong> If you've skipped over any required fields (the ones with the red dots), you will
                        be prompted to enter them before continuing.</li>
                </ul><br />
                <li>On the next screen enter Phone and Email information for each <strong>ADULT</strong> family member.</li> 
                <ul style="list-style-type:disc">
                    <li><strong>DO NOT</strong> enter this information for children. It is only required on the adult/parent. 
                        Failure to enter at least one phone number on at least one adult will prevent anyone in the family from checking-in.</li>
                        <br>
                    <li>By default the <strong>SMS</strong> box is checked. This indicates it is ok to text a parent on their mobile number for things
                    like a fussy infant. If the parent indicates they do not want texts, uncheck this option.</li>
                    <br>
                    <li>Click <strong>NEXT</strong></li>
                </ul><br />
                <li>The next screen lets you set additional attributes for the <strong>child.</strong> These do not need to be set on adults.</li>
                 <ul style="list-style-type:disc">
                    <li>Enter any allergies in the <em>Allergies</em> field, separated by a comma. <strong>DO NOT</strong> include the word "Allergies" or similar as that 
                        is automatically added on the child label. Keep this as short as possible as it will be truncated at 40 characters on the label.</li>
                        <br>
                    <li>Enter any Custody Situation you are made aware of. This text does not print on the label, but a <i class="fa fa-asterisk"></i>
                        icon indicates this field contains information.</li>
                        <br>
                    <li>Enter any Medical Situation you are made aware of. This text does not print on the label, but a <i class="fa fa-circle-o"></i>
                        icon indicates this field contains information.</li>
                        <br>
                    <li>Click <strong>FINISH</strong></li>
                </ul><br />
                <li>At this point the family is entered and any children can check in. Use the <i class="fa fa-check-square-o"></i>
                    menu to return to the Home page to add the next family.</li>
            </ol>
          </p>
        [[ enditem ]]
        [[ item title:'Searching for People' ]]
            <h3><strong>Search Results</strong></h3>
            <p>
                To perform a search, simply enter your search terms in the box at the upper right. When searching for people there are several possible results:<br>
                <ol>
                <li>If your search is narrow enough to return a specific person, pressing Enter will take you directly to that person's record.</li>
                <br>
                <li>As you enter your search terms, you will see a list drop down of current matches, which changes as your terms become more specific.
                    Choosing someone from the list will take you to their record.</li>
                    <br>
                <li>If you enter generic search terms that match multiple people and then press Enter, you will be taken to a list of all matches, where you can
                    then click on the desired person.</li>
                </ol>
            </p>
            <h3><strong>Search Terms</strong></h3>
            <p> When searching by name, it's important to know some tricks to improve the quality
                of your search and to save time. Keep in mind that you do not need to type a person's
                full name to search. You can (and should) type fragments of the name.  Say, for instance, 
                we are looking for Ted Decker. Here are just a few ways we can search for
                him:
            </p>
            <p>
                <ul>
                <strong>t decker</strong>   <em>Returns anyone who's first name begins with T and last name is Decker</em><br/>
                <strong>te dec</strong>    <em>Returns anyone who's first name begins with Te and last name begins with Dec</em><br/>
                <strong>decker</strong>  <em>Returns anyone who's last name is Decker</em><br/>
                <strong>decker, t</strong>  <em>Reverse of the first search. Two terms separated by a comma means lastname, firstname.
                                Not really necessary and takes more keystrokes, but if you're used to searching that way, feel free to do so.</em><br/>
                </ul>
            </p>
            <p>
                Notice that none of these searches included "Ted Decker" (inefficient!), and also notice that nothing was capitalized. That would be a waste
                of key presses. Because you make fewer spelling mistakes if you 
                press fewer keys, it's always a good idea to shorten searches. Doing so also increases the chances you'll get a hit on
                a name that's <em>already</em> mis-spelled, and would not have shown up if you'd searched by the exact name.
            </p>
            <p>
                Notice in our examples above that we never searched for just "Ted." If you provide
                only one search term, we're assuming that you are searching by <strong>last name</strong>. But what if
                you want to search by only first name for some reason? There's a clever trick for that:
                <ul>
                <li><strong>,ted</strong>  <em>Returns all people with first name Ted.</em></li>
                </ul>
                <p>        
                Note the preceding comma. That tells the search to look for <strong>first</strong> name when you only
                provide one search term. This type of search typically isn't very useful for finding a specific
                person as it will return a LOT of results for most first names.
                </p>
                <h3><strong>Other Searches</strong></h3>
                <p>
                You can also search on things other than name. Notice the little <em>Name</em> drop-down in the search box? Click that and you
                will see options to search on other things like phone number, email, and even postal address. All of these alternate searches also take
                partial input, so enter only enough to get the search results you're looking for.<br/><br/>
                <strong>IMPORTANT NOTE:</strong> The drop-down in the search box will REMAIN in the state you last selected. If a search
                returns no results when you know it should, verify that the search type isn't set to something other than name.
        [[ enditem ]]
        [[ item title:'Adding a Friend/Visitor' ]]
                    <h3><strong>Very Important!</strong></h3>
            <p>
            While it is easy and tempting to add a visiting friend or relative to the family they came with, this
            <strong>SHOULD NOT BE DONE.</strong> In order to maintain proper records in the database, adding people to a family that isn't
            there's (even if it's a relative) causes problems and must be avoided.<br />
            In case that wasn't clear, we'll state it again: 
            </p>
            <strong>DO NOT ADD A VISITOR TO THE FAMILY THAT BROUGHT THEM.</strong>
            <h3><strong>How to Properly Add a Visitor</strong></h3>
            <ol>
                <li>Follow the steps above in <em>Adding a Family</em> to put the visitor(s) in their own family.
                 <ul style="list-style-type:disc">
                    <li>Even if it's a single child, create a family for them with <em>their</em> last name.</li>
                    <li><strong>Do not</strong> add the phone or email of the person that brought the visitor to their record!</li>
                    <li>Make sure you set the <em>Connection Status</em> as Non-Attender.</li>
                    <br />
                </ul>
                <li>When complete, you will end up on the newly-added visitor's record. </li>
                <ul style="list-style-type:disc">
                    <li>Hover over <em>Known Relationships</em> and click the <i class="fa fa-plus"></i> icon to add a new relationship.</li>
                    <br>
                    <li>Choose the <em>Check-in Friend</em> Relationship Type from the drop-down. This is the relationship to choose for a <strong>FRIEND</strong>.
                    If it's a Grandparent or Aunt/Uncle, you can choose that relationship which will also allow check-in.
                       </li>
                        <br>
                    <li>Click the <em>Person</em> drop-down and search for an <strong>Adult</strong> in the family that brought the Visitor and save it.
                    This creates a Relationship between the Visitor and the family that brought them, and the Visitor can now 
                        check in along with the family that brought them.</li>
                        <br>
                    <li>When choosing the Relationship Type, be sure to choose the proper type when dealing with family relationships. Example: 
                        If a grandparent brings a visiting grandchild and you've just added that child to their <strong>own</strong>
                        family and you're now on their record, you will create a relationship to the grandparent of type <em>Grandparent,</em>
                        not of type Grandchild. Grandchild would be used in the reverse... if you were on the Grandparent's record and needed 
                        to create a relationship back to the grandchild.</li>
        [[ enditem ]]
          [[ item title:'Troubleshooting' ]]
            Add your troubleshooting steps here!
        [[ enditem ]]
    {[ endaccordion ]}
    </div>

Realize that all of that content is what we use here at my church, and I just included it to give you some ideas. You will want to edit it to meet your needs, or completely replace it with whatever you want (just remove everything between the [[ item... and [[ enditem ]] tags to delete my content.)


Conclusion

Hopefully this article has given you a working Check-in Central portal that you can use as a starting point for your needs. It should come as no surprise that this is not a 100% complete solution, as there are 1000 different ways to approach it and this is just one way. There are things we didn't get into like preventing volunteers from seeing most Workflows via the Actions menu on the Profile, and I leave fixing that kind of thing to you, since it's such a church-specific decision (hint: you need to modify the rights on any workflow you don't want seen by denying the Check-in Central role view rights to that Workflow Type.)

Another obvious improvement would be to create a Check-in Central-specific sub-page on the Profile page that only it has rights to, with only the blocks necessary on it. This would prevent the "barren wasteland" of the Extended Attributes page like you see above, as it would combine blocks from both the Profile and Extended Attrbutes pages into a single view for volunteers.

If you have better ideas for your portal, please go for it! There is no single "right way" to do this, so take this idea and run with it however you want to.





@jimmichael
The Crossing
St. Louis, MO

IT Manager at The Crossing in St. Louis. Lover of all things Rock!