Kategori Arşivleri: SharePoint iş akışı

Site oluşturma (SPWeb) SharePoint Designer Workflow ile

Bu blog girişi değil bir "olarak mümkün olan bir bölge" giriş vs. somut bilgi.

Biz bize bir el ile başlatılan iş akışı süreci ile bir site koleksiyonundaki bir site oluşturmak çağırır bir teknik tasarımı var. Temelde, kullanıcılar verileri "yeni müşteri girin." Özel liste ve o zaman ne zaman onlar bitmiş ve veri giriş süreci geçerliliği, bir müşteriye ait bir site oluşturmak gerekiyor..

Ben de bildirime dayalı iş akışının büyük bir hayranıyım, hem de zayıf visual studio iş akışı programcı, SharePoint Designer kullanarak ihtiyacını karşılamak istedim..

Bu konuda daha ayrıntılı olarak yazmayı planlıyorum. (ve umarım bir kullanıcı grubu ya da önümüzdeki yıl iki mevcut), Ancak burada genel çözüm:

  • SPD ile entegre bir özel eylem oluşturma.
  • Özel eylem SPD bir web hizmetini çağırmak ve bir XML dizesi geçmek izin verir..
  • Web hizmeti özel listesinde satır bulur ve bu yeni bir müşteri için özel site tanımı kullanarak verilere göre yeni bir site oluşturur.
  • Web hizmeti daha sonra yeni site için bir bağlantı gibi bazı bilgiler özel listeyi güncelleştirir.

Biz diğer yaklaşımları dikkate, olay işleyicileri ve visual Studio'nun tabanlı iş akışı gibi. SPD yaklaşım bizim son kullanıcılar süreci biraz daha fazla kontrol imkanı. Verilen, C# kodu Bu çözümde bir sürü, Ama bir bildirime dayalı iş akışı içinde sarılır, Bu yüzden bazı faydalar bildirime dayalı iş akışının site oluşturma hizmeti çengel iken olsun.

Şimdi ihtiyacımız olan tek şey, görsel stüdyo iş akışları için SPD iş akışlarını olabildiğince kolay bir şekilde otomatik olarak taşımak için kolay bir araç ve gerçekten gazla yemek pişireceğiz 🙂 Bazı kişilerin bu sorun üzerinde çalıştığını anlıyorum ve umarım yapmışlardır. yakında onunla bazı iyi başarılar.

</sonunda>

Benim blog abone.

Technorati Tags: ,

SharePoint Designer iş akışları Web servisleri ile entegre

Özel eylemler için SharePoint Designer ile bir süredir oynuyorum (Buraya bakın Detaylı şeyler için, Eğer ilginizi).

Benim geçerli projede, Biz bazı oldukça ağır işi yapmak gerekir ve ilişkili iş süreci yönetmek için tanımlayıcı SPD iş akışı kullanmak istiyoruz.

Uzun lafın kısası, Bu tamamen mümkündür. Benim Codeplex Projesi "Yardımcısı hizmeti çağırmak için genişletilmiş" ve şimdi bir web hizmetten doğrudan bir SPD iş akışı çağırabilirsiniz.

İşte imzası:

 Genel dize Dağıtıcı(
        GUID WebID, // Çalışma zamanı ortamı tarafından geçirilen
        GUID Site Kimliği, // Çalışma zamanı ortamı tarafından geçirilen
        dize ListId, // RTE tarafından geçirilen (bilmiyorum bu yüzden bu bir dize, bir GUID)
        int ListItemID, // RTE tarafından geçirilen.
        dize XmlMessage) // SPD'de ilan gibi kullanıcı tarafından geçirilen.

Bu önemli iş akışı bilgilerini alabilirsiniz Aslında güçlendirir, site gibi, liste kimliği, vb. Bu iyi o kendi özel eylemler oluşturmak istiyorsanız sizin için çeşitli yerlerde belgelenmiştir. Bir fikir olarak uygun bir yordam gönderme için kullanıcı tarafından sağlanan XML dizesi ayıklamak için. Eğlenceli sayfalar!

Ne yazık ki, Bu tabii ki aşağı gidiş bileti vardır. "Loosey alışıyorum" Anti-desen arazi, ama bir tuğla duvara çarpmaktan daha iyidir 🙂

