Git Repository Structure and Metadata Management with UDE

Dynamics 365 F&O UDE Series | Part 7

Git Repository Structure and Metadata Management with UDE

Custom metadata, repository folder structure, .gitignore, branch strategy, Pull Request, hotfix, and daily Git workflow

Introduction

In the previous parts of the series, we created our UDE environment, installed the required tools, configured Visual Studio, and completed our first X++ development.

Up to this point, we have focused mostly on getting the development environment up and running. In a real project, however, writing the code is only one part of the job. How the code will be shared within the team, which change was made by whom, how to return to an older version when necessary, and which source the build process will use are at least as important as development itself.

This is exactly where Git and the Azure DevOps Repository structure come into play.

Using Git is also particularly important on the UDE side. This is because custom metadata now resides on our local machine, and multiple developers can connect to the same UDE environment. Therefore, the source code needs to be kept in a single, traceable reference.

In this article, we will mainly look at the following topics:

  • Where custom metadata should be stored within the repository
  • How the repository folder structure can be designed
  • The approach to metadata, Visual Studio projects, build files, and .gitignore
  • Branch structure options based on the size of the project
  • The Pull Request, branch policy, and hotfix approach
  • A developer’s daily Git workflow and metadata conflicts

The Metadata Approach That Changes with UDE

In classic Dynamics 365 Finance & Operations development VMs, Microsoft standard metadata and the custom metadata we developed were stored under the same PackagesLocalDirectory structure.

For example, the folder we had been accustomed to seeing for years was:

K:\AOSService\PackagesLocalDirectory

Inside this folder, Microsoft packages, ISV solutions, and our custom models could exist side by side.

With UDE, this distinction becomes much clearer.

In the metadata configuration in Visual Studio, we define two separate locations:

  1. Folder for your own custom metadata
  2. Folders for reference metadata

The first field points to the folder containing the X++ models we develop ourselves, while the second field points to Microsoft standard metadata and, if applicable, other reference models.

In my opinion, this separation is one of the most useful aspects of UDE.

In practice, it provides us with the following advantages:

  • Microsoft standard metadata does not become part of the repository.
  • We can limit the repository to only our custom code and project files.
  • Switching branches and synchronizing code becomes cleaner.
  • Microsoft updates and custom code are separated from each other more clearly.
  • Which files the build pipeline will use becomes more controlled.

The basic rule I use here is:

The repository should contain only the files that we develop ourselves or that are genuinely required for the solution to be built.

Recommended Local Folder Structure

In the previous parts, we used the following folder for custom metadata:

C:\CustomXppMetadata

Read more

UDE ile Git Repository Yapısı ve Metadata Yönetimi

Dynamics 365 F&O UDE Serisi | Bölüm 7

UDE ile Git Repository Yapısı ve Metadata Yönetimi

Custom metadata, repository klasör yapısı, .gitignore, branch stratejisi, Pull Request, hotfix ve günlük Git akışı

Giriş

Serinin önceki bölümlerinde UDE ortamımızı oluşturduk, gerekli araçları kurduk, Visual Studio’yu yapılandırdık ve ilk X++ geliştirmemizi yaptık.

Buraya kadar daha çok geliştirme ortamını ayağa kaldırmaya odaklandık. Gerçek bir projede ise kodu yazmak işin sadece bir kısmı. Kodun ekip içinde nasıl paylaşılacağı, hangi değişikliğin kim tarafından yapıldığı, gerektiğinde eski bir sürüme nasıl dönüleceği ve build sürecinin hangi kaynaktan besleneceği de en az geliştirme kadar önemli.

Tam bu noktada Git ve Azure DevOps Repository yapısı devreye giriyor.

UDE tarafında Git kullanımı ayrıca önemli. Çünkü custom metadata artık lokal makinemizde duruyor ve birden fazla geliştirici aynı UDE ortamına bağlanabiliyor. Bu nedenle kaynak kodun tek ve izlenebilir bir referansta tutulması gerekiyor.

Bu yazıda ağırlıklı olarak şu konulara bakacağız:

  • Custom metadata’nın repository içinde nerede tutulacağı
  • Repository klasör yapısının nasıl kurgulanabileceği
  • Metadata, Visual Studio projeleri, build dosyaları ve .gitignore yaklaşımı
  • Projenin büyüklüğüne göre branch yapısı seçenekleri
  • Pull Request, branch policy ve hotfix yaklaşımı
  • Bir geliştiricinin günlük Git akışı ve metadata conflict’leri

