We talked about our plans for this in part 2e and in part 3, now its time to see how we actually implemented it.
First we go to the implementation guide on PCA Predicts site and from there download the current version of the CRM Solution. We are going to put all of our solutions into source control so we have already defined the folder structure for these, so we’ll save it there before importing it into the Test Instance.
In CRM go to Settings, Solutions, click Import and import the .zip file you just downloaded.
In CRM go to Settings, Solutions and click New
We have called this ‘System Entity Postcode Lookup’ because this solution is only going to modify the System Entities – Account and Contact initially – and it is only going to modify them as much as necessary to add the postcode lookup feature.
Now we will add the Account Entity, go to Entities and click Add Existing, then select the Account Entity from the list and click ok.
This will then ask you which parts of the Account Entity you want to customise
On the Forms Tab, select the Active Main form (called Account in our case) and click Finish.
Now expand the Entities section, the Account and select the forms area. open the Account Form, from here you can follow the steps in their excellent guide; we also created a new key for each entity type just to help us monitor usage.
Once you have added all the entities you want to enable for address lookup, click the Publish All Customizations button and test it all works. Assuming that it does, go back to Settings, Solutions, select your solution and click export – at this point we are putting it in the source controlled folder, replacing the existing file and committing it.
NOTE! Export your Solutions as Unmanaged or when you
import them in future you wont be able to edit them.
Now you can import the Solution into the Live Instance and test it still works as expected.
Issues we Encountered
We had a problem initially when importing the PCA Predict Solution where CRM kept saying that it was not a valid solution, this turned out to be a corrupted download and downloading the file again fixed this.