Presentation is loading. Please wait.

Presentation is loading. Please wait.

Setting Up a Sandbox Presented by: Kevin Brunson Chief Technology Officer.

Similar presentations


Presentation on theme: "Setting Up a Sandbox Presented by: Kevin Brunson Chief Technology Officer."— Presentation transcript:

1 Setting Up a Sandbox Presented by: Kevin Brunson Chief Technology Officer

2 What is a sandbox?

3 Expectation: World’s Coolest Sand Castle!

4 Reality: Pile of Sand

5 Reality: Disappointment

6 Reality: Sand In Eyes

7 Software Development Picture it in your head Change your code Blow up your production environment

8 The Goal Make changes in an environment that doesn’t matter. Preferably an exact copy of your production environment. Test your changes to see if the result ends up looking like it did in your head. Avoid accidentally breaking your production environment.

9 The Solution A sandbox instance is a separate copy of the Ministry Platform application in IIS Accessing a separate copy of the Ministry Platform database in SQL Because it looks just like your production environment, your sandbox is a perfect place to see how changes to your system will behave Without affecting your production environment.

10 What do you need?

11 Hardware Resources You will need to have system resources available to support a second copy of Ministry Platform. Most churches run the sandbox instance on the same server(s) as the production instance.

12 Disk Resources Enough disk space on your SQL server for a second copy of your MinistryPlatform database Enough disk space on your IIS server for a second copy of any Ministry Platform application directories you want to duplicate (checkin, portal, etc) If you want to be able to make backups of your sandbox, you will need enough disk space to store the backups

13 Memory and CPU Resources Since the sandbox won’t have a lot of simultaneous users it shouldn’t require a lot of CPU cycles, but if your system is already overloaded adding a sandbox might not be the best idea Since it will be running a separate database you can expect memory usage to jump when you add a sandbox.

14 Software Resources If your sandbox will be on the same server as your production environment you shouldn’t have to purchase any additional software If you decide to build your sandbox on a different server there are a lot of software licensing scenarios that could come into play, so I can’t really comment without knowing specifics

15 Now that all the basics are out of the way, how do you create a sandbox?

16 Making changes to your system has risks. HUGE RISKS! So be careful, and don’t get in over your head. Performing any of these steps incorrectly could cause downtime or data loss. We can’t take any responsibility for problems that may occur.

17 Risk Avoidance Backups Snapshots

18 The MinistryPlatform Ecosystem When it comes to the process of creating a sandbox you can break the process into 3 sets MinistryPlatform/API MPCoreTools Portal/Checkin(2)/ClassroomManager/MPMobile/etc Before you can create a development environment for any of the other apps, you have to start with MinistryPlatform and MinistryPlatformAPI.

19 A Few Notes Creating a MinistryPlatformTesting application will not automatically create a testing instance of all the other applications, including MPCoreTools We generally ignore MobileTools when setting up a sandbox. It is not hard to do but there is not much point. A sandbox of Reporting Services is WAY beyond the scope of this discussion. Most churches don’t bother. If you absolutely need a sandbox of reporting services you should discuss it with ThinkMinistry.

20 Creating the MinistryPlatformTesting Application - Overview Restore a backup of your production MinistryPlatform database to a new database SQL housekeeping (via script) Copy the MinistryPlatform files Create and configure the application in IIS

21 Back Up Your Database

22

23 Restore Your Database

24

25

26

27

28 Update the Testing Database Change the Application Name Update Database Security and Ownership Generate new Domain_GUID Set a new API Password Re-enable the Service Broker This process is very different in Platform 2 Thankfully all the changes are now in a script Download it from: https://dl.dropboxusercontent.com/u/11507174/SetupTestingDatabase.zip

29 Running the Script Edit the ‘newAPIPassword’ variable Execute the query against your MinistryPlatformTesting database Make note of the Domain_GUID value since you will need it later:

30 Create Testing Folders In the root of your web server you should see the following: Create the 3 new folders in the same location: Copy the contents of _MinistryPlatformTools into the new _MinistryPlatformTestingTools folder

31 Copy Application Files Copy and Paste the MinistryPlatform and MinistryPlatformAPI folders

32 Rename the Copies

33 Configure MinistryPlatformTesting web.config Connection String File Storage

34 Configure MinistryPlatformTestingAPI web.config Connection String File Storage and API Password

35 Create MinistryPlatformTesting Internal Application Pool

36

37 Cronfigure MinistryPlatformTesting Internal Application Pool

38 Convert to Application

39 Configure Application

40 Success!

41 Reminder Core Tools will be pointed at your production database if you stop here, which could result in unwanted data changes.

42 MPCoreTools

43 Creating a sandbox for MPCoreTools Create a copy of the MPCoreTools folder called MPCoreToolsTesting Update the API path and password in MPCoreToolsTesting web.config Update the URLs for MPCoreTools in the MinistryPlatformTesting database with the path to point to the new sandbox

44 Copy Core Tools to New Folder

45 Update API path in web.config Use the API Password you specified in the SQL script to update the testing database

46 Convert to Application

47 Update URLs in Testing Database

48 Everything Else

49 Create a Sandbox for the Checkin2 and Classroom Manager Checkin2 and ClassroomManager use the same basic process for creating a sandbox Create a copy of the application folder Update the APIGUID, APIPassword, and ImagePath in the web.config Update the path to the MP API in the web.config Convert to Application in IIS

50 Update APIGUID

51 Update API Path

52 Create a Sandbox for Portal Portal is very similar to Checkin2 and ClassroomManager, but the section headings look a bit different Create a copy of the application folder Update the APIGUID, APIPassword, and root folder in the web.config Update the path to the MP API in the web.config Convert to Application in IIS

53 Update portal web.config

54 Wrap-Up

55 Test, Test, Test Before you start making changes, it is important to make sure everything worked as expected Login to all of your new sandbox applications to make sure they launch as expected Create a new record in your production MinistryPlatform application. Search for that record in your sandbox. If it shows up in the sandbox then something went wrong Create a new record in your sandbox. Check your production environment for that record. Again, if you find the new record something went wrong.

56 Back Up Your Sandbox Before you start making changes, make a backup of your new applications MinistryPlatformTesting database in MS SQL Folders for each sandbox application you created on your IIS server Decide whether you want to add the sandbox database to your SQL scheduled backups. If you have the space it is highly recommented.

57 Questions??

58 About the Presenter: Kevin Brunson is the Chief Technology Officer of Higher Ground Technologies in Collierville, TN. He holds a BA degree from Crichton College and a myriad of industry certifications including MCSE. Kevin has been working with church technology since 2000.

59 Higher Ground Technologies, Inc exists to serve the unique technology needs of churches nationwide. The company provides network design and consulting services, system integration and a full suite of IT management services for churches wishing to outsource some or all of their technology management. Higher Ground Technologies also provides VoIP communication systems, enterprise wireless networks, secure online backup services, 24x7 network monitoring and support, and high performance, extremely reliable network servers and security devices.


Download ppt "Setting Up a Sandbox Presented by: Kevin Brunson Chief Technology Officer."

Similar presentations


Ads by Google