UDE ile Birlikte Değişen Metadata Yaklaşımı

Klasik Dynamics 365 Finance & Operations development VM’lerinde Microsoft standart metadata’sı ile bizim geliştirdiğimiz custom metadata aynı PackagesLocalDirectory yapısı altında duruyordu.

Örneğin yıllardır görmeye alıştığımız klasör şuydu:

K:\AOSService\PackagesLocalDirectory

Bu klasörün içinde Microsoft paketleri, ISV çözümleri ve bizim custom modellerimiz yan yana bulunabiliyordu.

UDE ile birlikte bu konu daha net ayrılıyor.

Visual Studio’daki metadata configuration içinde iki ayrı konum tanımlıyoruz:

  1. Folder for your own custom metadata
  2. Folders for reference metadata

Read more

Creating a New Model in a UDE Environment and First X++ Development

Dynamics 365 F&O UDE Series | Part 6

Creating a New Model in a UDE Environment and First X++ Development

Model, package, Operations Project, runnable class, build check, and the local/cloud development distinction in UDE

Introduction

In the previous article of the series, we connected Visual Studio 2022 to the developer-enabled UDE environment we created on Power Platform. We covered the distinction between the Environment URL and the Finance and Operations URL, the Connect to Dataverse step, the Finance & Operations assets download process, the metadata configuration check, and how to verify that Application Explorer opens correctly.

In this article, we are now taking one step further. In a UDE environment where the connection has been completed, we will create a new model, position this model in the correct package structure, open an Operations Project in Visual Studio, and do our first simple X++ development.

For developers coming from the classic development VM model, there are both familiar and different points here. Model, package, project, Application Explorer, and build concepts are familiar. However, because the development tier and the execution tier are separated with UDE, some habits need to be reconsidered. Code and metadata are prepared on the local computer; execution, deploy, and test take place on the Finance & Operations runtime in the cloud.

Understanding this distinction correctly is one of the basic requirements for healthy development on UDE. Because creating and building an X++ object on the local computer does not mean that it will automatically run in the cloud runtime. To run and test it, the related model must be deployed to the online UDE environment. In this article, I will focus on the model, project, and first build side; I will cover the deploy and debug side with a short introduction and connect it to the next article.

Read more

UDE Ortamında Yeni Model Oluşturma ve İlk X++ Geliştirme

Dynamics 365 F&O UDE Serisi | Bölüm 6

UDE Ortamında Yeni Model Oluşturma ve İlk X++ Geliştirme

Model, package, Operations Project, runnable class, build kontrolü ve UDE’de local/cloud geliştirme ayrımı

Giriş

Serinin önceki yazısında Visual Studio 2022′yi Power Platform üzerinde oluşturduğumuz developer-enabled UDE ortamına bağlamıştık. Environment URL ve Finance and Operations URL ayrımını, Connect to Dataverse adımını, Finance & Operations assets indirme sürecini, metadata configuration kontrolünü ve Application Explorer’ın doğru açıldığını nasıl doğrulayacağımızı ele almıştık.

Bu yazıda artık bir adım daha ileri gidiyoruz. Bağlantısı tamamlanmış bir UDE ortamında yeni bir model oluşturacağız, bu modeli doğru package yapısı içinde konumlandıracağız, Visual Studio’da bir Operations Project açacağız ve ilk basit X++ geliştirmemizi yapacağız.

Klasik development VM modelinden gelen geliştiriciler için burada hem tanıdık hem de farklı noktalar var. Model, package, project, Application Explorer ve build kavramları tanıdık. Fakat UDE ile birlikte geliştirme tier’ı ve çalışma tier’ı ayrıldığı için bazı alışkanlıkları yeniden düşünmek gerekiyor. Kod ve metadata lokal bilgisayarda hazırlanıyor; çalışma, deploy ve test ise buluttaki Finance & Operations runtime üzerinde gerçekleşiyor.

Bu ayrımı doğru anlamak, UDE üzerinde sağlıklı geliştirme yapmanın temel şartlarından biri. Çünkü lokal bilgisayarda bir X++ nesnesini oluşturmak ve build etmek, onun otomatik olarak cloud runtime’da çalışacağı anlamına gelmiyor. Çalıştırma ve test için ilgili modelin online UDE ortamına deploy edilmesi gerekiyor. Bu yazıda önceliği model, proje ve ilk build tarafına vereceğim; deploy ve debug tarafını ise kısa bir girişle ele alıp sonraki yazıya bağlayacağım.

