Reputation: 4856
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.
Upvotes: 0
Views: 232
Reputation: 4856
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.
Upvotes: 1