En Tridion 2011 SP1 estoy intentando implementar un evento que publicará elementos automáticamente siempre que el editor presione Guardar Guardar & Cerrar (pero no Guardar).Sistema de eventos: ¿Cómo saber si el editor hizo clic en Guardar o Guardar y cerrar?
En condiciones normales, esto podría ser manejado en un evento CheckIn, pero debido a que este elemento probablemente estará en flujo de trabajo, no hay evento CheckIn (todavía).
En COM Events teníamos una bandera (doneEditing) para indicarnos si el editor había presionado save & close vs Save. Parece que no puedo encontrar una opción similar en los eventos de TOM.NET.
Como referencia - aquí está el código hasta ahora:
[TcmExtension("Publish to Wip Events")]
public class PublishToWip : TcmExtension
{
public PublishToWip()
{
EventSystem.SubscribeAsync<VersionedItem, SaveEventArgs>(PublishItemToWip, EventPhases.TransactionCommitted);
}
private void PublishItemToWip(VersionedItem item, SaveEventArgs args, EventPhases phases)
{
// Magic goes here
}
}
He mirado en las opciones para SaveEventArgs, pero no he encontrado nada que me proporcionaría esta información. ¿Algun consejo?
En lugar de la fase procesada, es probable que desee utilizar la fase TransactionCommitted para este evento CheckIn. De esta forma, está seguro de que la acción de guardar y cerrar realmente terminó y no encontró un error en algún lugar de su proceso. Esto también es lo que describí en la matriz de eventos en mi artículo sobre Event System en SDL Tridion World http://sdltridionworld.com/articles/sdltridion2011/sdltridion2011eventsystem.aspx –
Lo probaré en TransactionCommitted. No estoy seguro de que funcione porque el CheckIn nunca sucede en realidad - el artículo está en flujo de trabajo. –
Sí, esa es la única cosa que de hecho no creo que haya considerado cuando escribo la matriz de antigua a nueva. Estaría interesado en saber si la transacción se confirma o no. –