Upgrading to Evoq 8.3 breaks SolPart actions

Overview

SolPart was a navigation provider that was used before Evoq 8.3 which needs to be removed or modified moving forward.

 

Prerequisites

 

Diagnosis

DNN 8 (Platform) and the corresponding Evoq 8.3 (all versions) contain several navigation providers which have been outdated and no longer supported. These providers add to the overall memory footprint of the platform and slow down the startup time for the platform. As a result, the following projects and assemblies have been removed:

-ASP2MenuNavigationProviders
-DNNDropDownNavigationProvider
-DNNTreeNavigationProvider
-SolpartMenuNavigationProviders
-SolpartWebControls

NOTE: This is a breaking change. Old skins which rely on these menus will break. We have removed all references to SolPart Menu and any skins or containers which used them are not compatible with DNN 8. This is by design.

To identify that SolPart is an issue with your upgrade, you will find this error in the log files:

DotNetNuke.Services.Exceptions.Exceptions - DotNetNuke.Services.Exceptions.ModuleLoadException: Unhandled error loading module. ---> System.Web.HttpParseException: Could not load type 'DotNetNuke.UI.WebControls.SolPartActions'. ---> System.Web.HttpParseException: Could not load type 'DotNetNuke.UI.WebControls.SolPartActions'. ---> System.Web.HttpException: Could not load type 'DotNetNuke.UI.WebControls.SolPartActions'.
  at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
  at System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)
  at System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData)
  --- End of inner exception stack trace ---
  at System.Web.UI.TemplateParser.ProcessException(Exception ex)
  at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
  at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
  --- End of inner exception stack trace ---
  at System.Web.UI.TemplateParser.ProcessException(Exception ex)
  at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
  at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
  at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
  at System.Web.UI.TemplateParser.ParseInternal()
  at System.Web.UI.TemplateParser.Parse()
  at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
  at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
  at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
  at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
  at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
  at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
  at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
  at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath)
  at DotNetNuke.UI.ControlUtilities.LoadControl[T](TemplateControl containerControl, String ControlSrc)
  at DotNetNuke.UI.Skins.Pane.LoadContainerByPath(String containerPath)
 

 

Solutions

To resolve this issue, you can either continue to use SolPart or remove the SolPart references. The skin file will need to be edited to remove references to the 'SolPartActions’ and replaced with the default DnnActions. You should contact the skin developer since the developer should know more about how to edit the skin.

 

 

Solution #1 - Continue to use SolPart

If you'd like to continue to use SolPart, it is recommended that you restore your environment back to your previous version until your skin developer has made the appropriate changes to the skin code in the Evoq 8.3 or DNN 8 (Platform). Make sure to test and make these modifications in your Development Environment prior to upgrading your live Productions Site. Once the 'SolPartActions' skin error has been fixed on your development site, you can then confidently apply the changes to your live productions site in Evoq 8.4.2.

 

Solution #2 - Instructions to remove SolPartActions (if not going with SolPart moving forward)

 In \Portals\_default\Containers, or \Portals\ID-System\Containers directory to find the Container.ascx (or the custom file with ascx extension - the error message will have the file path where it broke) files. Open these files in the editor, and remove the following two pieces of code. The last step is to save the changes.

<%@ Register TagPrefix="dnn" TagName="ACTIONS" Src="~/Admin/Containers/SolPartActions.ascx" %>

<dnn:ACTIONS runat="server" id="dnnACTIONS" />

If the Actions control in the page does not work correctly, you can delete the following code:

<%@ Register TagPrefix="dnn" TagName="ACTIONBUTTON" Src="~/Admin/Containers/ActionButton.ascx" %>
<dnn:ACTIONBUTTON runat="server" id="dnnACTIONBUTTON3" CommandName="PrintModule.Action" DisplayIcon="True" DisplayLink="False" />
<dnn:ACTIONBUTTON runat="server" id="dnnACTIONBUTTON3" CommandName="PrintModule.Action" DisplayIcon="True" DisplayLink="False" />
<dnn:ACTIONBUTTON runat="server" id="dnnACTIONBUTTON2" CommandName="SyndicateModule.Action" DisplayIcon="True" DisplayLink="False" />
<dnn:ACTIONBUTTON runat="server" id="dnnACTIONBUTTON4" CommandName="ModuleSettings.Action" DisplayIcon="True" DisplayLink="False" />

CAVEATAlways keep a backup of your Site and Database before implementing any suggested steps

 

Testing

Access the site and log in with a superuser or an administrator, then try loading any page with the theme where the SolPart component used to reside in. Any errors with Could not load type 'DotNetNuke.UI.WebControls.SolPartActions' should subside because we removed the references to this class.

 

Related Articles

Comments

0 comments

Please sign in to leave a comment.