Uygulama: Office Lens

Bu sefer teknik bir yazıdan ziyade bir ürün tanıtımı yapmak istiyorum. Microsoft tarafından yayınlanan Office Lens günlük hayatımızı bir hayli kolaylaştırıyor. Pek çoğumuzun fiziksel olarak elimizde bulunan bir evrakı elektronik ortama tarayarak aktarma gibi bir süreci muhakkak oluyordur.

Bu konuda pek çok uygulama marketlerde yer alıyor aslında ama bunlarında büyük bir çoğunluğu fotoğraf çeker gibi çok da başarılı bir hizalama yapamadan gerçekleştiriyor çalışmasını. Bu durumda da elektronik ortama aktardığınız evrakı sağını solunu kırpmak suretiyle bolca vakit kaybedebiliyorsunuz. Veya başarılı olanlarında ise Premium versiyona geçmenizi, aksi durumda günde 4 sayfadan fazla tarama yapamayacağınızı belirten uyarılar, bolca reklam karşımıza çıkabiliyor.

Office Lens aslında yeni bir uygulama değil, ancak ben son dönemde aktif kullanmaya başladım. bu nedenle de hem haberdar olmayanlar için farkındalık sağlamak hem de birkaç ekran görüntüsü ile uygulamayı göstermek istedim.

Uygulamaya iOS ve Android tabanlı telefonlarınızdan kendi marketleri üzerinden erişebilirsiniz.

Uygulamayı açtığınızda karşınıza ilk etapta bir splash screen sizi karşılayacak.

 

 

Ardından özelleştirilmiş bir kamera sizi karşılayacak. Telefonunuzu tuttuğunuz alandaki okunabilir zeminlere otomatik olarak odaklanarak mümkün oldukça az (hatta çoğu zaman hiç) çevre elementi kare içerisine alarak hizalama yapmanıza imkân tanıyacaktır. Bu bölümde sadece evrakları değil beyaz tahta, vb zeminleri de kullanabileceğinizi hatırlatmak istiyorum. Toplantıda pek not alamadıysanız veya tahtaya çizilen bir takım detaylar varsa bunları yeniden yazmadan sadece Office Lens ile alabilirsiniz elektronik ortama.

 

 

Fotoğraf çeker gibi orta alandaki kırmızı butona tıklayarak hizaladığınız elementin taranmasını sağlayabilirsiniz. İşlem bittiğinde bir ön izleme ekranında kayıt işlemi öncesi yapılan tarama işlemi size gösterilecektir. Dilerseniz bu ekranda olası fazlalıkları kırpmak gibi temel düzenleme işlemlerini yapabilirsiniz.

 

 

Ve kayıt esnasında size OneDrive’dan, Word, PowerPoint gibi uygulamalara, Outlook ile e-posta göndermekten doğrudan pdf olarak kaydetmeye kadar pek çok seçeneği size sunacaktır.

 

 

Oldukça pratik bir kullanımı olan uygulama konusunda farkındalık yaratmaktı sadece amacım.

Tüm Çözüm Dosyalarının Kaydedilmesi

Sıklıkla ihtiyacımız olan başlıklardan biri olduğundan her ne kadar pek çok ortamda bu konuda örnekler mevcut olsa da kişisel arşiv anlamında ben de kullandığım scripti paylaşmak isterim. SharePoint farmınızda yüklü olan tüm çözüm dosyalarınızı tek seferde export etmek ve bir klasöre almak isteyebilirsiniz. Bunun için örnek senaryo canlı ortamdan test ortamına uygulama eşitlemesi yapmak istediğiniz zamanlar gösterilebilir. Mevcut canlı ortam uygulamasını test ortamına dilediğiniz yöntem ile taşıdıktan sonra güncel çözüm dosyalarınızı da export edip test farmınıza deploy etmeniz gerekebilir. Örnek scripti aşağıda bulabilirsiniz;

 

Microsoft Flow – Hatırlatma Uygulaması

Microsoft Flow ile ilgili daha önceki kısa yazılarımda Flow’un ne olduğundan, şablon kullanarak nasıl akış geliştirebileceğimizden ve boş bir akış ile farklı türdeki eylemleri nasıl kullanabileceğimizden bahsetmeye çalışmıştım. Şimdi bir gerçek hayat uygulaması hazırlamaya çalışalım istiyorum.

