Etiket arşivi: Microsoft Office Sharepoint Designer 2007 Is Akıs Genel Ozellikleri

Web Partlarda Farkli Veri Turlerinde Toolpart Kullanimi

Sharepoint içerisinde özel içeriklerin görüntülenebilmesi ve kişiselleştirilebilme için webpartları kullandığımızdan daha önce söz etmiştik. Hazırladığımız webpartlarda dinamikliğin sağlanabilmesi için “EditorPart” veya “ToolPart” olarak adlandırabileceğimiz, webpartın önyüzünde görüntülenmeyen ancak düzenleme modundayken görebildiğimiz bir konsolu vardır. Bu konsol içerisinde Appearance, Layout ve Advanced isminde varsayılan tablar her zaman bulunur ancak bizde bu bölüme yeni kontroller ekleyebilir ve bu kontrollerde yapacağımız değişikliğin webpart içerisinde aktif hale gelmesini sağlayabiliriz.

image001

Örneğin Sharepoint’te yer alan bir listedeki verileri çeken ve sizin istediğiniz farklı bir görünümde gösteren bir webpart yazdığımızı varsayalım. Sharepoint’te yer alan 100 tane listeniz varsa ve hepsinde aynı görünüm değişikliğini yapmak istiyorsanız 100 farklı webpart yazmanız gerekir. Oysa ToolPart’ı kullanarak okunacak listeyi parametre olarak geçebiliecek olursa tek bir dinamik webpart yazıp her sayfada webpartın okuyacağı liste özelliğini değiştirip aynı webpartı tekrar tekrar kullanabiliriz.

Toolpart içerisinde pek çok kontrol türünden ASP.Net kontrolleri yaratabilirsiniz. Textbox, dropdownlist, checkbox, radiobutton gibi. Şimdi bir toolpart nesnesini projemize nasıl ekleriz ve yukarıda bahsettiğim türde farklı veri türlerini barındıran toolpart kontrollerini nasıl yaratabiliriz bunu örnekleyelim.

TextBox Türünde

private string _myString;

[Category(“Custom Properties”)]
[DefaultValue(c_MyStringDefault)]
[WebPartStorage(Storage.Personal)]
[FriendlyNameAttribute(“Custom String”)]
[Description(“Type a string value.”)]
[Browsable(true)]
[XmlElement(ElementName = “MyString”)]
public string MyString
{
get
{
return _myString;
}
set
{
_myString = value;
}
}

Checkbox Türünde

private bool _myBool;

[Category(“Custom Properties”)]
[DefaultValue(c_MyBoolDefault)]
[WebPartStorage(Storage.Personal)]
[FriendlyNameAttribute(“Custom Boolean”)]
[Description(“Select to set value to True.”)]
[Browsable(true)]
[XmlElement(ElementName = “MyBoolean”)]
public bool MyBool
{
get
{
return _myBool;
}
set
{
_myBool = value;
}
}

DropDownList Türünde

public enum myFarmEnum
{
barn = 0,
tractor,
hay,
pitchfork
};

[Category(“Custom Properties”)]
[DefaultValue(myFarmEnum.hay)]
[WebPartStorage(Storage.Personal)]
[FriendlyName(“Custom Enum”)]
[Description(“Select a value from the dropdown list.”)]
[Browsable(true)]
public myFarmEnum MyEnum
{
get
{
return _myEnum;
}
set
{
_myEnum = value;
}
}

DateTime Türünde

private System.DateTime _myDateTime;

[Category(“Custom Properties”)]
[WebPartStorage(Storage.Personal)]
[FriendlyNameAttribute(“Custom Date Time”)]
[Description(“Type a DateTime value.”)]
[Browsable(true)]
[XmlElement(typeof(System.DateTime))]
public System.DateTime MyDateTime
{
get
{
return _myDateTime;
}
set
{
_myDateTime = value;
}
}

Yukarıdaki örnekler ve birkaç farklı örneği projemize eklediğimizde aşağıdaki şekilde bir ekran görüntüsüyle karşılaşacağız webpartımızın editorpartında.

