いくつかのテスト (デフォルト) ページで新しい SDL Tridion UI 2012 機能を確立しようとしています。「プレビューの更新」を数回クリックしたにもかかわらず、「このページのプレビューは最新ではありません」という警告が表示され続けます。仮想画像を使用していたので、自分以外はページを編集できません。どのコンポーネントが変更されたかは関係ありません。「セッション プレビュー」Web サービス側の cd_core.log ファイルを調べたところ、次のノードが興味深いことがわかりました。
INFO WritableODataClaimProcessor - No session wrapper is installed, not allowing modification operations
DEBUG HandleSessionContentUtil - There are no session wrappers into storage config file!
DEBUG HandleSessionContentUtil - There are no session wrappers into storage config file!
DEBUG WebContext - setCurrentClaimStore: com.tridion.siteedit.preview.PreviewClaimStore@dc60af, thread: Thread-59
DEBUG WritableODataClaimProcessor - Removing sessionId claim from ClaimStore!
DEBUG ClaimStore - remove: uri=taf:claim:contentdelivery:webservice:preview:sessionid
DEBUG WebContext - setCurrentClaimStore: null, thread: Thread-59
最も興味深い部分は、「セッション プレビュー」Web サービス側の cd_storage_conf.xml にセッション ラッパーが追加されたことです。以下は、「セッション プレビュー」cd_storage_conf.xml の一部です。
<Storages>
<Wrappers>
<Wrapper Name="SessionWrapper">
<Timeout>120000</Timeout>
<Storage Type="persistence" Id="sqlServerDb" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="T2011" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="Tridion_Session_Preview"/>
<Property Name="user" Value="TridionSessionPreview"/>
<Property Name="password" Value="tridion"/>
</DataSource>
</Storage>
</Wrapper>
</Wrappers>
<StorageBindings>
<Bundle src="preview_dao_bundle.xml"/>
</StorageBindings>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="staging" defaultFilesystem="false">
<Root Path="C:\inetpub\wwwroot\software" />
</Storage>
<Storage Type="persistence" Id="sqlServerDb" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="T2011" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="Tridion_Broker_Staging"/>
<Property Name="user" Value="TridionBrokerUser"/>
<Property Name="password" Value="tridion"/>
</DataSource>
</Storage>
</Storages>
</Global>
<ItemTypes defaultStorageId="sqlServerDb" cached="false">
<Item typeMapping="Page" cached="false" storageId="staging"/>
</ItemTypes>
cd_storage_conf.xml の有効性状態を確認しましたが、すべて問題ありません (IE 経由で XML を開こうとすると、正しく表示されます)。
ページを再公開すると (編集を終了)、ページをリロードした後、コンポーネントの最初の変更が行われるまで、すべてが正しい状態になります。この予想外の状態は、私に強い痛みと頭痛を与え、さらに私をとても緊張させました... :)。