|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sharepoint Türkiye > Blog > Kategoriler
|
15.02.2010Sharepoint 2010' da en sevdiğim özelliklerden biri de site iş akışları. Yani iş akışını site seviyesinde uygulayabilme özelliği. Bunu biraz açalım.
Sharepoint 2007 ile arka planda çalışacak, kullanıcıdan her hangi bir değer girmesini beklemeyen workflowları boş bir liste oluşturup o listeye koyardık. Gerektiğinde manuel olarak çalıştırarak işlemi tamamlardır. Site iş akışları sayesinde artık böyle bir ihtiyaç yok. İş akışını listelerden bağımsız olarak oluşturduğumuz için bu tür iş akışlarını bir listeye bağlama gerekliliğimiz de kalmadı. Bu sayede bu tür iş akışlarını site seviyesinde yönetip takip edebiliyoruz.
19.02.2009Sharepoint Designer ile yarattığınız iş akışları çok defa tekrar tekrar sisteme deploy edildiğinde bozulmalar yaşayabilir. Öyle ki bu bozulma sonrasında workflow u tekrar tekrar deploy etseniz bile hala en son bozulmamış haliyle çalışmaya devam edecektir.
Bu durumu kontrol etmek için iş akışınızın içerisine "Log to History List" aktivitesi ile birşeyler yazdırmaya çalışabilirsiniz. Şayet workflowunuzu yeniden çalıştırdığınızda hata verme olasılığı olmayan bu "Log to History List" aktivitesi çalışmıyorsa üzgünüm iş akışınıza ulaşılamıyor, yeni versiyon görülmüyor demektir.
İş akışını listeden silmek ve yeniden publish etmekte malesef burada çözüm olmayacaktır.
Bu gibi durumlarda akışı yeniden yaratmak en kesin çözüm olarak görülmektedir. 18.02.2009
Microsoft Office Sharepoint Designer 2007 aracılığı ile hazırladığınız iş akışlarını test ederken küçük bir ayrıntı dikkatinizden kaçabilir ve sırf bu yüzden saatlerce süren sinir krizleri geçirebilirsiniz.
Sharepoint Designer ile hazırlanan iş akışları tetikleyici kullanıcı "System Account" ise çalışmayacaktır. Dolayısıyla standart bir kullanıcı ile sisteme login olup testlerinizi bu kullanıcıyla yapmalısınız.
Not : Bu sıkıntı SP1 yüklemesi sonrasında yaşanmaktadır.
Sharepoint Designer iş akışlarında kişilere görev ataması için kullandığımız en yaygın iş akış aktivitesi "Collect Data From User" dır. Designer'da bu aktiviteyi kullanmaya başladığınızda varsayılan olarak tek kişiye görev ataması yapabilirsiniz. Ancak ilgili görev listesine gidecek olursanız burada yer alan "Assigned To(Atanan)" alanının değerini değiştirerek birden fazla kişinin seçilebilmesine imkan tanıyabilirsiniz.
Bu malesef sorunumuzu çözmüyor, çünkü her ne kadar yaptığımız değişiklik sonrası artık birden fazla kişiyi seçebiliyor olsak da iş akışı çalıştığında "Collect Data From User" seçtiğimiz kişilerin tamamının "Assigned To(Atanan)" kısmında yer aldığı tek bir görev yaratmış olacaktır.
Şayet seçtiğiniz kişilerin her birine ayrı ayrı görevler atanabilmesini istiyorsanız kullanmanız gereken Sharepoint Designer iş akış aktivitesinin adının "Assign a From To Group" olması gerekir.
Microsoft Office Sharepoint Designer 2007 aracılığı ile iş akışları oluşturabileceğimizi biliyoruz. Bu konudaki makalelere sitemizin makaleler bölümü aracılığı ile ulaşabilirsiniz.
Sharepoint Designer iş akışlarının belkide en kötü özelliklerinden bir tanesi, bu kadar kolay iş akışı oluşturulabilir bir arayüzü bize vermesine rağmen yarattığınız iş akışlarının spesifik olarak bir listeye yaratılmasıdır. Yani Designer aracılığı ile yarattığınız iş akışlarını başka listelerde kullanamazsınız temel olarak. Aynı işi yapan bir iş akışına ihtiyacınız varsa bu sefer o listeyi seçerek aynı akışı yeniden yazmak zorunda kalırsınız. Bu konuya bir çözüm bulabilmek mümkün aslında.
- Sharepoint Designer ile yeni bir iş akışı oluşturun.
- Bu iş akışına sadece bir condition ve bir action ekleyin. Herhangi bir condition ve action olabilir.
- Orjinal iş akışındaki .xoml uzantılı dosyayı XML olarak açın. İçeriğini clipboarda kopyalayın.
- Yeni iş akışınızın .xoml dosyasını XML olarak açın ve az önce kopyaladığınız bilgileri yapıştırın.
- Aynı işlemi .xoml.rules dosyası için de tekrarlayın.
- XOML dosyasını çift tıklayarak tasarım görünümünde açın, "Verify Workflow" butonunu tıklayarak hata almadığınızdan emin olun.
Hepsi bu kadar... 17.02.2009
Bir kütüphaneniz var ve burada formatlı satış ve müşteri memnuniyet raporları oluşturuluyor. Bu iki rapor tipinin aynı kütüphanede olması iş ve yönetim ihtiyaçlarınız açısında önemli. Ama, iki tip raporunda farklı workflowlara tabi olması gerekiyor.
Böyle bir durumda satış rapor ve memnuniyet rapor adında iki adet içerik tipi oluşturuyoruz. İçerik tiplerinin en sevdiğim özelliklerinden biri de kendilerine özel iş akışlarına sahip olabilmeleri. İçerik tipi özelliklerinden ikisine de istediğimiz iş akışlarını oluşturuyoruz. İlgili kütüphaneye bu içeriklere sahip bir doküman eklendiğinde tipine göre farklı iş akışlarına tabi olacaktır. İçerik tipi sayısı ve iş akışının niteliği de tamamen bizim seçimlerimize bağlıdır.
İçerik tiplerinin büyük bir fanatiği olarak, mevcut yapınız içinde uygun alanlarda içerik tiplerini kullanmanızı şiddetle tavsiye ediyorum. Sharepoint üzerinde ister Sharepoint Designer ister Windows Workflow Foundation kullanarak kullanıcılara görev atayan iş akışları dizayn ettiğinizde çoğu zaman görev emailini kurumsal standartlarınıza ve renklerinize uygun bir formatta maille göndermek istersiniz.
Ancak bu aşamada hem sizin yolladığınız email kullanıcıya giderken hemde Sharepoint tarafından otomatik bir email mesajı gönderilir. Bu durumun önüne geçmek için ilgili Görev listesinde Ayarlar>Gelişmiş Ayarlar bölümüne girerseniz burada "Öğelik atandığında e-posta gönderilsin mi" şeklindeki seçeneğe "No" diyerek probleminizi aşabilir, sadece sizin kod ile veya Designer ile gönderdiğiniz maillerin kullanıcılara ulaşmasını sağlayabilirsiniz. Sharepoint kurulumu sonrasında yaptığınız "Outgoing EMail ayarları" sizden kullanılacak bir email adresi ve smtp server bilgisi ister. Bu bilgileri doğru bir şekilde girerseniz alert, iş akışı gibi yapılarda sorunsuz bir şekilde email gönderebilmeye başlarsınız.
Ancak bu durum tekil kullanıcılar için geçerlidir. Malesef mail gruplarına mail gönderiminde hata alırsınız.
Bu durumda Sharepoint içerisinde kullandığınız accountun çoklu kullanıcılara email gönderme yetkisi olup olmadığını kontrol etmelisiniz. Zira zaten exchange serverdan size geri dönen yanıtta yetkinizin olmadığı yönünde olacaktır. Sharepoint Designer üzerinde geliştirdiğimiz iş akışları her zaman komplex yapılar içermez. Bazen girilen bir duyurunun hedef kitledeki insanlara email ile gönderimi de bir iş akışı olarak adlandırılabilir.
Böyle bir senaryomuz olduğunu varsayalım. Elinizde duyurularınızı girdiğiniz bir custom list var ve siz bu listeye yaratacağınız "People and Group" türündeki alanlara gireceğiniz kişilere TO ve CC tablarında email göndermek istiyorsunuz. Bu işlemde şayet people and group türündeki alana tek bir kullanıcı verisi giriyorsanız sorun değil ancak bu alanı yaratırken "Allow Multiple Selections" ibaresini işaretlediyseniz bırakın email göndermeyi Sharepoint Designer iş akışında sözkonusu alanı göremezsiniz bile.
Aslında bu bir sorun teşkil etmiyor çünkü çözümü var. Çözüm için aşağıdaki adımları uygulayabilirsiniz.
- Öncelikle ilgili listenizde yer alan "People and Group" türündeki alanı tekrar tek seçimli hale getirin. Yani "Allow Multiple Selection" seçeneğini "No" olarak işaretleyin. (Eğer daha önceden kayıt girmiş durumdaysanız yapacağınız bu işlem kayıtları silecektir.)
- Şimdi Sharepoint Designer'ı açın ve yeni bir iş akışı oluşturun.
- Artık alanının tekli değerler alır durumda olduğundan sözkonusu alanı görebiliyorsunuz. Buna göre iş akışınızı hazırlayın.
- İşlem bittiğinde iş akışını yayınlayın ve listeye tekrar gidip people and group türündeki alanınızın değerini yine "Allow Multiple Selection" , "Yes" yapın.
Hepsi bu, iş akışının çok kullanıcılara da başarıyla email gönderdiğini gözlemleyeceksiniz. 09.02.2009
Microsoft Office Sharepoint Designer 2007 kullanarak geliştirdiğiniz iş akışlarında en büyük sorunlardan bir tanesi veritabanı bağlantısı yapamıyor olmanız ve AD işlemlerini gerçekleştiremiyor olmanızdır.
Örneğin iş akışı içerisinde kullanıcının yönetici (manager) bilgisini getirmek ve görevi bu kişiye atamak herhalde en çok istenen ve sorulan özelliklerdendir. Şayet yönetici bilgisi bir veritabanında yuer alıyorsa bu işlem için WFServiceManager iş akışı aktivitesini kullanabilirsiniz. WFServiceManager yazacağınız bir .Net assemblysine parametre olarak username i göndermenizi ve dönen manager bilgisini iş akışında kullanabilmenizi sağlayacaktır.
Eğer manager, departman, display name gibi active directory de bulunan bazı alanları okumak ve iş akışı içerisinden buna göre işlem yapmak istiyorsanız WFServiceManager yine sizin için bir alternatifken doğrudan bu işlemi yapmak için özel bir aktivite de yazılmış durumda.
Edin Kapic'in bu konuda yazdığı blog postunu görüntülemek için burayı, wsp dosyasını download etmek için burayı ve full paketi download etmek için burayı tıklayabilirsiniz.
|
|
|
|
|
|
|
|
 |
 |
Copyright (c), 2008-2009 Sharepoint Türkiye
Site içerisinde yayınlanan
tüm makale ve dokümanların yazım ve yayınlama hakkı aksi belirtilmediği
sürece sadece yazarlara aittir.
Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması
5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. |
 |
|