image002

Toolparta girdiğimiz bilgilerin webpartın “Render” metodunda görüntülenebilmesi için ise standart .Net bilgimizden başka bir şeye ihtiyacımız yok.

protected override void RenderWebPart(HtmlTextWriter output)
{
output.Write(“<b>Stored Property Values</b>”);
output.Write(“<br><b>String: </b>” + this.MyString);
output.Write(“<br><b>Boolean: </b>” + this.MyBool.ToString());
output.Write(“<br><b>Int: </b>” + this.MyInt.ToString());
output.Write(“<br><b>Float: </b>” + this.MyFloat.ToString());
output.Write(“<br><b>DateTime: </b>” + this.MyDateTime.ToString());
output.Write(“<br><b>Enum: </b>” + this.MyEnum.ToString());
output.Write(“<br><b>Color Enum: </b>” + this.MyColor.ToString());
}

Evren AYAN
WSS Architecture MVP, ISPA Regional Evangelist

Microsoft Office Sharepoint Designer 2007 Is Akısı Aktiviteleri

Microsoft Office Sharepoint Designer 2007 içerisinde varsayılan olarak 21 farklı iş akışı aktivitesi yer almaktadır. Bu aktiviteler aracılığı ile iş akışı adımlarında kullanıcılara mail gönderilmesi, görev atanması, liste öğelerinin check-in/check-out edilmesi, gruplara görev atanması, iş akışının bekletilmesi, log kayıtlarının tutulması gibi işlemler gerçekleştirilebilir. Aşağıda varsayılan olarak gelen bu aktivitelerin hangi işlemler için kullanıldığı yer almaktadır.

MICROSOFT OFFICE SHAREPOINT DESIGNER 2007 VARSAYILAN AKTİVİTELERİ

Add Time To Date : Tarih tütündeki verilerle çalışmanızı ve bu verileri bir değişken içerisinde tutabilmenizi sağlar. Mevcut bir değişken içerisindeki tarih/saat formatındaki değere zaman eklemenizi ve çıkarmanızı sağlar.

Assign a Form To a Group : Grup üyelerine veya kullanıcılara bir form atamanızı sağlar. Atanacak formun oluşturulması için bir sihirbaz görüntülenir. Sihirbaz aracılığı ile yeni bir görev içerik türü ve içerik türüne bağlı alanlar yaratılır. Kullanıcı seçim listesinden seçilecek kullanıcılara veya gruplara oluşturulan içerik türü bir anket gibi atanır.

Assign a To Do Item : Karşınıza çıkacak bir diyalog kutusu aracılığı ile basit yapılacak işler / görev öğesi yaratılabilmesine ve kullanıcılara atanmasına yardımcı olur.

Build Dynamic String : Adım adım bir text değişken yaratılmasına yardımcı olur. Açılan editör ekranı aracılığı ile look-up alanlar text değişkenin içerisine yerleştirilir. Text değişkenler arasında birleştirme işlemi “+” (artı) operatörü kullanılarak gerçekleştirilir.

Check-In Item : Check-Out konumdaki öğenin tekrar kullanımında verilmesine olanak tanır. Bu işlem gerçekleşirken yeni versiyon oluşturma da gerçekleşebileceğinden Check-In işlemi için yorum yazılmasını ister.

Check-Out Item : Check-In konumdaki öğrenin kullanıma alınmasına olanak tanır. Bu işlem sonrası öğe üzerinde versiyonlama aktif ise minör versiyonlar oluşturulur. (0.1, 0.2 gibi) Düzenleme sonrası öğenin geri iade edilmesi (Check-In yapılması) gerekir.

Collect Data From a User : Bir sihirbaz aracılığı ile kullanıcı için görev atanmasına yardımcı olur. Atanacak formun oluşturulması için bir sihirbaz görüntülenir. Sihirbaz aracılığı ile yeni bir görev içerik türü ve içerik türüne bağlı alanlar yaratılır. Kullanıcı seçim listesinden seçilecek kullanıcıya oluşturulan içerik türünden bir görev atanır. İşlem sonrası oluşturulan görevin ID bilgisi output değişken olarak iş akışı içerisinde kullanılabilecek şekilde dışarı verilir.

