SharePoint Online Üzerinde SharePoint Designer ile Özel Gruplama İşlemleri

Merhaba,

SharePoint üzerinde No-Code Solutions anlatımlarına ufak ufak örnekler ile de devam etmeye çalışıyoruz yer yer. Bu yazımızda ise SharePoint Designer vasıtası ile özel filtreleme seçeneklerinin kullanımı ve uygulaması konusunda hızlı bilgiler vermeye çalışacağım.

Office 365 SharePoint ve On-Prem SharePoint platformları üzerinde Web Part veya Uygulama ( Solution ) çözümlerinin herhangi birini uygulamadan sadece SharePoint Designer kullanarak listelerimizde özel filtreleme işlemleri için elimizde mevcut bulunan bir liste üzerinden haraket edeceğiz.

Senaryomuz gereği elimizde doküman isimleri tarih olarak yazılmış bir listemiz olduğunu var sayıyoruz. Örnek resimde listemiz özel ( custom ) bir sayfa üzerine Display Item Form ile uygulanmıştır.

İsterseniz bu listemizin hazırlanmasınıda beraber görelim.

Bir adet custom list oluşturarak title alanını kullanmak üzere sbit bırakıyoruz. Listenizin ismi herhangi bir şey olabilir.

Yukarıda görüleceği gibi DocumentList adında Custom bir liste oluşturdum ve standart olarak bu listeme herhangi başka bir değişiklik yapmadan listeye öğe eklemeye geçiyoruz.

Doküman listemize yukarıdaki tarzda veriler giriyoruz. Buradaki veri giriş amacımız 01- olan kısım dosyanın bizim tarafımızdan karar yada revizyon numarası olabilir. Geri kalan ise dosyanın karar tarihi yada yayınlanma tarihi olabilir. Hemen aklımıza uygulama olarak şu soru gelebir SharePoint zaten dokümanın eklenme tarihine göre listeleme yapabilmektedir neden buna gerek duyuyoruz. Elimizde 1 den fazla eski tarihli dosyayı upload ettiğimizde aynı tarih düzeni içinde olacağından gruplamamızı dosya ismindeki gerçek tarihlere göre filtrelemek için bu tip bir uygulamaya ihtiyaç duyuyoruz diye cevap vermek yerinde olacaktır.

Normalde yukarıdaki sorumuza ek olarak bu listeleme işlemlerinde standart View gruplaması kullanamazmıyız da olabilir. Evet kullanabiliriz ama dosya ismine göre gruplama yapmak istediğimizde biraz farklı sonuçlar alacağız. Çünkü bizim dosya ismimizde 01- gibi ekstra bir karakter mevcut.

Gelelim yeni bir sayfa oluşturmaya . SharePoint Designer programımıza açarak Site Pages altına bir sayfa oluşturuyoruz.

Bu aşamalar için daha önceki yazılarımızda sayfa oluşturma ile ilgili bilgiler verdiğimden direk olarak sayfanın oluşturulmuş halini sizler ile paylaşıyorum.

Sayfamızı Edit File in Advanced Mode seçeneği ile açıp her zamanki gibi PlaceHolderMain içeriğini boşatıyoruz.

Sayfamız hazır. Ribbom menüden Insert > Display Item Form seçeneğini kullanarak DocumentList listemizi sayfamıza ekliyoruz.

Sayfamızda bir takım değişiklikler ile XSL şablonumuz SharePoint Designer tarafından sayfamıza eklenecektir. Herhangi bir işlem yapmıyoruz ve kayıt işlemi gerçekleştiroyruz. Şablon kısmında bir iki değişiklik yapmadan önce sayfalama ve diğer ayarlarımızı tamamlayalım .

Sayfalama seçeneği için bütün öğelerin gösterilmesini işaretleyerek sayfamızı tekrar kayıt edelim.

Ardından XSL kodlarımızı az düzenleyelim ki görünüm olarakta düzgün bir görsel elimizde olsun. Dvt_1.rowview etiketini bularak içerisinde sadece Title elementi kalacak şekilde ayarlıyoruz.

