From: Michael P. <mp...@pl...> - 2006-04-19 17:08:48
|
Weirdness: I have a site that has stories and categories associated with categories (used to build out a tiered navigation bar). I export this site and all is well and the XML files in the .kds contain everything they should. I then import the site and everything loads fine except for the root category. Non of the elements associated with that category are imported. Reason: For some reason Krang::Category::deserialize_xml() doesn't add any element information to an imported root category. It does for other categories where a category already exists, just not for the root. Look at Krang::Category line 1266 and 1267 (in CVS). If it's trying to import the root, it just finds the existing root and returns it. It doesn't update it. Is there a reason for this? Solution: I noticed that the code for adding the deserialized element to the other categories (newly created, or existing) was the same, so I broke it out into it's own method and then simply called that method on the fetched root category. It works and imports all of my data. Objections to committing this fix? -- Michael Peters Developer Plus Three, LP |
From: Sam T. <sa...@tr...> - 2006-04-19 18:10:16
|
On Wed, 19 Apr 2006, Michael Peters wrote: > Reason: > For some reason Krang::Category::deserialize_xml() doesn't add any > element information to an imported root category. It does for other > categories where a category already exists, just not for the root. > Look at Krang::Category line 1266 and 1267 (in CVS). If it's trying to > import the root, it just finds the existing root and returns it. It > doesn't update it. Is there a reason for this? No, I think you've found a real bug. The reason it always finds the root already there is that creating the site auto-generates an empty root category for the site. Thus by the time this code is reached the category is already there. > I noticed that the code for adding the deserialized element to the > other categories (newly created, or existing) was the same, so I broke > it out into it's own method and then simply called that method on the > fetched root category. It works and imports all of my data. > > Objections to committing this fix? That sounds right to me. If you have the time you might add some tests for categories with elements linking to stories and media to the Krang test suite. I doubt we're testing this currently. -sam |
From: Michael P. <mp...@pl...> - 2006-04-19 19:09:16
|
Sam Tregar wrote: > If you have the time you might add some > tests for categories with elements linking to stories and media to the > Krang test suite. I doubt we're testing this currently. I'll put this on my TODO list. -- Michael Peters Developer Plus Three, LP |