DotNetNuke, ASP.NET, Web Development Blog

Determine if SmarterMail 16+ is being used as an open relay

Look at Reports -> Message Traffic. Look at the total number of messages being sent  under Trend mode. Then switch to Domain mode and verify the numbers are similar. 

Search your Delivery Logs (Manage -> Troubleshooting -> View Logs) for "Sending remote mail" and verify all the email addresses involved are valid for your server. 

Check your Spool - you may have a bunch of emails trying to go to invalid email addresses.

Making Ventrian's Simple Gallery Responsive

Ventrian has been making great DNN modules for many years now. Some of the modules though are beginning to show their age a bit and are using markup heavy techniques that were at one time common but can now be replaced with much cleaner CSS for most browsers. In particular, the Ventrian Gallery module wraps each photo in a table that has a cell for every corner and every side so that fancy borders can be added around the photos. This technique results in lots of extra markup and causes issues if you're wanting the gallery to be responsive (adjust to the users viewable area). It is actually fairly easy to make a few changes to cleanup the rendered HTML to allow for more modern and lightweight techniques for styling. We'll go through the steps... Read More...

AbleCommerce: Improved Coupon Administration Page

AbleCommerce is a great E-Commerce solution but there are a few areas that need improvement and Coupon administration is one of them. We've created a new version of the /Admin/Marketing/Coupons/Default.aspx page that filters out Used and Expired Coupons by default and lets you search for a particular coupon code quickly and easily. The code is quite simple so rather than try to sell this, we're making it available to everyone for free.

Download the code

To install the code, first, MAKE A BACKUP of the original files then simply replace Admin/Marketing/Coupons/Default.aspx and Admin/Marketing/Coupons/Default.aspx.cs with the corresponding files in the zip (do not place the files in the root of your install) and run the SQL in the root of the zip to create the Stored Procedure that is used by the code.

We welcome suggestions for improvements to the code and would be happy to set it up on CodePlex or GitHub or similar so others can contribute.

AbleCommerce: Force Separate Shipments for some products

One of our clients for which we built an AbleCommerce based E-Commerce site needed the ability to have certain items ship as a completely separate shipment from any other items in the users order, including if the user order multiples of the same item. AbleCommerce doesn't implement this functionality so we had to customize some of the existing functionality... Read More...

Updating CSS with Client Resource Management enabled and without having to "Clear Cache" constantly

I really like the idea of the Client Resource Management features added to DotNetNuke in version 6. But, it can make building a new skin or a new site on a live instance of DNN rather painful as any changes you make to the .CSS or .JS files won't be seen unless you clear the site's cache or put the site into DEBUG mode.

In theory, all skin development should probably happen on a development instance and the live site should only be updated once the skin updates are complete. But, in practice, we find lots of cases where we do need to be able to make CSS updates to a live instance (though not necessarily a live site) of DNN.

You can do this by updating the .css file and then clicking "Clear Cache" in the control panel. But, every time you do that, a new version of the combined files is created and users will need to download the file again. So, it's best to avoid that.

What I've found works better is to create a <style></style> section within your skin and for any changes you want to make, make those changes within that style section. Once you've got all your changes done, migrate them into the .css file and delete the <style></style> section from the skin, and clear the cache. That method allows us to quickly and painlessly make changes.

Also, for experimenting with minor updates, Firebug is a great tool as you can see what your changes will look like and then apply them when you're happy with them.

Happy coding!

Module Categories - Specifying Which Modules are Common

Image: Module Categories - Specifying Which Modules are Common Making adding modules easier for admins Since the new Ribbon control panel for DotNetNuke has been out, it has seriously bugged me that when you go to add a module, the default module Category is Common and the only module in that category was the HTML module. Because of that, the new Category just made things more confusing.

Today, an intern at one of my clients was trying to make a simple change to the home page of their site and added the Configuration Manager module to the home page. This caused the home page to force users to login and due to another issue caused an error for anyone going to the homepage. Bad.

