Server Error: Could not find the specified key "SubscribeFormTitle" or class id "NewslettersResources"
I created a module form code in a new SF project. The module worked fine so I copied over all the files and installed it in my pre-production site. I added a couple of dozen items in the module backend without error. Now when I try accessing any page in the backend I get the following server Error:
Server Error in '/NLGSitefinityWebApp' Application.
Could not find the specified key "SubscribeFormTitle" or class id
"NewslettersResources".
Description:
An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and
where it originated in the code.
Exception Details:
System.ArgumentException: Could not find the specified key
"SubscribeFormTitle" or class id "NewslettersResources".
Source
Error:
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentException: Could not find the specified key "SubscribeFormTitle" or class id "NewslettersResources".]
Telerik.Sitefinity.Localization.Resource.GetString(ResourceDataProvider provider, String classId, String key, CultureInfo culture, Boolean falback, Boolean throws) +838
Telerik.Sitefinity.Localization.Res.Get(String classId, String key, CultureInfo culture, Boolean fallback, Boolean throws) +418
Telerik.Sitefinity.Localization.Res.Get(String classId, String key, CultureInfo culture) +68
Telerik.Sitefinity.Web.UI.ZoneEditor.CreateToolboxDock(ToolboxItem item) +1957
Telerik.Sitefinity.Web.UI.ZoneEditor.ProcessToolboxSection(ToolboxSection section) +349
Telerik.Sitefinity.Web.UI.ZoneEditor.CreateToolBoxPanelbar(Toolbox toolbox, String id) +703
Telerik.Sitefinity.Web.UI.ZoneEditor.CreateControlToolBox() +221
Telerik.Sitefinity.Web.UI.ZoneEditor.CreateToolbox() +372
Telerik.Sitefinity.Web.UI.ZoneEditor.CreateChildControls() +405
System.Web.UI.Control.EnsureChildControls() +182
System.Web.UI.Control.PreRenderRecursiveInternal() +60
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4201
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET
Version:4.0.30319.272
If I disable the module the error goes away and I can access all pages in the backend. Any idea what might be going on here? The only odd thing I can think of is that I have a page that has the same name ("Newsletters") as the module in question. Removing the page and re-installing the module has no effect.
Any suggestions or help greatly appreciated.
--Steve
More problems: this is also causing a problem with the "Email Campaigns" navigation node on the backend. Instead of reading "Email Campaigns", the node is displaying the following error:
"Invalid resource:NewslettersResources.PageGroupNodeTitle" (see attached image).
I'm pretty sure all of this is the result of s namespace collision. I may have had a mailing list or email campaign named Newsletters before I created the module (difficult to tell now that the Email Campaigns menus are all messed up). I've removed all of the Newsletter module files from the project and recycled the app pool but the problem with the menu is still there.
EDIT
Also noticed that the "Email Campaigns" widget is missing from the toolbox in the page editor (see attached image).
Any thoughts?
Thanks--Steve
For anyone folllowing this thread or unlucky enough to run into this in the future, I was able to recreate the problem in a test project and have opened a support ticket. I haven't heard back from support yet but the problem seems to be a namesapce collision issue resulting from an unlucky combination of the name SF decided to use for the Email Campaign "application_name" (/Newsletters) in the sf_campaign table (see attached image) along with my unfortunate module name choice of "Newsletters".
Steve
Hello,
I think it may be namespace conflict, but it is best to check this in detail with the module you have sent. Concerning the issue with Email Campaigns error in the module install method there is a landing page for the module which can be with specific name and it may have removed the resource for email campaigns. To try restore the campaigns module go to App_Data/Sitefinity/Configuration/SystemConfig.config and remove the version of Sitefinity newsletters to reinstall the module. Then reset the web.config and see if there is a change.
<
add
name
=
"Newsletters"
/>
Hi Stanislav,
Good call. The problem was that uninstalling my custom "Newsletters" module added the following line to the SystemConfig.config:
<
remove
name
=
"Newsletters"
/>
<
add
name
=
"Newsletters"
/>
Hi,
It has created module tables specific to the module(with its name). I have been deleting the tables manually, but not always this is going well. It is not recommended to delete them manually, however you can try dropping the module tables on a test project to test how it will go. Sitefinity has very complex table dependency and an entry from one table is affecting many others. For example creating a page does update sf_page_data as well as workflow, permissions, widgets, modules, shared content and so on.
It is better to clear the module entries from the configuration files. Check Security Config, VirtualPathConfig and WorkflowConfig.