Delete Item : Herhangi bir liste öğesinin iş akışı esnasında silinmesi için kullanılır. Özellikle temp olarak yaratılmış olan öğelerin başka bir listede gerçek kayıt olarak yaratılması durumunda iş akışında temp kayıt ile olan işlem tamamlandığında bu öğenin silinmesi için kullanılır.

Discard Check-Out : Check-Out edilmiş bir öğe üzerindeki kullanıma almanın kaldırılması amacıyla kullanılır. Bu işlem sonrasında eğer öğede bir güncelleme yapıldıysa bu güncellemede geri alınır ve yaratılan minör versiyon silinir.

Do Calculation : İki alan arasında temel hesaplama işlemlerinin yapılabilmesine olanak tanır (toplama, çıkarma, çarpma, bölme, mod alma gibi).

Log To History List : İş akışı esnasında look-up alan değerlerinin veya manuel olarak yazılacak açıklamaların iş akışı geçmişine kaydedilmesini sağlar. İş akışının sistemsel akışını izlemek ve nerede kaldığını öğrenmek adına kullanılabilecek manuel tek loglama aktivitesidir.

Pause for Duration : İş akışının gün, saat, dakika gibi zamansal bir değer boyunca beklemesini sağlar. İş akışı bu süre boyunca sadece bekleme görevini üstlenir ve sürenin sonunda kaldığı yerden devam eder.

Pause Until Date : İş akışının spesifik bir tarihe kadar beklemesini sağlar. Belirtilen tarih geldiğinde iş akışı kaldığı yerden devam eder.

Send an Email : İş akışı esnasında kullanıcılara ve bilgi sahibi olması gereken kişilere HTML tabanlı email gönderme işlemi yapar. Açılan editör HTML tabanlıdır ancak herhangi bir tasarımsal WYSWYG editör kullanıcının karşısına getirilmeyecek, HTML’in manuel olarak yazılması istenecektir. İstenirse editör içerisinde yer alan look-up butonu aracılığı ile iş akışı değişkenleri, iş akışının çalıştığı öğeye ilişkin alan değerleri veya farklı bir listedeki alan değerleri mailin içerisine eklenebilir.

Set Content Approval Status : İlgili öğe üzerinde içerik onayı çalışıyorsa içeriğin onaylanmasını sağlar. (Örneğin onaylamadan yayınlanmasını istemediğiniz dokümanlar). Approval esnasında hangi yorumun yazılacağı belirtilebilir. Ancak bu yorum bu iş akışının tüm instancelarında aynı text ile yer alacağından yorum alanının bir look-up alandan alınması daha yararlıdır.

Set Field In Current Item : İş akışının üzerinde çalıştığı öğe içinde bulunan veya farklı bir listede yer alan alana değer ataması için kullanılır. Değer ataması esnasında text türde manuel veriler kabul edilebileceği gibi look-up alanlardan veri girişi de kabul edilir. Unutulmaması gereken nokta eğer farklı bir listedeki öğenin alanınına değer ataması yapılacaksa ilgili sihirbaz SQL sorgularındaki “WHERE” anahtarına benzeyen bir bölüm açacaktır. Bu alana iş akışının üzerinde çalıştırğı öğe ile değer ataması yapılmak istenen liste arasındaki ortak alanlar belirtilmelidir. Aksi halde değer atama işlemi diğer listedeki tüm öğeler için geçerli olacaktır.

Set Time Portion of Date/Time Field : Add Time To Date aktivitesi gibi çalışır. Tarih/Saat türündeki öğe alanlarına dakika, saat gibi zaman dilimlerinin eklenmesine olanak tanır.

Set Workflow Variable : İş akışı esnasında çeşitli aktivitelerin yaratmış olduğu veya sizin tarafınızdan yaratılan değişkenlere değer ataması yapmaya olanak tanır. Değer ataması manuel olabileceği gibi bu işlem esnasında look-up alanlardan da yararlanılabilir.

