Merhaba bu yazımızda her Dynamics Crm geliştiricinin kullandığı XrmToolBox aracı için kendi pluginimizi geliştirip yayınlayacağız. Bu sayede xrmtoolbox kullananlar xrmtoolbox plugin sekmesinden pluginimizi indirip kullanabilecekler. Bu pluginimiz solutionlarımızın asenkron olarak import edilmesine olanak sağlayan basit kodlardan oluşan bir plugin olacak. Async Solution import hakkında detaylı bilgi almak için burdaki başlığı inceleyebilirsiniz. Eğer hiç XrmToolBox kullanmadıysanız https://www.xrmtoolbox.com adresinden bu aracın ne olduğuna dair detaylı bilgi edinebilirsiniz. Yazımız aşağıdaki başlıklardan oluşacak:
Projenin oluşturulması ve gerekli bağımlılıkların yüklenmesi
Bu yazımızda Embedded Intelligence’ ın ne olduğundan ve kendi organizasyonumuzda bu özelliği nasıl kullanabileceğimizden bahsedicez.
Embedded Intelligence için Microsoft tarafından yapılan tanım şu şekilde:
Embedded Intelligence, Dynamics 365 ve Microsoft Exchange içerisinde zaten saklanan müşteri etkileşimleriyle ilgili geniş veri koleksiyonunu sürekli olarak analiz eden bir özellik paketidir. Bu analiz ile müşteriniz ile ilişkilerinizi daha iyi anlayabilir doğru adımlar atabilirsiniz.
Embedded Intelligence’ ın sunduğu özelliklere kısa bir değinelim :
Uzun süredir Dynamics CRM trial hesabı almadıysanız trial hesabı alma süreci eskisine göre biraz karışık gelebilir. Bunun sebebi Microsoft’un Dynamics CRM i sürekli olarak geliştirmesi diyebiliriz. Ürün tarafında yapılan geliştirmeler doğal olarak trial alma sürecini de değiştirmiş durumda. Bunun için nasıl trial hesabı alabileceğimizi ekran görüntüleriyle anlatmaya çalışacağım.
Eskisi gibi SDK’ yı Microsoftun sitesinden indiremediğimizi farketmişsinizdir. Arama yaptığımızda karşımıza gelen SDK (v8.x) versiyonu olacaktır. Dikkat etmelisinizki bu versiyon eski versiyondur. Peki yeni SDK’ yı nasıl indireceğiz? Microsoft şu linkte SDK’ yı Nuget üzerinden nasıl indireceğimizi anlatmış. Öncelikle SDK 4 kısımdan oluşuyor ve hepsini indirebildiğimiz gibi sadece ihtiyacımız olan kısmıda indirebiliyoruz.
ConfigurationMigration
CoreTools
PackageDeployment
PluginRegistration
Öncelikle powershell açıyoruz. Ve SDK’ yı hangi klasöre indireceksek o klasöre gidiyoruz. Ben C:\SDK klasörüne indireceğim.
Sonra aşağıdaki kodu yapıştırıp enter a basıyoruz(yükleme birkaç dakika sürebilir)
Daha sonrada aşağıdaki kodları yapıştırıp enter a basıyoruz. Ve dosyalar SDK dizinimize inmiş oluyor(Kodlarda sdk bölümlere ayrılmış. Herhangi bir araca ihtiyacınız yoksa onu powershell’e yapıştırmayın. Böylelikle powershell o aracı indirmeyecek.
Dynamics CRM’ e yeni gelen özelliklerden biri Alternate Keys – Alternatif Anahtar. Bu özellik sayesinde iki yada daha fazla organizasyondaki verileri sağlıklı bir şekilde senkronize edebiliyoruz. Dahası bu özelliği duplicate detection olarak da kullanabiliriz. Çünkü her kayıt için alternatif anahtar benzersiz olmak zorunda. Dikkat edilmesi gereken kısım ise alternatif anahtar olarak seçtiğimiz alan için benzer bir kayıt giremeyeceğimiz. Yani Contact varlığının PhoneNumber alanını alternate key olarak tanımlarsak aynı telefon numarasına sahip iki farklı kayıt oluşturamayacağız. Şimdi bu Alternatif Anahtar özelliğini kullanalım:
İlk önce Customization’ ı açıp Contact varlığımıza gidelim.
Daha sonra yukarıdan “New” diyoruz.
FirstName, LastName ve Email seçip add dedikten sonra kaydedip kapatıyoruz. Şimdi daha önce yarattığımız aynı isme ve eposta adresine sahip bir kayıt yaratmaya çalıştığımızda aşağıdaki hatayı alacağız.
Alternate Key Bilinmesi Gerekenler:
Alternatif anahtar birden fazla alanın birleşiminden oluşabilir.
Fazla miktarda veriniz varsa alternatif anahtar oluşturulması – o alan üzerinde mükerrer kayıt olup olmadığını kontrol ettiği için- uzun sürebilir.
Alternatif anahtar benzersiz olması gerektiğinden benzer değere sahip bir kayıt oluşturamazsınız.
Alternatif anahtar olarak belirlenmiş alanlardan mükerrer olan kayıtlar var ise alternatif key oluşturma işlemi başarısız olur. Bu işlemin başarılı olup olmadığını kontrol etmek için Contact>Keys kısmından oluşturduğumuz alternate key kaydının durumu(status) aktif olmalıdır.
Alternate Key veritabanı seviyesinde uniq nonclustered index oluşturur.
CREATE UNIQUE INDEX [ndx_for_entitykey_packt_NameandEmail] ON [ContactBase] ([EMailAddress1] ASC, [FirstName] ASC, [LastName] ASC) INCLUDE ([ContactId]) WHERE [EMailAddress1] is not null AND [FirstName] is not null AND [LastName] is not null WITH (FILLFACTOR = 80, MAXDOP = 4, SORT_IN_TEMPDB = ON)
Bağlantı bilgilerini doğru girmenize rağmen CrmSvcUtil kullanırken bu hatayı alıyorsanız CrmSvcUtil.exe dosyasını çalıştırdığınız bilgisayar ile sunucunun tarih ve saatini aynı olacak şekilde düzeltmeniz yeterli olacaktır.
Kullanıcı CRM’ e eriştiği zaman Owner Team(Takım) CRM Sunucusunda önbelleğe alınırken Erişim Takımları (Access Team) önbelleğe alınmaz.
Fuat Tatar
20:17 on 18 June 2015 Etiketler: crm online, mscrm 2015 web api dersleri, mscrm 2015 web api tutorial, mscrm application register, mscrm azure, mscrm web api
NOT: Dynamics Crm Online Trial versiyonunda anladığım kadarı ile Azure Active Directory kullanamıyoruz.
Microsoft, Dynamics CRM Online 2015 Update 1 ile beraber Organization Service (2011 SOAP endpoint) ve Organization Data Service (OData v2 REST endpoint) teknolojilerinin yerini alacak olan Dynamics Crm Web API yi tanıttı . Crm Web Api’ nin Open Data Protocol (ODATA) standardını kullanıyor (ODATA standardı hakkında detaylı bilgiye buradaki adresten ulaşabilirsiniz) .
SOAP vs ODATA vs REST karşılaştırma için buradaki adrese bakabilirsiniz.
Dynamics Crm Web Api kullanabilmek için öncelikle Crm Online kullanıyor olmalısınız. On Premise versiyonlar için ne zaman Web Api desteği geleceği konusunda Microsoft tarafından henüz bir bilgi sunulmadı. Eğer Crm Online kullanıyoarsanız öncelikle Web Api önizlemesini aktif etmemiz gerekiyor. Bu arada kullanacağımız Crm Web Api servisinin önizleme versiyonu olduğunu unutmamak gerek.
MsCrm 2015 organizasyonumuzu deployment manager kullanarak import ettikten sonra örneğin e-posta aktivitesi oluşturmaya çalıştığımızda Veri Şifreleme Hatası alabiliyoruz(aşağıdaki resimdeki gibi). Şimdi bu hatanın ne olduğuna ve nasıl çözüleceğine bakalım.
Veri Şifreleme Hatası
Tabi ilk olarak hata mesajını okuyoruz.
Kuruluş veritabanında şifrelenmiş alanlar var, ancak veri şifrelemesi özelliği etkinleştirilmedi. Veri şifrelemesini etkinleştirmek için Microsoft Dynamics CRM sistem yöneticinize başvurun. Etkinleştirmek için Sistem Ayarları > Veri Yönetimi > Veri Şifrelemesi’ne gidin. Daha fazla bilgi için bkz. http://go.microsoft.com/fwlink/?LinkId=316366.
Crm bizden veri şifrelemesi özelliğini( detaylı bilgi için tıklayınız) etkinleştirmemizi istiyor. Hemen Sistem Ayarları > Veri Yönetimi > Veri Şifrelemesi alanına gidiyoruz.