SharePoint 2013 , Office 365 üzerinde Hızlı Form üretimi ve Workflow bağlantıları

Merhaba, Bu yazımızda elimizden geldiğince kod yazmadan son kullanıcıya hitap eden, kurumsal formlarımızın en hızlı şekilde SharePoint2013 ve Office 365 Platformu üzerinize nasıl taşıyabileceğimizden bahsetmeye çalışacağım.
Öncelikle elimizde mevcut bir form olduğunu ve bunun bir yönetici tarafından onaylandığı senaryosu üzerinden işlemlerimize devam edeceğiz. Elimizdeki form şirket içinde kullanılan araçların taleplerini yönetmeye yönelik olsun.

Önce kendimize bir yapılacaklar listesi çıkaralım ;

1 – Custom List oluşturma (Araçlar ve Talepler için )
2 – Gerekli Kolonların Listeye Eklenmesi (Talepler Listesi için )
3 – Gereksiz Alanların NewForm1.aspx den çıkarılması (SharePoint Designer)
** Status ve Araç Atamalarını formu oluşturan kullanıcı oluşturmamalı çünkü senaryomuzda bu formu yöneten bir personelimiz mevcut.
4 – Ekleme zamanı Workflow Oluşturma (SharePoint Designer)
* Oluşturana ve yöneticiye mail atma, mail içeriklerinin düzenlenmesi.
5 – Düzenleme zamanı Workflow Oluşturma (SharePoint Designer)
6 – Test

1 – Custom List Oluşturma

Öncelikli olarak araçlarımız ve sürücülerimiz için bir liste oluşturuyoruz. Çünkü bu listeyi araç taleplerimiz de lookup olarak göstereceğiz.

Site Content > Add an App > Custom List adımlarını kullanarak yeni bir liste oluşturuyoruz.

Listemizin Adını Vehicles olarak set ediyoruz.

Listemizin oluşturulmasının hemen ardından Settings kısmına geçerek ilk step olarak listemizin versiyonlama işlemini açıyoruz. Bu özellik normal de listelerimizi oluşturduğumuz anda standart kapalı olarak gelmektedir. Biz listemiz içinde Append tipinde bir text kullanacağımızdan versiyonlama seçeneğini aktif ediyoruz.


Settings > Versioning Settings > Item Version History yönlendirmesi ile versiyonlamayı aktif ediyoruz.

Versioning settings linkine tıklayarak bir alt ekranda görününe Item Version History bolümündeki
Create a version each time you edit an item in this list? Seçeneğini YES olarak işaretliyoruz ve OK diyerek kayıt edip ekrandan çıkıyoruz.

Araçlar listemiz için ekstra kolonlar ekleme işlemine geldi sıra. Settings ana ekranında iken Field listelerinin altında bulunan Create Column linkine tıklayarak aşağıdaki gibi araçlar listemize verilen veri tiplerinde kolon eklemelerimizi yapıyoruz. Araçlar listesi için şimdilik işlemlerimiz bu kadar.

2 – Gerekli Kolonların Listeye Eklenmesi

Araçlarımız için gerekli olan kolonları eklediğimize göre artık 2 inci aşama olarak hizmet araç taleplerimizi alacağımız listemizi oluşturabiliriz. Başta izlediğimiz yolu izleyerek Custom bir list oluşturuyoruz. Vehicle Request olarak isimlendirip az önce bahsedildiği gibi versiyonlamayı aktif ediyoruz. Akabinde hemen aşağıdaki alanları listemize ekliyoruz.


– Az da olsa açıklamak gerekirse Current Location mevcut talebi yapan personelin bulunduğu noktadır. Aslında bu alan için yeni bir kolon ekleme ihtiyacı duymadık , Title alanının ismini değiştirerek elde ettik.
Where nereye gideceğimizi açıkladığımız alandır.

Start Date ile End Date alanlarımız Date Time veri tipinde ve özellik olarak Friendly olarak ayarlanmıştır. Aracı hangi saatler arasında meşgul edeceğimizi bu iki kolon yardımı ile anlayacağız.
Status alanı bu talebimizin durumunu gözlemleyebilmek adına Choice List olarak tanımlandı. Ve içine Pending , Accepted , Rejected şeklinde durum tanımı yapılmıştır.
Vehicle Step 1 de oluşturmuş olduğumuz araçlar listesidir. Araç Talebi listemize lookup olarak bağlandı.
Notes kısmı ise yönetici arkadaşımızın buraya her seferinde not girebilmesi için Append Text olarak eklenmiştir.