Read more

Connecting Visual Studio to a UDE Environment on Power Platform

Dynamics 365 F&O Unified Development Experience – Part 5

Connecting Visual Studio to a UDE Environment on Power Platform

Connect to Dataverse, Environment URL, Finance & Operations assets, and metadata configuration steps

In the previous article of this series, we covered how to prepare the developer machine for UDE by installing Visual Studio 2022 and the required tools.

In this article, we will connect Visual Studio to the developer-enabled UDE environment that we created on Power Platform. In my opinion, this is one of the first steps where the UDE experience really starts to become tangible.

In the classic development VM model, Visual Studio was already available inside the development machine. AOS, metadata, SQL Server, development tools, and most of the supporting components were located on the same machine. With UDE, this structure changes. Visual Studio runs on our local computer, while the Finance & Operations runtime runs in the cloud environment that we created on Power Platform.

For this reason, we need to correctly associate Visual Studio with the right online development environment, use the correct URL, complete the Finance & Operations assets and metadata download process, verify the metadata configuration settings, and make sure that Application Explorer opens properly.

In this article, I will go through this connection process step by step. I will especially focus on topics that can be confusing during the first attempts, such as the Environment URL / Finance and Operations URL distinction, the Connect to Dataverse screen, Auto setup behavior, and the relationship between metadata folders and the local repository structure.

A short preparation before connecting

Before connecting from Visual Studio, it is important to make sure that a few things are ready. If we move to the connection step before completing these checks, it becomes harder to understand whether a later error is caused by permissions, an incorrect URL, a missing extension, or the metadata download process.

It is useful to check the following items before starting:

  • The developer-enabled UDE environment should already be created.
  • The UDE environment should be in Ready state in Power Platform Admin Center.
  • Finance and Operations provisioning should be completed.
  • Platform Tools and Provisioning App installation should be completed.
  • The Developer Tools option should be enabled.
  • Visual Studio 2022 should be installed.
  • The Power Platform Tools for Visual Studio extension should be installed.
  • The user should have the required permissions in the related Dataverse / Power Platform environment.
  • There should be enough free disk space on the local machine for the initial setup and assets download.

For the first setup, it is usually easier not to start with an overly restricted user from a permissions perspective. Later, when moving to the real project structure, roles and security can be made more controlled.


Image-1

Read more

Visual Studio yu Power Platform Üzerindeki UDE Ortamına Bağlama

Dynamics 365 F&O Unified Development Experience – Bölüm 5

Visual Studio’yu Power Platform Üzerindeki UDE Ortamına Bağlama

Connect to Dataverse, Environment URL, Finance & Operations assets ve metadata configuration adımları

Serinin önceki yazısında UDE için geliştirici bilgisayarında Visual Studio 2022 ve gerekli araçların nasıl hazırlanacağını ele almıştık.

Bu yazıda artık Visual Studio’yu Power Platform üzerinde oluşturduğumuz developer-enabled UDE ortamına bağlayacağız. Bana göre bu adım, UDE deneyiminin gerçekten başladığı noktalardan biri.

Klasik development VM modelinde Visual Studio zaten development makinesinin içinde hazırdı. AOS, metadata, SQL Server, development tools ve çoğu yardımcı bileşen aynı makine üzerinde bulunuyordu. UDE modelinde ise bu yapı değişiyor. Visual Studio lokal bilgisayarımızda çalışıyor, Finance & Operations runtime ise Power Platform üzerinde oluşturduğumuz bulut ortamında bulunuyor.

Bu nedenle Visual Studio ile doğru online development ortamını eşleştirmek, doğru URL’yi kullanmak, Finance & Operations assets ve metadata indirme işlemlerini tamamlamak, metadata configuration ayarlarını kontrol etmek ve Application Explorer’ın sağlıklı açıldığını görmek gerekiyor.

Bu yazıda adım adım bu bağlantı sürecini ele alacağım. Özellikle ilk denemelerde kafa karıştıran Environment URL / Finance and Operations URL ayrımı, Connect to Dataverse ekranı, Auto setup davranışı ve metadata klasörlerinin repo yapısıyla ilişkisi üzerinde duracağım.

Bağlantıdan önce kısa hazırlık

