无法在 Tridion 2009 中删除结构组

Posted

技术标签:

【中文标题】无法在 Tridion 2009 中删除结构组【英文标题】:Unable to delete Structure Group in Tridion 2009 【发布时间】:2012-05-29 08:11:25 【问题描述】:

这是(受限)Tridion 论坛中关于inability to delete a structure group 的问题的重复。但是,由于报告问题的人没有得到正确的答案或解决方案,我在这里重新提出。

我被一个结构组困住了,我也无法删除它。它没有本地化,仅蓝图到另一个出版物,并且其中没有任何页面。内容已从演示环境迁移,可能是某个旧目标卡在某个地方?

直接在数据库中删除它不是一种选择。还有其他解决方案吗?

【问题讨论】:

“无法删除结构组,该项目正在使用中。” 您在该结构组的 WhereUsed 项目列表中看到了什么? 它是空的,所以不是有时会发生卡在旧版本中的问题。 您确定您没有尝试删除根结构组吗?并且您的子结构组未本地化? 100% 肯定,我能想到它给出问题的唯一原因是,在数据库中,它过去可能包含与不再存在的发布目标相关的页面。但是里面已经没有页面了。据我所知,像 SG 这样的组织项目本身不能发布,所以不会出现在某个发布表中。 【参考方案1】:

您有可能使用该结构组呈现多媒体组件吗?这可能会导致某种锁定。您可以尝试更改 Set Publish States PowerTool for 2009 以在该 pub 中将所有内容设置为 UnPublished,看看是否有帮助。

【讨论】:

我很确定没有任何图像发布到此文件夹。此时将整个出版物设置为取消发布似乎有点苛刻。 所以要明确一点 - 在您的代码中没有任何地方使用 AddBinary() 来指定 SG?我同意将所有内容设置为未发布有点极端,但不清楚这是在 Dev 还是 Prod。听起来它一定是 Prod 系统。 将二进制文件发布到给定的 SG 不会锁定结构组。不知道这是好是坏...【参考方案2】:

蛮力:启动数据库跟踪,尝试通过 GUI 删除结构组,在检查依赖项时查找它找到的项目。

或者

打开支持票,将数据库发送给他们,让他们看看。

【讨论】:

如果你想保持支持,暴力不是一种选择......相信我,你确实想保持你的支持:) 已编辑以阐明将支持蛮力方法 - 您正在尝试通过 GUI 进行删除,并使用 SQL 跟踪来识别阻止删除 SG 的依赖项。然后,您可以通过 GUI 删除/取消发布这些依赖项。【参考方案3】:

我们在一位客户那里遇到了类似的问题。我们最初的分析是检查执行删除的存储过程,并查看强制执行了哪些约束。在检查数据时,我们可以看到不会出现在用户界面中但会阻止删除的记录。

我们向 SDL Tridion 客户支持提出了请求,并与他们达成了一致,应该在数据库中修改哪些记录。

这就是本文的要点:您不能修改数据库,但 SDL Tridion 客户支持可以批准它,但前提是他们检查了更改是否正确且必要。显然,如果您在没有支持的情况下尝试做这些事情,您最终会得到一个不受支持的系统。

【讨论】:

我认为我们需要解决这个问题(是的,它们仍然存在)是在 Tridion 数据库中找到可以发现孤儿院的查询或方法。似乎仍有一些隐藏的东西声称这些 SG 的 虽然问题还没有解决,但这是解决问题的正确方法。

以上是关于无法在 Tridion 2009 中删除结构组的主要内容,如果未能解决你的问题,请参考以下文章

在 Tridion 2009 上配置自定义解析器

Tridion 2009 SP1:如何为定期发布安排内容页面?

tridion 2009 - 将多媒体组件从一个出版物复制到另一个出版物

Tridion 2009 - 在自定义页面上使用互操作 - 用户应该充当类似管理员的角色

Tridion 组件链接在动态组件演示中未解析

Delphi 2009 项目配置选项集的层次结构如何?