2012-06-01 17 views
5

Sto scrivendo una pagina personalizzata per Tridion 2009 SP 1 che pubblica una pagina basata sulla stringa di query, che verrà chiamata da un'attività pianificata.Tridion 2009 SP1: Pagina personalizzata che utilizza TDSE. La pagina pubblicata rimane nella coda di pubblicazione

Sto usando il seguente codice:

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

Questo sembra funzionare e posso vedere la pagina (s) in coda ma rimangono nello stato "In corso".

Posso ancora pubblicare le pagine manualmente senza problemi.

Il registro del deployer indica che non sta ricevendo il lavoro, tuttavia è possibile vedere gli elementi nella cartella c: \ tridion \ work (sto utilizzando il target del pub del file system locale).

Qualche idea?

Aggiornamento: ecco il registro di pubblicazione quando la casa editrice era in esecuzione come TcmPublisher/debug

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

Quindi esegue il rendering normalmente, lo invia al deployer e il deployer non fa nulla al riguardo? Questo è davvero strano Avrebbe qualcosa a che fare con il nome del file .htaccess? Mi chiedo che cosa stia cercando di fare il deployer, puoi provare a pubblicare qualcosa con un nome diverso e vedere se è diverso? –

+0

Ciao Nuno, è quello che sembra. Ho provato con il mio file Sitemap con lo stesso risultato quindi non penso che sia il .htaccess. Come ho detto, posso pubblicare entrambe le ammende dal CME. Mi sento come se mi mancasse un parametro nel mio codice o qualcosa del genere? –

+0

Si potrebbe provare a specificare l'ora di pubblicazione e distribuzione, secondo le seguenti linee: Page.Publish (target, true, false, true, DateTime.Ora, DateTime.MinValue, DateTime.Now); –

risposta

4

Questo è abbastanza strano, non riesco a capire quale sarebbe la differenza.

Hai provato a abilitare i registri di Publisher? O ancora meglio, lancia il publisher in modalità debug (tcmpublisher/debug) e cerca di capire cosa sta succedendo. Dal momento che è bloccato "In Progress" è probabile che l'editore sia il responsabile di questo.

+0

Ciao Nuno, non sono sicuro di cosa è cambiato, ma ora funziona dopo il riavvio del server. –

1

"Riesco a vedere gli elementi nella cartella c: \ tridion \ work" - vedi il pacchetto di trasporto decompresso o qualcos'altro?

Avete il Deployer che accede a DEBUG?

+0

Posso vedere il pacchetto di trasporto decompresso credo. Sì Il deployer accede al debug. –

+0

La tua pagina personalizzata viene pubblicata correttamente se pubblichi una pagina HTML di base, nessun file binario? La mia domanda sarebbe sul binario ".htaccess". Mentre mi aspetterei e l'errore, questo è un po 'insolito. – JRW

+0

No, lo stesso risultato con altre pagine. –

2

Il mio sospetto immediato è che si sta facendo qualcosa di diverso sul lato CM. Altrimenti è difficile tenere conto del successo della pubblicazione manuale.

Si dice che è possibile pubblicare le pagine manualmente senza problemi. Puoi confermare che funziona per le stesse pagine che falliscono tramite la pagina personalizzata?

E naturalmente la prossima domanda è se gli obiettivi di pubblicazione sono gli stessi. Quando si pubblica a mano, ovviamente, si seleziona un tipo di destinazione, ma quando si utilizza l'API, è possibile selezionare un tipo di destinazione o una destinazione di pubblicazione. Il testo dice che dovresti usare un obiettivo di pubblicazione. Tu sei? E lo stesso obiettivo di pubblicazione è collegato al tipo di Target che hai utilizzato manualmente? (Naturalmente, quando raggiunge i registri del deployer, c'è solo un obiettivo di pubblicazione.)

Hai specificato ActivateBlueprinting e RollbackOnFailure. Queste impostazioni riflettono ciò che hai fatto nel tuo test manuale? (Quindi la pubblicazione 32 è quella pubblicata o un bambino?)

+0

Sì, le stesse pagine pubblicano bene. Ho provato altre pagine senza successo usando la Pagina personalizzata, quindi sono abbastanza sicuro che tu abbia ragione, ma non sono sicuro di dove! Controllerò tutte le impostazioni. –

Problemi correlati