2012-12-10 8 views
5

Abbiamo Tridion 2011 e workflow di processo pagina pure. Abbiamo un gestore di eventi sulla pagina pre-salvataggio. Quando l'utente salva una pagina, viene chiamato un gestore di eventi per modificare i metadati della pagina e viene avviato un flusso di lavoro. Quindi il versioning secondario della pagina va a 0.3 su ogni editor salva clic. Quindi, in pratica: 0.1 - Versione di Tridion per pagina Salva 0.2 - Codice di gestore eventi eseguito per salvare i metadati della pagina e causa di Save() chiama questo codice viene chiamato di nuovo per portare alla successiva versione minore 0.3 - Lo stesso codice di gestione dell'evento viene eseguito .Tridion 2011 il flusso di lavoro minori incrementi di versione utilizzando gestore di eventi codice personalizzato

Quello che sto cercando di realizzare è quello di mantenere la versione minore di 0,1 su ogni utente Salva click.

Ho provato Pre Salva Messaggio Salva, check Pre e post check-in e ha cambiato l'ordine di esecuzione vale a dire lo scorso param del sistema di eventi subscribe chiamare, ma non serviva a niente. Quindi, pl. aiutare :)

+2

Bella domanda, potremmo interessarti ad aderire alla [specifica specifica di Area 51 Tridion] (http://area51.stackexchange.com/proposals/38335/tridion?referrer=gPujQMxthNCNn9xqeeO2NA2). Iscriviti con lo stesso account SO se hai un momento. –

risposta

6

Perché si sta chiamando Save() nel vostro evento? Se si apportano le modifiche prima che la pagina viene salvata, allora dovrebbe memorizzare tutto d'un fiato, senza mai chiamare Salva.

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; 
} 

Questo cambierà il titolo della pagina e, come vedi, non chiamo Salva, poiché l'editor lo ha già fatto.

+0

Grazie una tonnellata Nuno, funziona come un fascino ora. –

+0

Dopo aver rimosso la pagina. Salva(), vedo che la cronologia della pagina ha una voce di controllo con l'utente impostato come Tridion Content Manager NT System ... Quando ho avuto la pagina. Salva() - aveva il nome utente che ha salvato il pagina. Quando ho provato page.Session.User.Id .. è l'userid della persona che ha salvato la pagina. –

+0

Il salvataggio viene eseguito nel contesto dell'agente del flusso di lavoro, quindi non l'utente ... –

Problemi correlati