SDLTridion5.2用のVBScriptで記述されたカスタムスクリプトがいくつかあります。これらのスクリプトは、TOM APIを使用して、Tridionオブジェクトに対して多数の一括アクションを実行します。
2011 SP1への最近のアップグレードに続いて、多数のコンポーネントプレゼンテーションで使用されるコンポーネントテンプレートを変更する必要があります。これを行う最良の方法は、スクリプトを実行して必要なページとコンポーネントプレゼンテーションを更新することです。
以前は、この変更を行うために、以下のコードのようなVBScriptを実行できました。2011年でも、これらのスクリプトを実行してこの種の変更を加えることはできますか?
Content Managerサーバー(Windows 2008 R2)でClassic ASPを有効にするのと同じくらい簡単ですか?
<%
'##### CREATE TRIDION API OBJECTS #####
Set TDSE = Server.CreateObject("TDS.TDSE")
Call TDSE.Initialize()
'##### CALL FUNCTION - PASS IN STRUCTURE GROUP STARTING POINT #####
Call UpdateComponentTemplates(TDSE.GetObject("tcm:44-39929-4", OpenModeEditWithFallback, "tcm:0-44-1"))
Sub UpdateComponentTemplates(arg_strStructureGroup)
'##### GET ALL ITEMS WITHIN SPECIFIED STRUCTURE GROUP #####
For Each objItem In arg_strStructureGroup.GetItems
'##### IF ITEM IS A STRUCTURE GROUP #####
If TypeName(objItem) = "StructureGroup" Then
'##### CALL THE FUNCTION AGAIN, PASSING IN THE STRUCTURE GROUP #####
Call UpdateComponentTemplates(objItem)
End If
'##### IF ITEM IS A PAGE #####
If TypeName(objItem) = "Page" Then
For Each objComponent In objItem.ComponentPresentations
'##### CHECK EXISTING COMPONENT TEMPLATE & UPDATE WITH THE NEW ONE #####
If objComponent.ComponentTemplate.ID = "tcm:44-493-32" Then
'objComponent.ComponentTemplate = "tcm:44-216181-32"
'objItem.Save(True)
'##### OUTPUT STATUS MESSAGE #####
Response.Write(objItem.Title & " ......................... UPDATED<br />") & vbCrlf
Response.Flush()
End If
Next
End If
Next
End Sub
Response.Write("<p>Job Done!!!</p>") & vbCrlf
'##### CLEAN UP OBJECTS #####
Set TDSE = Nothing
%>
これはおそらくコアサービスを使用して実行できることは知っていますが、このコードまたは.Netの知識がなくても、VBScriptを使用してこれを実行することは可能ですか?