SharePoint Online veya OnPremise’te CSOM ve Konsol Uygulaması Kullanarak Yayınlama Tipinde Özel Sayfa Yapısıyla Yeni Bir Sayfa Oluşturmak ve Verilerini Girmek

1+

Merhaba arkadaşlar bugün sizelere sharepoint online ya da on premise versiyonlarında Publishing Page için Custom Page Layout belirleyerek yeni bir sayfa oluşturmak ve bu saydaki alanlara değerlerini nasıl girebileceğinizden bahsedeceğim.

Ben bu uygulamayı biraz optimize hale getirerek tüm bilgileri konsol uygulamasını çalıştırdığınızda sizden isteyerek gerekli işlemi siz kod tarafında herhangi bir değişiklik yapmanıza gerek kalmadan yapacak şekilde tasarladım.

İlk olarak projemizi oluşturuyoruz ve projemize aşağıdaki referansları ekliyoruz.

  • Microsoft.SharePoint.Client
  • Microsoft.SharePoint.Client.Publishing
  • Microsoft.SharePoint.Client.Runtime

Main içerisinde ilk olarak kullanıcıdan site adresini isteyerek başlıyoruz.

Kullanıcıdan site adresini aldıktan sonra bu adresin online mi yoksa on primes versiyon olup olmadığını algılamamız ve buna göre site erişim bilgilerini istememiz gerekmektedir.

Bu kısımda girilen site adresinde “.sharepoint.com” var ise bu büyük ihtimal online hesabı olabilir ama on premise kısmında da bu şekil bir adres kullanma ihtimaline karşı online olsa bile bunu kullanıcıya doğrulatarak emin olmaya çalışıyoruz.

Eğer online ise kullanıcı mail adresi ve şifresi değil ise kullanıcı domain adı, kullanıcı adı ve şifresini istiyoruz. Bunların yanı sıra online olup olmamasına göre de login olma yöntemimizde değişecektir ondan dolayı tercihe göre de online mı değil mi diye elimizde bool değerinde bir değişken ile bu bilgiyi tutuyoruz.

Bu aşamadan sonra page layoutumuzun yer aldığı master page gallery adını almamız gerekmektedir.

Burada farklı dillerde portaller olabileceği için bu isimler değişebilmektedir. Bundan dolayı bu adresler güncel almamız gerekiyor.

Daha sonra kullanıcıdan hangi page layout tipinde sayfa oluşturmak istediği bilgisini istiyoruz.

Burada girilecek bilgi page layoutun display name ismi olması gerekmektedir.

Daha sonra bu oluşturulacak sayfanın adını istememiz gerekiyor.

Bu kısımda istenen isim .aspx li url de oluşacak isim istenmektedir.

Bu kısıma kadar ki bilgiler sayfayı oluşturmamız için gerekli olan bilgilerdi. Şimdide Eğer bu page layout tipinde alanları da doldurmak istiyonip istenmediğini ve eğer isteniyorsa bu alanları ve değerlerini almamız gerekiyor.

Burada cevaba göre ilerideki işlemde ekleme işlemini dahil edip etmeyeceeğimizi hatırlamak içinde bir bool değişken ve eğer eklenecek ise bu alan isimleri ve değerlerini tutacağımız bir değişken tanımladık.

NOT: Burada eğer sizin seçtiğiniz page layout içinde zorunlu bir alan var ise bu alan için değer girmek zorundasınız. Değer girmediğiniz zaman uygulama da hata oluştu diye mesaj verecektir ama arka planda sayfayı oluşturmuş ve sizin üzerinizde check-out lu bir şekilde duruyor olacaktır. Burada hata verme sebebi sayfadaki zorunlu alanların girilmemesinden dolayı sayfayı check-in yapıp publish edememesidir.

Eğer kullanıcı değer girişi istiyorsa burada giriş yapılacağını tutacağım bool değişkenimi true olarak güncelliyorum. Birden fazla alan bilgisi girilmesi için kendimce bir format tanımladım ve kullanıcıdan alan adı ve değeri arasına “:” işareti koyup her bir data için de aralarına “;” işareti koyarak data verilerini girmesini istiyorum. Bu yapıda şuanlık sadece string formatındaki alanlar için veri girişi sağlanmaktadır.

Bu işlemden sonra kullanıcı veri giriş aşamasını tamamlamış oluyoruz ve alınan bilgiler ile işlem yapma aşamasına geçiyoruz.

Kullanıcıya işleme başlandığına dair mesaj vererek genel olarak tüm süreçte kullanacağım değişkenleri tanımlıyorum. Bu kısımdan sonra aşama aşama ilerliyoruz.

ilk olarak site bağlantımızı yapıyoruz.

Burada daha önce de bahsettiğim gibi sitenin online olup olmamasına göre site bağlantı çeşidimiz değişmekteydi. Bool bir değişken ile sitenin online olup olmadığını tutmuştuk ve buna görede bağlantı bilgilerini almıştık. Bu şekilde site bağlantımızı sağlıyoruz ve eğer bağlantımızda bir hata oluşursa yanlış bilgi veya başka bir sebepten bunun uyarısını vererek uygulamayı sonlandırıyoruz.

Siteye sorunsuz bir şekilde bağlantı sağladıktan sonra sayfa türümüze göre sayfamızı oluştuma aşamasına geçiyoruz.

Burada master page galeriye giderek orada verilen page layout tipimizi buralarak sayfa adımızı ile sayfayı oluştuma işlemini yapmaktayız. Sayfa adı kısmında kullanıcı url yapısı olduğundan sayfa adını .aspx olacak şekilde de girip girmeyeceğini belirtmediğimiz için kontrolümüzü burada sağlıyoruz. Eğer girmemiş ise biz ekliyoruz. Bu aşamada bir hata oluşursa eğer uyarı vererek hata mesajı ile uygulamayı sonlandırıyoruz. Eğer sorunsuz bir şekilde işlem gerçekleşti ise kullanıcıya mesaj ile bilgi veriyoruz.

Son aşamamız ise kullanıcının opsiyonuna göre çalış çalışmayacak olan sayfa verilerinin girişi kısmı olacaktır.

Daha önceden veri girişi yapıp yapmayacağı bilgisini ve eğer veri girişi yapacak ise bunu hangi formatta girmesi gerektiğini söyleyip gerekli bilgileri almıştır. Bu kısım eğer veri girişi yok ise atlanacaktır ama var ise istenilen formatta girilen verileri sayfaya ekleyecektir. Eğer veri giriş formatında ya da başka bir şeyden kaynaklı bir hata oluşacak olursa bunun bilgisi ve hata mesajı kullanıcıya verilecektir.

NOT: Burada daha önceki notta da bahsettiğim gibi yanlış alan adı veya fotmat girildiği zaman hata vermesine rağmen sayfa oluşmuş olacaktır sadece veri girişi olmayacak ve sadece sizin göreceğiniz şekilde üztünüzde check-out lu şekilde duracaktır.

Yukarıdaki veri girişi işlemi olmadığı zaman ya da olupta sorunsuz bir şekilde tamamlandıktan sonra kullanıya tüm bu işlemlerin başarı ile tamamlandığını ve sayfanın oluşturularak yayınlanıp kullanılmaya hazır olduğu bilgisini vererek uygulamamızı sonlandırıyoruz.

Kodun tamamını ve projenin çalışır halini aşağıdan indirebilirsiniz.

1+

Bir Cevap Yazın