devkeydet / HelloFusionDev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample Dataverse Solution showcasing using cdsproj as the driver of fusion development

Fusion development is a term often used to describe bringing together low code and code first (aka pro code) technologies together when developing applications. The Microsoft Power Platform has both low code and code first extensibility. You can learn more about code first extensibility using the Microsoft Power Platform developer documentation. The mechanism for implementing Application Lifecycle Management (ALM) in Power Platform is called a Solution. While fusion development is an often overloaded term, the sample Solution in this repo aims to share a Hello World example of fusion development grounded in source control being the source of truth. The source code was produced using the Power Platform CLI. In source control based ALM, the build process is what typically builds the source code into a deployable artifact. In Power Platform ALM, the Solution is the deployable artifact. The Power Platform CLI has a number of commands through pac solution that enable source control based ALM for solutions through the *.cdsproj file. When using a *.cdsproj to drive the building of a Solution, you can achieve the "fusing" of low code and code first elements of your Solution by simply running dotnet build.

This sample contains the following

  • Low code
    • Canvas app
    • Model driven app
    • Dataverse Table
  • Code first
    • PCF Component written using TypeScript and React
    • Dataverse plugin written using C#
    • JavaScript web resource written using TypeScript

Getting started

To understand how this sample was created, you can watch this walkthrough.

Video Introduction

To build the Solution, you can do the following. Since this Solution usings .NET Framework 4.6.2 for the Dataverse plugin assembly, this works on Windows only.

  1. Install Power Platform CLI & .NET SDK.

  2. Clone the repo or download the zip

    image of how to clone or download

  3. After acquiring the code

    cd HelloFusionDev
    cd webresource-src
    npm install
    cd ..
    dotnet build
    

In the bin/debug folder, you will have managed and unmanaged versions of the Solution. The web resource in the Solution will not be minified and will have source maps. If you run dotnet build -c release, the Solutions will have optmized web resources in the bin/release folder.

Thanks to @scottdurow for his awesome (free) course Building JavaScript Web Resources using TypeScript for the TypeScript inspiration.

About

License:MIT License


Languages

Language:C# 50.7%Language:JavaScript 34.8%Language:TypeScript 14.5%