Anti-bir model olduğunu bilmene rağmen bunu Anti-bir desen var mı?

Bu yakın gelecekte Codeplex içinde tamamlamayı umuyoruz. Bana bunu yaparken ilgileniyorsanız, poke ver (E-posta ya da bir yorum bırakın) ve bunu yapma konusunda çok daha hevesli olacağım 🙂

</sonunda>

Benim blog abone.

Technorati Tags: ,

spd iş akışı “Bir kullanıcı verilerini toplamak”: Oluşturulan görev formunu değiştirme

Beş farklı SharePoint Designer iş akışlarıyla bazı belge onaylar işlemek için kullandığı bir proje üzerinde çalışıyorum. SPD "toplamak veri--dan bir kullanıcı sağlar" eylem kullanıcı için farklı bit bilgi isteyebilir,, yoksa onlar onaylama gibi, bazı yorum ve ne için akşam yemeği, gece vardı belki sorun.

Mükemmel işlevseldir biçimleridir. Bir içerik türü olarak görev listesini bağlılar. Onlar 100% sistem tarafından oluşturulan. Onların gücü ve zayıflık bu. Eğer biz-ebilmek yaşamak ile varsayılan form, Biz gitmeye hazırız. Ancak, Biz nasıl SPD formu oluşturur üzerinde çok fazla denetim yok. Eğer biz bu varsayılan davranışı sevmiyorum, Biz çeşitli hileler etrafında almak için başvurmak gerekir (Örneğin, görev önceliği ayarlama).

Bu görev Form Görünümü özelliklerini açılan bir bağlantıyı sağlamak için gerekli (DispForm.asxp) "ilgili madde" yeni bir pencerede. Bu meta veri ilgili maddenin tek tıklamayla erişim sağlar. Ne demek bu:

görüntü

Neyse ki, Bunu yapabiliriz ve çok zor değil. Genel olarak, spd kadar yangın, iş akışı dosyaları ev dizinine gidin ve değiştirmek istediğiniz ASPX dosyası aç. Bunlar sadece klasik XSL dönüşüm yönergeleri ve sen itemstyle.xsl ile mucked Eğer, Arama veya xsl senaryo, Bu senin için kolay olacak. Aslında, Oluşturulan form ile karşılaştırıldığında arama temel sonuçları web bölümü izleyin biraz daha kolay olduğundan genellikle daha kolay olması için buldum (ya da kabus cwqp).

Elbette, bir büyük hatadır olduğunu. Bu dosya üzerinde tam denetime SPD iş akışı Düzenleyicisi bekliyor. Değiştirirseniz, SPD mutlu sağ koşullar küme ur değişiklikleri vermek üzerine yazılır. Ne kadar kötü olsun görmek için iki hızlı testler yaptı. Her ikisi de "veri toplama bir kullanıcının kullandığı geçerli bir SPD iş akışı hazırlanmış gerektirmektedir" Adım.