Pek çok müşterimizde SharePoint üzerinde tuttukları dokümanlar veya liste öğeleri üzerinden hatırlatma uygulaması ihtiyacı oluyor. Örneğin bir kütüphanede sözleşmelerinizi tutuyorsunuz. Meta veri olarak sözleşmenin başlangıç tarihi ve bitiş tarihi elinizde veri olarak var. Bu durumda bir sözleşme hatırlatma uygulaması çok işe yarardı sanırım. Örneğin sözleşmenin bitmesine 30 gün kala yenileme çalışmalarını yapabilmeniz için size e-posta gelseydi. Veya çalışanlarınıza ait özel sağlık sigortalarını bir listede tutuyorsanız ve her özel sağlık sigortasının yenileme tarihi farklıysa günlük kontrolleri sizin yerinize bir sürecin yapması ve ilgili kişilere yenileme çalışması için hatırlatma bilgisi verseydi eminim işiniz bir hayli kolaylaşırdı. Bu konudaki senaryo örneklerini artırmak mümkün. Bu nedenle burada örneklemeye çalışacağım senaryo şu şekilde olacak.

“Sigortalar isimli bir listemiz var. İçeriğinde personelin adı, sigortanın türü ve sigortanın yenileme tarihi bilgisini tutuyoruz. İlgili poliçenin yenilenmesine 7 gün kala bir hatırlatma e-postası almak istiyoruz.”

Söz konusu örnek için SharePoint listemiz aşağıdaki görünümde olacak.

 

Akışımıza öncelikle hangi sıklıkla akışın tetiklenmesini istediğimizi belirteceğimiz bir yineleme öğesi ekliyorum. Örnek akışımda sık aralıklarla çalıştırmak istediğimden zamanlamayı 5 dakika olarak ayarlayacağım ama gerçek senaryomuzda bunu günlük yineleyecek şekilde oluşturmak anlamlı olacaktır.

 

 

Ardından diğer eylemlerimi bir grup içinde saklayabilmek için “Scope / Kapsam” öğesi ekliyorum. Bu sayede kapsam öğesinin içerisine ekleyeceğim eylem ve koşullar gruplanmış olacak. Özellikle büyük ölçekli akışlarınızda bu öğeyi kullanmak akışınızın okunmasını kolaylaştıracaktır.

Kapsam öğemin içerisinde ilk olarak koşulumu sağlayacan “7 gün sonrası” yapısını oluşturmam gerekiyor. Doğrudan liste filtresinde de bunu yapabiliriz ancak okunmayı kolaylaştırmak ve parçala-yönet prensibiyle uygulamamı daha küçük parçalara ayırmak istiyorum. Compose öğesi sizden alacağı fonksiyon değerini çalıştırıp sonucunu bir çıktı değişkenine yazan yapı olarak tanımlanabilir. en bu fonksiyon ile bugünün tarihine 7 gün ekleyerek bir değişken oluşturacağım.

 

 

Önemli bir nokta bu bölümde yazacağınız fonksiyonu tırnak işaretleri içerisinde yazmanız gerekliliği. Aksi durumda çalışmayacaktır.  Yukarıdaki ekranda yer alan fonksiyon saat bazında da ekleme yaptığından karşılaştırma işlemlerinde sorun yaratabilir. Bu nedenle eğer saat cinsinden bir karşılaştırma yapmayacaksanız fonksiyonu aşağıdaki gibi sadece tarihi döndürecek şekilde düzenleyebilirsiniz.

Şimdi SharePoint’te yer alan Sigortalar listesindeki kayıtlardan yenileme tarihi alanı oluşturduğumuz fonksiyon çıktısına eşit olan kayıtları almaya çalışalım.

 

 

SharePoint – Öğeleri Al aktivitesi ile Sigortalar listesindeki tüm kayıtları alıp “Sorguyu Filtrele” alanında sadece “YenilemeTarihi” alanı oluşturduğumuz çıktı olanlara göre filtreleme yapabilirim.

