【发布时间】:2017-10-27 19:26:33
【问题描述】:
我在使用提供的 Kentico 导入工具包时遇到了许多问题,即使用“导入新页面并覆盖现有页面”选项来更新我现有/已经导入的页面时。我正在使用自定义 SQL 查询进行导入,并为我需要的每个导入保存了一个配置文件(客户有基于文章的站点,因此有一些类似信息的表),以尝试在导入之间保持每个尽可能一致。
以下是我目前遇到的问题(排名不分先后):
- 该工具会尝试为您猜测查询中的哪些字段与 Kentico 中页面类型的字段相关,这是一个不错的想法,但执行起来似乎很糟糕。如果我不是很小心并且每次导入时都重新加载配置文件,我会遇到在测试导入时字段发生莫名其妙的变化的情况,因为该工具认为它知道我想要哪个字段
- 在会话中多次导入/重新导入并选择返回并加载相同的配置文件(不重新加载)时,这更容易出现问题
- NodeAlias 字段似乎只在更新/重新导入时才需要,而不是在初始导入时。我确信对文档标题进行了内部清理以生成 NodeAlias,并且在不提供 NodeAlias 的情况下导入文档时可以正常生成。在最初导入项目并希望更新之后,NodeAlias 似乎是必需的,因为您会收到要求包含它的文本错误。这对我来说意味着 NodeAlias 与给定的 ID 字段匹配,这在理论上应该没问题,但据我所知,工具中的任何地方都没有特别提到。
- 我遇到过重新导入项目会更改/剥离其 NodeAliasPath 的实例。我已经通过专门设置 NodeAliasPath (仅在选择“显示高级列”后显示)解决了这个问题,但就像它之前的 NodeAlias 路径一样,我认为该工具应该足够聪明,知道如果没有特别给出保留路径更新项目。
- 似乎很奇怪,为了匹配以前项目的 ID,您必须提供新列的名称而不是旧列的名称。我的示例:客户端只使用了一个名为“id”的字段,而新的字段是“OriginalID”,以清楚地将其与 Kentico 派生的 ID 字段区分开来。为了匹配我必须使用“OriginalID”而不是“id”的项目
除上述内容外,还有一些注意事项/优点或可能的更新:
- 如果有一些方法可以选择页面是否应该 通过单个查询发布或不发布。目前拥有 “在工作流程下自动发布页面”切换检查似乎总是发布 这几项。我有一个客户有旧文档的实例 他们不希望在网站上看到提供的数据库转储,但 如果他们以后改变主意,希望保留在数据库中。目前我 必须执行 2 次导入,1 次用于未发布,第二次用于 已发布的项目,以适应这一点,这很麻烦
我可能会在收到回复后对其进行编辑/添加。这并不是一个真正的具体问题(因为我设法解决了 NodeAliasPath 剥离问题,这最初启发了这篇文章)但更多的是我问这些是否是错误,如果我没有按预期使用软件等等。
【问题讨论】: