DNN Session Variable Issues - dotnetnuke

I am developing skin in DNN 6.02.04. In my insidepage.ascx page how to handle the session variable?.Without creating usercontrol or module how can i set session variable?.
For Example
1st time if anyone went to this webpage http://www.solodyn.com/FORPHYSICIANS.aspx you get one dialogue box .In that dialogue box one button was there. if i click that button " i am healthcare professional". they set session not getting the dialogue box until my session close. In my developement website every page load i am getting that dailogue box again and again. How to use session variable in DNN Skin pages?
Thanks & Regards
Gopinath.R

Session is typically not recommended for use within DNN environments. I would set a cookie and then in the Skin file you could add logic that reads from the cookie using inline code in the ASCX for the skin.

Related

Remove or Customize the default popup skin in DNN 7.3

I am trying to customize the Gravity skin in DNN 7.3. Specifically, i would like to either remove the popup page that appears to users after they login ("welcome to your website"). However I couldn't find how to. Any ideas?
It used to be a Getting Started page found on the admin/page management page, but it appears that it is now loaded straight from DNNsoftware.com when you login for the first time.
I found a hostsetting that you can change in the DB to turn it off
UPDATE dbo.HostSettings SET settingvalue = 'false' WHERE settingname = 'EnableGettingStartedPage'
Once you run that you should clear the cache/restart the APP from the TOOLS menu in DNN in order to ensure the setting is updated for any future SuperUser accounts that login.

How to open application from a webbrowser windows phone

I am developing a windows phone application.
In a page I placed a button and on this button click I open the webbrowser and redirects to our website pages for some processes. There are many webpages. In the last webpage we added a button "Close". In the close button click I want to close the webbrowser and open the application back with the last state before opening the webbrowser. How can I do this ?
Thanks.
I will refer to the button in the app as "app button" and the button in the web page as "close button".
Add a WebBrowser control called webBrowser1 to the Windows Phone app. Make it cover the entire screen, and set it's Visibility property to Collapsed.
On the app button's click event, use
webBrowser1.Visibility = System.Windows.Visibility.Visible;
webBrowser1.Navigate(new Uri("http://yourwebsite.com/page");
to show the web browser and navigate it to the first page on your website.
Make the close button on the last page of your site navigate to a new page on your site, called "close.html" or whatever you want. In javascript, this would look like
<Button onclick="window.location.href='http://yourwebsite.com/close.html';">
Back in the app: On webBrowser1's Navigating event use,
if (e.Uri.ToString().Contains("close.html"))
{
webBrowser1.Visibility = System.Windows.Visibility.Collapsed;
}
When the you click the button on the last page of your site, it navigates to "close.html". When this happens, the Web Browser's Navigating event fires. Since this event fires every time you change pages, you need to check to see if the new url contains "close.html", the page your close button is navigating to. If it does, the Web Browser will be hidden and you will see your app again.
.
(In VB, the code would be )
webBrowser1.Visibility = System.Windows.Visibility.Visible
webBrowser1.Navigate(New Uri("http://yourwebsite.com/page")
And
If e.Uri.ToString.Contains("close.html")
webBrowser1.Visibility = System.Windows.Visibility.Collapsed
End If
Edit: I was thinking in generic terms when i wrote the answer and did not remember that you are asking specifically about the webbrowser (hence, using a webbrowsertask launcher). Thank you #Claus for point out the OAuth situation. So, i am amending my answer to explain that it is possible and also mention an issue with using the launcher as there is no way guarantee to return back to a given point in your launcher app (as it is with choosers due to the availability of callbacks).
It is not possible to achieve this in general terms. That is, there is an application A which opens another application B and from application B you would like to close-it-and-open-A. There are many reasons why i think it is not possible:
- How does one get the address/reference to the application A. No API for that at the moment.
- There is no content-handler/plugin where a 3rd party can register an app with the web-browser.
- Most importantly, security, security, security. This would open doors for attacks from the web.
However, for your requirement of application B being a web-browser, it is possible to use a task launcher WebBrowserTask. As #claus suggests, you could have Window.close() javascript in your last page to close the browser and hence reveal the app underneath it (hopefully, A). The problem here is that if, the user opens an app (let's call it C) after the browser has launched (and before the browser is closed), and the user does not close C, then when the browser gets closed, the user will be returned to C and not to the launcher App! This is not what you want based on your requirement.
So, if you would like to achieve the kind of effect you are describing in your question, it is best that you embed the Web-browser in your application (as a full-screen app) and from that vantage point you can interact between the web-browser (control) and the (host) app via Javascript.
Hopefully, this helps.

Can't exit Salesforce Development Mode

When I have the Development mode enabled for my profile, and I open a custom VisualForce page, the code-editing window/frame appears on the bottom of the screen.
Problem: for 7-8 months now, this window does not disappear when I am done with the custom VF page and go on to strandard pages. It's just sitting there, and displays the code for the original VF page. In addition to that, it's keeping the custom VF's URL up in the address bar of the browser, which interferes with other VF pages which take a use of the URL data.
I have submitted this as an issue to SF Support, who had pounded on it for months, and did not resolve.
Have you experienced this problem before, or know how to fix?
I've had this problem before and found the Development Mode toolbar at the bottom of pages particularly annoying. It doesn't work with some of the Firefox plugins that I use. So, I turned it off.
To edit a page without Development Mode turned on, go to Setup > Develop > Pages (or Apex Classes for controllers).
If you'd rather keep Development Mode on you may want to try updating your browser, or try using a different browser (Internet Explorer, Firefox, Chrome).
You can also use the url parameter
core.apexpages.devmode.url=1
in the address of any VF page to temporarily disable the development Mode toolbar.

How to check how many pages are using a certain skin in dotnetnuke

I am sitting with a situation where I need to check how many pages in my site are using a specific skin. In Sitefinity, you can check which pages are using a certain template and I wanted to know if this is possible in DNN please?
Thanks,
James
If you have access to your database, this code will get you all pages in DNN that override the default skin with the store_limited skin.
select TabID, TabName, TabPath from tabs where SkinSrc like '%store_limited%'
Confirmed working in 5.6.0
To run this code from within DNN
Login as Host
Go to Hosts menu
Click on SQL
Select your DNN connection string
Paste in the above code
Press execute

DotNetNuke - Module settings disapear on new user control

I have a DNN module which renders a user control (view.ascx)
All is ok ( I am logged in ) and I get the DNN settings menu.
however when I add another control and load it like so:
string url = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "View_Details", "mid=" + ModuleId.ToString());
Response.Redirect(url);
I lose the settings link when the new control loads.
Any ideas? Is there a property somewhere to turn on settings for the loaded user control?
When you have "mid" in the querystring, you're going to be using module isolation (i.e. that module control will show up in the edit skin's ContentPane and will be the only module on the page). When in module isolation, the action menu doesn't include settings. This is just a fact of DNN.
You have a couple of options. First, you could choose another navigation method (see Michael Washington's old (but still good) Module Navigation Options for your DotNetNuke® Module article).
Second, you could put your own link to the Settings on that control. You may be able to implement IActionable and just add it back to the action menu (I'm not sure if that would work), or you can add some sort of button or navigation bar to your module (potentially on all of the controls for consistency).
Are you designing this module for the general DNN community, or for a client that isn't familiar with DNN? People with DNN experience won't expect to be able to get to the settings one they're "inside" a module.

Resources