Son olarak artık kriterimize uyan kayıtlar varsa bir e-posta bilgilendirmesi yapılmasını sağlayabiliriz. Bunun için bir döngü kullanacağım. Tabi önce döngünün gerçekleşeceği kayıt setini vermemiz gerekiyor. Bu bölümde dinamik veriler aracılığı ile akışımızın bir önceki eyleminde filtreleyerek elde ettiğimiz SharePoint kayıt setini verebiliriz.

 

 

Şimdi ise bu kayıt setindeki her bir öğe için öğeyi oluşturan kullanıcıya dinamik verilerle zenginleştirdiğimiz bir konu ve gövde alanıyla e-posta gönderimini gerçekleştirebiliriz.

 

 

Akışımızı bir bütün olarak görmek gerekirse çıktımız şu şekilde olacaktır.

 

 

Çalıştırdığımızda akışınızda bir hata varsa her bir bölümünüz için ayrı ayrı hata raporları verebilir veya aşağıdaki ekrandaki her bir grubu tıkladığınızda detayında gerçekleşen işlemleri, geri dönen sorgu sonuçlarını daha net olarak görebilirsiniz.

 

Ve sonuç (ilk ekrandaki verileri koşullarımıza uyabilmesi için) ;

 

 

 

Microsoft Flow – Boş Akış Oluşturma

Daha önceki kısa yazılarımda Microsoft Flow’un ne olduğundan ve hazır bir şablonu kullanarak hızlıca ihtiyaca yönelik bir otomasyon kurmaktan bahsetmiştim. Bu yazılara ayrıca aşağıdaki bağlantılardan da erişebilirsiniz.

Şimdi ise boş akış şablonunu kullanarak yeni bir senaryonun denemesini yapmaya çalışalım. Senaryomuz şu olacak;

“OneDrive’ımız içerisindeki spesifik bir klasöre, dosya adı içerisinde belirttiğimiz metin geçen dosyalar için bir akış oluşturmak. Eğer belirttiğimiz metin geçiyorsa buna göre konu barındıran bir e-posta, geçmiyorsa farklı bir konu ve içerikte başka bir e-posta almak. Ve son olarak her iki koşulda da bu dosyanın SharePoint içerisinde belirteceğimiz bir kütüphaneye kayıt olmasını sağlamak”

Bunun için öncelikle https://flow.microsoft.com adresine kullanım yetkisi olan bir hesap ile giriş yapmamız gerekiyor elbette. Ardından üst bölümde yer alan bağlantı aracılığı ile “Boş akış oluştur” komutunu veriyoruz.

 

 

Açılan ekranda sık kullanılan tetikleyicilerden biriyle işleme başlayabileceğiniz gibi alttaki “Yüzlerce bağlayıcı ve tetikleyici arasından arama yapın” seçeneği ile çok daha fazlasını yükleyebilirsiniz ekranınıza.

 

 

Ben bu seçenek ile ilerliyor ve “OneDrive” kelimesini arıyorum senaryoma uygun olması adına. Bu seçenek içerisinde de “Bir dosya oluştuğunda” seçeneğini işaretliyorum.

 

 

Aktivitenin detayında her seçtiğiniz aktivite için özel alanları doldurmanız gerekecektir. Mesela burada seçtiğimiz “Bir dosya oluştuğunda” aktivitesi için tabiki öncelikle Microsoft Flow’a kullanmak istediğimiz OneDrive hesabı için yetki vermeli ve sonra da eğer istiyorsak Microsoft Flow’un spesifik bir klasörün içeriğini dinlemesini sağlamak için ilgili klasör seçimini yapmalıyız. Klasör seçimi yapmazsanız en tepeden itibaren tüm alt klasörleri dinlemeye devam edecektir. Ben “Ortak” isimli klasörümü seçiyorum.

 

 

Dinlenecek klasör bilgisini seçtikten sonra senaryomuzda yer alan “koşul” örneğini yapmak için “Eylem” veya “Koşul” seçimi ekranında “Koşul” u işaretleyip seçenekleri “Evet/Hayır” cinsinden olan koşulumu belirtiyorum. Bizim senaryomuzda koşulumuz dosya adı içerisinde spesifik bir metnin geçmesiydi. Ben spesifik metin olarak “test” kelimesini seçtim. Bu sayede eğer OneDrive’ımdaki ortak klasörüne yüklenen (türü ne olursa olsun) dosyamın adına “test” kelimesi geçiyorsa koşul sağlanmış, geçmiyorsa koşul sağlanmamış olacak. Koşuş eklemesini aşağıdaki şekilde yapıyoruz.

 

 

