Gambling on SharePoint

That’s not a metaphor for our company’s ECM future, that’s my rainy Saturday project! Put a bunch of sports fans together and sooner or later thoughts turn to pools. One of our favorites is an NFL Suicide Pool. If you’re not familiar with the concept, it’s about as simple as a pool can get. You pick one team to win each week of the season – the only trick; you can only pick a team once. So, if I picked the Steelers to beat Tennessee on Thursday, I would still be in the pool but I could never pick the Steelers again. The hard part has been communicating and tracking the entries – sounds like a job for SharePoint.

The pool consists of four Custom Lists: Players, Teams, Weeks-of-Play and My Picks, and a couple of SharePoint Designer workflows.

When you pay your entrance fee, you are given access to the Players list which includes your name and Enrollment Status. Changing your status to “Enrolled” indicates your acceptance of the rules, terms and conditions. When this entry is submitted, a workflow creates entries in the Teams list for every NFL team.

After enrolling, the player can create entries in the My Picks list. For this list, they select the Week-of-Play (Lookup from Weeks-of-Play) and a team (Lookup from Teams). When they submit this list item, another custom workflow kicks in. First, the team selected is entered into a Selection field of the My Picks list Current Item (the pick in progress). Next, the selected team is removed from the Teams list. The reason we copy the team into the Selection field is that once the team is removed from the Teams list, the Lookup field where it was selected goes blank. People can make their picks up front, or week by week. The person in charge of the pool can track everything and change the player status to “Eliminated”. A custom view of the player list on the main page where the pool resides shows everyone the current standings.

The key to making this work is the fact that each player can only see his/her entries in these lists. When I picked the Steelers, I picked the “Steelers” entry that was added during my enrollment (there’s that relationship with SQL again – see previous post). Of course, a crafty, resourceful, unsportsmanlike but educated SharePoint user could edit records to affect the outcome of this pool. Fortunately, the Auditing features built into SharePoint allow us to track that kind of behavior – the Terms & Conditions accepted at enrollment specify that you will be disqualified if you attempt to change the list values.

Go Steelers!