Solution History

The other day, I was investigating some solution import issues, and I need to see who was guilty of importing a solution into an environment that it should never have been imported into.

I fired up the old XrmToolbox, to use the Plugin called Solution History which I always found a nice handy little tool for getting at the history of when and who imported solutions.

It was at that point that I realised that CRM now supports a Solution History view within the user interface. I have no idea when this appeared, but it seems to be sometime this year.

Since then, I have found this invaluable for investigation solution issues, and also for updating environments where you need to follow the exact pattern of solution imports that were done within a test environment.

To use it, simply get to your Settings area of Dynamics, and choose Solution History from within the Customization section.

This will then give you a nice list of the solutions that were imported, exported, succeeded and failed.

Adxstudio 7 solutions do not import into Dynamics 365 V9

Here is a bit of useless information for you!

I setup a trial of a V9 instance of Microsoft Dynamics 365 for some testing, and I found that the Adxstudio 7 solutions would not import.  The installer goes in, but installing the base portals solution fails.

To get round this, I converted the instance to a sandbox, reset it to V8.2, installed the solutions, and I intend to upgrade it to V9, although I will have to wait a week for the scheduled update to work.

So there you have it.  You cannot set up a new V9 instance to run old portal code on.

Solution export error, check SLA’s

Recently I had an issue where all of a sudden, a solution would not export from the development environment, even though it was previously fine, and as far as I knew, it had not changed.  Dynamics would throw a very unhelpful error, with no details of what went wrong.

I tried creating a new solution, and adding the exact same components and that one also failed, so I knew it was not the solution itself, but its contents.

After a bit of trial and error, I discovered that it was the SLA’s that were causing the issue.  Turns out that it was because one of the SLA’s had not been activated.  Never thought it needed to be, but in this case, it was causing an issue.

So, if it ever happens to you, make that one of the first things you check, it might save you some time.

This was a version 8.2 on premise install, but I didn’t have access to the actual server.

DevOps Home Server – Part two – Software

For the purposes of my own home DevOps server, I decided to use the range of Atlassian software.

Source Code Control Atlassian Bitbucket
Project and Issues tracking Atlassian JIRA
Documentation Atlassian Confluence
Build and Deploy server Atlassian Bamboo
Code Analysis SonarQube

The main reasons for this are :

  • I have used these applications in a previous job
  • They all integrate really nicely with each other
  • They are affordable (even though there are free open source equivalents)

Once they are all set up, and connected together, you can quickly change between them when browsing the web interfaces.

In terms of price, each one of these applications (apart from SonarQube which is free) costs $10 for a permanent license for 10 users.  If you wish to get software maintenance, then you can pay that price every year (actually, its half that for extending the maintenance after the initial purchase), but in my case, the initial purchase is going to be fine, costing not much more than a decent takeaway.

Continue reading “DevOps Home Server – Part two – Software”

DevOps home server – part one – the equipment

Ah, DevOps, such a buzz word now.  It seems that everyone wants to bring Operations and Development together, in a harmonious gathering of intellectual minds.  To get in on the action, I wanted to do some hands on development, with a little saucy operation to go with it, and so wanted to experiment with some home server shenanigans.

Why bother, I hear you say, why not just use the existing cloud services I hear you cry.  Well, I really don’t have an explanation, other than to say, why not.  Sometimes, a workplace environment may not be in a position to use the various cloud services, and may have to host everything themselves, so its worth having a bit of experience with such a situation.  So, I bring to you my experience of setting it all up, using Windows Hyper-V.

Firstly, a little bit of background as to what I already had, before I get in to the most recent information with regards to my little home development environment.

Continue reading “DevOps home server – part one – the equipment”

Microsoft.Crm.Entities.PluginType and PluginTypeNode: System.Xml.XmlElement caused an exception

I was getting this error when trying to import a solution into an On Premise Dynamics 365 environment.

This was a solution that I knew had previously imported into other environments, so I was very confused why it would not import.  Turns out, the Sandbox Processing Service on the server was not actually running.

Restarting the Service allowed the solution import to proceed.

I believe this must have happened as we had experienced a power cut, and I have certainly seen Dynamics services not restart properly when a server is not safely switched off correctly.  Also, it may have had something to do with the fact that this one little Virtual Machine server was running about 20 different CRM Organisations at once.

Anyway, never assume that its an issue with your solution.  Nine times out of ten, it is, but always remember to check your environment as well.

 

Dynamics Solution Dashboard

I have decided to release a small utility that I have been working on to assist me in my day to day work with Dynamics CRM.  A common requirement in the standard Development, Test, Train and Production environment setup is the moving of solutions between organisations, and version numbering.  One thing I often need to do is to check the version numbers of a solution across different CRM instances, to see if there are any discrepancies.

I needed a tool that could just do it for me with a click of a button and highlight any differences.

And so, here it is.

The application can simply be configured to connect to any number of CRM environments (within reason) and it will detect all of the solutions installed, and their version numbers, and show them in a grid.  Any instances where an environment does not have the same version number, the solution is highlighted.

To configure it, simply click the Settings button, and then the Connections button to add your connections. On the settings screen, you can enable and disable the connections you wish to view.  It should be fairly straight forward.

I shall probably be adding more features to it as I go, but for the first version, its already proving very useful to me, so thought I would share it.

If you wish to Download it, you can download the Zip file, extract it and run it.

Downloadable version of Dynamics Solution Dashboard