Client sided development in Dynamics 365 allow us to alter the user interface and influence how a user interacts with the application. In this context, I refer to client side code as that which primarily effects the user interface and is executed on the client machine. However, the lines are a little blurred at time, e.g. the XML driven elements are parsed on the server before rending on the user’s machine. We have the following options for client side code.
You can create and store HTML web resources within 365. This enables you to build mini web apps within the context of 365, these are typically placed in forms and dashboards. This is handy as the web resource is packaged as part of the CRM solution with no additional hosting or deployment steps required.
If you feel like going old school you can also create Silverlight web resources. However this has largely gone out of fashion since Microsoft are dropping support for Silverlight as a technology.
Command Bar (aka Ribbon) – using XML
Not truly coded development, but a handy way to customise elements of the user interface. Editing the command bar, previously known as the ribbon – and in some locations still presented as a classic Office ribbon – allows you to add buttons and edit existing buttons. You have to export a solution of the required elements, edit the XML, and then reimport the solution. For a long time this was a trauma and Microsoft failed to provide any decent tooling to make it easier. Fortunately, Scott Durrow filled the gap – use Ribbon Workbench to do the heavy lifting here.
Sitemap – using XML pre 365
The sitemap allows you to control the navigation of CRM, e.g. which sections are shown and how entities are grouped together. This can be useful if you want to present a third party web app within the application via an iframe accessed as part of the normal navigation.
Pre-365 the sitemap was largely controlled by editing XML much like the command bar, so use a plugin within the XrmToolbox by Tanguy Touzard to do this. Post-365 you can now control the sitemap via a dedicated editor inside 365. For all versions you can set where entities appear within the customisation settings for that entity.