Visual Studio’dan bağlantıya geçmeden önce bazı şeylerin hazır olduğundan emin olmak gerekir. Çünkü bu kontroller tamamlanmadan bağlantı adımına geçersek, sonradan alınan hatanın yetkiden mi, URL’den mi, eksik extension’dan mı, yoksa metadata indirme sürecinden mi kaynaklandığını anlamak zorlaşır.

Başlamadan önce aşağıdaki maddeleri kontrol etmek faydalı olur:

  • Developer-enabled UDE ortamı oluşturulmuş olmalı.
  • UDE ortamı Power Platform Admin Center üzerinde Ready durumda olmalı.
  • Finance and Operations provisioning tamamlanmış olmalı.
  • Platform Tools ve Provisioning App kurulumu tamamlanmış olmalı.
  • Developer Tools seçeneği aktif edilmiş olmalı.
  • Visual Studio 2022 kurulmuş olmalı.
  • Power Platform Tools for Visual Studio extension kurulmuş olmalı.
  • Kullanıcı ilgili Dataverse / Power Platform ortamında gerekli yetkilere sahip olmalı.
  • İlk kurulum ve assets indirme için lokal diskte yeterli boş alan bulunmalı.

İlk kurulumlarda mümkünse yetki tarafında fazla daraltılmış bir kullanıcıyla başlamamak işleri kolaylaştırır. Daha sonra gerçek proje düzenine geçerken roller ve güvenlik yapısı daha kontrollü hale getirilebilir.


Resim-1

Read more

Installing Visual Studio 2022 and Preparing the Development Tools

Dynamics 365 F&O Unified Development Experience – Part 4

Installing Visual Studio 2022 and Preparing the Development Tools

Preparing the required tools on the developer machine before connecting to the UDE environment

In the previous articles in this series, we first looked at what UDE is, and then covered how to create a developer-enabled UDE environment through the Power Platform Admin Center interface and with PowerShell.

At this point, we have a UDE environment with Finance & Operations developer tools enabled. However, to develop X++ by using this environment, some tools must be ready on the developer machine.

In the classic development VM model, Visual Studio, metadata, AOS connection, and many other components came preconfigured inside the development machine. In the UDE model, development tools run on the developer’s local computer, while the Finance & Operations runtime is hosted in the cloud.

Therefore, in this article, before connecting directly to the UDE environment, we will focus on how to prepare Visual Studio 2022 and the required components on the developer machine.

In the next article, we will connect Visual Studio to the UDE environment on top of this setup and cover the steps for downloading metadata and Finance & Operations assets.

Why is this step important?

With UDE, the role of the development machine is changing. Instead of a development VM that we connect to through Remote Desktop and where everything is already installed, we now develop through Visual Studio running on our own computer.

In this model, the following items must be installed correctly on the local computer:

  • Visual Studio 2022
  • Required Visual Studio workloads and individual components
  • Power Platform Tools for Visual Studio
  • Required infrastructure for Finance & Operations development tools
  • Microsoft SQL Server Express LocalDB
  • SQL Server Management Studio, if needed
  • Reporting Services Projects extension
  • Sufficient disk space

If these components are missing or installed incorrectly, you may experience issues in Visual Studio with the UDE connection, metadata download, opening Application Explorer, creating models, or running builds.

Read more

Visual Studio 2022 Kurulumu ve Geliştirme Araçlarının Hazırlanması

Dynamics 365 F&O Unified Development Experience – Bölüm 4

Visual Studio 2022 Kurulumu ve Geliştirme Araçlarının Hazırlanması

UDE ortamına bağlanmadan önce geliştirici bilgisayarında gerekli araçların hazırlanması

Serinin önceki yazılarında önce UDE’nin ne olduğunu, ardından Power Platform Admin Center arayüzüyle ve PowerShell ile developer-enabled UDE ortamı oluşturmayı ele almıştık.

Artık elimizde Finance & Operations developer tools özellikleri aktif edilmiş bir UDE ortamı var. Ancak bu ortamı kullanarak X++ geliştirme yapabilmek için geliştirici bilgisayarında bazı araçların hazır olması gerekiyor.

Klasik development VM modelinde Visual Studio, metadata, AOS bağlantısı ve birçok bileşen development makinesinin içinde hazır geliyordu. UDE modelinde ise geliştirme araçları geliştiricinin lokal bilgisayarında çalışıyor, Finance & Operations runtime tarafı ise bulutta konumlanıyor.

