Archive for Ağustos, 2020

Dynamics 365 Finance and Operations Test ve Canlıya Geliştirmeler Nasıl Taşınır? 2- Dev İle Main Branch Arasında Kod Merge Yapma.

Bu yazıda Dynamics 365 Finance and Operations için Visual Studio içinden yaptığımız geliştirmeleri Test ve Canlı ortamlara taşımak için gerekli olan ikinci adım olan Merge den bahsedeceğim.  Merge birleştirme demek. Temelde farklı klasör ve Branch’ler arasında kod transferi yapmak diyebiliriz. Bizim örneğimizde iki Branch var Dev ve Main. Genel yaklaşım Teste kodu Dev Build ile çıkmak sonrasında onay gelen geliştirmeler için Dev Branch’inden Main Branch’ine Code Merge yapmak gerekiyor ve sonrasında Main üzerinde Build oluşturup canlıya alım yapmak. Tabi bunlar yaklaşım bu konuda kesin böyle olacak diye bir şey yok. Kendi ekibiniz ve projenin şartlarına göre bu metodolojilerden birine karar vermek gerekiyor.

Şimdi gelelim Dev’den Main’e nasıl Merge yaparız. Öncelikle Visual Studio’yu admin haklarıyla açıyoruz.  Team Explorer-> Source Control Explorer ekranını açıyoruz. Önceki yazılarımda DevBox nasıl Azure DevOps’a bağlanır anlatmıştım. O yüzden direk Azure DevOps projemi görüyorum. Bu projede faklı bir klasör yapısı kullandık.

Resim-1

Read more

Dynamics 365 Finance and Operations Test ve Canlıya Geliştirmeler Nasıl Taşınır? 1- Geliştirme Yapıp Azure DevOps’a Gönderme.

Bu yazıda Dynamics 365 Finance and Operations için Visual Studio içinden yaptığımız geliştirmeleri nasıl Test ve Canlı ortamlara taşıyoruz anlatmaya çalışacağım. Tek bir yazıda toparlamayı düşünmüştüm ancak çok uzun olacağını fark ettim bu yüzden bölümlere ayırdım. Bu ilk yazıda sıfır bir geliştirme yapıp derleyeceğiz sonrasında geliştirme ortamımızda ilk testlerini yapacağız ve en son olarak ta yaptığımız geliştirmeyi Azure DevOps’a göndereceğiz. Bu serinin diğer yazılarından Azure DevOps’ta Build nasıl yapılır ve oluşan paketin teste ve canlıya nasıl taşınır anlatacağım.

Gelelim örneğimize. Basit bir sınıf yazıp çalıştırıldığında bilgi ekranı çıkmasını sağlayacağım. Sonrasında MenuItem oluşturup Menüye bağlayacağım. Önceki yazılarımda DmrWMS modelini ve DMRWms1 projesini oluşturmuştuk. Bu projeyi kullanacağım. Projemize sağ tıklayıp Add New Items diyoruz. Tipini Class seçip isim verip Add diyoruz.

Resim-1

Read more

Dynamics 365 Finance and Operations Geliştirmeleri İçin Varsayılan Model Nasıl Değiştirilir?

Dynamics 365 Finance and Operations o yeni bir DevBox ayağa kaldırdığınızda otomatik olarak varsayılan model Fleet Management geliyor. Eğer yeni model oluşturursanız onu oluştururken varsayılan model olarak işaretleyebiliyorsunuz. Ancak olan bir modeli kullanmak için DynamicsDevConfig dosyasında değişiklik yapmak gerekiyor.

Önceki yazılarımda DmrWMS modelini oluşturmuştum ve varsayılan model olarak işaretlemiştim. Bu yüzden her yeni projem DmrWMS modelinde açılıyor.

Resim-1

Read more

Dynamics 365 Finance and Operations Geliştirmeleri İçin Visual Studio Temel Ayarları Nelerdir?