Stop Workflow : İş akışının durdurulmasını sağlar. Durdurma işlemi esnasında sebep belirten bir yorum girilmesi zorunludur. Yorum alanı manuel girilebileceği gibi look-up bir alandan da yararlanılabilir.

Update List Item : Herhangi bir liste öğesinin iş akışı içerisinden güncellenmesini sağlar. Liste öğesi iş akışının üzerinde çalışmakta olduğu öğe olabileceği gibi farklı bir listedeki alanda güncellenebilir. Farklı bir listedeki alanın güncellenecek olması durumunda iş akışının üzerinde çalıştığı liste ile bu liste arasında ortak bir alanın bulunması ve SQL’deki “WHERE” koşuluna benzeyen bölümde bu ortak alanlara ilişkin bağın belirtilmesi gerekir.

Wait for Field Change in Current Item : İş akışını belirtilen alandaki değişim gerçekleşene kadar beklemeye alır. Belirtilen alandaki değişim gerçekleştiğinde iş akışı kaldığı yerden iş akışı adımlarını gerçekleştirmeye devam eder. Bu aktivite Sharepoint Designer’ın sequential formattaki akış modelini kısmen state Machine Workflow’a çevirir. Ve böylelikle forward-only olan yapının dinamik koşullara göre bekletilebilmesine olanak tanır.

Tüm bu Microsoft Office Sharepoint Designer 2007 aktivitelerine ek olarak internetten edinilebilecek veya gerekli extensionları yüklemenin ardından Visual Studio 2005 ve Visual Studio 2008 aracılığı ile kendi yaratabileceğiniz Sharepoint Designer aktivitelerini de mevcut sisteminizde kullanabilirsiniz.

Sharepoint Designer 2007 üzerinde kullanılabilecek son derece kullanışlı pek çok aktiviteye https://www.codeplex.com adresinden veya yapımcı firmaların web adreslerinden ulaşılabilir. Ücretli yada ücretsiz olabilecek bu aktivitelerin size iletilen kurulum materyallerine göre farklı yükleme alternatifleri olacaktır. Aşağıda bu yöntemlerin adımlarından bahsedilmektedir.

ÖZEL AKTİVİTENİN MANUEL OLARAK YÜKLENMESİ

Kendinizin yazdığınız veya internetten kaynak kodunu (veya assembly, actions dosyası gibi çıktılarını) indirdiğiniz bir aktivitenin Microsoft Office Sharepoint Designer 2007 aracılığı ile kullanılabilmesi için öncelikle bazı manuel adımların atılması gerekir.

Elde edilen kaynakta aşağıdaki materyallerin eksiksiz olarak bulunması veya yaratılması gerekir.

  • Tasarlanan iş akışı aktivitesinin assemblysi (Stronge name bir assembly olması gerekir GAC deploymentı için)
  • İş akışı aktivitesinin Sharepoint Designer’a tanımlanabilmesi için gerekli olan “*.ACTIONS” dosyası.

