The Association of Washington Cities were faced with a rules and topic codes hierarchy that no longer suited their organization’s structure. Faced with the task of starting from scratch, Eugene Ryser saw the opportunity to create a system that not only made it easy for their end-users but automated new transparent processes where previously there had been confusion. Check out how Eugene did it.
What was The Challenge?
Eugene Ryser: Depending on who our members work for or the parent organization’s membership determines their access to different places our website. We manage this using topics codes.
Our challenge is that no one really know the entirety of the rules system. One person probably knows, different people may know little bit about their program areas but it was a bit of a mystery to the majority of the staff.
So this rules engine solution was designed to be something that, would automate, so that as a user of Aptify. Maybe I’m out listening in a city and I learn that there’s a new Public Works Director at that city and now you know Sally is Public Works Directory Director, Joe is no longer that, I can just make that simple function change on the persons record and not have to worry about what are all the rules you know what what should be taken away from Joe, what should be given to Sally.
Rules Engine would hopefully handle. What it is a rather than a simple entity of its collection of rules so each entry then in the entity might just will indicate a function and possibly a membership type and what do those indicate you know with given a function in a membership type what topic code should that person have and /or what web group should they be a part of and so the engine itself is a rule process flow that when a person, person record changes it looks at their function and their membership type and goes through all the rules that apply to that and makes those changes in the topic code or web groups.
Back I think to your question it was rules and rule designed to automate the process make it you know less of a job for someone to take care of that also so to broaden Aptify use so that anybody could feel comfortable making those kind of easy to understand changes to a person’s status but without necessarily knowing all the rules. It also really opened up the rules process so that the rules documents rules really nicely so it’s easy to see what rules we are implementing right now which really was a mystery in the past and to evaluate that whether we still make sense or if we want to change it.
The Solution in Action
A lot of business rules at AWC are driven by a person’s functions and their membership status. You can see, we that we have a lot of functions here that we use. Whenever a persons’ function changes that is going to these business rules effect a lot of things Publications that they will now receive as well as access to the website.
So what I’ve done is built a rules engine which is driven the rule with a simple entity that lets you grant a topic code or a web group based on their function and a membership status also have a tag here to activate or deactivate a given rule. So here is a collection it’s pretty accurate representation of all the rules for organization and a simple view gives you a pretty good idea. I can sort it by a topic codes and see all the different people that will at a certain publication.
When a person’s record is changed. So I’m going to go back and persons record again, I’m going to add a function and make myself a associate member contact, save the record and as of the rules I now have been assigned three publication topic codes I look at web user I‘ve been added to about four different web groups. You can just see this work and refer yourself like a whale associate member contact function, save my record again then look at the web user see I’m no longer a member of those groups. And look the topic codes and see that those topic codes that I’ve taken away from my person’s record.
Now we also have lots of exceptions to the rules. The way I’ve dealt with that different rule override other person topic code. One of our publications can either force an inclusion of a topic code on the person or can force an exclusion and I do this with this tag so if this is checked I will force myself to tag at the city voice topic code save my record again and see topic codes and see that I have city voice and this will persist regardless of what happens. So I go back again and add the associate member contact function save my record. Go back to my topic codes, see I have three publications that we sort of change before you still have like city vision. Go back to the function and remove that.
You remember the last time we did this I lost all of those publications, save the record. Topic codes see that I still have the city voice that we created the exception for there’s a same functionality with web group so there’s a web user group override where you can force web group or person or force and exclusion.