Visual Studio 2010 ile SharePoint Workflow Versiyonlaması

Visual Studio 2010 ile geliştirilmiş bir workflow zaman içerisinde revizyona uğrayabilir. Gerek kullanım ihtiyaçlarından gerekse yeni teknolojileri akışların içerisine yansıtmak açısından çalışır durumdaki iş akışlarında değişiklik yapma ihtiyacı duyabiliriz. Bu gibi durumlarda akışın yeniden deploy edilmesi gerekmektedir.
Akış deploy işlemi ile kullanmakta olduğumuz onay formu ve akış için oluşturulan dll dosyamız güncellen son hali ile gerek assembly içerisine gerekse SharePoint feature içerisine gönderilmektedir. Bu aşamaya kadar Visual Studio 2010 bunu başarılı bir şekilde tamamlamaktadır.
Bu işlemler sonunda karşımıza şöyle bir sorun çıkmaktadır; mevcutta çalışır durumda olan tüm akışlarımız artık iptal olmuştur. Ve yeni başlatacağımız akışlarımız güncel iş akışımız ile işleme konulacaktır. Durum bu haldeyken eski sürümde çalışır durumda olan akışlarımızı da koruma ihtiyacımız ortaya çıkmaktadır. Bunun için eski dll ve onay formumuzu korumalıyız. En azından eski akışlarımız tamamlanana kadar işlem görmelerini sağlamalıyız.
Böyle bir yapıyı sağlamak için Visual Studio 2010 içerisinde bir takım işlemler gerçekleştirmeliyiz. Bu işlemleri aşağıda listeledim.
1- Eğer onay formumuz InfoPath ile düzenlenmişse ve onay formundaki değişiklikler sadece yeni sürüm akışımıza yansıyacaksa; Onay formumuzu farklı bir isim ile publish etmemiz gerekecek. Onay formumuz için File menüsünden Form Template Properties tıklanır ve Name alanı değiştirilik. Yapılan bu değişiklik hemen alt bölümdeki ID alanına yansıyacaktır.
1
Değişiklik tamamlandıktan sonra Ok tuşu ile değişikliğimiz forma yansıtılır.
2- Form yeni ID ile publish edilmelidir. File menüsünden Publish seçeneği ve hemen içeriğinde açılan Network Location tıklanır.
2
İlk bölümdeki publish edilen formun template adı değiştirilir ve bu değişiklik ikinci bölüme de yansır. Eski onay formu ile yeni onay formu aynı lokasyona publish edilmiş olacaktır. Yeni template Visual Studio içerisine dahil edilir. Formun özelliklerinden Deployment Type “Element File” olarak seçilmelidir. Bunu atlamamak lazım.
3- Daha kullanılmakta olan akışımıza ait dll projedeki package içerisine dahil edilir. Ancak bu dll farklı bir lokasyona taşınmalıdır. Örneğin bin klasöründeki debug altından alınarak bin klasörüne açılacak olan yeni bir klasör içerisine konulabilir. Çünkü rebuild işleminde bin klasöründen silinecektir.
3
Proje içerisindeki Package.package çift tıklanır ve açılan ekranda Advanced seçilir. Daha sonra Add butonu ile mevcut durumda kullanılan dll seçilerek eklenir. Böylece eski dll dosyamız güncel akış içerisinde kullanılır olacaktır.
4- Şimdi artık akışımızın yeni bir dll oluşturması gerekmektedir. Bunun için projemizin özelliklerine girmemiz gerekecek.
4
Bu ekrandaki Assembly name alanı için yeni bir isim verilir, aynı isim Assembly Information butonu ile açılan pencerede işaretli yerlere de yazılır. Ben assembly versiyonunu da belirteç olması için 2.0.0.0 olarak değiştirdim. Ok butonuna bastığımızda assembly için yeni bilgilerimizi kaydetmiş olacağız.
5- Şimdi gelelim Elements.xml dosyamızı güncellemeye. Bu kısım önemli ve akışımızın düzgün işleyişi için hassas noktalar barındırmakta. Öncelikle varolan Elements.xml dosyamızdaki tagini düzenlememiz gerekecek. Default olarak gelen $assemblyname$ değişkeni yerine açık bir ifade ile bizim dll bilgilerimizi girmeliyiz. Buraya version 1.0.0.0 ile ilgili bilgileri gireceğiz. URN kısmında ise hiçbir değişiklik yapmıyoruz. Eski template kullanılmaya devam edilecek.
5
6- Şimdi en can alıcı noktaya geldik. Workflow taginin tamamını kopyalıyoruz. Ve varolan Workflow taginin hemen üzerine yapıştırıyoruz. Üzerine diyorum çünkü sıralama gerçekten önemli, aşağıya eklersek yeni içerik ile eskisi karışıyor.
6
Oluşturulan yeni tagin içerisnde Name, Description, Title, CodeBesideAssembly ve URN bilgilerini değiştiriyoruz. Böylece yeni dll bilgilerimiz ve yeni form templateimizi set etmiş oluyoruz. Burada önemli olan bir nokta; proje içerisinden workflow displayname de değiştirilmeli.
7
Böylece deploy işleminden sonra yeni ismiyle görünür olacak.
7- Şimdi projemizi build ettiğimizde Debug klasöründe yeni isimli dll görünecektir.
8- Deploy işlemini yapıp SpTimerV4 resetlenir.
9- Yeni onay formumuz ve eski onay formumuz kullanılır halde olacak ve her iki dll üzerinden akışlarımız işliyor olacaktır.
10- İki akışımızda ilgili kütüphanede görüntülenmektedir.
8
11- Remove a workflow linki ile istersek eski akışımızın yeniden başlama fonksiyonunu durdurabiliriz. Bu işlem için No new Instance seçili olmalıdır.

Latif GÜLER

Galeri | Bu yazı SharePoint içinde yayınlandı ve , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s