Tüm materyallerin hazır olmasının ardından aşağıdaki iş adımları ile ilgili aktivite kullanıma hazır hale getirilebilir.

  1. İş akışına ait assemblynin GAC’a deploy edilmesi. Bu işlem için ilgili dll’in C:\WINDOWS\Assembly klasörüne sürüklenip bırakılması veya GACUTIL aracı kullanılarak GAC’a deploy edilmesi gerekmektedir.
  2. Aktiviteye ilişkin Sharepoint tanımlamalarının yapılabilmesi adına aktivitenin kullanılacağı web uygulamasının C:\Inetpub\wwwroot\wss\Virtual Directories dizinindeki web.config dosyasına gidilmeli ve <SafeContols></SafeControls> taglarının arasına asseblye ilişkin safe control tanımlanmasının yapılması gerekir. Bu işlem için SafeControls tagındaki herhangi bir satır kopyalanır ve içeririsnde yer alan AssemblyName, Culture, Version, NameSpace, PublicKeyToken ifadeleri sizin assemblynizinkiyle değiştirilir.

    Kendi assemblynize ilişkin bu bilgileri elde etmek için bir öndeki adımda deploy ettiğinizi C:\WINDOWS\Assembly adresinde dll’inizi bulun ve uzerinde sağ tıklayıp “Özellikler” alanına gelin. Açılan pencere az önce saydığımız tüm bilgileri size iletiyor olacaktır.

  3. Aynı web.config dosyasında yer alan <System.Workflow.ComponentModel.WorkflowCompiler> tagının içerisine yine assemblynize ilişkin bilgilerin girilmesi. Bu işlem için SafeControls eklemesinde olduğu gibi içerideki satırlardan birini kopyalayabilir ve değişmesi gereken AssemblyName, PublicKeyToken, Version, Culture ifadelerini değiştirebilirsiniz.
  4. web.config deki bu işlemlerin ardından dosyayı kaydedin ve kapatın.
  5. Bir sonraki adımda Sharepoint Designer’ın tanımladığınız iş akış aktivitesine dair bilgileri okuyabilmesi ve aktivite listesinde buna ilişkin kayıtları size gösterebilmesi için gerekli tanımlamaları yapıyoruz. Bu işlem için C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\Workflow dizinine kadar gidin. Burada “WSS.ACTIONS” isimli bir dosya göreceksiniz. Eğer iş akış aktivitesi materyalleriniz arasında *.ACTIONS uzantılı bir dosya varsa onu buraya kopyalayın. Eğer yoksa sizin yaratmanız gerekecektir. Bu durumda mevcut WSS.ACTIONS dosyasını bir XML editörü ile açın ve içerisinden işinize en çok yarayacak(Sizin aktivitenize en fazla benzeyen) bir iş akışı aktivitesinin tanımlama textini kopyalayın. Yeni oluşturduğunuz bir text editöründe bu dosya içerisinde sizin aktivitenize göre gerekli alan adı ve tanımlama değişikliklerini yapın ve kaydedin.

    Şayet Türkçe bir sisteminiz varsa bu işlemin aynısını C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1055\Workflow klasöründe de yapın.

  6. IIS’i restart edin
  7. Microsoft Office Sharepoint Designer 2007’i açın ve yeni bir iş akışı oluturup Actions bölümünde tanımlamasını yaptığınız aktiviteyi gördüğünüzü doğrulayın.

ÖZEL AKTİVİTELERİN SETUP İLE YÜKLENMESİ

Şayet kullanmayı planladığınız ve ihtiyaç duyduğunuz özel aktivite daha önce bir başkası tarafından yazılmışsa ve içeriğe güveniyor, kullanmak istiyorsanız bunu internetten indirebilirsiniz. Son dönemde karşımıza çıkan pek çok aktivite setup dosyaları veya setup.bat batchleri ile beraber gelmektedir. Bu durumda yapacağınız yükleme çok daha kolay olacaktır. Aşağıda bu işlemin adımları anlatılmıştır.

  1. İnternetten indirdiğiniz setup dosyasını Sharepoint’in yüklü olduğu sunucu üzerinde çalıştırın.
  2. Setup uygulaması öncelikle sistem doğrulaması yapacaktır. (Kimi eklentiler SP1 istemekte ve bunun gibi yüklemeler ile sisteminizin uygun versiyonda olup olmadığını kontrol etmektedir.)
  3. Şayet bir önceki adım başarılı geçtiyse “İleri” butonları aracılığı ile kurulumu tamamlayın.

