Session Variables in IE

Recently we had to mix an old ASP application with DotNetNuke. This was for a members site. Members had to log into the ASP application which created a session variable. This session variable needed to be passed along to all pages within the members site. The members site was a combination of ASP pages in iframes and DotNetNuke pages. During login the session variables were set.

The variables were passed perfectly from page to page within the members site in Firefox and Google Chrome. In IE the users were constantly brought back to the login page saying their login failed. IE was not accepting the session variables.

The reason why this was happening in IE is P3P. I had never heard of this until now. Apparently IE is more restrictive about cookie privacy, and it implements P3P, so you have to explicitly tell it that the cookies from the Iframes ore OK.

P3P information – http://www.w3.org/P3P/

The fix was on every ASP page this code needed to be placed:

Response.AddHeader "p3p","CP=\""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"""

Thanks to Dan for finding this quirk in IE!

DotNetNuke iframe module and redirects

In a recent project we did we had the need to integrate a classic ASP members site with DotNetNuke. The client had invested a lot of time and money into building an ASP based system to track their membership. They had a members only site that integrated with this membership application. When we redesigned their public web site it was not in the budget to redo the members only site or integration to the membership application. We needed a work around.

They had a complicated log in that checked if they had changed their password from its ordinal, validated that they had paid their dues, and determined what chapter they belonged to. Based on the login it displayed only their chapter information. We needed to integrate aspects of the membership application along with DNN pages that just contained documents for their reference.

We decided on iframes for integrating the membership application. They displayed the login, chapter rosters, profile information, membership search, etc. It worked well and even passed the session variables when navigating to DNN pages and back to the iframe pages.

The one issue we ran into was on the login page. Once the login was validated it needed to redirect the user the main page of the members site. If you did a standard response.redirect in the ASP code it brought the page in the iframe instead of loading the page as itself. That was not going to work. Second we tried JavaScript. While this worked great, it opened a new window on top of the current page. This was very confusing for many of the users. They kept calling saying nothing happened and it just says Login.

Code Example:

strLocation = "full URL here"
openlink(strLocation)
function openlink(link)
%>
<SCRIPT language='JavaScript'>window.open(' <%=link%> ');</SCRIPT>
<%
end function

We knew we needed a solution that replaced the iframe page with the correct page. After many tries the answer was finally found. This code breaks you out of the iframe.

Code Example:

strLocation = "full URL here"
openlink(strLocation)
function openlink(link)
<SCRIPT language='JavaScript'>parent.location.href ='<%=link%> ';</SCRIPT>
<%
end function

Starting a Business – How does technology come into your plan?

I have read many articles on how to start a business and what is needed. There is a piece of information that I always find missing – technology. Not many businesses today can function without some type of technology. Technology can be the foundation of your business and make or break it. I have developed a list of items every business needs to consider to be successful.

Server – For any business that will have employees and need to share files this is very important. A server will have many roles in your organization. It will store all your files, maintain security, manage printing, and possibly your email. Servers biggest role is security and file sharing. Servers can range from $1500 – $5ooo. For a startup company Windows Small Business Server is great since it includes email services. It is the most cost effective way to go. The server needs to be stored in a secure location. Servers need to be replaced every 3-4 years.

Computers – Most businesses will need computers for their employees. You need to plan for $400-$500 per computer. Its not worth going cheap since you will end up replacing them quicker. Computers need to be replaced every 3-4 years. When purchasing a computer you will normally find them cheaper online than going into a store. The retail stores mark them up. When looking at computers make sure the operating system is the Professional edition. The Home version of the operating system does not work in a business environment.

Antivirus – You need to protect your company data. Every machine must have antivirus. Antivirus software must update nightly and is subscription based. You need to renew it once a year.

Computer Use Policy – This is something most businesses fall short on. No one wants to implement this until there is a problem. At that time it’s too late. Don’t get caught in a lawsuit or heavy fines. Have one in place right from the start. Companies should restrict employees internet access to inappropriate sites and sites that employees might waste time on. They are there to work not to play on Facebook all day. If you have to adhere to HIPAA regulations Facebook and other social media sites should be 100% blocked. All you need is one virus to get on one computer in your network and your company data is compromised. Another part to the computer use policy deals with email. You need to clearly state whether you will be accessing employee email. Just because you are a boss does not give you the right to access an employee’s email.

Social Media Policy – If your company will be using social media you need to have a policy in place regarding who can post and what content should be posted. Someone needs to monitor this daily.

Passwords – Every employee must have their own username/password to log into the systems. This way you can track who is doing what. There should never be a list of passwords. This can get you into legal trouble if you force employees to give you their passwords.

Telephones – You need to put some thought into what you need. This is not a simple decision. Do you need multiple phone lines? Do you want your voicemails emailed to you? Call forwarding? Voice over IP? There are lots of systems out there. Make you determine what features you need now and might need 5 yrs from now. A phone system is not something you will change out frequently.

Remote Users – Will you have employees in the field? If so you will need to consider if those employees will have laptops, IPads or some other device. Besides the device they might need access to the internet. Will you purchase air cards for these devices?

Web Site – Every business must have a web site. Not only have a web site but it needs to be a professional web site. Having a bad web site it will reflect badly on your business and make it seem like you are not serious about business.

Determining what technology your business will need can be very overwhelming. You need to take it seriously to grow your business efficiently. Talk to someone who knows technology and can help you figure out what you really need. There is no cookie cutter solutions out there.

Disney World and Technology

Mickey MouseI recently took a trip to Disney World in Orlando FL. We all know technology has changed everything in our lives. During this trip I paid attention to the good and bad uses of technology. Even myself as a techie was surprised at some things.

Tickets

I always get my tickets online before I go since you can usually get them cheaper. I had boughten tickets in 2007 online and they worked out great. I printed out the receipt and took it to the will call window to get my pass. When I went to purchase them this year I was shocked. There was no way to print them out. Every site I went to forced me to have them mailed some where or pick them up at the local office which was not inside Disney. Since I waited I had to have them mailed to the hotel for an extra $12. I was surprised with this. Technology took a backwards step in this area.

iPhone Apps

Before I left I was playing on my phone to see if there were any apps that just gave me maps of the parks. I hate carrying around those paper maps :-) I found two apps. The first one listed each of the main parks. For each park it gave you the parade times, all the food places and their menus/prices/phone numbers, option to put your tickets in it, scheduler to track which rides you need to be at when and shows you are scheduled for, and wait times. I was truly impressed by the rides function. It gave you up to the minute wait times and how far you were from the rides from your current location. Talk about a great use of technology. This currently cuts down on wasted walks to the other side of the park for a ride when there is a 2 hr wait.  I used the restaurant feature the most. Being someone that has a specific diet this was a huge help for me. I could go through all the menus and mark the restaurants I could find something to eat at. Last time I was at the park we wasted so much time wandering looking at menus to find something I could eat.

The second app I had just had a map of each park. I actually used this a few times when I could not find things. It not only showed me where everything was but it was a GPS too. It showed me my exact location. So I could follow the blue circle on my screen to know if I was getting close to what I was looking for. This got me un-lost a few times during my trip.

One feature which they said they are working on is obtaining fast passes on your phone.

Cell Phones

Times have certainly changed. When I first started going to amusement parks we all stayed together or knew we had to meet up at a certain location at a certain time. We wore watches. Then I saw the move to walkie talkies. Parents would give every family member a walkie talkie to keep track of the kids and each other. Now we have moved to cell phones. A simple text to tell people where you are. Much more efficient and less annoying to the people that are around you.

The downside – boy there are plenty. First you are on vacation! I cant tell you how many parents I saw walking with their kids while they were on the phone with the office or checking email. Seriously? Put the phone away for one day and enjoy your kids. Because most phones are now Smartphone there is no getting away from the office. You have to make a conscious decision to not answer the phone or check email. Ya even I got a few people mad this week that I did not take their call but everyone needs a few days off. I will be the first to admit this is not easy but necessary.  Even while I sat at Tony's Restaurant (from Lady & the Tramp) I looked around. At one point every table had someone on their cell phone. This was discouraging. These were people of all ages too from young kids to 60's.

I noticed that even the kids were on cell phones. Here they are at the happiest place – Disney – they were not entertained enough. They were playing games on the phones or were ignoring their families by having headphones listening to music while texting their friends. These were not just teenagers. These were also kids from 5 on up. Kids start way too young with cell phones as a form of entertainment.

Getting into the Parks

Getting into the parks has changed since 911. With the amount of visitors coming to these parks, Disney has to be real careful but I am not sure they are there. When you first get to the park there is a bunch of people checking your bags. They look briefly in your bags and pass you on to the ticketing counters. I am not sure what good this does. They don't check the person, strollers or really the contents of the bags. The quick look they do won't catch anything. I have mixed feelings about this. I have no desire to go through airport security like checks getting in but it seems like they should be doing a bit more.

Your tickets to the park are now linked to your finger prints. This way tickets can't be shared between people. For a family this can be a nightmare if you don't mark the pass you get with everyone's name. I ran into this one day. Family of 5 had to try each pass with each person until they got it right. I can certainly understand why Disney did this. On the other side of it do I want Disney having my finger print? Where is that information stored and who has access to it? Do they tie your name with it or just your pass number?

What is new with DotNetNuke

I have spent the past 3 days at the DotNetNuke World conference. This conference was the first for DotNetNuke Corp on its own. Previously their conferences has been held in conjunction with the Microsoft DevConnections conference. I think this was a great move for DNN. There was about 400 people there and 1000 online viewers for the keynote address. 

DNN has a new definition for CMS (content management system). C = Cloud Deployment, M = Mobile Optimization, S = Social Engagement. This is all part of their new mission. They have some goals for the upcoming year:

  • User Experience Improvements
  • Cloud Deployment
  • On Demand
  • Performance
  • Social/mobile

There are over 10K modules currently on SnowCovered.com. This store will be undergoing a major overhaul in the future to re-brand it and add new functionality.

DotNetNuke has had a very successful year. Their release was DNN v6. This new version had major user interface changes and functionality changes. For all you programmers the back end was changed from VB to C#.

There are some big improvements for v6.

  1. Extension Catalog - You can now purchase modules right in your web site and install it at the same time.
  2. Cloud File Storage – The professional and enterprise editions now allow you to store files in offsite providers like Amazon and Azure.
  3. SharePoint Connector – In the enterprise edition there is a connector that can connect your SharePoint and DNN web site to share files.
  4. Mobile - DNN now has the ability to detect what screen resolution or device is coming to your web site. Based on this information the end user is automatically redirected to the appropriate site for that device. There are mobile templates that come with DNN now. The menu is optimized for small screen when using this template. When creating content there is a preview for most devices currently on the market. When a mobile device comes to your site you can redirect it to a page or site automatically.
  5. Cross sites sharing – Users and content can now be shared between sites/portals. If you are responsible for more than one site you will have a single signon that wont log out when you go between sites.
  6. Performance - DNN 6 has major speed improvements. It reduces client requests by 70% by grouping CSS and JavaScript to reduce page download times. This is not enabled by default.

Looking into 2012 these are the features that DNN will be working on:

  • SnowCovered will become "DotNetNuke Store" with enhancements
  • Cloud – demos and hosting
  • Professional Edition –
    • Content approval
    • Granular permissions
    • Document management
    • Page Caching
  • Enterprise Edition –
    • Staging environment
    • SharePoint 2010 connector
  • Focusing on business sections – They want to have installs that focus on certain types of web sites like Intranets, Ecommerce, etc. These will contain the templates and modules needed for these types of sites.
  • Social media – They will be integrating social media right in the base code.
  • URL management
  • SEO management

The enhancements in v6 take DNN to a new level in content management systems. The future plans for DNN are very exciting and I look forward to implementing these new functions.

Understanding Google Analytics

When setting up a web site you should have a way to track its success. Besides obtaining user feedback you need to have web site analytics set up on your site. Web site analytics will help you determine what type of traffic is coming to your site, from where, what technology they are using, what pages they are viewing, etc. These reports are important to look over. If everyone comes to your site and then leaves when they come to your home page, this tells you something is wrong with your site.

There are many types of analytics, both free and expensive. First you should NEVER use hit counters that display on the site itself. That can have a very negative effect on your business if people see you are not getting a lot of traffic.  Many people use Google Analytics. It is a free service and has many items it tracks. This can be used and set up by anyone and does not require technical knowledge.

Other analytics software is AWstats which is free and Web Trends which has a hefty price tag. To use something other than Google Analytics is requires technical skills since it needs to be installed on the physical server. Some hosting services will have something already set up for all their clients.

Below is a brief overview on how to interpret your reports.

Unique Visitors – The number of visitors within a designated timeframe making one or more visits to the site.

New Visitors – The number of visitors that visit a site for the first time during the report time.

Page Views – The number of times a page was viewed by an individual during a reporting time.

Entry pages – These are very important. They determine how visitors are arriving to the site.

Exit pages – This is the last page the visitor is on before they leave the site. This does not tell you where they went after they left your site or if they click on a link on your site which took them away from your site.

Bounce Rate – It represents the percentage of visitors who enter the site and "bounce" (leave the site) rather than continue viewing other pages within the same site.

Referrer Type – This shows you were the person came from if they did not directly type in your web site address. There are three types of referrers – internal, external, and search. An Internal referrer is when you have a link on a page to another page within your site. An external link is when another web site has a link to your web site and the user clicks on it. Final a search referrer is when a visitor comes to your site from a search engine.

Social Analytics – With everyone using social media companies want to know how to determine the ROI of their social media. To date there are no good methods to track social media.

Google Analytics now will show you what service provider (Internet ISP) the visitor is using. They recently added a mobile section to their reports. In this section you can see what types of phones are being used to view your site along with which carrier. This will have a great impact on what direction you take for your web site and mobile devices.

Google Analytics has a lot of information in their reports. These reports can be emailed to you daily, weekly or monthly. When you view the reports online you have a lot more options to view the data in different ways.

Analytics can be hard to understand at first but the more you examine them the more informed you will be to make critical decisions on the direction of your web site.