2012-06-01 9 views
5

Estoy escribiendo una página personalizada para Tridion 2009 SP 1 que publica una página basada en la cadena de consulta, que se llamará desde una tarea programada.Tridion 2009 SP1: Página personalizada que usa TDSE. La página publicada permanece en la cola de publicación

estoy usando el siguiente código:

string pageId = Request.QueryString["page_id"]; 
string targetId = Request.QueryString["publication_target_id"]; 

if (string.IsNullOrEmpty(pageId)) 
{ 
    Response.Write("This page is intended to be called automatically with a " + 
       + "page id and publication target id"); 
    return; 
} 

TDSE tdse = new TDSE(); 
string publicationId = pageId.Split('-')[0].Substring(4); 
var publication = tdse.GetPublication("tcm:0-" + publicationId + "-1"); 
var page = tdse.GetPage(pageId, publication); 
var target = tdse.GetPublicationTarget(targetId); 
page.Publish(target, true, false, true); 

Response.Write("Successfully published " + page.Title + " to " + target.Title); 

Esto parece funcionar y puedo ver la página (s) en la cola pero permanecen en el estado "En curso".

Aún puedo publicar páginas manualmente sin problemas.

El registro de despliegue muestra que no está recibiendo el trabajo, sin embargo, puedo ver los elementos en la carpeta c: \ tridion \ work (estoy usando el destino de pub del sistema de archivos local).

¿Alguna idea?

Actualización: aquí está el registro de publicar cuando el editor corría como TcmPublisher/depuración

01/06/2012 14:34:17 <5440> [Publisher]    Queue message [769571] is retrieved from Queue consumer handler for PublishQueue 
01/06/2012 14:34:17 <4896> [Publisher]    Queue message handler for PublishQueue [0] working on queue message 769571 
01/06/2012 14:34:17 <4896> [DefaultPublishTransactionHandler] Handling publish transaction [tcm:0-93950-66560] 
01/06/2012 14:34:17 <4896> [DefaultPublishTransactionHandler] Publishing item [tcm:32-206093-64] from publication [tcm:0-32-1] to target [tcm:0-1-65537] 
01/06/2012 14:34:17 <4896> [Transporting]   Storage location: c:\tridion\incoming\tcm_0-93950-66560.Content\ 
01/06/2012 14:34:17 <4896> [Resolve engine]    Getting resolver(s) for item type Tridion.ContentManager.CommunicationManagement.Page 
01/06/2012 14:34:17 <4896> [Resolve engine]    Using resolver [Tridion.ContentManager.Publishing.Legacy.Resolving.PageResolver] 
01/06/2012 14:34:17 <4896> [Legacy resolving]   Resolving the page [tcm:32-206093-64] took 00:00:00.0136441 
01/06/2012 14:34:17 <4896> [Legacy resolving]   Resolved page [tcm:32-206093-64] with title 'Website Redirects' 
01/06/2012 14:34:17 <4896> [DefaultPublishTransactionHandler] Resolving took: 00:00:00.0468768 
01/06/2012 14:34:17 <4896> [Render engine]    Getting renderer(s) for item type Tridion.ContentManager.CommunicationManagement.Page and template type CompoundTemplate 
01/06/2012 14:34:17 <4896> [Render engine]    Using renderer [Tridion.ContentManager.Templating.TemplatingRenderer] 
01/06/2012 14:34:17 <4896> [Render engine]    Getting renderer(s) for item type Tridion.ContentManager.ContentManagement.Component and template type CompoundTemplate 
01/06/2012 14:34:17 <4896> [Render engine]    Using renderer [Tridion.ContentManager.Templating.TemplatingRenderer] 
01/06/2012 14:34:17 <4896> [Render engine]    Rendering took: 00:00:00.2469570 
01/06/2012 14:34:17 <4896> [Render engine]    Emmbed the result of this rendered component presentation with a tcdl:ComponentPresentation link for component [tcm:32-206079] with template [tcm:32-206080-32] 
01/06/2012 14:34:17 <4896> [Render engine]    Rendering took: 00:00:00.3473678 
01/06/2012 14:34:17 <4896> [Transporting]   Adding rendered item to the transport package: item [tcm:32-206093-64] 'Website Redirects' with template [tcm:32-206092-128] 'z_Htaccess Template' 
01/06/2012 14:34:17 <4896> [Transporting]   Using transport package handler: Tridion.ContentManager.Publishing.Transporting.DefaultPageHandler 
01/06/2012 14:34:17 <4896> [Transporting]   Adding Page tcm:32-206093-64 to the transport package for publishing 
01/06/2012 14:34:17 <4896> [Transporting]   Writing file: c:\tridion\incoming\tcm_0-93950-66560.Content\Pages\site\us\redirects.htaccess 
01/06/2012 14:34:18 <4896> [Transporting]   Adding rendered item to the transport package: item [tcm:32-206079] 'Redirects' with template [tcm:32-206080-32] 'HtAccess Url Redirects' 
01/06/2012 14:34:18 <4896> [Transporting]   Using transport package handler: Tridion.ContentManager.Publishing.Transporting.DefaultComponentHandler 
01/06/2012 14:34:18 <4896> [Transporting]   Add component [tcm:32-206079] with template [tcm:32-206080-32] to the transport package for publishing 
01/06/2012 14:34:18 <4896> [Transporting]   Add schema [tcm:32-190-8] to the transport package for publishing 
01/06/2012 14:34:18 <4896> [Transporting]   Building path for No (tcm:3-64-1024) 
01/06/2012 14:34:18 <4896> [Transporting]   Building path for Yes (tcm:3-63-1024) 
01/06/2012 14:34:18 <4896> [Transporting]   Add binary [tcm:0-0-0] with filename '.htaccess' and path '\site\us\.htaccess' to the transport package for publishing 
01/06/2012 14:34:18 <4896> [DefaultPublishTransactionHandler] Updating the publish transaction with the list of processed items 
01/06/2012 14:34:18 <4896> [Transporting]   Saving the transport package 
01/06/2012 14:34:18 <4896> Sending deploy control [Commit] for transaction [tcm:0-93950-66560] to deployer. 
01/06/2012 14:34:18 <4896> [DefaultPublishTransactionHandler] Publish transaction took 00:00:00.6889970 
01/06/2012 14:34:18 <4896> [Publisher]    Cache statistics: SimpleCache: 14 Regions, 17 Objects, 20 Hits, 17 Misses 
01/06/2012 14:34:18 <4896> Region 'Component': 1 Objects, 6 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'PublishTransaction': 1 Objects, 1 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'PublicationTarget': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'Page': 1 Objects, 3 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'Publication': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'Tdse': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'User': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'PageTemplate': 1 Objects, 2 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'TemplateBuildingBlock': 3 Objects, 5 Hits, 3 Misses. 
01/06/2012 14:34:18 <4896> Region 'ComponentTemplate': 1 Objects, 2 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'StructureGroup': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'Schema': 1 Objects, 0 Hits, 1 Misses. 
01/06/2012 14:34:18 <4896> Region 'Keyword': 2 Objects, 0 Hits, 2 Misses. 
01/06/2012 14:34:18 <4896> Region 'Category': 1 Objects, 1 Hits, 1 Misses. 
01/06/2012 14:34:18 <5440> [Publisher]    Deleting queue message: 769571 from Queue consumer handler for PublishQueue 
+0