Bu yüzden bu yazıda doğrudan UDE ortamına bağlanmadan önce, geliştirici bilgisayarında Visual Studio 2022 ve gerekli bileşenleri nasıl hazırlamamız gerektiğine odaklanacağız.

Bir sonraki yazıda ise bu kurulumun üzerine Visual Studio’yu UDE ortamına bağlayacak, metadata ve Finance & Operations assets indirme adımlarını ele alacağız.

Neden bu adım önemli?

UDE ile birlikte geliştirme makinesinin rolü değişiyor. Artık uzak masaüstü ile bağlandığımız, her şeyin içinde hazır olduğu bir development VM yerine, kendi bilgisayarımızda çalışan Visual Studio üzerinden geliştirme yapıyoruz.

Bu modelde lokal bilgisayarda şunlar doğru kurulmuş olmalı:

  • Visual Studio 2022
  • Gerekli Visual Studio workloads ve individual components
  • Power Platform Tools for Visual Studio
  • Finance & Operations development tools için gerekli altyapı
  • Microsoft SQL Server Express LocalDB
  • Gerekirse SQL Server Management Studio
  • Reporting Services Projects extension
  • Yeterli disk alanı

Bu bileşenler eksik veya hatalı kurulursa Visual Studio tarafında UDE bağlantısı, metadata indirme, Application Explorer açılması, model oluşturma veya build işlemlerinde sorun yaşanabilir.

Read more

Creating a UDE Environment with PowerShell

Dynamics 365 F&O Unified Development Experience – Part 3

Creating a UDE Environment with PowerShell

Creating a developer-enabled Dynamics 365 Finance & Operations environment with PowerShell

In the previous article of the series, we covered how to create a developer-enabled UDE environment by using the Power Platform Admin Center interface.

Proceeding through the interface is especially useful in the first trials. Seeing which option is on which screen, how Dynamics 365 apps are enabled, where Platform Tools and Provisioning App are installed from, and where the Developer Tools option appears makes the process easier to understand.

However, in real life, especially for partners, ISVs, or teams managing multiple environments, doing these operations from the interface every time is not a very sustainable method. The environment creation process needs to be standard, repeatable, and documentable.

In this article, we will look at how we can do the same work with PowerShell.

Why PowerShell?

The most important advantage of creating a UDE environment with PowerShell is that it standardizes the process.

When creating an environment from the interface, many selections are made manually. Settings such as template selection, region, demo data, developer tools, language, and currency are determined by the user each time. Naturally, this increases the possibility of errors.

On the PowerShell side, we include these decisions in the script. This way, the same script can be reused for different tenants, projects, or trial environments with small changes.

Read more

PowerShell ile UDE Ortamı Oluşturma

Dynamics 365 F&O Unified Development Experience – Bölüm 3

PowerShell ile UDE Ortamı Oluşturma

Developer-enabled Dynamics 365 Finance & Operations ortamını PowerShell ile oluşturma

Serinin önceki yazısında Power Platform Admin Center arayüzünü kullanarak developer-enabled bir UDE ortamının nasıl oluşturulacağını ele almıştık.

Arayüz üzerinden ilerlemek özellikle ilk denemelerde çok faydalı oluyor. Hangi ekranda hangi seçenek var, Dynamics 365 apps nasıl aktif ediliyor, Platform Tools ve Provisioning App nereden kuruluyor, Developer Tools seçeneği nerede geliyor gibi konuları görmek süreci daha anlaşılır hale getiriyor.

Ancak gerçek hayatta, özellikle partner, ISV veya birden fazla ortam yöneten ekipler için her seferinde bu işlemleri arayüzden yapmak çok sürdürülebilir bir yöntem değil. Ortam oluşturma işleminin standart, tekrar edilebilir ve dokümante edilebilir olması gerekiyor.

Bu yazıda aynı işi PowerShell ile nasıl yapabileceğimize bakacağız.

Neden PowerShell?

PowerShell ile UDE ortamı oluşturmanın en önemli avantajı süreci standart hale getirmesidir.

Arayüzden ortam oluştururken birçok seçim manuel yapılır. Template seçimi, region, demo data, developer tools, dil, para birimi gibi ayarlar her seferinde kullanıcı tarafından belirlenir. Bu da doğal olarak hata ihtimalini artırır.

PowerShell tarafında ise bu kararları script içine alırız. Böylece aynı script farklı tenant, proje veya deneme ortamları için küçük değişikliklerle tekrar kullanılabilir.

Read more

Page 1 of 4512345102030...Last »