Once I got that fixed up, I finally had the needed incentive to dig a bit further into the Module Categories piece to help avoid this in the future. As it turns out, it's quite easy to add modules to the Common category.

Just go to Host->Extensions and edit the module you want to add to Common. Then, select Common for the Module Category. That's it.

Now that the Common category actually includes the common modules, I really like that feature and hope it will make it much easier (and safer) for our clients to edit their content.

For our clients, we're doing this for all sites where clients edit there own content. Generally I include the following modules: Efficion's Articles, HTML, Documents, Links, and Ventrian Gallery.

Learn more from this post from Charles Nurse on Module Categories

Facebook blocks links to your site as Abusive or Spammy

Facebook is an excellent way to spread the word about any consumer oriented business (restaurants, retail, services, online stores, ...). Whenever we build a consumer oriented site, we do our best to consider the best ways to leverage Facebook and other social media to ensure our clients get the best possible return from their website.

One day, one of my clients noticed that when he tried to click on a link to his site through Facebook, the link was blocked with the following message:
The link you are trying to visit has been reported as abusive by Facebook users. To learn more about staying safe on the internet, visit Facebook's Security Page. Please also read the Wikipedia articles on malware and phishing.
It took us quite a bit of digging to figure out how to best address this and so I'm hoping I can make this process easier for others...  Read More...

Setting up SmarterStats against a multi-portal DotNetNuke installation

Image: Setting up SmarterStats against a multi-portal DotNetNuke installation Log Based Analytics provide a new perspective

We use Google Analytics extensively for tracking and analyzing website statistics. It does a great job of providing really useful information in a way that anyone can understand. Plus, its very easy to setup and has the power to let advanced users segment and drill down through the data to get even more detailed information. But, we've found it's a good idea to get another view of your visitors and traffic using a tool that provides information based on Log Analysis. Log based analytics let your see things that simply can't be tracked by script-based analyzers like Google Analytics.

As a big fan of SmarterMail, we decided to give SmarterStats a try. We've been using SmarterStats for awhile on several of our bigger sites but we also wanted to be able to use it on a few of our portals where we have multiple sites installed on a single instance of DotNetNuke. Before we could do this, we needed to do several things first to get this to work right...

Read More...

Giving your IIS Worker processes a proper identity

For debugging and troubleshooting performance issues As part of hosting of DotNetNuke sites, I often take a look at the processor and memory usage of the various processes running on our servers using Task Manager. Prior to recent changes though, I didn't really have any way to really know which of my sites was really having the biggest impact as all I could really see was a list of the worker processes (w3wp.exe) associated with the app pools. The UserName for each w3wp.exe process was Network Service. I did notice that one of the worker processes, averaged around 14% of the overall utilization while most of them averaged 0% percent with an occasional bump up to 1% or 2%. I figured this must have been one of the busier sites we hosted. I was wrong... Read More...

E-Commerce Discussion Points

Questions to ask before starting an E-Commerce project or online store

The perceived project size is just the tip of the icebergFar too often, clients and developers vastly underestimate the complexity involved for their simple online store or E-Commerce project. It might seem basic: show some products/services, add them to a cart, make payment, & ship... The reality however is often much more involved. Options, discounts, gifts, shipping options, referrals, and more combine together in a way that the complexity can quickly grow exponentially. With this complexity, custom-built solutions or online stores built by individuals prove inadequate or get so convoluted as features are added they become impossible to administer, maintain, and update.

Sometimes a few PayPal buttons or a basic shopping cart will meet your needs. But usually, you really need a really well-architected solution that has an active and strong development team behind it, a nice array of features, and an extensible architecture that will allow it to grow to meet the needs of the customer. Fortunately, the are some really great open-source E-Commerce solutions(Magento and NOPCommerce are two of our favorites) and affordable commercial E-Commerce offerings (AbleCommerce is our current favorite) available.

The key, is making sure that early in the process, you are properly anticipating the current and future needs of the client. This article lays out the list of que Read More...

Subscribe
Page 1 of 5First   Previous   [1]  2  3  4  5  Next   Last