SDL Tridion UI 2012 上的持续更新预览警报

2023-11-21

我正在尝试在某些测试(默认)页面上建立新的 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,它显示正确)。

当我重新发布页面(完成编辑)时,重新加载页面后一切都处于正确状态,直到对任何组件进行第一次更改。这种意想不到的状态给了我如此强烈的疼痛和头痛,还让我感到如此紧张......:)。


这是更新预览的作用,确保实际页面刷新之前的所有步骤都有效并且配置正确,您应该可以很好地执行以下操作:

  1. 在预览模式下渲染您的模板
  2. 将结果发布到内容交付 Web 服务
  3. CD Web 服务写入会话包装数据库
  4. 刷新页面
  5. 环境框架过滤器(或 .NET 的 HTTP 模块)检查会话令牌
  6. 查询数据库以搜索具有相同会话令牌的内容
  7. 如果找到内容,它将与页面上的内容合并。

典型问题(根据我迄今为止的经验)是围绕环境框架配置的 - 模块未在您的应用程序上安装/配置,或者 cd_ambient_conf.xml 包含无效的配置设置。

可能值得跟踪步骤 1 中的日志来找出失败的地方 - 知道失败的地方通常就解决了 80% 的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDL Tridion UI 2012 上的持续更新预览警报 的相关文章

随机推荐

  • R 闪亮的日期滑块动画(按月)(当前按天)

    我对 R 比较满意 对 Shiny 则不太满意 尽管这不是我的第一个 Shiny 应用程序 我有一个数据框 其中包含经 纬度以及每个新客户进入系统的日期 时间 我还根据 startDate 变量创建了其他变量 例如年 月 周 年月 ym 和
  • Windows Python 版本和 VC++ 可再发行版本

    有人可以帮助填写此表 或链接到参考 以识别每个 Python 版本在 Windows 上构建的 VC Redistributable 版本 Windows Python 版本 动态链接库名称 VC 可再发行 链接到安装程序 2 4 msvc
  • _signInManager.GetExternalLoginInfoAsync() 始终返回带有打开 ID 的 null 到 azure 广告

    为什么signinmanager getexternallogininfoasync 方法总是返回null 我正在将 VS2015 与默认的 asp net core 不是框架 项目一起使用 用于具有个人用户帐户的 MVC 这是一个要求 使
  • 无法在 DLL“ComCtl32”中找到名为“TaskDialogIndirect”的入口点

    我们有一台特定的 Vista x64 机器 在运行我们的 C WinForms 应用程序时 显示以下错误 System EntryPointNotFoundException 无法找到名为的入口点 DLL 中的 TaskDialogIndi
  • A类不等于A类

    我们确实有一个缓存 Map 与 Class 的对象TestClass 另一个类加载器初始化 加载TestClass再次在运行时 所以下面的代码会抛出一个ClassCastException TestClass obj1 TestClass
  • 响应 JSON 对象还是 JSON.stringify?

    假设我想返回JSON内容 var content a foo b bar 返回 JSON 数据的最佳实践是什么 A 按原样返回对象 IEres end content B JSON stringify content 然后打电话JSON p
  • 将 JavaScript 'this' 转换为 jQuery '$(this)'

    请看一下下面的代码 div ul li li ul div
  • 如何直接将数组中的所有字符串大写?

    我学得很快 我一直在游乐场尝试这个 我不知道为什么这里的字符串没有大写 或者有没有其他方法可以直接将数组内的字符串大写 这是我的代码 var dogNames Sean fido Sarah Parker Walt abby Yang fo
  • 更好地解决多线程之谜?

    任务如下 我需要根据文件名锁定 最多可以有一百万个不同的文件名 这用于大规模基于磁盘的缓存 我想要低内存使用率和低查找时间 这意味着我需要一个 GC 锁定字典 字典中只能存在正在使用的锁 回调操作可能需要几分钟才能完成 因此全局锁定是不可接
  • 使用 jQuery 或纯 Javascript 访问 HTML 输入文本框数组

    我正在创建一个包含动态数量的输入文本框的表单 我希望每个文本框形成数组的一部分 理论上 这将使我更容易循环遍历它们 特别是因为我不知道最终存在的文本字段的数量 HTML 代码类似于 p Field 1 p
  • 具有自定义存储过程的 EF 6 代码优先

    我正在使用代码优先方法创建一个 MVC 5 应用程序 但我还在 SQL Server 数据库上创建了一些存储过程 有没有办法在创建数据库时在 C 中生成这些存储过程 也许通过执行sql 脚本 如果是这样我应该在哪里执行此操作 我会使用代码迁
  • 如何配置slurm通知邮件的内容?

    当某些类型的事件发生时 Slurm 可以使用以下选项通过电子邮件通知用户 mail type and mail user 我以这种方式收到的电子邮件包含一个空正文和一个如下所示的标题 SLURM Job id 9228 名称 toto 已结
  • 从 CSV 文件构建列表列表

    我有一个 Excel 文件 我将其导出为 csv 我想要解析该文件 但我在找到最佳方法时遇到了困难 csv 是我的网络中的计算机列表 以及每台计算机的本地管理员组中的帐户 我对元组做了类似的事情 但每台计算机的帐户数量范围从 1 到 30
  • 尝试将带有图像的表单发送到 PHP 服务器时 Android 中的内存泄漏

    我在这个文件中存在内存泄漏 我找不到确切的位置 但我认为是周围的图像 gt Bitmap bm BitmapFactory decodeFile filename 我尝试了很多不同的方法 但无法使其发挥作用 package prod veg
  • Python 多处理模块,Windows,通过创建新进程生成新的控制台窗口

    我对此做了一些研究 发现了一些类似的问题 但没有一个回答我真正想要的问题 我了解如何创建和使用流程multiprocessing模块 但是 当我创建一个新进程时 我想生成一个新的控制台窗口 仅用于该进程的使用 打印等 以便子进程不会共享父进
  • 在 WiX 中收获多个目录

    我正在尝试构建一个包含许多功能的安装程序 并且我正在使用heat收集每个功能的文件目录 我的源目录结构如下所示 HarvestDir FeatureA FeatureImpl dll FeatureImpl2 dll FeatureB Fe
  • 如何在 Swift 中实现 NSDocument 方法 -canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo: ?

    在我的应用程序中 NSDocument子类关键任务硬件 用户真的不想意外关闭文档 所以 我已经实现了canCloseDocumentWithDelegate 显示一个NSAlert并在关门前询问 我现在正在尝试在用 Swift 编写的应用程
  • 在执行 Replace with jQuery 时可以忽略字符串中的 HTML 吗? [复制]

    这个问题在这里已经有答案了 可能的重复 替换字符串中的单词 但忽略 HTML 调用 Replace 时是否可以忽略 HTML 元素 示例代码 myText replace new RegExp searchString gi span cl
  • 字符数组是否需要调用delete[]与delete?

    我正在利用一位同事编写的库并发现valgrind正在吐出与以下相关的错误delete 问题是存在 char 数组的分配 例如 char s new char n 后来跟进delete s 代替delete s 他告诉我差别真的在于delet
  • SDL Tridion UI 2012 上的持续更新预览警报

    我正在尝试在某些测试 默认 页面上建立新的 SDL Tridion UI 2012 功能 尽管我多次单击 更新预览 但我不断检索 此页面的预览不是最新的 警报 我使用的是虚拟图像 因此除了我自己之外 其他任何人都无法编辑页面 不管哪个组件发