2012-08-29 83 views
4

我們目前的設置是我們有兩個目標,分段和實時。協作者可能會在受影響的組件仍在工作流程中時更新它們。最終活動設置爲將相關頁面發佈到Live。是否可以從工作流程內發佈組件更新(修訂版本,例如2.2,2.5)到Staging?是否可以在工作流程中發佈組件修訂版本?

對於Page.Publish()方法的TOM API文檔似乎沒有用於fullfil這種用途的輸入參數。

編輯:我們目前的設置的其他細節:我們試圖發佈的頁面有一個「自定義渲染器」,可以這麼說。頁面模板設置爲遞歸地從某個文件夾中拉出組件,並相應地構建HTML。使用的方法是Folder.GetItems(OrganizationalItemItemsFilter)。它檢索組件列表及其數據。該頁面沒有組件演示文稿。

回答

2

對於使用頁+ ComponentPresentations +工作流標準外表套上溶液即,這就足夠了:

Publish()方法設置activateWorkflow參數True將發佈工作流程版本。這是第三個參數:

Public Function Publish(ByVal targets As Variant, 
      ByVal activateBlueprinting As Boolean, 
      ByVal activateWorkflow As Boolean, 
      ByVal rollbackOnFailure As Boolean, 
      Optional ByVal publishTime As Date = 0, 
      Optional ByVal unpublishTime As Date = 0, 
      Optional ByVal deployTime As Date = 0, 
      Optional ByVal resolveComponentLinks As Boolean = True, 
      Optional ByVal priority As TDSDefines.EnumPublishPriority = Normal, 
      Optional ByVal ignoreRenderFailures As Boolean = False, 
      Optional ByVal maximumRenderFailures As Long = 0) As String 

參考:TOM API文檔: 「activateWorkflow |指示是否該項目正在從用戶的工作名單公佈出來(非/重)。」


但是,如果定製渲染器用於構建頁面輸出,就像使用Folder.GetItems()檢索模板中的組件一樣,則需要額外的調用才能實際檢索Nuno的最新版本組件(如version-zero -v0 trick)。

請注意,如果您決定這樣做,最新版本將始終發佈到您的目標,並且可能不完全是「已批准」的內容。

+0

我嘗試使用'activateWorkflow'參數,它適用於我們的工作流程之一。謝謝。 但是,它仍未發佈使用「自定義渲染器」發佈頁面的另一個工作流程的修訂版。請參閱我最近更新的問題。 –

+1

您必須以具有查看WF修訂版權限的用戶身份執行發佈。這意味着要麼作爲管理員,要麼作爲當前擁有WF項目的用戶(顯式地作爲該用戶或通過模擬)。很有可能您的自定義渲染器不會執行此操作。你有機會接觸Tridion論壇嗎?有關如何在https://forum.sdltridion.com/topic.asp?TOPIC_ID=7504上更好地進行修訂的有趣討論。 –

+0

是的,我可以訪問論壇。我必須從模板中嘗試'-v0'技巧和模擬。你可能是對的,'Folder.GetItems'方法可能只能檢索最新版本(不是修訂版本)。 –

相關問題