Sınama 1:

  • aspx dosyasına el ile değiştirme.
  • Test (Değişikliklerinizin düzgün kaydedildi ve bir şey didn't break doğrulayın).
  • İş akışını açmak ve ilgisiz eylem ekleme ("günlük gibi tarihi").
  • İş akışını kaydetmek.

Sonuç: Bu durumda, spd formu yeniden değil.

Sınama 2:

  • Aynı yapmak #1 "veri toplama bir kullanıcıdan doğrudan dışında değiştirme" Eylem.

Sonuç: Bu sıfırdan form oluşturur, Değişikliklerinizi işletim.

Son notlar:

  • Formları böyle en az iki spd eylem oluşturma: "Bir kullanıcı verilerini toplamak" ve "Öğesi için atarlar". Bu eylemlerin her ikisi de’ Form el ile değiştirilebilir..
  • I was güçlü-e doğru çünkü dispform.aspx benim bağlantı oluşturmak için, Bu durumda, relate öğe her zaman onun kimliği ilgili öğenin URL'sini içinde gömülü olan. Hulâsa o ve o zaman inşa etmeyi başardı bir <bir href> tek tıklamayla meta veri erişim özelliği sağlamak için temel. Bu URL bu kuralı izler düşüktür. İlgili öğenin kimliği almak için başka yollar olabilir ama ben o köprüden olmadı, Eğer bilmiyorum için other side of the chasm alır.
  • Ben araştırmak değildi, ama ben şablon dosyasında bir tür ise sürpriz olmaz 12 spd varsayılan formları nasıl oluşturduğu etkiler değiştirebilir yığını (gibi çok uyarı şablonları değiştirebilirsiniz).

</sonunda>

Benim blog abone!

Çözüm (çeşit): SharePoint Designer kullanarak görev üzerinde set öncelik

Ben böyle bir iş senaryosu var:

  • Bir kullanıcı bir belgeyi belge kitaplığına eklerse..
  • O bir içerik türünü seçer ve meta verileri gerektiği gibi girer. Meta veri alanlarından bir bayraktır, "Acil".
  • Bu SharePoint Designer iş akışını tetikler bu, diğer şeyler arasında, "toplamak veri--dan bir kullanıcı kullanır" Eylem.

"Kullanıcıdan veri topla" Bu belge için onay isteyen bir görev listesindeki öğe oluşturur.

Acil istekler onay gösterdi görev listesi görünümünü oluşturmak için gerekli.

Çözüm: Kelime "Acil koymak:" Bu görevleri başlık.

Öncelik alanını doğrudan belirtmek tercih ederdim. Ancak, Çeşitli nedenlerle bunu yapamaz:

  1. Veri toplama eylem başlık dışında herhangi bir alanı güncelleştirmek için bir mekanizma sağlamaz (ve bu ek alanların verilerini toplamak istediğiniz).
  2. "Ata bir öğe için" eylem aynı sorun var.
  3. Listeye öğe ekleme olanağı vardır (Yani. bir öğeyi doğrudan görev listesine ekle) Ama bu değil önleyici eylemi. Bu iş akışını bu görevi tamamlamak kullanıcı için beklemeyecek anlamına gelir.

Daha önce birkaç yaklaşım olarak kabul (Neyse ki) Biz sadece fark "Acil koymak" Başlık.

  1. Yeni bir görev oluşturulduğunda görev listesinde iş akışı başlatın, bir şekilde çapraz başvuruları geri ilk iş akışını başlatan belge, Acil bayrak değeri çekin ve gerektiğinde öncelikli güncelleştirme.
  2. Bir olay alıcısı ile benzer bir şey yapmak. Görevi oluşturacağınız, ilgili belge ve gerektiği şekilde güncelleştirme öncelikli bulun.
  3. "Oluşturma, liste öğesini kullanma" eylem "bekle alan değişikliği ile birlikte" eylem ve bir olay alıcı. Eğer biz bir liste öğesi oluşturma, Biz Biz istediğiniz tüm alanları belirtin. Kullanıcı görev ve alan değişikliği "bekle tamamladığında özgün öğe güncelleştirmek için bir olay alıcı kullanın" eylemin koşul karşılanması ve iş akışı sürdüreceğini. (İçin biraz neden, Az bir süre uzaklaşmak akıllıca vermeden önce bu yaklaşım yerleşmiş olan).

Benim çözüm için bir dezavantaj olduğunu. (sadece başlık metin aciliyet gösteren bariz taşıdığımız). "Görüş topla beri" yalnızca sabit kodlanmış başlık adları kabul eder, İki farklı görüş topla eylem olan tek fark o sabit kodlanmış başlıktır kullanmak gerekir.

Ama, En azından olay alıcıları veya özel SPD eylem gerektirmeyen bir çözüm yoktur..

Eğer birisi bu daha akıllıca bir yol çözmüştür, Lütfen bana bildirin.

</sonunda>

Hızlı ve kolay: InfoPath formu SharePoint Designer Email--dan otomatik olarak açma

GÜNCELLEŞTİRME: Bu linkten Madjur Ahuja işaret bir haber grubu tartışma: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. Çok kesin.

===

Genellikle SharePoint Designer iş akışları gönderilen e-postalarda InfoPath formları köprüler katıştırmak istediğiniz. Ne zaman kullanıcı bu e-postaları almak, e-posta bağlantısını tıklayın ve doğrudan InfoPath formuna gitmek.

Bu canavar URL inşaat İnşaat için beni:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.XML&Kaynak = http % 3A % 2F % 2Fserver % 2Ecorp % 2Edomain % 2Ecom % 2Fsites % 2Fdepartments % 2FTechnical % 2520Services % 2FInformationTechnology % 2FHelpDesk % 2FREC % 2520REM % 2520RED % 2520Forms % 2FForms % 2FAllItems % 2Easpx&DefaultItemOpen = 1

Kalın kırmızı metin formu ile değiştirin, Aşağıdaki ekran görüntüsünde gösterildiği gibi:

görüntü

O URL'ye kodlanmış yolundaki bir sürü Not, bir URL olarak kodlanmış bileşeni yanı sıra. Eğer bu özel durumunuza çevirmek çok zor, form kitaplığı için uyarı açmayı deneyin. Post bir form ve e-posta geldiğinde, e-postanın kaynağını görüntülemek ve eklemek için her şeyi görürsünüz.

Zeki okuyucular yukarıdaki e-posta vücut da doğrudan görev filtrelenmiş bir görünümü aracılığıyla erişen bir bağlantı gösterir fark edebilirsiniz. Ben bir gelecek sonrası daha ayrıntılı olarak açıklamak için plan.

</sonunda>

Technorati Tags:

MOSS söyledi. “Erişim engellendi” bir iş akışı görevi düzenlemek için, Ama ben gerçekten erişimi

"NT_AUTHORITYAuthenticated kullanıcılar için salt okunur ağırlıklı olduğu bir sitedeki SharePoint Designer'ı kullanarak iş akışını uyguladık." (Yani. Herkes). İşte bir formlar kitaplığına InfoPath formu için. Ne zaman iş akışı çalışır böylece bir ilişkilendirilmiş iş akışı görevleri listesi de olduğunu, kişilere görev atayabilir.

Böylece herhangi bir kimliği doğrulanmış kullanıcı formları oluşturma ve atanan görevleri güncelleştirmek izin formları kitaplığı ve görev listesi için break.

Benim düşük ayrıcalıklar sınama hesabı ile test.

Ben bir form kitaplığına doldurup kaydedin? –> EVET

Görev e-posta bağlantısı erişebilir? –> EVET

Bir düzenleme iş akışı görev bağlantısı görebilir miyim –> EVET

Bu bağlantıyı tıklatabilirsiniz? –> HAYIR … İzin verilmedi.

Neden üzerine tıkladığımda bana izin vermez bir düzenleme bağlantısı görebilir miyim? Bu nasıl işe olmaması…

Güvenlik Yapılandırması tekrar gidin., çok yakından. Yine aynı şeyi. Bu yazı silme düşünün. Çünkü belli ki güvenliği hakkında hiçbir şey bilmiyorum.

Nihayet, Belgili tanımlık enterne aramak. Ben bulmak pek mümkün değil bu MSDN forum iplik: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Posterler bir sürücü plakalı iş akışı verme basit hareket MOSS güvenlik sorunu çözecektir düşündüren görünüyor? Bu yazdığım pek inanamıyorum. Ben ve South Park bölüm hakkında hatırlattı 9/11 Stan nerede bizim Preznit soruyor komplo, "Gerçekten?" tekrar tekrar.

Yani, Kaybedecek bir şey yok, SPD ateş, iş akışı üzerinde sağ tıklatın ve benim c-kaydedin:\ sürücü. Bu c olur:\ sürücü üstünde benim laptop. Böylece hiç kimse-ecek sormak bana o zaman bütün omzumun üstünden arıyorum, "Neden o iş akışının dizüstü bilgisayarınıza kaydettiğiniz?"

İnanılmaz derecede, Bu yöntem sorunumu çözdü. Görev düzenleyebilirsiniz.

Bu vesile ile bu en tuhaf iş akışı geçici olarak olarak aday gösteriyorum 2007.

</sonunda>

Technorati Tags:

SharePoint Designer, Geçerli maddenin “Kodlanmış mutlak URL” ve HTTPS

Biz kez madde veya iş akışının tetiklenip belge bir köprü içeren bir e-posta göndermek istiyorum. Geçerli maddenin "kodlanmış mutlak URL kullanabilirsiniz" Bu amaç için. Ancak, her zaman "http kullanmak gibi görünüyor" URL protokolü için. Sitenizi HTTPS üzerinde çalışıyorsa, o zaman o sizin için çalışmaz.

görüntü

Bildiğim kadarıyla, Bu sorunun çözümü kutusu çıkış yok. HTTPS kullanmanız gerekiyorsa, sen-si olmak hayır kutusu seçeneği.

Bunu çözmek için, iş akışınızda kullanılacak dize Değiştir işlevi sağlar bir özel eylemi oluþturmak. Alternatif olarak, Burada mükemmel paket gibi 3 ait bir araç kullanın: http://www.codeplex.com/spdwfextensions 🙂

</sonunda>

SharePoint Designer e-posta gönderir ???? e-posta ile

Zaman zaman forum kullanıcıları isteyin: Neden SharePoint Designer koyuyor mu ???? bir alan değerinin yerine benim email?

Sevk değişkeni null olduğu için böyle bir nedenidir.

"Geçerli öğedeki bir alana başvuruda bulunmak çalıştığınız için bu olabilir" Ama kullanıcı hiç bir değer bu form alanı girdi..

<sonunda />

Technorati Tags:

Karşılaştır / SharePoint Designer Workflow boş tarihler için test

Senaryo: Bir SharePoint Designer workflow, bir tarih alanı boş olup olmadığını belirlemek gerekir.

Sorun: SPD bir tarihi dışında bir tarih karşılaştırmak için doğrudan bir yöntem sağlamaz. Böyle bir durumu oluşturamıyor: "Eğer [DateField] boş eşittir".

Çözüm: Tarihi bir dizgeye dönüştürür. Dize karşılaştırma tarihi boş olup olmadığını belirlemek için kullanın.

Ekran görüntüleri:

Aşağıdaki ekran görüntüleri bunun nasıl yapılacağını göster. Bu senaryoda, bir öğe üzerinde bir alan, "Çevre izni:İlk anımsatıcı tarihi izin", gönderilen ve iş akışı yanıt olarak harekete.

görüntü

görüntü

Notlar:

Ne zaman ı güvenilir bu, Bunun işe yaradığını öğrenmek hoş şaşırdı. SharePoint Designer dize atama izin verme merak ettim (Değişken:StringReminderDateDate) Ama o izin vermedi.

Ayrıca bu izin verilmesi söz konusu, değer null ve çalışma zamanında WF ya havaya bırakılabilecek veya belki de küresel sıcaklık yükseltmek 1/2 bir derece, Ama endişeleri asılsız olduğunu.

</sonunda>

Technorati Tags:

SharePoint Designer Workflow özel eylem — Gözlem hakkında <FieldBind Tasarımcısı türü =”StringBuilder” … />

Sadece hızlı bir gözlem bu iki tanım arasında çok önemli bir fark yoktur:

<FieldBind alanı "InParam1 =" DesignerType = "StringBuilder" İd = "2" Metin "Giriş parametresi #1" = />

karşı:

<FieldBind alanı "InParam1 =" İd = "2" Metin "Giriş parametresi #1" = />

İlk böyle SPD'de gösterir:

görüntü

Bu gösterir ikinci:

görüntü

Bu ekran görüntülerinin ne kadar yararlı olduğundan emin değilim ama onları yapmak için çok çaba harcadım, böylece onları görmelisiniz 🙂

Burası gözlem: StringBuilder dize oluşturmanıza olanak verir. (Açıkçası) dize hazır bilgi ve iş akışı verilerini birlikte karıştırılarak ("Add arama" sol alt köşedeki düğme). Ne zaman arama Ekle düğmesini kullanın, formda bir jeton ekler"[%belirteç %]". Ne zaman özel eyleminiz SharePoint çağırır, (C# kodu benim durumumda), SharePoint belirteci geçirmeden, belirtecin değeri değil. Varsayılan Tasarım türünü kullanıyorsanız (ikinci tip), SharePoint belirteci genişletiyor ve eylem için belirteci gerçek değerini geçer.

StringBuilder = kötü, Varsayılan Tasarım türü iyi =.

Elbette, değil ne demek istediğim gerçekten o. Sadece deneyin ve tasarımcı yazdığınızda özel eyleminiz bir parametre iletmek StringBuilder =. İş akışı içinde karmaşık dizeleri oluşturmak gerekiyorsa, varsayılan tasarımcı türü ve zinciri bir StringBuilder bunu ön kullanın (hangi tesadüfen bir e-posta eylem dinamik bir konu oluşturmak için yaptığı şey, Ama bu başka bir blog girişi için bir konu, har har).

<sonunda />