Question

Photo of Yedija Vanutama

0

ROCK RMS feature about upcoming bithday

I just know Rock RMS yesterday via Youtube: "What Is Rock". In that video, I see an weekly attendance report and upcoming birthday. I am very excited! So I try demo but can not find it...

Did I missing something? here the pic: rockrms fitur.jpg

  • Photo of Bronson Witting

    1

    +1 on what DJ said- that's the power of Rock!  If you're demoing the system with your own install, play with the Dynamic Data Block as it's very powerful.

    We're using a dynamic data block for staff birthdays, much like the demo vdeo (just not as pretty) Here's the SQL:

    SELECT p.[Id], [NickName], [LastName], [Email], [BirthDay], [BirthMonth]
    FROM [Person] p 
    JOIN [TaggedItem] ti on p.Guid = ti.EntityGuid
    WHERE (([BirthMonth] = MONTH(GETDATE()) AND [BirthDay] >= DAY(GETDATE())) OR ([BirthMonth] = MONTH(GETDATE()) + 1) AND [BirthDay] <= DAY(GETDATE())) 
    AND (ti.TagId = 1 OR ti.TagId = 2)
    ORDER BY BirthMonth ASC, BirthDay ASC;

    And here's the Formatted output:

    <div class="panel panel-block"> <div class="panel-heading"><h4 class="panel-title"><i class="fa fa-birthday-cake"></i> Upcoming Staff Birthdays</h4></div>
    <ul class="list-group">
        {% for row in rows %}
            <li class="list-group-item">
                <a href="/Person/{{ row.Id }}">
                    {{ row.NickName }}
                    {{ row.LastName }}
                </a>
                {{ row.BirthMonth }}/{{ row.BirthDay }} 
                
                {% assign date = 'Now' | Date:' M/d' %}
                {% capture birthdate %}{{ row.BirthMonth }}/{{ row.BirthDay }}{% endcapture %}
                {% if date == birthdate %}
                <small><i class="fa fa-birthday-cake"></i> Happy Birthday!</small>
                {% endif %}
            </li>
        {% endfor %}
    </ul>

     

    Have fun looking into Rock, and keep reaching out to the community with quetions.

  • Photo of DJ Grick

    0

    One of my favorite things about Rock is that it's super customization. That is an option of how to have your home page set, but now how it comes out of the box. I think of it like playing with Legos. The blocks are all there to make just about anything...you just have to put them together in a way that works best for your organization. 

    If i had to guess they used the Line chart block for the weekly attendance, and the dynamic data block to make the birthday list. To learn more about blocks in general check this out.

     

  • Photo of Yedija Vanutama

    0

    Thanks for the answer.

    I still try using the demo. But I can not add new block. What I'm missing??

    add block.png

    • Nick Airdo

      Yedija, Pressing that button will give you a list of blocks to choose from. Select one of them and then press the Save button. That adds it to that zone on that page.

  • Photo of Brent Pirolli

    0

    A new update to an old question. We were able to modify this to display birthdays from users of a security group vs those tagged as staff (we don't use tags currently). We also have a contact link for each person that pre-fills them as a recipient should someone wish to send them a message. And we also modified it to show birthdays from the past week (in case you missed one) as well as the upcoming month.

    bdays.jpg

    The SQL: (Our security group ID is 3. You will have to modify to be the group ID of your staff group you wish to use. Go to "Admin Tools - Security - Security Roles" and choose your role you wish to pull from. The URL of their page will look something like: https://URL/page/111?GroupId=3 and you can see the GroupID= to get the number you want to use.)

    SELECT p.[Id], [NickName], [LastName], [Email], [BirthDay], [BirthMonth]
    FROM [Person] p
    JOIN [GroupMember] gm on p.[Id] = gm.[PersonId]
    WHERE (([BirthMonth] = MONTH(GETDATE()) AND [BirthDay] &gt;= DAY(GETDATE()) - 7) OR ([BirthMonth] = MONTH(GETDATE()) + 1) AND [BirthDay] &lt;= DAY(GETDATE()))
    AND gm.[GroupId] = 3
    ORDER BY BirthMonth ASC, BirthDay ASC;


    And the formatted output:

    <div class="panel panel-block"> <div class="panel-heading"><h4 class="panel-title"><i class="fa fa-birthday-cake"></i> Recent & Upcoming Staff Birthdays</h4></div>
    <ul class="list-group">
    {% for row in rows %}
    <li class="list-group-item">
    <a href="/Person/{{ row.Id }}">
    {{ row.NickName }}
    {{ row.LastName }}
    </a>
    &nbsp;{{ row.BirthMonth }}/{{ row.BirthDay }}&nbsp;
    <a href="/Communication?person={{ row.Id }}"><i class="fa fa-envelope"></i></a>
    {% assign date = 'Now' | Date:' M/d' %}
    {% capture birthdate %}{{ row.BirthMonth }}/{{ row.BirthDay }}{% endcapture %}
    {% if date == birthdate %}
    &nbsp;<small><i class="fa fa-birthday-cake"></i> Happy Birthday!</small>
    {% endif %}
    </li>
    {% endfor %}
    </ul>
    </div>