Eklediğimiz koşullar şu şekilde görüntülenecek.

 

 

Sizlerin de tahmin edeceği üzere burada evet ve hayır alanlarının içerisine yeni eylemler ekleyerek her bir koşulun sağlanması durumunda yapılacak iş dizisini belirtebilirsiniz. Bizim senaryomuzdaki düzenlemeleri yaptığımızda ekran şu halde olacaktır.

Evet ise

 

 

Hayır ise

 

 

Ve son olarak bu dosyanın SharePoint’e kaydedilmesini istiyorduk. Bu durum herhangi bir koşula bağlı değildi, bu nedenle artık koşulla ilgili bölümün dışına çıkarak “Yeni Eylem Ekle” butonunu tıklıyorum.

 

Ekranın sağ üst köşesindeki “Bitir” butonunu tıklayarak akışınızı kaydedebilirsiniz. Şimdi deneme zamanı. Bunun için senaryomuza uygun şekilde OneDrive içerisindeki ortak klasörüne koşulu sağlayan ve sağlamayan iki text dosya oluşturuyorum.

 

 

Akışın çalışması bir miktar zaman alacaktır ve zaman zaman denemeye devam edecektir. Akış ile ilgili ana ekranınızda “Çalıştırma Geçmişi” başlığında tüm akış geçmişinizi görüntüleyebilir, eğer bir hata alıyorsanız detaylarına ulaşabilirsiniz. Akışımız çalıştığında her iki dosya için de istediğim e-postanın geldiğini görüyorum.

 

 

Ancak akış geçmişinde hata göreceğim. Çünkü SharePoint adresini yanlış yazdım 🙂

 

 

Düzeltip yeniden denediğimizde artık akışın tamamen doğru çalışıp SharePoint’e dosyayı da kaydettiğini görebileceğiz.

 

 

Dilerseniz akışınızın ana sayfasına giderek sağ üst bölümdeki menü yardımıyla benzer ihtiyaçlarınız durumunda bu akışı “Farklı Kaydet” yapabilir, birisiyle paylaşabilir, şablon haline getirebilir veya dışarı aktar seçeneği ile zip formatında kendi bilgisayarınıza kaydedebilirsiniz.

 

 

Microsoft Flow – Şablondan Akış Oluşturma

Microsoft Flow ile temel hedef kitle etkin kullanıcı (power user) olarak nitelendirdiğimiz, bilgisayar ve temel Microsoft Office kullanım yetkinliğine sahip kişiler. Bu nedenle Flow içerisinde kod yazmaya olan ihtiyaç en aza indirgenmiş durumda. Tabi bazı alanlarda filtreleme gibi işlemleri yerine getirmek için bir miktar teknik kişi desteğine ihtiyaç olacaktır. Çünkü bu bölümlerde OData filtreleri, vb yapılar kullanılıyor.

Bu kısa yazıda mevcut şablonlar üzerinden iki servisi birbirine bağlayarak bir süreci otomatikleştirmeye çalışacağız. Temel senaryomuz şu şekilde;

“Twitter’da belli bir hashtag kullanılarak atılmış tweetleri bir SharePoint listesinde toplamak”

Microsoft Flow’un 300’den fazla şablon barındırdığından bahsetmiştik. Bu şimdilik etiketiyle vermemiz gereken bir rakam çünkü her geçen gün hem paylaşım yapan insanların hem de Microsoft’un yeni servisleri veya senaryoları barındıran şablonları buraya eklemekte olduğu bilgisini paylaşmakta yarar var.

En çok kullanılan şablonlara akış oluşturmak istediğiniz sayfadan veya sitenin üst menüsünde yer alan “Şablonlar” başlığından ulaşabilirsiniz. Bu bölümde bizim senaryomuzu yerine getirmek için “Twitter” aramasını yapmanız sonuçların filtrelenerek karşınıza gelmesini sağlayacaktır. Biz burada “Belirli bir diyez etiketini içeren tweetleri bir SharePoint listesine kaydedin” şablonunu seçiyoruz.

