IronPython Scripting

BVCMS now allows you to script additional processes with the Python programming language. This provides a way for your church to develop functionality specific to your church’s processes. Basically a script can be run on any trigger such as an online registration completion, an attendance at an event or meeting, a change in membership status, or a donation. These scripts would be optional but allow you to define actions to occur outside the standard process built-in to BVCMS. The script would be able to do things like create a task about a person and for a leader to follow-up after a specified number of days. The script would be stored in a way similar to custom confirmation emails are for an online registration. Typically you would just compose a few lines of code. An example might be the following, five line, simple to read, Python script:

if event.Joined:
     member.AddTag("Step One Complete")
if event.Attended:
     CreateTaskAbout(person, org.leader, 7, "Follow up")
     member.AddTag("Step Two complete")

First of all, this is a complete script, no other cruft necessary. Three objects were made available to the script for ready use, the event, the org and the person. First, it checked to see if the reason for the calling the script was because of an enrollment and if so it added the person to the organization’s small group called “Step One Complete”. Second, if it was called because of an attendance, it created a task about the attendee for the leader of the organization and put a due date of 7 days with a subject of “Follow up”. And it added the person to the small group named “Step Two Complete”.

We think this scripting capability will do for BVCMS what the ability to program spreadsheets has done for Excel. The Python language was developed to be an easy to learn language. Python’s design philosophy emphasizes code readability. Much of Google and almost all of YouTube are written in Python. The original developer chose the name Python from Monty Python’s Circus fame because he wanted it to be fun to use. IronPython.NET is the current best practice choice for .NET developers to embed scripting capabilities into their applications.

3 thoughts on “IronPython Scripting

  1. Nick Airdo

    That’s excellent! In the past I few of us who work with other ChMS were asking for “hooks” into various ‘internal events’ so we could perform some of our own custom steps/workflow. You’ve hit the nail on the head with your approach. Great job!


  2. Leigh Gibson

    Very exciting!! I can think of many ways this could help us out. 🙂 I love the continued growth and innovative ideas. Good work!



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s