Dynamics 365 Depolama Sorununun Yönetimi
Dynamics 365 kullanıyorsanız muhtemelen depolama alanı ile ilgili bir sorunla karşılaşmışısınızdır. Bu, geçmişte çözülmesi zor bir sorundu fakat Microsoft’un Power Automate’i çıkarmasıyla birlikte, kullanıcılar artık yalnızca ekleri SharePointe daha kolay taşıma olanağına sahip olmakla kalmıyor, aynı zamanda bu işlemi otomatikleştirip özelleştirebiliyor.
Bu makalede, ekleri Dynamics 365 ortamınızdan SharePointe otomatik olarak taşımak için Power Automate’i nasıl kullanacağınızı anlatacağım. Buna ek olarak, SharePoint üzerinde site açılması ve Dynamics 365 ile Sharepoint i nasıl entegre ediliyor konusunu anlatacağım.
Eklerinizi SharePointe otomatik olarak taşımak için Power Automate’i kullanma
Öncelikle yapılacak çalışmayı aşağıda özetliyorum.
Ø Ekleri depolayacağımız SharePoint sitesinin oluşturulması
Ø SharePoint belge yönetimini etkinleştirme
Ø Dynamics 365 üzerinde kayıt açıldığında SharePointe klasör açılması
Ø Dynamics 365 – SharePoint entegrasyonu için Dynamics 365 üzerinde Belge Konumları kayıtları oluşturma
Ø Var olan eklerin SharePointe aktarılması için akış oluşturulması
SharePoint Site Oluşturma
SharePoint sitesi oluşturun ve organizasyondaki kullanıcılara erişim verin.
1. Office 365’e giriş yapılır. Menüler altında SharePoint seçilir.
(https://www.office.com)
2. Site oluştur butonu ile SharePoint Sitesi oluşturun.
3. Site adını girin ve gizlilik ayarlarını kuruluştaki herkesin bu siteye ulaşması için Genel olarak seçin ve İleriyi tıklayın.
4. Ekip sitesi seçilir ve gelen ekranda gerekli bilgiler girilir ve İleri butonu tıklanır.
Burada dikkate edilmesi gereken Gizlilik ayarları kısmında Genel seçeneğinin seçilmesidir.
5. Gelen ekranda Son butonu tıklanır.
6. Giriş yapılan bilgilere göre SharePoint Sitesi oluşturulur ve ekranda görüntülenir.
7. Microsoft 365 Yönetim panelini açın ve Tümünü göstere tıklayın.
8. SharePoint tıklanır.
9. SharePoint Yönetim Merkezi’nde Siteler altından Etkin Siteler tıklanır.
10. Yeni oluşturduğunuz siteyi seçin ve Paylaşım butonuna tıklayın. Herkes seçeneğini işaretleyip Kaydet butonuna basın.
SharePoint sitenizi kurduktan ve yukarıdaki açıklanan uygun izinlere sahip olduğunuzu onayladıktan sonra akışınızı oluşturmaya hazırsınız demektir.
Akışınızı, https://flow.microsoft.com adresi üzerinden veya https://make.powerapps.com üzerinde oluşturduğunuz bir çözüm içerisinden oluşturabilirsiniz.
Not: Bu makalede, make.powerapps.com üzerinde çözüm içerisinden akış eklenerek devam edilecektir. Sizler https://flow.microsoft.com üzerinden de oluşturabilirsiniz.
SharePoint Belge Yönetimini Etkinleştirme
Belge Yönetimi Ayarları
1. Dynamics 365 üzerindeki herhangi bir ortam üzerinde Gelişmiş Ayarlar bölümü açılır.
Not: Microsoft Dynamics 365’te Sistem Yöneticisi güvenlik rolüne veya eşdeğer izinlere sahip olduğunuzdan emin olun.
1. Belge Yönetimi Ayarlarını seçin.
1. SharePoint belgelerini yönetmek istediğiniz varlıkları seçin.
Biz burada E-posta varlığını seçelim.
Bir URL henüz belirtilmemişse belge konumlarının ve belge depolama klasörlerinin oluşturulması gereken SharePoint sitesinin URL’sini girin ve ardından İleri’yi seçin.
SharePoint Siteleri
1. Ayarlar> Belge Yönetimi’ne gidin.
2. SharePoint Sitelerini seçin.
3. Yeni öğesini seçin.
4. Açılan ekranda aşağıdaki gibi SharePoint sitenizin adresini girin.
1. Kaydet ve Kapat ı seçin.
SharePoint Belge Konumları
1. SharePoint Belge Konumlarını seçin.
2. Yeni öğesini seçin.
3. Aşağıdaki gibi 2 adet belge konumu oluşturun.
4. Kaydet ve Kapatı seçin.
Not: Bir belge konumunu etkinleştirmek veya etkinliğini kaldırmak için, Belge Konumları sayfasında belge konumu kaydını seçin ve Etkinleştir ya da Etkinliğini Kaldır ı seçin.
E-posta Eklerinin SharePoint Üzerinde Depolanması
Bu kısımda 2 adet akış oluşturacağız. Birincisi, e-posta eklerini belli aralıkta kontrol edecek, diğeri ise Dynamics 365 üzerindeki ekin id değerini parametre olarak alacak ve SharePoint işlemlerini gerçekleştirecek. Bu şekilde olduğunda ikinci akışı farklı yapılarda da çağırabiliriz. Örneğin firmalara eklenen ekleri listeleyerek SharePointe aktarabiliriz.
E-postaya ait eklerin SharePointe atılması
Bu kısmı aslında, alt akış olarak nitelendirilebiliriz. Http istek alacak şekilde tasarlanacaktır. Böylelikle farklı akışlar içerisinden çağrılacaktır.
1. Power Apps ’te oturum açtıktan sonra doğru ortama bağlı olduğunuzdan emin olun. Ortam seçimi sayfanın sağ üst köşesinden kontrol edilir.
2. Çözümler altından Yeni Çözüm butonu tıklanır ve açılan pencerede gerekli bilgiler girilir.
Yayımcı alanından var olan bir yayımcı seçilebilir veya projeye özel yayımcı tanımlanabilir.
3. Oluşturulan çözüm seçilir ve Düzenle butonuna tıklanır.
4. Açılan çözüm içerisinde Yeni butonuyla Bulut akışı tıklanır.
5. Açılan Power Automate ekranında seçili olan ortamı sağ üst köşeden kontrol ediniz.
Sol üst köşeden akışımıza bir ad verebiliriz. Bu çalışmamızda SharePointe Taşıma adlı başlık vereceğiz.
6. Tetikleyiciler kısmından Bir http isteği alındığında seçilir.
7. Açılan ekranda İstek Gövdesi JSON Şeması kısmında aşağıdaki ekran görüntüsündeki gibi bir json girilir.
Burada istek sırasında AttachmentId adında bir dize değişkeninin geleceği düşünülmüştür. Bu şekilde e-posta ekinin Dynamics 365 üzerindeki id değeri alınacaktır.
Not: Akışınıza bir adım eklemeden kaydedemediğiniz için bir değişken tanımlayıp Kaydet butonuna basın.
8. Akış kaydedildikten sonra Http Post URL’si kısmında bu akışın çağrılması için bir link oluşacaktır. Bu link ile farklı akışlar içerisinde akışımızı tetikleyeceğiz.
9. Akışta kullanılacak değişkenleri tanımlamaya devam edelim.
Değişken Adı | Kullanım Amacı |
varEmailAttachmentsFolderName | SharePoint sitesinin altında eposta eklerinin bulunacağı klasörün adı. |
varFolderPath | Ekin taşınacağı klasörün bilgisini içerir. |
varHasSharePointFile | Dosyanın SharePoint üzerinde olup olmadığını göstermek için kullanılır. |
varHasSharePointLibrary | Dosyanın yükleneceği klasörün SharePoint üzerinde olup olmadığını göstermek için kullanılır. |
varAttachmentId | Dynamics 365 üzerinde depolanan ek kaydının id değeri |
varEmailId | Dynamics 365 üzerindeki e-posta kaydının id değeri |
10. Daha sonra ekin id değeri üzerinden Dynamics 365 üzerindeki kayıt sorgulanır ve ekin e-postasının bilgilerine ulaşılır.
11. Microsoft Dataverse in Satırı kimliğe göre al eylemi kullanılarak ek kaydının verileri alınır.
Bu seçim sonrasında Dataverse e erişim için kullanıcı bilgileri alınacaktır. Var olan kullanıcının Dataverse e bağlanma yetkisi varsa otomatik alınacaktır. Eğer yoksa Dataverse e bağlanacak bir kullanıcı girilebilecektir.
12. Daha sonra ek kaydının bilgilerinden hangi e-postaya ait olduğunu belirleyen kimlik bilgisi varEmailId değişkenine atanır.
13. E-posta kaydının Dataverse deki bilgileri okunur. Bu kısımda Satırı kimliğe göre al eylemi kullanılmıştır.
14. İşlemlerimize SharePoint üzerinde klasör ve dosya açma işlemleriyle devam ediyoruz.
Yeni klasör oluşturma kısmında SharePoint Site altında klasör oluşturuyoruz.
Akış üzerinde SharePoint eylemlerini ilk kez kullandığımızda kullanıcı bilgisi isteyecektir.
Oluşturulacak klasör bilgilerini veriyoruz.
15. Klasörün oluşturulduğunu bir değişken üzerinde tutuyoruz.
16. Başka bir değişkende ekin taşınacağı klasörün bilgisini tutuyoruz.
17. Ekin gövde bilgisini değişkene atalım.
18. SharePoint üzerinde dosyayı oluşturalım.
Dosya oluştur kısmında istenilen bilgileri verelim.
Dosya İçeriği kısmında ekin gövdesinin base64ToBinary olarak verelim.
base64ToBinary(variables(‘varAttachBody’)) |
19. Dosya Adı alanını Dataverse ortamındaki ek kaydının üzerinden atayalım.
20. SharePoint üzerinde dosyanın oluşup oluşmadığını kontrol edelim.
Kontrol sırasında aşağıdaki gibi seçimi yapmalıyız.
E-posta göndermek için Office 365 Outlook un E-posta gönder(V2) eylemi kullanılmıştır. İsteğe göre farklı bir uyarı da gönderilebilir.
21. Sonraki aşamalarda Dynamics 365 üzerinde Belge Konumu ile ilgili işlemleri yapıyoruz.
SP Site Listele kısmında SharePoint linkine göre Dynamics 365 üzerindeki kaydın id si alınıyor. Burada Satırları listele eylemi kullanılmıştır.
Daha sonra liste üzerinden SharePoint Site nin dataverse deki id değeri alınır. Burada Veri İşlemi üzerindeki Oluştur eylemi kullanılacaktır.
first(outputs(‘SP_Site_Listele’)?[‘body/value’])?[‘SharePointsiteid’] |
SharePoint Belge Konumu nun dataversedeki id değerini almak için aşağıdaki adımları ilerletiyoruz.
Belge Konumunun dataverse deki id değeri alınır. Bu işlem için Veri İşlemi entegretörünün Oluştur eylemi kullanılacaktır.
first(outputs(‘SP_Belge_Konumu’)?[‘body/value’])?[‘SharePointdocumentlocationid’] |
Dataverse üzerinde Belge Konumu oluşturmak için Yeni satır ekle eylemi kullanılır.
Aşağıdaki ekran görüntüsündeki gibi ilgili alanlar atanır.
Ana Site veya Konum (Belge Konumları) alanına daha önce alına SP Belge Konum Id değeri atanır.
22. SharePoint üzerinde dosya oluşturma ve Dynamics 365 üzerinde gösterilmesi için gerekli ayarlar yapıldı.
Sırada Dynamics 365 üzerindeki dosyanın silinme işlemi ve bu bir http istek akışı olduğu için bir yanıt geri gönderilecektir.
Dosya silme işlemi için Microsoft Dataverse in Satırı sil eylemi kullanılacaktır.
Daha önce varAttachmentId değişkenine atanan değer kullanılır.
Geriye yanıt vermek için İstek üzerindeki Yanıt eylemi kullanılır.
23. Akışımızı tamamladık.
Akışımızın genel görüntüsü aşağıdaki ekran görüntüsündeki gibi olacaktır.
E-posta eklerinin belli aralıklarla SharePointe aktarılması
Akış Adı: Epostaları kontrol et, ekleri SharePointe aktar
Özetleyecek olursak her gün belli saatlerde çalışacak bir akış, belli filtrelere göre eki olan e-postaları sorgulayacak . Daha sonra bu e-postalar gezilerek, e-postanın içerinde bulunan eklerin SharePointe aktarılması için SharePointe Taşıma akışı çağrılacaktır.
SharePointe Taşıma adlı akışı bir önceki bölümde oluşturmuştuk.
1. Daha önce oluşturulan çözüm seçilir ve Düzenle butonuna tıklanır.
2. Açılan çözüm içerisinde Yeni butonuyla Bulut akışı tıklanır.
3. Açılan Power Automate ekranında seçili olan ortamı sağ üst köşeden kontrol ediniz.
Sol üst köşeden akışımıza bir ad verebiliriz. Biz akışımıza Epostaları kontrol et, ekleri SharePointe aktar adlı başlık tanımladık.
4. Zamanlama üzerindeki Yinelenme seçilir.
Gelen ekran üzerinde parametrelerimizin girişini yapıyoruz.
Her gün 04:30 da çalışacak şekilde tanımlamalarımızı yaptık.
5. Microsoft Dataverse in Satırları listele eylemi kullanılarak e-postalar listelenir.
Bu kısımda filtreleme kısmında fetchxml yöntemini kullanacağız.
Not: Fetchxml sorguları, Dynamics 365’te Gelişmiş Arama üzerinde hazırlanarak alınabilir.
Kullanılan sorguda, çözümlenen servis taleplerine ait e-postalar alınmıştır.
<fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” distinct=”true”> <entity name=”email”> <attribute name=”regardingobjectid” /> <attribute name=”activityid” /> <order attribute=”subject” descending=”false” /> <link-entity name=”activitymimeattachment” from=”objectid” to=”activityid” link-type=”inner” alias=”ab”> <filter type=”and”> <condition attribute=”filesize” operator=”gt” value=”0″ /> </filter> </link-entity> <link-entity name=”incident” from=”incidentid” to=”regardingobjectid” link-type=”inner” alias=”af”> <filter type=”and”> <condition attribute=”statecode” operator=”ne” value=”0″ /> <condition attribute=”modifiedon” operator=”olderthan-x-days” value=”20″ /> </filter> </link-entity> </entity></fetch> |
6. Her birine uygula eylemi kullanılarak listelenen e-posta kayıtları dolaşılır.
Her birine uygula eylemine Foreach Epostalar adını verdik.
Önceki adımlardan bir çıkış seçin alanında Epostalar listesinin value değeri seçilir.
7. Foreach Epostalar içerinde e-postaya ait ekleri listelemek için aşağıdaki işlemler yapılır.
Microsoft Dataverse in Satırları listele eylemi kullanılarak ekler listelenir.
8. Bir sonraki aşamada Ekler listesini dolaşmak için Her birine uygula eylemi kullanılır.
9. Foreach Ekler içerisinde SharePointe Taşıma akışını çağırmak için Http Post yöntemi kullanılır.
10. Daha önce oluşturduğumuz SharePointe Taşıma adlı akışın url ini kopyalayalım.
11. Http eylemi içerisinde gerekli parametreler set edilir.
Çözüme Genel Bakış
EkYonetimi adlı çözümümüzün son hali aşağıdaki gibidir.
Akışlarımız içerisinde kullanılan bağlantı bilgileri için bağlantı başvuruları türünde kayıtlar otomatik eklenmiştir.
SharePoint ve Dynamics 365 Ekranları
Dynamics 365 üzerinde e-posta kaydı açın ve İlgili tabı altından Belgeleri seçin.
Ek dosyalarının SharePointe aktarıldığını gözlemleyin.
Depolama sorununun çözümü, okuyucularımız için de faydalı olabileceğini düşünerek bu makaleyi hazırladım. Umarım sizlere faydalı olur.
Bir sonraki makalede görüşmek dileğiyle.
Soru ve sorunlarınız olursa, sitemizin forum sayfasından bize ulaşabilirsiniz.
Eline sağlık.
Teşekkürler