Plugins - Myths, Truths and What Exactly Are They?!

From EllieMae's® Encompass or most LOS platforms to Outlook, Google, even Minecraft and pretty much most SAAS solutions out there, plugins are everywhere. Just the same, for some this is a daunting concept, especially when talking about lending software. Sounds scary. Sounds complicated. Sounds like something that will break stuff!

While some are very familiar with leveraging these solutions or even building one themselves, many system admins simply haven't been exposed to or know what to make of the idea, or even know where to begin for that matter.

What are they?

Simply put, a plugin (plug-in) is code. A plugin is a DLL, a "mini-program" of sorts that adds functionality or features or connectors to existing software. In Encompass-land, like most, a plugin generally is used to automate or perform functions that users have to do manually otherwise, or expand ways you can use the data already in the system. Although there are virtually limitless options of what you can do with plugging in additional code, the most common and practical uses are to have these mini-programs listening for or making changes you can't achieve with the native settings options, or adding in features and creative ways to get more out of your data. A good comparison would be - a business trigger rule is essentially a mini-plugin that is writing code using the controls provided natively. You are creating 'code' behind the scenes that is listening for something to happen or change, and then your rule is making something else happen in return. A plugin, in essence, is no different. You simply have more options beyond the native/stock controls. Your plugin can listen for the same change, and make the same thing happen as the rule - but perhaps you need this to happen on loan open, or loan save. Well, the native settings may not allow you to do this, but you can access additional events or actions in your plugin to achieve what you are trying to accomplish.   

Sounds scary...

Well, it shouldn't (for the most part)! The ability to add a plugin or customize your Encompass system, for example, is one of the key and primary reasons many companies choose EllieMae® products in the first place. Really, from the time you begin to implement, pretty much every time you make or create or change a setting, persona, form, field or rule, you are 'customizing' your system.  Plugins, whether created by you or a third party, are taking the ability to 'customize' to the next level. Just as commonly, Encompass' Professional Services team will create plugins for clients. There is a good chance you have one or two installed from them today, and not even know it! 

Why "for the most part"? Well, some common sense here is in order. At the end of the day, no matter who is adding code to your system (you, Encompass or a third party), just like any other setting you have changed, it is no longer 'out of the box'.  For the same reason a custom form you create can potentially be affected by a subsequent software release or enhancement, so can a plugin. For the same reason that a rule you write today may calculate 2 fields, and one of those fields is changed by a regulation change or software update, your code in the plugin may no longer work.

Most importantly, the code itself in the plugin needs to be well written. A poorly written plugin may slow your system down, not have the correct filters or controls on it, not be reliable. This is essentially the same thing as poorly written business rules. For example, if you have a rule that sets a field, then another rule which uses that field to set a third field, and yet another rule which uses that new field, you are adding more 'thinking' the system has to do, versus nested if/then statements or advanced coding. Many times, we see situations where layered rules and triggers create a loop - a circular referencing rule.  Not efficient at all, and will cause serious latency, if not crash things! 

If not building it yourself, choosing the right provider is vital. Cool tools are great, but reliability is crucial. A well-written plugin from a reputable provider (or EllieMae® professional services) is written in such a way that it is generally just as stable as any native setting, if not more so in some cases. Support for the tool is key, and a company that tests against updates, regression tests, stands by their products, has a solid history, and answers the phone if you ever have questions is paramount!

Have more questions? We're happy to chat!  If you're interested in learning more about how to create a plugin yourself and not sure where to start, KensieMae through KMU offers coding and advanced coding courses and certifications, specifically for Encompass admins!