¿Entonces se procesa normalmente, lo envía al implementador y el implementador no hace nada al respecto? Eso es realmente extraño. ¿Tendría algo que ver con el nombre de archivo .htaccess? Me pregunto qué está intentando hacer el implementador allí, ¿puedes intentar publicar algo con un nombre diferente y ver si es diferente? –

+0

Hola Nuno, eso es lo que parece. He intentado con mi archivo de sitemap con el mismo resultado, así que no creo que sea el .htaccess. Como digo, puedo publicar tanto bien del CME. ¿Sientes que me falta un parámetro en mi código o algo así? –

+0

Puede intentar especificar el tiempo de publicación e implementación, algo así: Page.Publish (target, true, false, true, DateTime.Ahora, DateTime.MinValue, DateTime.Now); –

Respuesta

4

Esto es bastante extraño, no puedo entender lo que sería la diferencia.

¿Ha intentado habilitar Logs de editor? O incluso mejor, ejecute el editor en modo de depuración (tcmpublisher/debug) e intente descubrir qué está pasando. Como está estancado "en progreso", es probable que el editor sea el responsable de esto.

+0

Hola, Nuno, no estoy seguro de qué ha cambiado, pero ahora está funcionando después de reiniciar el servidor. –

1

"Puedo ver los elementos en la carpeta c: \ tridion \ work" - ¿ves el paquete de transporte descomprimido u otra cosa?

¿Tienes el Deployer iniciando sesión en DEBUG?

+0

Puedo ver el paquete de transporte descomprimido, creo. Sí Deployer está iniciando sesión depuración. –

+0

¿Su publicación personalizada funciona correctamente si publica una página html básica, sin binarios? Mi pregunta sería sobre el '.htaccess' binario. Mientras que esperaría y error, esto es un poco inusual. – JRW

+0

No, el mismo resultado con otras páginas. –

2

Mi sospecha inmediata es que usted está haciendo algo diferente en el lado de CM. De lo contrario, es difícil explicar el éxito de la publicación manual.

Dice que puede publicar páginas manualmente sin problemas. ¿Puede confirmar que funciona para las mismas páginas que fallan a través de la página personalizada?

Y, por supuesto, la siguiente pregunta es si los objetivos de publicación son los mismos. Al publicar a mano, por supuesto, selecciona un tipo de objetivo, pero cuando usa la API, puede seleccionar un tipo de destino o un objetivo de publicación. El texto dice que deberías estar usando un objetivo de publicación. ¿Eres tú? ¿Y es el mismo objetivo de publicación que está conectado al tipo de destino que utilizó manualmente? (Por supuesto, cuando llega a los registros del implementador, solo hay un objetivo de publicación.)

Ha especificado ActivateBlueprinting y RollbackOnFailure. ¿Estas configuraciones reflejan lo que hiciste en tu prueba manual? (Entonces, ¿es la publicación 32 la que usted publicó o un niño?)

+0

Sí, las mismas páginas publican bien. He intentado otras páginas sin éxito utilizando la página personalizada, así que estoy bastante seguro de que tienes razón, ¡pero no estoy seguro de dónde! Voy a verificar dos veces todas las configuraciones. –

Cuestiones relacionadas