Arena Query SQL Customized Modulesa274
Total Page:16
File Type:pdf, Size:1020Kb
Arena Query: SQL-Customized Modules (Course #A274) Presented by: Alex Nicoletti Arena Product Owner ©2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders. Objective To learn ways to use Arena to retrieve the information you need to know. Arena and the supporting infrastructure offer several tools to automate jobs. Metrics tally and draw graphs; Report Grids from Query, HTML, and Stored Procedure modules deliver information; Reporting Services can deliver reports via email on schedule. Be inspired to build a dashboard that keeps itself up to date. This session covers the following topics: You are going deep. It is important to remember that Arena runs on powerful software: Microsoft’s SQL Server. There are several methods you can employ to automate various processes using Arena as well as the technology behind it. SQL Server’s SQL Maintenance Plans/SQL Server Jobs SQL Server’s Database Triggers SQL Server’s Reporting Services Arena’s Agents Arena’s “Report Grid from Query” Module Arena’s “HTML from Stored Procedure” Module Arena’s Metrics Build a Dashboard! …and more? 2 SQL Server Maintenance Plans Why You Want Them SQL Server Maintenance Plans are considered an alternative to Arena’s Agent System – they require less code and are relatively simple to create and set up. The downside is they are not part of the Arena Database, nor part of the Arena app, so their backup is handled differently. Like any custom code, Shelby does not officially support them. Example of How to Use Them New Covenant Bible Church in Cedar Rapids, IA discovered a need to communicate delicate concerns about congregants in a manner that honored privacy. The solution was to implement a tool (that Shepherd of the Hills Church used) that combines Personal Tags, Notes, and a SQL Query that ran every couple of minutes using a SQL Maintenance Plan. They began by instructing staff to create a Personal Tag titled “HandleWithCare” or “Handle With Care”– a case-insensitive word/phrase used to create a note. Optionally, they could add notes, which remained private thanks to the Personal Tag system. Within a few minutes, a Note appeared at the top of the Person Details page indicating a concern. A similar system can used to track people who are an immediate danger to others. Or people who consistently submit checks that bounce. What else could you do with such a tag? 3 SQL Server Triggers Why You Want Them A SQL Server Trigger is procedural code that is automatically executed in response to specified events within a Database Table or View. In other words, when something in your database changes, a Trigger makes something else happen. Example of How to Use Them The staff at New Covenant Bible Church loves using Assignments. They send emails for new entries, updates, and changes and allow tracking of all types of projects and tasks. They use them for basic workflow as well as for employment applications, online “contact us” forms, and many other things. And they also love workflow automation. While there is a workflow solution built into Arena, it did not quite meet their needs because they already had some processes in place. Enter the carefully crafted Database Trigger, which allowed them to keep their current process in place and yet helped them empower Volunteer Ministry through Assignments. First, set up an Assignment Type that handles the tracking for various follow-up needs: People indicating they want to speak to a pastor, inquiring about church membership, inquiring about baptism, etc. Then link the Assignment Type to a Person Attribute using a Trigger. When the Person Attribute’s information is created or updated, a new Assignment is initiated which then starts the Arena Assignment Engine. Communication begins, and volunteers can be the church by handling ministry needs. An example is “New from Pre-Registration” which was designed to indicate when people register for Sunday attendance as a guest online. 4 SQL Server Reporting Services Why You Want It SQL Server Reporting Services (SSRS) is an important piece of Arena, since it offers an excellent way to create and design a report. A report can be scheduled to run and be delivered. This means a user or administrator can schedule a “subscription” to execute and email a specified report at a specified time. Example of How to Use It Accountants and bookkeepers love reports, and they seem to prefer them to be in dead-tree format. Few things bring smiles to their faces better than a well-crafted report that saves them time and effort during the daily grind. Knowing the amount given over the course of a specific week automatically, without having to generate the report, helps them out. You can set up a report called “Giving Info by Fund” to email out to them automatically each week so they do not have to worry about going to find the information themselves. 5 Arena Agents Why You Want Them Arena’s Agents, out of the box, automate several important functions within Arena. Coding Custom Agents is preferred to SQL Maintenance plans; they are neater, use the Framework, and you can share them with fellow Arena Community Members. However, to code one you must be part of the Arena Developer Community. Example of How to Use Them A large church can have lots of people involved in different ministries with many off-campus events and retreats. Sadly, this fallen world has led us to become a waiver-rich environment. Echosign is a service that helps organizations go paperless with waivers and contracts and offers both an API and a nonprofit discount. With some custom code and an Agent, you can link Tags to Echosign and synchronize data using Arena Agents. The end result: Your team is happy, you kill fewer trees, your registration/signup system is more streamlined & self-service, and your admins have less paper to push around and file. 6 Arena’s Report Grid from Query Module Why You Want It Arena’s Report Grid from Query is a Core module that provides a flexible mechanism to display data in a grid. Depending on that data displayed, this module offers clickable names that link to the Person Details Page, can send New [SMS, Email, Snail Mail] Communications, and can be used for Excel Exports and Word Mail Merges. You can even inject HTML. What’s more, for the more daring database administrators, it accepts parameters and, (shh, don’t tell anyone) can even be used to UPDATE information within Arena. Example of How to Use It Make up a hypothetical church – you can call it “First Church.” This hypothetical church runs as lean as is practical, which means it uses volunteers in many areas. However, First Church is very cautious about privacy and limits access to financial data to as few people as possible. Pretend the church is in the middle of a capital campaign. How does the staff of this church provide access to get Pledge summaries to volunteers so they can deliver quarterly updates via email and snail mail, while allowing them to update easily their own form letter, all without giving too much access to the contributions area? By using the Report Grid from Query module – that’s how! 7 Arena’s HTML from Stored Procedure Module Why You Want It Arena’s HTML from Stored Procedure is a Core Module that allows the Arena Admin to display almost anything from the database in a styled fashion. If SQL queries cause frustration, adding HTML might send you into fits of rage. Nonetheless, there is plenty of potential with this module. Speaking of potential, this module can be coupled with the Report Grid from Query module to produce some interesting applications on a private/public website. Example of How to Use It 8 Arena’s Metrics Why You Want Them You love to count things. Counting helps you see growth. Counting helps you to plan. Face it – counting can be really boring at times. And if you are like many people, you want to eat cake without having to bake it first. Metrics do that for you – and they can count anything that is countable, automatically, and even graph the results. Example of How to Use Them Consider counting donations by week/month on a per-Fund basis, or the number of small groups and small group members over time. Perhaps you are keeping an eye on the number of people in the database or the number of logins per week. Maybe you want to keep a total of records with and without a birth date or count the number of people in each age group. Even diagnostics such as the number of emails sent over time could be interesting to see. 9 Build a Dashboard Why You Want One A Dashboard gives you a 10,000- or 20,000-foot view of your congregation. It helps you see what is happening and what needs to happen. It displays information about your duties. And it can do all this without requiring a lot of mouse clicks. Example of How to Use It Most of the example modules are useful for building a Dashboard. One missing ingredient to this recipe is the “Dock Container” Module, which lets you set up an iGoogle-like module system within Arena. 10 Q&A Class Discussion 11 Alex Nicoletti Arena Product Owner [email protected] Alex is currently the Arena Product Owner in Shelby's Technology Development Division, and is a Certified Scrum Product Owner. Prior to joining the Shelby Team, Alex Nicoletti worked as a Network and Arena Administrator at a large church in Tampa, Florida.