Seçtiğiniz şablon, zaten O365 hesabı ile Microsoft Flow’a bağlantıdığınız için “SharePoint” isimli kısım için yeşil tick işareti ile karşınıza çıkacaktır. Ancak twitter’dan tweetleri okuyabilmesi için öncelikle hesabınızı tanıtmanız ve Microsoft Flow’a uygulama olarak izin vermenizi gerektirecektir. İlgili aksiyonun sağında kırmızı ünlem işareti göreceksiniz. Bu alanı tıklayıp Twitter kullanıcı bilgileriniz ile girerek uygulamaya izin verebilirsiniz. Bu durumda yukarıdaki resimde olduğu gibi girdiğiniz hesap adı ve yanında yeşil tick işaretini görebileceksiniz. Bu artık devam etmek için bir sorunumuz olmadığına işaret. “Devam Et” komutuyla akış ekranımıza geçebiliriz.

Akış ekranında Twitter için özel bir aksiyon almanız gerekmiyor. Çünkü bir önceki adımda zaten hashtag için takip edilecek Twitter hesap bilgilerini girdiniz ve uygulamaya izin verdiniz. Burada sadece hangi hashtag’in takip edileceğini ve SharePoint listesine kaydedilmek üzere Microsoft Flow tarafından alınacağını belirtmeniz yeterli. Biz “#SharePoint” olarak belirtiyoruz bunu.

Ardından şablonumuz ile beraber gelen “Create item” aksiyonuna geçiyoruz. Burada bizden öncelikle hangi SharePoint sitesindeki hangi listeye kayıt edeceği bilgilerini soracak. Ben SharePoint sitem içerisinde “Tweetler” adında bir liste oluşturdum ve içeriğine de Title ile beraber TweetOwner alanlarını ekledim Single Line of Text türünde. Siz daha farklı alanlar yaratıp Twitter’dan dönen diğer tweet bilgilerini de yazdırabilirsiniz listeye.

Yukarıdaki resimde de göreceğiniz üzere Twitter’dan aslında tweet ve tweet sahibine ilişkin pek çok bilgi daha dönüyor servis üzerinden. İlgili alanlarımı ayarlıyorum;

  • Title ==> Tweet metni
  • TweetOwner ==> Kullanıcı adı

Şablonları kullanmak bu kadar basit. Aslında adı üzerinde bu bir şablon ve bu nedenle akışın tasarımı şablonun hedeflediği senaryo için uygun. Bize sadece boşlukları doldurmak ve tasarım ekranının istediği parametreleri geçmek kalıyor. Dilerseniz bir şablon ihtiyacınızı tam olarak karşılamıyor ama genel itibariyle istediğinize yakın bir şeyler yapıyorsa yine de şablondan başlayıp araya kendi koşul ve eylemlerinizi ekleyebilirsiniz. Bizim nihai akışımızın görüntüsü şu şekilde olacak.

Burada akışımızın çalışması için bir koşulumuz yok. Aslında koşulumuz Microsoft Flow tarafından Twitter sürekli takipte bırakılıp tweet atıldıkça çalışacaktır akış. Burada O365 sebebiyle gelen kullanım lisansımızı kullandığımızdan bir önceki yazıda bahsettiğim fiyatlandırma ve sınırlandırma politikalarından dolayı 5 dakikada bir çalışacaktır en sık aralıkta. Bir süre sonra SharePoint listemizi kontrol edebiliriz. Kişisel hesabımda pek çok SharePoint ilgilisi kişiyi takip ettiğimden bende çok uzun sürmeyecektir sanırım listenin dolmaya başlaması.

Microsoft Flow Nedir?

Microsoft Flow bulut tabanlı, kullanıcılar akış oluşturması ve süreçlerini otomatik hale getirmesi amacıyla kullanılan bir yazılımdır tanımı yanlış olmaz sanırım. Arka planda pek çok Microsoft servisi ve third-party servis ile entegre çalışan yapı sayesinde oldukça basit ve günlük hayatta ciddi zaman tasarrufu sağlayan otomatikleştirilmiş akışlar oluşturabilirsiniz. Temel olarak koşul ve koşula bağlı aksiyonlar olarak tanımlayabileceğimiz yapı sayesinde Exchange Online, Dynamics, PowerApps, SharePoint, vb hem bulut tabanlı hem de GateWay aracılığı ile on-premise sistemi entegre edebildiğiniz süreçler oluşturmak mümkündür.

