dnnsoftware / Dnn.Platform

DNN (formerly DotNetNuke) is the leading open source web content management platform (CMS) in the Microsoft ecosystem.
https://dnncommunity.org/
MIT License
1.02k stars 746 forks source link

[Bug]: XML Site Export not working #5929

Open david-poindexter opened 7 months ago

david-poindexter commented 7 months ago

Is there an existing issue for this?

What happened?

When attempting to perform an XML site export via Manage > Sites > "Export Template", an error is experienced.

image image

Steps to reproduce?

  1. Install a clean instance of DNN
  2. Go to Manage > Sites
  3. Hover over and click "Export Template"
  4. Complete template name and description fields
  5. Toggle all options
  6. Click "Create Template"
  7. See error on screen
  8. View server logs for details

Current Behavior

An error is shown...

image

Expected Behavior

An XML template should be successfully generated.

Relevant log output

2024-01-19 14:23:26.630-05:00 [nv-pc07][D:6][T:61][ERROR] Dnn.PersonaBar.Sites.Services.SitesController - System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Xml.XmlNode.RemoveChild(XmlNode oldChild)
   at DotNetNuke.Entities.Tabs.TabController.SerializeTab(IBusinessControllerProvider businessControllerProvider, XmlDocument tabXml, Hashtable tabs, TabInfo tab, PortalInfo portal, Boolean includeContent)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.SerializeTabs(IBusinessControllerProvider businessControllerProvider, XmlWriter writer, PortalInfo portal, Hashtable tabs, TabCollection tabCollection, IEnumerable`1 tabsToExport, Boolean chkContent)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.SerializeTabs(IBusinessControllerProvider businessControllerProvider, XmlWriter writer, PortalInfo portal, Boolean isMultilanguage, IEnumerable`1 tabsToExport, Boolean includeContent, IEnumerable`1 locales, String localizationCulture)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateExporter.ExportPortalTemplate(IBusinessControllerProvider businessControllerProvider, Int32 portalId, String fileName, String description, Boolean isMultiLanguage, IEnumerable`1 locales, String localizationCulture, IEnumerable`1 exportTabIds, Boolean includeContent, Boolean includeFiles, Boolean includeModules, Boolean includeProfile, Boolean includeRoles)
   at DotNetNuke.Entities.Portals.Templates.PortalTemplateController.ExportPortalTemplate(Int32 portalId, String fileName, String description, Boolean isMultiLanguage, IEnumerable`1 locales, String localizationCulture, IEnumerable`1 exportTabIds, Boolean includeContent, Boolean includeFiles, Boolean includeModules, Boolean includeProfile, Boolean includeRoles)
   at Dnn.PersonaBar.Sites.Components.SitesController.ExportPortalTemplate(ExportTemplateRequest request, UserInfo userInfo, Boolean& success)
   at Dnn.PersonaBar.Sites.Services.SitesController.ExportPortalTemplate(ExportTemplateRequest request)

Anything else?

No response

Affected Versions

9.13.2 (latest release), 9.13.3 (alpha), 10.0.0 (alpha)

What browsers are you seeing the problem on?

Firefox, Chrome, Safari, Microsoft Edge

Code of Conduct

david-poindexter commented 7 months ago

Okay, I did some additional testing. It works in 9.11.2 and 9.13.0. However, it does not work in 9.13.1, 9.13.2, and 10.0.0 (alpha). Thanks to @jeremy-farrance for some of the testing.