Ardından sayfamıza bir test işlemi gerçekleştirelim.

Sayfamızın uygun ve görünümünün düzgün olduğunu test ettikten sonra artık filtreleme işlemlerimize geçebiliriz. Genel olarak Filter işlemleri SharePoint Designer üzerinde Options Tabında Sort & Group butonu vasıtası ile gerçekleştirilir.

Senaryomuzda mevcut dosya isimlerindeki Yıllara göre gruplama işlemi yapmak istediğimizi var sayalım. Bu işleme başlamak için ilk önce XLS şablonun da herhangi bir yere tıklayarak Ribbon Menuden Sort & Group butonuna tıklıyoruz.

Title elementini Available Fields panelinden bularak Sort order kısmına sürüklüyoruz. Hemen arkasından aynı ekranda bulunan Edit Sort Expression butonuna basarak Advanced Sort ekranını açıyoruz.

Bu ekranlar Excel formullerinden alışık olduğunuz ekranlara benzemektedir. Mevcut tanımlı formuller yada kısa işlemler üzerinden hızlı bir şekilde elinizdeki verinin şekillendirilmesi için size bir platform sağlar.

Peki bu aşamadan sonra Title elementimizde bulunan yılları nasıl parse edeceğiz. Bu işlemi hızlı ve basit bir şekilde yapabilmek için “Select a function category” kısmında Text / string seçilerek aşağıda String veri tipi ile alakalı tanımlanmış fonksiyonların listelenmesini sağlıyoruz. En alt kısımda görülen Preview bölümünde yaptığınız işlemin çıktısını da görebilirsiniz.

Burada işimize yarayacak olan fonkisyon Substring fonkisyonudur. Text içersindeki belirli indeksten sonraki harflere ihitiyaç duyduğumuzdan substing fonksiyonunu kullanıyoruz. Yapılandırmamız aşağıdaki gibi olacaktır.

Aslında şu anda istemiş olduğumuz gruplamayı elde ettik fakat hala ekrana yansımasını sağlayamadık. OK butonuna basarak penceryi kapatıyoruz.

Bir önceki ekranda belki dikkatinizi çekmiş olabilir. Fakat çekmedi ise aşağıdaki ekranda gruplama ile alakalı özelliklerin Group Properties kısmında sizin için aktifleştirilmek üzere beklediğini görebilirsiniz. Bu kısımda Show Group Header diyerek gruplamamızı aktif ediyoruz.

OK Butonu vasıtası ile bu ekranı da kapatarak XSL şablonumuza yani sayfamıza geri düşüyoruz ve sayfamızı bir kez daha kayıt ediyoruz.

Hemen sayfamızın görüntüsüne bir kez daha bakarak gruplama işlemizin başarı olup olmadığı konusunda fikir sahibi oluyoruz.

İstediğimiz gibi dosya isimlerinde bulan yıllara göre otomatik olarak gruplama yapacak bir fonksiyon ile işlemimizi tamamladık.

Bu kısımda Descending veya Ascending seçenekleri ile tersten yada düzden sıralamanızı aynı ekran üzerinden ayarlayabilir veya gruplamanın otomatik olarak açık yada kapalı gelmesini sağlayabilirsiniz.

Baştada belirtmeye çalıştığım üzere bu gruplama tekniği yada işlemi temel View Gruplama işlemlerinden farklı olarak belirli bir field içinde bulunan standard kelime yada tarih bloklarının parse edilmesi ile elde edilmektedir. Diğer seçenekte ise belirli bir field – alan üzerinde seçim yapmak sureti le gruplama yapılabilmektedir.

Fast Coding Serisi ile birlikte yayınlamaya çalıştığım SharePoint online üzerinde hızlı işlemler ve pratik bilgilere yer yer devam etmeye çalışacağım. Umarım herkes için faydalı olmuştur.

Saygılarımla

Yanıt Yaz