Bazı örnek senaryolar üzerinden duruma bakacak olursak;

  • Dynamics’de oluşturulan her bir fırsat kaydı için satış uzmanlarına otomatik bir e-postanın gönderilmesi.
  • SharePoint’te oluşturulacak veya güncellenecek her bir kayıt için arka planda Yammer veya Teams’de bir post oluşturulması.
  • Belli bir zaman aralığında size hatırlatma e-postaları gönderilmesi.
  • Belli bir hashtag içeren tweetler için size e-posta göndermesi veya bir listeye bu tweetleri kaydetmesi.

Ve benzeri pek çok küçük süreci tek başına veya bir biri ardına ekleyerek daha büyük bir süreç oluşturmak mümkün hale getirilebilir Microsoft Flow aracılığı ile.

Microsoft Flow tamamen tarayıcı üzerinde çalışan bir yapıya sahip, bu nedenle sadece bir Microsoft Flow hesabınızın olması ve bir bilgisayar başında olmak süreçleri geliştirmek için yeterli olacaktır. Üzerinde 380’den fazla hazır şablon bulunduran Microsoft Flow yapısında her geçen gün şablon sayıları hem Microsoft’un hem de paylaşım yapan kişilerin gayretleriyle artıyor. Tabi hazır şablonlar işinizi tam anlamıyla karşılamıyor olabilir. Bu durumda 290’dan fazla özel aktivite ile tamamen boş bir akış başlatabilir ve kendi akışlarınızı tamamlayabilirsiniz.

Flow’un temel kullanımı ücretsiz. Ancak aylık olarak çalıştıracağınız akış örneği sayısı belli bir limiti aştığında veya Premium olarak adlandırılan bazı bağlayıcıları kullanmak istemeniz durumunda (bağlayıcı listesinde Premium olarak işaretli durumdalar) ücretli paketlere geçmeniz gerekiyor. Temel olarak fiyatlandırma aşağıdaki şekilde şu an.

Office 365 için Microsoft Flow

Sadece O365 hesabınızın olması yeterli, herhangi bir ek ücret ödemiyorsunuz. Aylık olarak 2.000 akış çalıştırma limitiniz var. Sınırsız akış oluşturabiliyorsunuz. Zamanlama denetimlerinde en sık 5 dakikalık denetim kullanabiliyorsunuz (Yani bir aksiyonu sürekli çalıştırmak istiyorsanız 5 dakikalık denetimlerle yapıyor bunu bu hesap planında). O365 hesabınıza bağlı hizmetler ve Dynamics hizmetlerine bağlanabiliyorsunuz.

Flow Plan 1

Kullanıcı başına aylık $5’lık bir ücretlendirmesi var. Ayda 4.500 akış çalıştırma limitiniz var. Sınırsız akış oluşturabiliyorsunuz. Denetimlerde 3 dakikalık periyoda kadar inmenize izin veriliyor. Ve en önemlisi Premium bağlayıcıları kullanabiliyorsunuz.

Flow Plan 2

Kullanıcı başına aylık $15’lık bir ücretlendirmesi var. Ayda 15.000 akış çalıştırma limitiniz var. Sınırsız akış oluşturabiliyorsunuz. Denetimlerde 1 dakikalık periyoda kadar inmenize izin veriliyor.  Premium bağlayıcıları kullanabiliyorsunuz. Ve son olarak kurumsal ilkeleri (policy) kullanmanıza izin veriliyor.

Flow’un temel çalışma prensibini görüntülemek için aşağıdaki videoyu izlemenizi öneririm.

Microsoft Flow’a ulaşmak için https://flow.microsoft.com bağlantısını kullanabilirsiniz.

SharePoint Framework (SPFx) Visual Studio Extension