Buraya kadar Liste oluşturma , versiyonlamayı aktif etme ve kolon oluşturma işlemleri genel olarak nasıl olduğu hakkında fikir sahibi olduk. SharePoint ve Office365 üzerinde kendine özgü App’ler olduğu gibi ( Announcement , Calendar vb.) Custom Listler vasıtası ile de kendimize özel App’ler tanımlayabilir,hatta bunları daha sonra kullanmak üzere template olarak saklayabiliriz.

3 – Gereksiz Alanların NewForm.aspx den çıkarılması

Şimdi sıra biraz formlarımızı özelleştirme aşamasına geldi. SharePoint Designer programımızı açarak sitemize erişim sağlıyoruz.

SharePoint Designer sol navigasyon menüsünden Lists and Libraries kısmına tıklayarak sağ kısımda listelenecek olan Vehicle Request listemizin üzerine tıklayarak listemizin özellik paneline erişim sağlıyoruz.

Listemizin Forms ana başlığı altındaki NEW butonuna tıklayarak yeni bir NewForm sayfası oluşturuyoruz. Burada yeniden bir form oluşturmamızın amacı, eğer mevcut olanı kullanmak isterseniz SharePoint size gerekli alanların listelendiği bir template vermemektedir. Yeni bir form oluşturarak kolonların tamamına XSL template vasıtası ile erişebilir, istediğinizi kaldırabilir veya yeni kolonlar ekleyebilirsiniz.

Evet şu anda elimizde Default olarak set edilmiş yeni bir formumuz mevcut. NewFrom1.aspx, üzerine sağ tıklayarak Edit File in Advanced Mode seçeneği ile formumuzu açıyoruz.

Açılan formumuz içinde kullanıcılarımızın görememesi gereken Notes ve Status alanlarını CTRL + F tuşu yardımı ile buluyoruz.

Burada dikkat edilmesi gereken hususlardan biri temel html bilgimizin olduğunu var sayarak <tr> ….</tr> arasındaki bilginin formdan silinmesidir. Aynı İşlemi Notes alanı içinde gerçekleştiriyoruz ve Save diyerek ekranı kapatıyoruz.

Şimdi sayfamızı bir kontrol edelim. New Item eklemek istediğimizde acaba gerçekten field kaldırma işlemimiz başarılı oldumu ?

Evet yukarıda da görüleceği gibi şu ana kadar her şey yolunda gözükmektedir. Burada birkaç özelleştirme daha yapılabilir mesela Save / Cancel butonlarından üst kısımda bulunanları kaldırmak gibi. Bunun için de hemen bir önceki form edit yöntemini izleyerek CTRL+F tuş kombinasyonu vasıtası ile dvt_1.body tag’ını aratıyoruz. Ekranda gösterildiği gibi ilk TR tagımız arasında Save ve Cancel komut buttonları yer almakta. Bunu da Template’imizden kaldırıyoruz.

Evet Save ve Cancel butonlarımızda kaldırıldığına göre son kontrol ve artık birkaç araç ekleyebiliriz. Bunun için direk olarak Vehicle Listemize giderek birkaç kayıt ekliyoruz.

4 – Kayıt Ekleme zamanı bilgilendirme WorkFlow’u
Listelerimizi , kayıtlarımızı ve ekranlarımızı tasarladık ve Publish ettik. Sıra personellerimizin bu formu doldurduğunda yetkili personele mail atmasını ve bilgilendirmesini sağlayacak olan Workflow’u yazmaya geldi.

SharePoint ve Office365 de Workflow ‘lar 3’e ayrılır.

  1. Listeler için özel WorkFlowlar
  2. Content Type’lar ve birden fazla liste için,
  3. Mevcut üzerinde çalışılan site için site Workflow’u

Bu kısa bilginin ardından biz şu anda belirli bir listeye atama yapacağımız için ilk seçeneğimiz olan List Workflow botnuna tıklıyoruz ve mevcut atama yapmak istediğimiz Vehicle Request Listesini seçiyoruz.

Açılan pencerede Workflow’umuza isim vererek açıklamasını girdikten sonra SharePoint designer’in Workflow edit etmek için otomatik olarak Text Based edit view’i ile karşılaşıyoruz. Burada düz yazı yazarak Actionlar ekleyebildiğimiz gibi, Views sekmesinden Visual Designer ile de Workflowumuzu düzenleyebiliriz.