Bu yazıda Dynamics 365 Finance and Operations geliştirme ortamı olan Visual Studio için yaptığımız bazı temel ayarlardan bahsedeceğim. Öncelikle belirtmem lazım ki benim gibi 15 yıldır MorphX IDE’sini kullananlar için bir alışma süresi gerekiyor. Sürükle bırak alıştığımız gibi değil. Derleme ve yaptığını geliştirmeyi hızlıca görme yine biraz farklı ama X++ temelde aynı şekilde korunmuş durumda. Kısa sürede adapte olursunuz. Arada benim gibi buda mı yok diye hayıflandığınız olur ama gelen yenilikler bu eksiklerin çok ötesinde bu yüzden kaybettiklerimize değil kazanımlarımıza bakıp ilerlemek lazım.

Biz X++ geliştiricileri tarihte kalmış eski bir yöntemle yazılım geliştiriyorduk yeni versiyon aslında bizi upgrade etti diyebiliriz. Güncel yazılım geliştirme metodolojisini yakalamış olduk. Bu açıdan bakıldığında çok doğru bir yerdeyiz gibi duruyor. Bu kadar gelişmiş ve güncel bir yazılım dilini içinde barındıran başka bir uygulama benim bildiğim yok. X++’ın kıymetini bilelim. J Aslında bu güncelleme ile birlikte tamamen X++’i değiştirip C# ‘ a geçiş için bir proje yürütüldü ancak başarılı olmadı benim kanaatim ürün olduğu sürece X++ olmaya devam edecek. Belki bir gün X++’ı bağımsız bir dil olarak bile görebiliriz bu bir hayal tabi ki böyle bir plan yok ama neden olmasın. Şu anda tamamen tasarım katmanından bağımsız web sayfası çok hızlı geliştirebiliyoruz. Birçok işletmenin temel web ihtiyaçlarını halledecek bir Framework var aslında.

Gelelim Visual Studio’da geliştirmelere başlamadan yapmanızda fayda olan bazı ayarlara. Öncelikle Dynamics 365 menüsü altından Options kısmına bakalım.

Resim-1

Read more

Dynamics 365 Finance and Operations Arayüzünden Yetki Tanımı Nasıl yapılır?

Bu yazıda Dynamics 365 Finance and Operations arayüzünden yetki nesnelerinin nasıl oluşturulduğunu anlatacağım. Önceki yazımda fatih.test kullanıcısının nasıl oluşturulduğunu anlatmıştım. Bu kullanıcıyı baz alarak bir örnek yapacağım. Kullanıcının system user hariç tüm rollerini sildim. Yeni bir rol tanımı yapıp belli bir nesneye yetki vereceğim.

Resim-1

Read more

Dynamics 365 Finance and Operations web formları üzerinden nasıl yeni mobil formlar yapılır?

Bu yazıda Dynamics 365 Finance and Operations formlarından nasıl yeni mobil form üretileceğini anlatmaya çalışacağım. Bir önceki yazımda standart mobil ekranların nasıl yayınlanacağını ve mobil aletlere Dynamics 365 Mobile App in nasıl kurulabileceğini anlatmıştım.

Bu örnekte çok basit bir listeleme ekranı yapacağız. Ben örnek olarak tüm ürünler formunu seçtim. Product information managment -> All products and product master formunu açıyoruz.

Resim-1

Read more

Dynamics 365 Finance and Operations Branch Mantığı ve Lokal Klasörleri Azure DevOps projesine bağlama.

Bu yazıda Dynamics 365 Finance and Operations için versiyon kontrol kullanmak artık bir zorunluluk. Eski versiyonlarda da kullanma imkanı vardı ama çok iyi çalışmıyordu bu yüzden bu zamana kadar çalıştığım onlarca projenin sadece bir kaçında versiyon kontrol kullanmıştık. Tabi artık geliştirme ortamımızın Visual Studio olması bunu çok kolaylaştırıyor.  Şimdi proje başlangıcında yapılması gereken temel birkaç ayarın nasıl yapılacağına ve Branch mantığına bakalım. Branch dal demektir ve kodunuzu yönetmeyi ve geliştiricilerin bağımsız çalışmasını sağlar. Birçok Branch stratejisi mevcut. Ben bu konuda bir uzman sayılmam bu yüzden mümkün olduğunca basit hallerini kullanmaya çalışıyorum. En çok kullanılan 3 yaklaşım şöyle. Main, Main ve Dev, Main, Dev ve Release. Bu 3 farklı yöntemi kullanabilirsiniz. Daha geniş bilgi için Branching strategies yazısını inceleyebilirsiniz. Ben genelde Dev ve Main yapısıyla ilerliyorum. Eğer proje küçük ve sizden başka geliştirme yapan birileri yoksa sadece Main ile de devam edebilirsiniz. Tek Branch olduğunda birleştirme işlemi gerekmiyor daha hızlı canlıya alım yapabiliyorsunuz ama belli şeyleri almak istemediğinizde tek Branch işinizi çözmediği için en azından Dev ile çalışmak gerekiyor. Şimdi ilk tanımlar nasıl yapılıyor ona bakalım.