Şimdiye kadar benim bahsettiğim ve şüphesiz farklı kaynaklardan ulaştığınız pek çok SharePoint Framework örneğinde az alınan editör Visual Studio Code oldu. Bunun aslında temel nedeni Microsoft’un da bu konuda en ideal editör olarak Visual Studio Code’u gösteriyor olması. Ancak eminim pek çoğunuz geliştirmelerinizde Visual Studio’nun farklı sürümleri üzerinde çalışıyorsunuz ve alışkanlıklarınızdan vazgeçmek istemiyorsunuz. Bu noktada SPFx projelerinizi Visual Studio ortamında nasıl geliştireceğinizden bahsetmekte yarar görüyorum.

Öncelikle belirtmek gerekir ki bu konuda bir extension yayınlanmış durumda 🙂 Ek olarak söylemekte fayda var, henüz bu extension ile sahip olabileceğiniz tek proje şablonu webpart projesi şeklinde. Dolayısıyla bu veya çıkacak farklı extensionları takip etmekte yarar var. Sonraki süreçte Visual Studio’nun da oyunda tam destek ile yerini alacağından şüphemiz yok.

Extension GitHub üzerinden yayınlanmış durumda ve açık kaynak kodlu. İncelemek isterseniz kod bloklarından ilerleyebilmek ile beraber hızlıca konuya başlamak isteyenler için şimdiye kadar yayınlanmış beş tane release versiyonu da bulunuyor. Kaynaklara ulaşmak için aşağıdaki adresleri kullanabilirsiniz.

Release versiyonu indirdiğinizde sizi bir vsix dosyası karşılayacak. Çift tıklayarak kurulum sürecini başlatabilirsiniz. Tabi bu işlem esnasında Visual Studio’nuzun kapalı kalması gerekiyor.

 

 

Şablonun yüklenmesini takiben Visual Studio’yu açtığınızda ise aşağıdaki şekilde proje şablonunuza ulaşabilecek ve geliştirmenizi yapabileceksiniz.

 

 

Sonrasında Visual Studio’yu başlatıp File > New > Project şeklinde alıştığınız proje oluşturma yolunu takip ettiğinizde şablonun başarıyla yüklendiğini ve karşınıza geldiğini göreceksiniz.

 

 

Hatırlarsanız proje şablonumuzu Yeoman ile oluşturduğumuzda bize bazı sorular ile geliyordu. Webpartın adı ne olsun, hangi js frameworkünü kullanacaksın, vb. Visual Studio şablonu da benzer şekilde bir form aracılığı ile bunu soracaktır. Gerekli bilgileri doldurup “generate” butonunu tıklayarak projenizin oluşmasını sağlayabilirsiniz.

 

 

Dilerseniz bu işlemi yine Yeoman kullanarak da yapabilirsiniz, aşağıdaki şekilde.

 

SharePoint Framework RoadMap

SharePoint Framework (SPFx) Feature Pack 2 ile beraber on-premise ortamları da destekler hale geldi. Neredeyse SharePoint online ile benzer bir seviyede SPFx çözümlerini artık on-premise ortam için de geliştirebiliyorsunuz. SPFx’in önemi aslında Microsoft’un SharePoint geliştirme noktasındaki hem en modern hem de hedefte stabil ve en yoğun kullanılan geliştirme modeli haline getirmesinden kaynaklanıyor. Dolayısıyla bir tercih olmanın ötesinde genel SharePoint geliştirme ortamı olarak düşünebiliriz bundan sonrası için.

Pek çok kişi artık SharePoint on-premise versiyonunun ortadan kalkacağına yönelik tahminlerde bulunurken Microsoft’un MS Ignite’da SharePoint 2019’u da diğer Office ürün ailesi ile beraber anmaya başlaması bu konudaki tahminleri boşa çıkarttı. Bu nedenle on-premise ortam için de genel SharePoint geliştirme yönteminin SPFx olacağı noktasında bir soru işareti kalmamış oluyor.

SPFx’in son haliyle getirdiği bazı yeniliklere bakacak olursak;

  • Tenant seviyesinde App Catalog’lar üzerinden yaygınlaştırılabiliyor olması nedeniyle kolay ve yönetilebilir bir yaygınlaştırma ortamı sunuyor.
  • Henüz developer previewde olan GraphHttpClient aracılığı ile Office Graph üzerinde user Access ve token işlemlerini en kolay yapabileceğiniz yapı olarak karşımıza çıkıyor. Normal bir webpart veya SharePoint geliştirmesinde Graph API üzerinden user token oluşturma işleminde arada login sayfası göstermeden ilerleyebilmek için bir hayli takla atılması gerekebiliyordu.

