johan.ljungdahl
-
2/18/2009 5:15:31 AM
Change default content culture doesn't appear to do anything because settings are missing
Hi!
I'm trying to export a site where all documents are of the culture of en-US, to a new site where I want the documents to be of culture sv-SE, using the following steps:
1. I go to the site manager, click the "Export site" icon for the site I want to export, and choose "Preselect all objects" and click on Next
2. On the "Objects selection" screen I choose "Select all objects". Then, from what I can tell from other posts there is a bug regarding culture, where all of them will be chosen so, I uncheck all of them except en-US and sv-SE, and also uncheck all countries except Sweden and USA as I only want those to for my target site.
3.Then I choose Export and the package is created successfully. I move the package from the export folder to the import, click on 'Finish' and then click on "Import site or objects".
4. On this screen I select "Preselect all items" and click "Next"
5. I then choose "Import a new site", give it a unique name, code and domain, and click "Next".
6. I click "Select all objects" and verify the only the cultures and countries that I wanted are with me, which they are. Then I click "Next".
7. The import finishes with a minor problem, "WARNING: Failed starting site 'Test.se', there is already running site with this domain alias, you need to stop the other site to run this site and run the site manually.", but since I've imported everything I assume this is the correct behavior.
8. Now, I remove the conflicting domian names, and try to change the "Default content culture" to Swedish, and leave "Change the culture of the existing documents" checked as I want this to happen, but when I click save it does a postback, but nothing happens!
9. I go to the Event log and this is what has happend:
Message: [ObjectHelper.SetSettingsKeyValue]: Key name 'Test.se.CMSDefaultCultureCode' doesn't exist. Stack Trace: at CMS.SiteProvider.ObjectHelper.SetSettingsKeyValue(String keyName, Object value, Boolean logSynchronization) at CMS.SiteProvider.ObjectHelper.SetSettingsKeyValue(String keyName, Object value) at CMSSiteManager_Sites_CultureChange.btnOk_Click(Object sender, EventArgs e) in c:\Webservers\Test.nova100.de\CMSSiteManager\Sites\CultureChange.aspx.cs:line 114
10. I go to Settings and choose the newly created site and there a huge mount of settings missing for my new site! On (global) there are for instance 9 settings for Content Management, but if I choose my site in the dropdown there are none!
11. So, then I go to the database, and open the table CMS_SettingsKey, and from what I can tell all the ones that are missing are missing from this table.
12. So, I go to the CMS_Site table, look up the ID for my site which is 27 (I've tried the export this a few times), and a this row to the CMS_SettingsKey table:
CMSDefaultCultureCode Default culture of the content Culture code of the default content culture e.g. "en-US". en-us string 27 12 NULL A GUID NULL 13. Then I try to change the "Default content culture" and it works!
Now, my question is of course why are the settings missing, shouldn't all of them be created whenever you create a new site? I've checked the "Settings" node on the "Objects selection" screen when you export a package and all of them are there including CMSDefaultCultureCode.
Second, do you have something that can generate all default settings for a particular site as I might need to change some of them in the future, and not inherit from the global ones.
Best regards, /Johan Ljungdahl
|