2012-12-10 9 views
5

Tridion 2011 ve sayfa işlem iş akışımız da var. Sayfa ön kaydında olay işleyicimiz var. Kullanıcı bir sayfayı kaydettiğinde, sayfa meta verilerini değiştirmek için bir olay işleyicisi çağrılır ve bir iş akışı başlatılır. Bu yüzden, sayfanın küçük versiyonları, her editörün kaydettiği tıklamada 0,3'e gider. Yani temel olarak: 0.1 - Tridion sürümü için sayfa Kaydet 0.2 - Sayfa meta verilerini kaydetmek için kaydedilen olay işleyicisi kodu ve Save() çağrısı nedeniyle bu kod bir sonraki küçük sürüme yönlendirmek için tekrar çağrılır 0.3 - Aynı olay işleyicisi kodu çalıştırılıyor .Tridion 2011 iş akışı küçük sürüm artışları olay işleyicisi kullanarak özel kod

Neyi başarmaya çalışıyorum, her kullanıcıda minik sürümü 0,1 olarak tutmaktır.

Post Save, Pre Check in ve Post Check'i Kaydet'i denedim ve yürütme sırasını değiştirdim, diğer bir deyişle, etkinlik sisteminin son paramiti çağrıya abone oluyor ancak hiçbir şey yardımcı olmuyor. Yani, pl. yardım :)

+2

Güzel bir soru, [Area 51 Tridion'a özel teklif] 'e (http://area51.stackexchange.com/proposals/38335/tridion?referrer=gPujQMxthNCNn9xqeeO2NA2) taahhütte bulunduğunuz ilginizi çekebilir miyiz? Bir an varsa aynı SO hesabı ile kaydolun. –

cevap

6

Etkinliğinizde Save() öğesini neden arıyorsunuz? Değişikliklerinizi sayfanın kaydedilmesinden ÖNCE yaparsanız, Kaydet'i aramadan her şeyi bir seferde saklamalıdır.

public PageEvent() 
{ 
    EventSystem.Subscribe<Page, SaveEventArgs>(ChangePageTitle, EventPhases.Initiated); 
} 
private void ChangePageTitle(Page page, SaveEventArgs args, EventPhases phases) 
{ 
    page.Title = "Nuno was here " + page.Title; 
} 

Bu, sayfa başlığını değiştirecek ve gördüğünüz gibi, editör zaten bunu yaptığından, kaydet'i kaydetmiyorum.

+0

Bir ton Nuno teşekkürler, şimdi bir çekicilik gibi çalışır. –

+0

page.Save() öğesini kaldırdıktan sonra sayfanın geçmişinin Tridion Content Manager NT System olarak ayarlanmış kullanıcı ile bir denetim girişi olduğunu görüyorum ... Sayfamı ne zaman çektim?() - kaydedilen kullanıcı adı vardı. sayfa. Page.Session.User.Id'yi denediğimde, sayfayı kaydeden kişinin kullanıcı kimliği. –

+0

Kaydetme iş akışı aracısı bağlamında yürütülür, ancak kullanıcı değil ... –

İlgili konular