SPFx Road Map’in 25 Eylül 2017’de (yani Feature Pack 2 çıktıktan sonra) güncellenmiş Road Map’ine https://github.com/SharePoint/sp-dev-docs/blob/master/docs/spfx/roadmap.md adresinden ulaşarak daha detaylı bilgi alabilir ve road map’deki güncellemeleri takip edebilirsiniz.

SPFx Debugging

Her yazılım projesinde olduğu gibi SharePoint Framework üzerinde uygulama geliştirirken de ihtiyaç duyacağımız ana konulardan bir tanesi debug. Microsoft’un da belirttiği üzere SPFx projeleri geliştirmek için en ideal kod editörü olarak Visual Studio Code’u göstermek mümkün. Bu nedenle bende bu yazıda Visual Studio Code kullanarak SPFx projelerinizi nasıl debug edebileceğiniz üzerinde durmaya çalışacağım.

Debug işlemi için en ideal ve basit çözüm Google Chrome web tarayıcısı ile çalışmak. Bu nedenle öncelikle Google Chrome’u aşağıdaki adresten indirmenizi ve kurmanızı öneriyorum.

https://www.google.com/chrome/browser/desktop/index.html

Sonrasında çalışacağımız editör olan Visual Studio Code içerisindeki extensions bölümünden Debugger for Chrome eklentisini indirmenizi ve kurmanız gerekecek. Bu işlem için Visual Studio Code içerisinde yer alan en sol menüdeki en altta yer alan Extensions (Ctrl + Shift + X) bölümünü tıklamanız ve “Debugger for Chrome” etiketini arayarak yüklemeniz gerekiyor.

Yükleme sonrası ekranında yönlendirmesi ile Visual Studio Code’u yeniden yüklemeniz gerekecek. Bunun için “Reload” butonunu kullanabilirsiniz.

Local Workbench Projenizin Debug Edilmesi

Visual Studio Code içerisinde sol bölümdeki “Debug” panelini aktive edin. Bu bölümde henüz bir debug konfigürasyonunuz olmadığından profil seçimi yapabileceğiniz kısmı boş olarak göreceksiniz.

Bu bölümde “No configuration” yazan kısmı tıklayarak Google Chrome için debug konfigürasyonu oluşturma yolunu seçin. Ardından oluşacak launch.json dosyasının içeriğini intellisense yardımıyla siz doldurabileceğiniz gibi local Workbench için aşağıdaki konfigürasyon bölümü ile değiştirebilirsinizde.

Dilerseniz aynı adımları tekrar uygulayarak local Workbench yerine hosted ortamdaki SharePoint platformunuz için de ayrı bir debug profili ekleyebilirsiniz. Bu durumda aşağıdaki örnekte geçen url parametresini kendi ortamınıza göre düzenlemeniz gerekecektir.

Bu konfigürasyonlar sonrası debug işlemine başlamak için tek yapılması gereken launch.js içindeyken önce hosted veya local şeklinde debug ortamını seçmek ve ardından debug işlemini başlatmak. Yeni bir pencere içinde uygulamanız debug modda açılacak ve breakpointleriniz işleme alınacaktır.

Tek Sunuculuk Arama Hizmetinin Yapılandırılması

SharePoint Server üzerinde servis uygulamalarının hepsini arayüz üzerinden yapılandırabiliyoruz. Ancak bazılarında özellikle veritabanı isimleri sonlarında Guid içerir şekilde yaratıldığından benim gibi bu konuda takıntılı olanlar için sıkıntı yaratabilir. Bilindiği üzere SharePoint için PowerShell ile neredeyse yapamayacağımız bir işlem yok. Geliştirme ortamı gibi tek sunuculuk yapılarda bu işlemi aşağıdaki gibi bir PowerShell komut dizisi ile tamamlayabilirsiniz. Ayrıca bir süre sonra üç server, beş server gibi gerçek ortam SharePoint farmları için olan versiyonlarını da paylaşmaya çalışacağım.