Bu işlem son derece hızlı gerçekleşecektir. Sonrasında IIS restart gibi işlemlerde setup uygulaması tarafından yapılmış olacağından doğrudan Sharepoint Designer’deki kontrol aşamalarına geçebilirsiniz. Şayet ilgili aktivite çalışmayacak olursa bir önceki başlıkta anlattığımız “Manuel Yükleme” adımlarının tamamını sırayla ilgili dosya sisteminde kontrol edin ve eksik kalan adımlar varsa yükleme sonrası bunları siz tamamlayın. (Örneğin sisteminiz Türkçe’dir ve ilgili setup sadece C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\Workflow klasörüne ACTIONS dosyasını kopyalamıştır. Bu durumda 1055 klasörüne sizin kopyalamanız gerekecektir.

Evren AYAN
WSS Architecture MVP, ISPA Regional Evangelist

Microsoft Office Sharepoint Designer 2007 Is Akıs Genel Ozellikleri

Microsoft Office Sharepoint Designer 2007, Microsoft Office Sharepoint Server 2007 ve Windows Sharepoint Services 3.0 üzerinde pek çok özelleştirme işleminin yapılabilmesi için tek araç konumundadır.

Microsoft’un Office 2007 ürününde Frontpage’e yer vermemesi ve Frontpage’in üstlendiği görevlerin tamamına ek olarak MOSS 2007 ve WSS 3.0 üzerinde özelleştirme çalışmaları için de bu aracı adreslemesi bunda temel sebeptir.

Teknik anlamda Sharepoint Designer’ın tek ürün olma sebebi ise Sharepoint sistemlerinde sayfa, stil dosyası, imajlar, içerikler gibi tüm yapıların veritabanında binary formatta tutulması ve bu binary dosyalar üzerinde güncelleme yeteneğinin sadece bu üründe yer alması gösterilebilir.

Sharepoint Designer aracılığı ile Sharepoint sistemleri üzerinde tasarım özelleştirmesinin yapılabilmesinin yanı sıra bazı etkin kullanıcı ve yönetici eylemleri de bu ürün aracılığı ile yapılabilmektedir. Örneğin doküman kütüphanesi, liste, anket gibi Sharepoint öğelerinin yaratılabilmesi, sitelerin yedeğinin alınabilmesi, yeni sayfa ve layoutların yaratılabilmesi bu eylemlere örnek olarak gösterilebilir. Yine Sharepoint Designer aracılığı ile yapılabilecek eylemlerden bir tanesi de iş akışlarının hazırlanabilmesi ve bu iş akışlarının mevcut sistem üzerindeki liste ve kütüphanelere deploy edilebilmesidir.

SHAREPOINT DESIGNER İŞ AKIŞI YETENEKLERİ

Microsoft Office Sharepoint Designer aracılığı ile yaratılabilecek iş akışları in-browser iş akışlarına göre bazı temel farklılıklar ve artılar gösterir. İki iş akışı arasındaki temel farklar aşağıda listelenmiştir.

  • In-browser iş akışlarında herhangi bir iş akışı koşulu belirtilemezken Sharepoint Designer iş akışlarında kütüphane veya listedeki alanlara ilişkin koşullar tanımlanabilir. (Örneğin masraf formunun 500 YTL’den büyük bir tutara sahio olması durumu gibi)
  • In-browser iş akışlarında görev formu sabit iken (onay/red, yorum gibi alanlar) Sharepoint Designer iş akışlarında özelleştirilmiş görev formları aracılığı ile kullanıcıdan daha fazla bilgi toplanabilir.
  • In-browser iş akışlarında organizasyon hiyerarşisi gibi iş akışlarında dinamikliği sağlayacak yapılar sunmak son derece zorken Sharepoint Designer iş akışlarında bu tip bilgiler dışarıdaki veya içerideki bir kaynaktan okunarak iş akışına dahil edilebilir.
  • In-browser iş akışlarında iş akışı esnasında yapılabilecekler kısıtlıyken Sharepoint Designer iş akışlarında 21 adet temel ve eklenebilecek özel aktiviteler ile pek çok sayıda özel aktivitenin gerçekleşmesi sağlanabilir. (Örneğin liste öğesinin güncellenmesi, log kaydının girilmesi, iş akışının bekletilebilmesi gibi)

Yukarıda sayılan farklar sebebiyle Sharepoint ortamında iş akışı hazırlanması konusunda en çok tercih edilebilecek yöntemlerden bir tanesi Sharepoint Designer iş akışlarıdır. Bu türün daha da gelişmişi olarak adlandırabileceğimiz bir diğer yöntem ise Windows Workflow Foundation kullanarak iş akışları geliştirmektir ki .Net Framework 3.0 / 3.5 bilgisi gerektirmesi ve sonuç itibariyle kod yazıyor olmanız sebebiyle development süresini uzatacak ancak diğer yandan çok daha esnek yöntemleri kullanabileceğiniz bir iş akışı geliştirme ortamıdır.

Microsoft Office Sharepoint Designer 2007 kolay bir arayüzde tek bir satır kod yazmaya gerek kalmaksızın iş akışlarını oluşturmanıza ve deploy etmenize imkan verecek şekilde tasarlanmıştır. Özel aktivitelerin yazılabiliyor ve eklenebiliyor olması aracın varsayılan özelliklerinin dışında da yeteneklere kavuşabilmesini sağlayacaktır.

SHAREPOINT DESIGNER ILE İŞ AKIŞI GELİŞTİRMEK

Microsoft Office Sharepoint Designer 2007 ile iş akışı geliştirmek için öncelikle iş akışını hangi kütüphane veya liste üzerinde çalıştırmak istediğinizi belirlemeniz gerekir. Çünkü Sharepoint Designer’da iş akışı, tasarım özelleştirmesi gibi işlemler site bazında yapılır. İlgili kütüphane veya listeye karar verildikten File>New>Workflow seçeneği aracılığı ile yeni iş akışını yaratacağınız sihirbaz karşınıza getirilir.

image001

Bu ekranda iş akışına o site için tekil bir isim vermeli ve iş akışının hangi liste veya kütüphane üzerinde çalışacağını belirtmelisiniz. İş akışı sisteme deploy edildikten sonra bu iki alandaki değerler değiştirilemeyecektir.

Bu temel bilgileri verdikten sonra iş akışının başlama şeklini seçmeniz gerekir. Üç farklı şekilde başlatılabilir Sharepoint Designer iş akışları:

  1. Manuel : Bu durumda kullanıcı liste veya kütüphanede ilgili öğenin üzerindeki menüyü açar ve “Workflows” butonuna tıkladığı zaman birazdan tasarlayacağınıziş akışını listede görür. İsterse o anda sadece ilgili öğe için manuel bir iş akışı başlatabilir.
  2. “Created” Anında : Bu durumda iş akışı seçtiğiniz kütüphane veya listeye atanır ve deploy anından itibaren o liste veya kütüphanede yaratılacak tüm öğeler için otomatik olarak çalışır.
  3. “Modified” Anında : Bu durumda iş akışı seçtiğiniz kütüphane veya listeye atananır ve deploy anından itibaren o liste veya kütüphanede değiştirilecek tüm öğeler için otomatik olarak başlar.

Aynı ekranda üç adet konfigürasyon butonu da görmekteyiz. Bunlar aşağıda belirtilen işlemler için kullanılmaktadır.

  1. Check Workflow : İş akışı içerisinde herhangi bir hata yapılıp yapılmadığını denetler. İş akışı sihirbazının devamında da sürekli olarak görünür. Bir iş akışını deploy etmeden önce bu butona tıklayarak çalışmayı engelleyici bir hata yapıp yapmadığınızı görebilirsiniz.
  2. Initiation : İş akışının initiation yani başlangıç aşamasında çalışacak formu tasarlamanızı sağlar. Özellikle bir iş akışı manuel olarak kullanıcı tarafından başlatılacaksa initiation formunu başlangıç anında kullanıcıdan alması gereken bilgilere göre konfigüre edebilirisiniz. Butona tıklamanızın ardından bir sihirbaz başlatılacak ve iş akışı başlatılırken kullanıcıya gösterilip veri toplanacak formun alanlarını oluşturmanız sağlanacaktır.
  3. Variables : İş akışı değişkenlerini yaratmanıza olanak tanır. İş akışının devamı boyunca kullanıcıdan topladığınız bilgileri veya iş akışı içerisinde çalıştırdığınız aktiviterlerden dönen sonuçları burada yaratacağınız değişken listesinde depolayabilirsiniz.

Tüm bu ana konfigürasyonları yaptıktan sonra “Next” butonuna tıklayarak iş akışında tanımlayacağınız koşulları ve bu koşullara karşılık iş akışının çalıştıracağı aktiviteleri tasarlayabilirsiniz.

image002

Bu bölümde ekranın sağ köşesinde gördüğünüz “Workflow Steps” kısmı iş akışındaki mevcut adımlarınızı görüntüler ve yeni adımlar yaratabilmenizi sağlar. Böylelikle iş akışı esnasında karmaşık bir tasarım yerine adım adım ilerlemeleri tasarlayabilmenize olanak tanır.

Ekranın sol bölümü ise seçili adımda iş akışının yapması gereken koşul kontrolleri ve bu koşullara ilişkin çalıştıracağı aktiviteleri gösterir. Burada “Conditions” alanını kullanarak iş akışının üzerinde çalıştığı liste veya kütüphanede bulunan alanların değerlerini karşılaştırabilip üzerinde koşul çalıştırma işlemi yapabileceğiniz gibi farklı kütüphane ve listedeki alanlar için de bu işlemi gerçekleştirebilirsiniz.

Aynı bölümde yer alan “Actions” butonu aracılığı ile ise üstte seçmiş olduğunuz koşulun gerçeklemesi durumunda iş akışının alması gereken aksiyonları sıralayabilirsiniz. Örneğin koşul kısmında listede yer alan “Tutar” alanının “500” değerinden büyük yada küçük olması koşulunu sorgulayabilir ve bu koşul doğru ise o anki öğe için alttaki Actions bölümünde bir kullanıcıya görev oluşturması, aynı kullanıcıya email ile görevi bildirmesi, iş akışı loglarına görevin yaratıldığına dair bir mesaj yazmasını ve görevin atandığı kullanıcının bir aksiyonu yerine getirmesini beklemesini söyleyebilirsiniz. Gerekli aksiyon yerine geldiğinde siz ikinci iş akışı adımında yeni bir koşul ve yeni aksiyonları tanımlamış olabilirsiniz.

Bu bölümde seçilecek aksiyonlar 21 varsayılan ve bunun üzerinde sizin ekleyeceğiniz özel aksiyonlar olabilir. Dolayısıyla Sharepoint Designer’ın varsayılanları ile sınırlı kalmayıp edineceğiniz veya yazacağınız özel aksiyonlar ile iş akışının kendi sistemleriniz ile entegre olmasını sağlayabilirsiniz. Örneğin yazacağınız özel bir aktivite aracılığı ile iş akışına konu olan öğaye ait bilgileri bir veritabanı sistemine yazdırabilirsiniz.

ŞAYET GÖREV ATANAN BİR İŞ AKIŞINIZ VAR İSE

Sharepoint Designer aracılığı ile yaratılan iş akışları her zaman görev atama yönünde ilerlemez. Bazen bir öğenin yaratılmasını takiben o öğe üzerindeki yetkileri değiştirmek veya o öğenin yaratıldığından bazı kullanıcıları haberdar etmek de bir iş akışı olarak adlandırılabilir.

Eğer hazırladığınız iş akışında bir kullanıcıya görev ataması yaptıysanız ve Sharepoint Designer tarafında ikinci bir iş akışı yaratmanızı gerektirecektir. Zira ilk yarattığınız iş akışı normal bir liste veya kütüphane üzerinde çalışırken bu iş akışı içerisinden bir kullanıcıya görev oluşturduğunuzda görev öğesi bir görev listesinde yaratılacaktır. Yani yarattığınız iş akışının kontrolünde olmayan bir yerde. Bu durumda Görev listesi üzerinde çalışacak ikinci bir iş akışı yaratabilir ve yaratılan görevin durumuna göre ilk yaratılan iş akışı ile entegre olmasını sağlayabilirisiniz.

Evren AYAN
WSS Architecture MVP, ISPA Regional Evangelist