LCS üzerinden Azure DevOps bağlantısının nasıl yapıldığını önceki yazılarımda anlattım. Bu bağlantıyı yaptığınızda Azure DevOps projenizin içinde aşağıdaki Trunk klasörü oluşacak. Bu yapıyı korumalısınız. Sadece ilk oluştuğunda Main de klasör olarak oluşuyor. Bunu Visual Studio içinden Branch’e çevirmelisiniz. Bende sıfır bir ortam olmadığı için resmini alamadım bu yüzden resimde Main Branch olarak var.

Resim-1

Read more

Dynamics 365 Finance and Operations İçin Model ve Paket Nedir ve Nasıl Oluşturulur?

Bu yazıda Dynamics 365 Finance and Operations için yeni bir proje başlattığınızda geliştirmelere başlayabilmek için gerekli olan 2. adımdan bahsedeceğim. İlk adımdan önceki yazımda bahsettim. Yeni bir DevBox Deploy edip Azure DevOps projemize nasıl bağlayabileceğimizi anlatmıştım. Bu yazımda yeni bir Model ve Paket nasıl oluşturulur ve ne işe yarar anlatmaya çalışacağım.

Model, genellikle dağıtılabilir bir yazılım çözümüdür ve mevcut bir çözümün özelleştirmelerini içerebilir veya yeni bir çözüm de olabilir. İçerisinde Metadata ve kaynak kod dosyaları barındıran bir yapıdır. Bir model daima bir pakete aittir. Paket(Package), bir veya daha fazla modeli içerir. Paket model Metadata’sını, Binary dosyaları ve ilişkili diğer kaynakları içerir. Bir veya birden çok paket Deployable package haline getirilebilir. Deployable package test ve canlıya kod taşımak için kullanılır.

Model oluşturmak için Dynamics 365->Model Management->Create Model diyoruz.

Resim-1

Read more

Dynamics 365 Finance and Operations Geliştirme Ortamında Visual Studio Üzerinden Azure DevOps Bağlantısı Nasıl Kurulur?

Bu yazıda yeni bir geliştirme ortamı oluşturduktan sonra yapılması gerekenlerden bahsedeceğim. İlk adım Visual Studio’ya giriş yapmak olacak. Sonrasında Azure DevOps projesine nasıl bağlantı kurulacağını anlatacağım. Geliştirmeye başlamadan önce yapılması gerek adımları birkaç yazıda toparlamayı hedefliyorum.

Ben bu kurulumlarda Azure üzerinde kurduğumuz geliştirme ortamını kullanacağım. Geliştirme ortamının nasıl ayağa kaldırılacağını daha önceki yazılarımda anlatmıştım. Makine ayağa kalkınca LCS üzerinden Remote Dektop bağlantı bilgilerini indirip bağlanabilirsiniz. Şu anda Visual Studio 2015 kurulu geliyor ama yakın zamanda Visual Studio’nun yeni versiyonlarına geçiş olacak. Visual Studio’yu Run as administrator ile açmak gerekiyor. Her seferinde uğraşmamak için Visual Studio’ya sağ tıklayıp Pin to taskbar diyoruz.

Resim-1

Read more

Türkiye'nin en doğru, dolu dolu ve hatasız anlatımları ile teknik yazılarına, makalelerine, video'larına, seminerlerine, forum sayfasına ve sektörün önde gelenlerine ulaşabileceğiniz teknik topluluğu, MSHOWTO