Integrating Vision2 Widgets into MP Portal


Step 1 – Lookup the encryption key in the system configuration of ministry platform

  • Launch the MP portal

  • Navigate to Administration
  • Navigate to configuration settings and locate the configuration setting “encryption key” 

 

  • Click on the configuration key and get the id field at the top of the screen, in this install the Encryption Key ID is 223, but the id will be different by system.   Write the key down, you will need it in a later step. 

 

 

Step 2 - Modify the Default HTM file to output the token where we can use it 

  • Remote desktop into the Virtual Machine that the MP portal is on

  • Launch server manager 

 

  • Navigate to IIS and right-click on the name of the server that is the portal should be the same one your remote desktop connected to, and choose Internet Information Services Manager 

  • Expand the default website, choose portal, right-click, and select explore 

 

  • In the _domaindirectory you will find domain data, a URL name folder. 

 

  • Assuming they are using the default theme (if they are using a different theme navigate the theme name folder) and there you will find a file called default which is an HTML file 

  • Edit that file with Notepad and at the bottom where it should say “Load and launch the class translator” just before the last body tag, add the following section of html replacing the 223 value with your Encryption Key Id:  

<script type="text/javascript" id=”vision2token”> 

window.v2mptoken = { 

id: 223, 

token:"[MPP_User_Data]" 

</script> 

Step 3 – Create Custom Portal Skin File

  • Setup the standard V2 giving pages for use with the simple giving widget

  • Create a new custom portal skin or edit your existing skin file. See http://www.thinkministry.com/kb/portal/configuration/skins/ for instructions 

  • This code should be included, making sure to update the v2mptoken id and the customer subdomain:

<script type="text/javascript" id=”vision2token”>
  window.v2mptoken = {
    id: ***123***,                  // <- - - CHANGE THIS VALUE
    token:"[MPP_User_Data]"
  }
</script> 

<script type="text/javascript">
//V2 AUTH LISTENER
document.addEventListener("DOMContentLoaded", function (event) {
    try {
        var attempts = 0;
        var interval = setInterval(function () {
            if (window.v2stools) {
                clearInterval(interval);
                var identity = window.v2stools.Session.GetIdentity();
                v2stools.Radio("Authenticated",function () {
                    document.getElementById("v2_unauthenticated").style.display = "none";
                });
                v2stools.Radio("LoginSuccess",function () {
                    document.getElementById("v2_unauthenticated").style.display = "none";
                });
                v2stools.Radio("LogoutSuccess",function () {
                    document.getElementById("v2_unauthenticated").style.display = "block";
                });
                if (window.v2stools.AuthStatus()){
                    document.getElementById("v2_unauthenticated").style.display = "none";
                }
            }
            else {
                attempts = attempts + 1;
            }
            if (attempts >= 60) {
                console.log('failed to find tools after 60 attempts');
                clearInterval(interval);
            }
        }, 150);
    }
    catch (e) {
        console.error('Unable to handle tracking load event v2',e);
    }
});

</script>

<script src="https://***CHURCH_NAME***.v2sapi.co/script/APIScript?includeDemoCss=false" type="text/javascript"></script>                  // <- - - CHANGE THIS VALUE