Birkaç kelime ile yapmak istediğimizi SP Designer Workflow aracına aktarıyoruz. Senaryomuz gereği , talebin Status’u Pending olması gerektiğinden

  1. Statusu Pending Yap,
  2. Workflow Statusu Pending Request olarak Set et,
  3. Yönetici Kişiye mail at , şeklinde düzenlememizi yapıyoruz. Aşağıdaki ekranda düzenlenmiş olarak workflow içeriğini görebilirsiniz. Bu işlemde Office365 hesabımızda tek kullanıcı olduğundan onaylayan ve giriş yapan kullanıcı aynıdır.

Workflowlar’ı oluştururken mail atma ekranlarında içerik düzenlemeleri için açılan pencerede bulunan Add or Change lookup butonu vasıtası ile Current item yada daha fazla parametreleri metin içeriğine ekleyebiliriz.

Workflow mail içeriğimizi tamamlayıp Error Check yaptıktan sonra Workflow’umuzun son hali aşağıdaki gibidir.

Workflow’umuzu publish etmeden önce Workflow’un ana ekranına giderek “Start workflow automatically when an item is created Check ‘ini işaretliyoruz ve Manuel başlatmayı iptal ediyoruz.

5- Item düzenlendiği zaman Workflow çalıştırma
Listemize yeni öğe oluşturulduğunda yöneticimizi bilgilendiren ve ona mail atan WF’mizi 4 üncü adımla tanımlamış olduk. Şimdi ise Yöneticimiz talebi red ettiğinde yada onayladığında talebi yapana geri dönüş sağlayacak olan WF’mizi yazmaya geldi. 4 üncü aşamanın da başında anlatıldığı üzere List Workflow olarak yeni bir workflow oluşturuyoruz ve aşağıdaki gibi isimlendiriyoruz.

Açılan penceremizde Text Based editörümüz vasıtası ile Statsu change kontrolümüzü yapıyoruz.

Mail atma seçeneğimizde User Who Created current item’i seçiyoruz çünkü yetkili personel status’u değiştirdiğinde talebi yapana bir açıklama göndermemiz gerekmektedir.
Aynı şekilde red içinde bir If bloğu yazıyoruz.

Hazırlamış olduğumuz workflow’un son hali aşağıdaki gibidir. Check error kontrölünün ardından Publish yapıyoruz.

6 TEST

İşlemlerimizi ve uygulamamızı gördüğünüz gibi sadece edit ve eklemeler ile çok da fazla kod yazmadan hatta bu uygulama için nerede ise hiç kod yazmadan tamamladık.

Test aşamasının birinci step’i olarak yeni bir talep ekliyoruz ve yönetici mailini kontrol ediyoruz.

Ekleme işleminin ardından direk olarak listeye düşüyoruz ve burada takip eden 3 ekran aslında workflow’umuzun çalışıp çalışmadığını kontrol etmemiz için ayrı ayrı olarak alınmıştır.

WF Çalıştı ve Stage 1 e Giriş yaptık.

Workflow Sonlandırıldı ve Request Pending notu eklendi.

Son olarak ise workflowun mail atması gerekli idi. Hemen üst menüde bulunan Outlook sekmesine tıklayarak Office app outlook’a geçiş yapıyoruz ve mailimizin gelip gelmediğini kontrol ediyoruz. Sonucumuz başarılı ve açmış olduğumuz talep mail olarak yönetici hesabına bilgi olarak düşmüş durumdadır .

Daha sonra yönetici olarak bu eklenen öğeyi düzenlemeye giderek yazmış olduğumuz 2nci workflow’umuzu test etmemiz gerekmektedir. Öncelikli olarak Talebi Kabul edeceğiz.

Kabul edilmiş olan araç talebi mail olarak da sistemimize düşmüş durumdadır. Aynı şekilde 2nci seçenek olan Rejected ( Red) işlemini gerçekleştiriyoruz.

Bu yazımızda genel SharePoint / Office365 workflowlarına ve basit düzende formların yönetimine dair bilgi vermeye çalıştım. Demoların tamamı Office365 sisteminde tek organizasyonda yapıldığından sizde bir trial hesabı açarak

bu denemeleri kendi Office365 ortamınızda kolaylıkla uygulayabilir ve Sharepoint / Office365 dünyasına giriş yapabilirisiniz.

Faydalı olması dileğim ile.

Yanıt Yaz