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...
David O'Leary |
12/5/2012 |
Comments (0) |
E-Commerce
|
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!
David O'Leary |
9/11/2012 |
Comments (0) |
DotNetNuke
|
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
David O'Leary |
6/19/2012 |
Comments (1) |
DotNetNuke
|
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...
David O'Leary |
4/13/2012 |
Comments (3) |
|
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...
David O'Leary |
3/25/2011 |
Comments (7) |
DotNetNuke, Blog
|
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...
David O'Leary |
3/23/2011 |
Comments (0) |
DotNetNuke, Blog
|
Questions to ask before starting an E-Commerce project or online store
Far 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 questions and discussions points
Read More...
David O'Leary |
2/10/2011 |
Comments (0) |
Blog, Business, E-Commerce
|
The are lots of very powerful forms modules available for DotNetNuke, but many of them seem like overkill for what we are usually looking for. The Form and List module often meets our functional needs when we are looking for a simple form module but in the past, I was disappointed with the look of the forms it produced.
The Form and List team, (mostly Stefan Cullmann), has done a nice job of adding features to improve the styling options. In particular, I like the ability to use CSS and Separators/Fieldsets for form layout.
Stefan wrote a brief blog showing how he styled the Feedback Form on the formandlist.com site. We used that as our starting point for a membership form we created and found we needed some additional tweaking to get the form looking just right...
Read More...
David O'Leary |
1/5/2011 |
Comments (0) |
DotNetNuke, Blog
|
Adding the time dimension
This is the first in what we plan on being a 3 part series on improving the tracking and reporting of Ad viewership and clickthroughs within DNN.
Overall, DotNetNuke'sBanner / Ad / Vendor implementation is a nice solution. It does a great job of serving up the appropriate ads based on a nice variety of options. But there's been very little change to the implementation over the last few years and we've found some areas of needed improvement. Efficion is hoping to contribute new features and improvements to these modules based on work we've done to bring it up to the next level.
One of the biggest weaknesses we found was it's reporting capabilities. It's easy enough for us to create reports for our clients (we'll be covering that in Part II of this series) but in this case, we didn't have the data we needed.
Our client wanted to be able to provided statistics on the views and clicks of their ads for a given time period (i.e. September 2010). The problem is, DNN only stores the total number of clicks and views for a given ad. There's no associated time period with those numbers.
So, we need to start storing clicks and views in a way that is time oriented. After some thought on this we decided that we should really accumulate the numbers on daily basis for each ad. Daily seems to be the standard in the analytics world and provides enough granularity to get the time frame you want while also not collecting data at too granular a level.
Daily totals will make it easy to create reports that show totals for a given period or to create trend charts for a particular ad or all ads over a given time period.
Read More...
David O'Leary |
10/9/2010 |
Comments (2) |
DotNetNuke, Blog
|
Ever needed to get a users first name out of a SQL table or field where only the full name was collected? We've create a SQL Function that does a pretty good job of this.
This is partially based on a script provided by JosephStyons in this thread on Stack Overflow. Joseph's script parses the name into Title, First, Middle, and Last. For my purposes, I only needed the first name and so was able to simplify the script and breaking it out into a function makes it easy for us to reuse in a variety of places.
Read More...
David O'Leary |
9/29/2010 |
Comments (0) |
Blog
|
|
|