質問

So we've been tasked to migrate a Kentico (I think it's v7.0 according to the dll version) based site to another (non-.NET) solution.The site is fairly small.

Of course in order to migrate the old site to the new we must keep the old content and also the old URLs. The old URLs have .aspx at the end of course. We'd like to have them all throw a HTTP 301 to the new ones.

I am not a .NET dev and I've been snooping around Kentico's DB and Web Interface for a while now. I've narrowed it down to the CMS_Document table. :) I know and have found the following fields:

DocumentPageTitle
DocumentPageKeyWords
DocumentPageDescription
DocumentContent

All are straight forward.

Can anyone provide concrete information on where to look for the connection URL -> DB Entry -> Web Page on the same URL?

But what about DocumentUrlPath? If there is see /example can I be sure that this is equal to a real URL like /example.aspx?

Which table does DocumentForeignKeyValue point to?

How do I distinguish pages from images in that table? Yes there is the DocumentType field but it only has an file extension (like .png) stored for text and picture files and it seems to be NULL for others?

Are my conclusions so far correct? Thank you for your time.

役に立ちましたか?

解決

It turns out that because of the very complex DB structure there are also a lot of views created in the Database. The View_CMS_Tree_Joined is the view (or one of the views I am looking for).

A quick reference to some of the columns that I will need:

[ClassName]
[ClassDisplayName]
[DocumentPageTitle]
[DocumentPageKeyWords]
[DocumentPageDescription]
[DocumentContent]
[DocumentType]
[NodeAliasPath]
[DocumentUrlPath]
[DocumentExtensions]

These (and some others) seem enough to parse some data out. One pain will be the actual page content since it is very interestingly stored in the 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>

So every single tag is enclosed in CDATA and webpart tags. I can live with the CDATA but why non-standard tags? Anyway will manage to painfuly parse it out.

Some additional information for the structure of the database can be found in this document. The database reference also proved to be a nice resource.

Many thanks to the guys over at the Kentico Dev Forums their remarks on this could be found here.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top