CDS Solution Development – Best Practices – ModelFeatureApp Architecture

Introduction.

Hi all! Another week went by, another page in the GitHub wiki added… In case you’re new here, read this article which explains the motivation behind it all.

I wasn’t able to add new content last week and I’m very sorry for that. Hopefully this week will make up for it.

Continue reading “CDS Solution Development – Best Practices – ModelFeatureApp Architecture”

CDS Solution Development – Best Practices – Developed Components

Introduction.

Hi all! Another week went by, another page in the GitHub wiki added… In case you’re new here, read this article which explains the motivation behind it all.

There’s not a lot I can comment on for these few new pages. But I can think of one thing.

Continue reading “CDS Solution Development – Best Practices – Developed Components”

CDS Solution Development – Best Practices – Tooling

Introduction.

Hi all! Another week went by, another page in the GitHub wiki added… In case you’re new here, read this article which explains the motivation behind it all.

What are my thoughts on current CDS tooling? Let’s get into it.

Continue reading “CDS Solution Development – Best Practices – Tooling”

Common Data Service Solution Development – Best Practices

Introduction.

I started with series of articles about managed and unmanaged solutions from the ISV (Independent Software Vendor) perspective. You can find the first about merging forms and layering views here, and the second about missing dependencies here. I was thinking about the next topic in the managed vs. unmanaged series and decided to start over with best practices for CDS (Common Data Service) in general.

I just want to state one thing. We are ISV. We build and endorse managed solutions and these best practices are our own based on the documentation from Microsoft and implementations of customer projects.

Continue reading “Common Data Service Solution Development – Best Practices”

Dynamics 365 – Subgrids without relationship

Have you ever wanted to display a view from different entity and there was no straight relationship? Worry not! I finally figured out how to do it. So, let’s just jump into it!

Continue reading “Dynamics 365 – Subgrids without relationship”

Conditional groups across different linked entities in FetchXML

In CDS, the Advanced find gives us a great tool for generating FetchXML files, but even it has some limitations that can be worked around. Today we will focus on more complex FetchXML queries, that require logical OR or AND groups that depend on fields that are not on a single entity.

Continue reading

Missing Dependencies – managed vs unmanaged PART 2 (Microsoft Power Platform and CDS)

Introduction.

This is the second part in my series of CDS/Dynamics solution development.

In the last article, I described why you should use managed solutions and why it’s not a great idea to use unmanaged ones. I want to support my suggested best practices in this series in the future so you have the option to make your own opinion. I’m strongly for managed solutions and I’ll tell you another reason why in this part.

Have you ever heard of “missing dependencies”? Well if you are CDS developer like me, I know you have and I know that they are pain in your ***.

Continue reading “Missing Dependencies – managed vs unmanaged PART 2 (Microsoft Power Platform and CDS)”

Merging Forms and Views – managed vs unmanaged (Microsoft Power Platform and CDS)

Introduction.

If you are developing Model-driven app (business application) above the Microsoft Power Platform and you want to follow the best practices, you should deliver your complete solutions (zip packages) as managed solutions to all downstream environments.

Your goal should be to deploy your Model-driven app through AppSource. To achieve that, your app should be separated in smaller packages that can work on their own. For better understanding let’s say, that your app is separated in three main groups.

Continue reading “Merging Forms and Views – managed vs unmanaged (Microsoft Power Platform and CDS)”

Making Xrm.WebApi.retrieveRecord Synchronous calls in Common Data Service (D365 fo CE)

With v9 a lot of changed. One of the major changes is client web API, some of calls were made deprecated and some were added. For example, Xrm.WebApi.

The new ‘Xrm.WebApi.retrieveRecord(entityLogicalName, id, options).then(successCallback, errorCallback)’ can’t be made synchronous. But imagine situation, in which you need to go through multiple entities (lookups). In this scenario, you need the result of retrieved record to access the next record. So how can this be done?

Continue reading “Making Xrm.WebApi.retrieveRecord Synchronous calls in Common Data Service (D365 fo CE)”

Merging DLLs in the new csproj project format (excluding specific NuGet packages)

TL;DR

There’s no breakthrough in this blogpost… It’s just to show you how does the new .csproj look like, what basic things can be done in msbuild and how-to setup ILRepack for common data service painlessly.

Continue reading “Merging DLLs in the new csproj project format (excluding specific NuGet packages)”