It Takes a Team to Raise an App

CRM Blog It Takes a Team to Raise an App

We recently got our first business application (app) published to the Microsoft AppSource. Yay (and Phew!)! It was exciting to finally get it out there live, but the process was a longer and more rigorous than we first thought. One of the biggest challenges we faced was a lack of information, that wasn’t listed anywhere. I thought I’d include some helpful tips that we found, mostly surrounding the code. Our App is being listed in the Dynamics 365 for Sales section of Dynamics 365. Click here to see our complete app listing, someday all of this too can be yours!

So you want to list an app…

Before we dive into the code, let’s begin with the basic files and documents you’ll need in order to submit your app. All of these are listed in the deployment guide provided by Microsoft. Be sure to have the following materials ready, along with your app:

  • A description of the app
  • A company logo to display on the App Source, including icon size
  • Pictures and videos of the app in use
  • Any additional marketing materials that you’d expect to find when you view an app from an app store

You’ll also need to provide help files, URLs, and support documentation related to your offering, standard information to help a user who has installed your app get started and troubleshoot if necessary. And finally, quality assurance usage cases, so the Microsoft certification team can test your app.

*One note on these usage cases: For us, the certification team requested a meeting to have us demo the app for them and seemed to go more off this demo then the cases we wrote up. Not saying that’s what they always do, but it was for us.

So you still want to list an app…

Now then, onto the app itself. First, before we get to code, be sure that your solution and all of your custom entities, fields, workflows and custom workflow steps have a description.

If you’re still with us… here’s the good stuff!

So now for code. As a first little tangent, the certification team we were working with worked in India Standard Time. This is a 12-hour difference from our Mountain Time Zone, so one email conversation usually took two work days as the two sides are working completely different hours. I write this mostly as a disclaimer, so that others don’t have this already fairly arduous process stretched out even longer.

For our plugin C# code, the first thing we did was run the Visual Studio code analysis tool. It’s a nice tool, if you’ve never used it, that helps clean and works to optimize your code. After running that tool and fixing all of its suggestions, we earned the green light from the certification team’s point of view. We didn’t have any issues with our server side code and were under the impression they run a similar, if not the same tool as the Visual Studio Code Analysis, so be sure to do that.

Now on to everyone’s favorite, JavaScript. Yuck. Admittedly, we got quite a few errors here, and I’ll list them below. But first, I would like to say, our app involved two separate solutions and their JavaScript tool seemed to have troubles seeing from one solution to the other. For example, if a JavaScript library was in use. So, here were the major issues for us:

  • They want you to use the, “use strict” on every JS library you use in your app. This means at the very top of the file simply include “use strict” in quotes.
  • They prefer you use strict equality, meaning they want you to use ‘===’ instead of ‘==’.
    If you’re not sure what the difference is, the strict equality (‘===’) compares values without type conversion, while (‘==’) will attempt a type conversion before comparison.
  • They don’t want you using window.parent/child. The context of the current window is not always the same.
  • Use Xrm.Utility.Dialog instead of alerts.
  • Don’t compare objects to “undefined” but rather compare them to “null” instead.
  • Where necessary make sure to have braces, for example, use braces after if statements.

Those were the main gotchas we encountered. Hopefully these tips and tricks will help you and your team when it comes time to get your app published!

Written by Mike “Turn Down For” Watt, developer at Rockton Software. Check out our new Recurring Billing app for Microsoft Dynamics 365, now available on the Microsoft AppSource. Providing 24/7 access for your entire team, now that’s business simplified.

Let’s block ads! (Why?)

CRM Software Blog | Dynamics 365