因此我们的任务是将基于Kentico(我认为是基于dll版本的v7.0)的网站迁移到另一个(非.NET)解决方案。该网站相当小。
当然,为了将旧网站迁移到新网站,我们必须保留旧内容和旧网址。旧URL在课程结束时有.aspx。我们想让他们都把HTTP 301扔给新的。
我不是.NET开发人员,我一直在窥探Kentico的数据库和Web界面一段时间。我已将其缩小到CMS_Document表。 :)我知道并找到了以下字段:
DocumentPageTitle
DocumentPageKeyWords
DocumentPageDescription
DocumentContent
一切都很直接。
任何人都可以提供有关在哪里查找连接网址的具体信息 - >数据库输入 - >网页在同一个网址上?
但是DocumentUrlPath
呢?如果有/example
,我可以确定这等于/example.aspx
这样的真实网址吗?
DocumentForeignKeyValue
指向哪个表?
如何区分该表中的页面和图像?是的,有DocumentType
字段,但它只有一个文件扩展名(如.png)存储用于文本和图片文件,对其他人来说似乎是NULL
?
到目前为止,我的结论是否正确?感谢您的时间。
答案 0 :(得分:1)
事实证明,由于数据库结构非常复杂,因此在数据库中也创建了很多视图。 View_CMS_Tree_Joined
是视图(或我正在寻找的其中一个视图)。
快速参考我需要的一些专栏:
[ClassName]
[ClassDisplayName]
[DocumentPageTitle]
[DocumentPageKeyWords]
[DocumentPageDescription]
[DocumentContent]
[DocumentType]
[NodeAliasPath]
[DocumentUrlPath]
[DocumentExtensions]
这些(以及其他一些)似乎足以解析一些数据。一个痛苦将是实际的页面内容,因为它非常有趣地存储在DB中:
<content>
<webpart id="editabletext;821223e7-e515-4a0b-92c1-30726c724889"><![CDATA[<p>SOME TEXT HERE</p>]]></webpart>
<webpart id="editableimage;27a57931-f182-4ae9-b41d-1af0790d5286"><![CDATA[<image><property name="imagepath">~/asdasd/media/asdasd/images/2013/4.gif</property></image>]]>
<!-- EVEN MORE STUFF LIKE THAT-->
</content>
因此,每个标记都包含在CDATA
和webpart标记中。我可以使用CDATA
,但为什么是非标准标签?无论如何都会痛苦地解析它。
可以在this document中找到有关数据库结构的一些其他信息。 database reference也被证明是一个很好的资源。
非常感谢那些在Kentico Dev Forums发表评论的人here。