DNN8 - Using the TermsSelector control - dotnetnuke

We upgraded one of our websites to DNN8 and one of our custom modules is throwing this error -
Unknown server tag 'dnnweb:termsselector'
We originally implemented taxonomy in this module using the tutorial here - http://www.dnnsoftware.com/community-blog/cid/131964/adding-core-taxonomy-to-your-module-part-6-ndash-exposing-in-the-user-interface
I checked DNN8 source code and found the TermsSelector control still being used the same way. Line 41 in this file - https://github.com/dnnsoftware/Dnn.Platform/blob/development/Website/admin/Modules/Modulesettings.ascx
But I am not able to use it in my custom module. When looking at DotNetNuke.Web.dll in an object browser, I don't see the TermsSelector class.
I have checked their list of breaking changes, but nothing related to this control is mentioned.
Can someone please help me find the reason of this inconsistency in behaviour? Thank you!

It looks like the TermsSelector was moved to a different assembly. In your module, it is likely registered at the top of the .ascx like this:
<%# Register TagPrefix="dnnweb" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web" %>
In the DNN8 example you linked, it is registered in the DotNetNuke.Web.Deprecated.dll assembly:
<%# Register TagPrefix="dnnweb" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web.Deprecated" %>

Related

DNN 9 Module only displays in Edit Mode

We recently upgraded an old DNN site to the latest version (9.8.00). Everything has been running fine for the most part, but today I have ran into an issue I can't figure out how to resolve. Once of my users dropped an HTML module on the page but we can not get it to display outside of edit mode. I have tried adding an HTML module to other pages as well to see if it was isolated to an individual page, but it's doing the same thing across the entire site. I have tried all of the following things to no avail.
Debugged the page to make sure no errors where being thrown and none are.
Stopped inheriting permissions and made the module visible to all users.
Changed the Cache settings for the module to 0.
Verified the site was running on .Net 4.5.1 (I'm actually on 4.7.1).
Tested two other modules (link and event), both of these modules display outside of edit mode.
I am at a loss at this point. The HTML module is showing as version 9.8.0, but has an upgrade version as 10.0.3. So I'm not sure if that means it needs to be upgraded or it has already been upgraded.
Any help would be greatly appreciated.
Recents versions of the HTML module have this behaviour: they doesn't appear when they haven't any content. After you add some content, they keep displayed.
I think this feature is related to the default template which is containing an empty HTML module.

ddrmenu razor doesn't show anything in dotnetnuke

For our website we want to use a megamenu that is created with razor.
In the Gravity skin folder of DNN, we have created a folder called MegaMenuNav and we have added our MegaMenu.cshtml and menudef.xml into it.
We have downloaded the ddrmenu example and used it like this:
<dnn:MENU ID="MENU" MenuStyle="MegaMenuNav" runat="server" NodeSelector="*"></dnn:MENU>
we get no error, but nothing is shown as well.
All of the example menus that use token or xslt, such as Dropdown and Mega2DNN are shown, but when we use Razor menus, nothing is shown.
For testing, we added a simple text inside our MegaMenu.cshtml, but again we got no result
Is there anything to do with dotnetnuke?
BTW, we are using .Net 4.5 and Dnn 8.0.2
Thanks in advance

angularjs error on IE only with no debug option

I have an angular application that run ok on chrome and firefox.
But on IE the application does not work.
My Big problem is that I can't find the error reason. and got some generic error.
How can I debug the application on IE or how can I find the reason for the Error
This means that ng module is failing to load. :)
Please look at your browser's console to find if any files are missing or not being downloaded correctly. Also it helps if you click on the link to http://errors.angularjs.org in your console, it will give details about which particular module is failing to load.
Check below link for complete details for resolution:
http://blog.technovert.com/2014/10/dependency-injection-fails-angularjs/
IE Debugging : First of all you need to ensure your Angular application works on IE please consider the use ng-style tags instead of style="{{ someCss }}". The latter works in Chrome and Firefox but does not work in Internet Explorer <= 11. Arguably, this is the biggest annoyance of IE—the page just doesn’t load and doesn’t give any errors. Sometimes you need to view the page again in Firefox. If it’s not an IE specific error, Firebug will pick it up. If Firebug loads normally, the chances are it’s one of two IE specific errors: a trailing comma, or unsupported XML syntax.
For minimize the application files I use
bundles.Add(new ScriptBundle("~/app").IncludeDirectory("~/Assets/app", "*.js", true)
);
(Part of asp.net mvc)
And from the layout page I take all the application files
#Scripts.Render("~/app")
Like I said this part of code worked for me in some browsers, But on IE It fail.
By Changing the script src to all specific files, I resolve this problem. and now on IE it work like the other browsers.
Maybe I miss a comma or ";" (end row) or something like that.
Thanks
need to check this page or api
http://henriquat.re/appendix/angularjs-and-ie8/necessary-changes-for-ie8-compatibility.html
https://docs.angularjs.org/guide/ie

correct way to add js in sencha architect (ExtJS)?

This thread works well in a mobile app but in a desktop app it would seem I cant add the reference to the external JS in an extjs desktop app.
The instructions from Sencha somehow don't correspond or it doesn't work for me when I try and follow them. So, I am selecting Resources->Library and can see the attribute Include JavaScript (ticked) and Library Base Path:/ext.
The JS file I am using I use in a phone app and its fine - I added it to the app.json in that and compiling the app copies the file over to the target and defers the loading.
In this case with SA I am not seeing the file copied to the target - nor can I follow the instructions with SA 3 that are documented. The only way I can add an external JS is by dropping it onto the filesystem into the ext folder manually. Again, it doesn't appear in the target and certainly errors when I run the app with
Uncaught ReferenceError: hex_sha512 is not defined
This JS has been used in other apps, is proved and tested but just relates to SA or my wrong use of SA.
The proper way to add a resource in Sencha Architect, regardless of framework, is to add it as a JS resource.
This is most easily done by hitting ctrl-t (or cmd-t on a mac) and typing "js resource" (or some shortened string thereof to get autocompletion)...
Alternatively, you can use the toolbox, click "Resources", and drag out or double click "JS Resource"
These are just different user interfaces to accomplish the same task.
Once you've added your JS resource using one of the above methods, you need to set the URL in the config pane (at bottom right unless you've configured Architect to swap the left and right panes)...
The URL is to be set relative to your project folder. If you copy the JS file into your project root under a folder called "lib" for example, then you'd set the url config to "lib/foo.js" - where foo.js is the filename, of course.
Hope that helps!
My lack of understanding of the instructions or they are not clear:
It would seem the way to do it is take eyes up to the top right of SA and spot the + button as shown in the image.
Add the JS resource and scroll up because it may be hidden behind the property inspector.
On setting the url field under properties, the source of the JS appears in the main editing window.
Certainly works fine after the app is built.

Why does extJS give me "Ext.Panel is not a constructor" error in Firebug?

I am working through this extJS tutorial where you type in code into Firebug, press CTRL-Enter and it renders it for you, it worked for the simple example but then I got this error:
Instructions:
What happens:
What else do I need to do to get this example to work as it states it will in the demo?
You need to have ext-all.js (and maybe ext-base.js?) loaded in the page you're testing for this to work. The example isn't working properly for you because the Panel file cannot be located. It doesn't exist because you haven't added it.
Test the Ext.Panel code in firebug at the API site: http://dev.sencha.com/deploy/dev/docs/
You'll see that the desired behavior occurs because the page has all of the proper JS files loaded. Any time you see the message "... is not a constructor" should be an indication that the JS file containing the object has not been loaded into the page.

Resources