Tagged Posts

So today I was getting impatient with some of the load times on SCCAForums.com, so I decided to run the SQL profiler on the database to see if there were any suggested improvements to speed it up. I ran the tuning wizard and it came up with a suggest that would be a 93% improvement, sold, lets run the script! Fast forward, an hour later, when I go to make a post on the server and boom it fails. WTF? "Hey Dave, can you post and see if my ban on your account works". He gets the same error. Not good. Anyways, SQL server's tuning wizard created a view, and when applying an index to that view it setup a requirement for ARITHABORT ON to be set when inserting into the cs_posts table. It took me a while to fix it, but I think everything is back up and running now. I removed the index on the view that was created :( Lesson learned, don't just execute random SQL on your database, even if SQL server suggested it!
So I've been working for the past few weeks on an a little project. The goal is to convert http://chrishammond.com from CommunityServer to DotNetNuke. I'm not going to be using the DotNetNuke Blog module, instead I've been adding some new features into the Engage: Publish module so that it will support blog like functionality, with the ultimate goal of making it support nearly all the blog type functionality that you find in common blogging systems. I've spent probably 100 hours over the past month or two working on the module (mostly on my own time) to get it setup for the conversion. I believe I have the software nearly ready to go so a few days ago while I was in Chicago for some DotNetNuke Training classes that I was conducting I started working on the SQL scripts that I will be using in the conversion. I have most of these scripts configured as the import process seems to be good, all the blog posts and tags are pulled over. I still have a few more things to finish up on the import process though. Here's a list of things I need to do to get the site ready for the conversion. I'll mark them off as I get them completed. Create conversion scripts for all blog posts (955 posts) Script to convert all tags (300+ tags) Script to convert all comments (1194 comments) Create a URL Handler for the old to new URLs (an unknown number of urls) Skin the site (3 DNN pages initially with more in the future) As I typed it up I see I have more left to do than I expected! I would like to see this will all be done by 1/6/2008 but I don't see that happening as it is 1am on the 6th right now. I'll keep working for a bit longer, then get back to it tomorrow evening after I watch American Gladiators! More coming soon on my conversion from CommunityServer to DotNetNuke! Update 2:30am 1/6/08: I've finished the conversion scripts for Comments now as well. Posted from...
Here's the collection of posts I've been making about OpenForce07 here in Las Vegas. I'll update the list on Thursday as well OpenForce07 Wednesday AfternoonOpenForce07 Wednesday, the time has come and gone, My Session OpenForce07 Wednesday Morning OpenForce07 Tuesday Afternoon: DNN Development Security OpenForce Tuesday Afternoon: OpenForce Tuesday: Shaun's Keynote OpenForce Tuesday Morning: Scott Guthrie's keynote   Posted from...
We're sitting here at Scott Guthrie's keynote this morning as he starts to discuss Visual Studio 2008 and development on the platform. Scott reiterated the announcement from last night that Visual Studio 2008 will be released later this month, available to MSDN subscribers and they will also be sending out copies to the attendees of DevConnections. Sitting here this morning I've seen quite a few core team members walking by. Phil Beadle Jon Henning Vincenc Manasas (sorry Vincenc) Joe Brinkman After Scott's presentation is over there will be a short break for the expo hall and then Shaun Walker's DotNetNuke Keynote will take place. I'm sure that room will be packed, so if you read this before then, get there early. So far Scott is just covering some of the basics of 2008. Such as:  Multitargeting to allow development in 2008 that can be built towards specific older frameworks of the .Net runtime, 2.0, 3.0, 3.5. The IDE will only show you intelligence and tools available to the specific version that you are targeting. Integrated AJAX support within 2008: JavaScript intellisense, debugging, testing. ASP.NET Ajax built into VS2k8 instead of being a separated download for the framework. Rich CSS Management and HTML designer the Expression WYSIWYG designer. LINQ and rich Data Support, new technology in 3.5, easily queries and works with data, ORDesigner included Scott just welcomed Sam up on stage to do a demo for ASP.NET on 2k8. Demos switching between design and source view and the speed at which he can switch. Sam is demoing some of the new CSS functionality within VS2k8, as well as LINQ data access and now paging on a review with AJAX. He's now on to covering JavaScript intellisense and debugging. I'm now sitting in the speaker. Room, trying to get online. There's Wireless here at hte conference, and I can get connected to it, but from there I'm pretty much SOL. So far the speaker room isn't looking too much better as I'm still typing this and not posting it! Heh, gotta love that. I had a darn IP address specified on my wired connection, no wonder I couldn't get online.     Posted from...
Well it's Sunday the 4th of November, my wife's birthday. Where are we spending it? In Las Vegas! The DotNetNuke Conference, OpenForce07 starts on Tuesday here at the Mandalay Bay so we came out to Vegas a few days early. Last night we went to see KA at the MGM, it was awesome. Not quite as good as La Reve that we saw at the Wynn two years ago, but still a great show. Today we're going to do some site seeing and then have dinner with her folks again. The rest of the week is DotNetNuke related. If you're in Vegas for DevConnections/OpenForce be sure to checkout my session on Wednesday "DotNetNuke Administration Best Practices". I'm looking forward to the conference as a whole, as well as getting to speak at my first "big" conference. I've presented at Tulsa Tech Fest the past two years (5 sessions) and multiple user groups all over the country, but this is my first big conference. Posted from...
Here's a quick list of why you should go to the OpenForce07 conference in Las Vegas in November 2007! Feel free to copy the list and create your own. OpenForce07 is the first DotNetNuke specific conference You get to hear presentations from the brightest in the DotNetNuke World Vegas Baby, Vegas Meet the Core Team Mandalay Bay DevConnections Asp.net Connections SQL Connections I'll be there! It's Vegas, how can you say no? Don't forget, if you can't make it to Vegas you should try to make it to OpenForce Europe in September! Registration is open, so start bugging your bosses, get them to foot the bill for your trip! It will be a great time for anyone who uses DotNetNuke, either as an administrator, content editor, or developer. There is plenty of information to learn with the best resources in the business there to learn it from! Posted from...
Over the weekend (I missed it because I was working on my car all weekend www.project240z.com) DotNetNuke 4.5.4 dropped, you can get it from www.dotnetnuke.com You can see a list of changes on the Gemini site at http://support.dotnetnuke.com I've cleaned up the list a bit and posted it here as well. Admin / Host Functions Bug DNN-5075 Adding/deleting security roles - notification/date format.  Admin / Host Functions Bug DNN-5239 Issue with "required" profile properties. Admin / Host Functions Bug DNN-5433 Redirect after login   Admin / Host Functions Bug DNN-5616 Core code should not reference external images... >Admin / Host Functions Bug DNN-5646 last lock-out date incorrect   Admin / Host Functions Bug DNN-5765 Sitemap.aspx Including Link to DotNetNuke.com   Admin / Host Functions Bug DNN-5614 Page Quota Not Working in Demo Portals   Admin / Host Functions Bug DNN-5771 Profile Definition Required Needs to be Tied to Visibility   Admin / Host Functions Bug DNN-5715 Install wizard runs when database is missing Admin / Host Functions Bug DNN-5727 Can't delete default home page after installation/yellow screen of death   Admin / Host Functions Bug DNN-5803 Save stylesheet in site settings clears selected logo   Admin / Host Functions Bug DNN-5855 Upgrade Status Indicator   Admin / Host Functions Bug DNN-5787 Account Login module is not visible to logged in users   Admin / Host Functions Bug DNN-5847 Add Existing Module no longer allows settings change to original   Admin / Host Functions Bug DNN-5862 Module Cache Expiration   Admin / Host Functions Enhancement DNN-5805 short circuit check for known account defaults   Admin / Host Functions Enhancement DNN-5854 Google Adsense Support   Control Panel Bug DNN-1579 Misleading Tooltips  General Bug DNN-5754 Profile Property Names that contain spaces raise js errors   Installation / Upgrade Bug DNN-5853 *.ZIP Packages should be installed automatically   Installation / Upgrade Bug DNN-5605 Password length error string   Installation / Upgrade Bug DNN-5606 Possible incorrect description text   Localization / ML Bug DNN-5835 typo in manage users localization file   Localization / ML Bug DNN-2612 XML Error in Resource Verifier   Localization / ML Enhancement DNN-5778 Inconsistent on page help text on the Account Login module Help buttons   Performance Bug DNN-5852 Add Tab Hangs on Site with large volume of Pages   Performance Task DNN-5714 unneccesary call in BuildDiv method of FieldEditorControl   Security Bug DNN-5802 ReturnUrl - Cross Site Request Forgery Vector   Security Bug DNN-5829 DNN Membership Preventing Active Directory Login   Security Bug DNN-5746 New user registration not working if specific page defined   Security Bug DNN-5734 Roles duplicated on "Global Roles" due to list values   Security Bug DNN-2593 Custom module permissions not deleted   Security New Feature DNN-678 SSL Support Skinning Bug DNN-4590 DNN not rendering link to skins CSS file   Skinning Bug DNN-5618 FixImagePath routine trashing APPIMAGEPATH   Skinning Bug DNN-5672 Pagingtable class made ineffective by hard-coded styles   Templates Bug DNN-5549 CS1010: Newline in constant error after creating new CS module using template   UI / Usability Bug DNN-5628 Assignment issue in HelpButtonControl   UI / Usability Bug DNN-5708 Wrong CSS class specified for "Manage User Credentials" tab   I'll be updating my sites today! Also, check out the "New Feature" of SSL support in the Core! Sweet! Posted from...
Sometimes you just have to take a break at the office and play with toys! I must say, our office environment is great, everyone is under 40 (except for Grandpa Henry), and we get to enjoy our days. We are always looking for experienced or willing to learn DotNetNuke developers at Engage Software. Below is a link to some of the fun we had yesterday. (right click and download the file before trying to watch it, it is a 350mb file, as it's in HD) http://www.christoc.com/video/7-19-07/7-19chopper.wmv   Posted from...
Welcome back to the DotNetNuke tips! I started doing this over a year ago, though with getting married last fall and working on my Datsun 240Z lately I haven't blogged near as much lately about DNN topics. So here we go, starting up again with my DotNetNuke Tips. Today's tip follows: When you're doing testing locally with a backup for a Production Database and Website one of the things you need to be sure to do is change your Portal Alias for your local URL, instead of your production URL. If you don't do this you'll hit the local URL and it will most likely redirect you to the production URL. This can cause a bit of chaos if you don't notice that you're no longer on the local/testing URL and start modifying the production web site. To change your portal alias you can do the following. Open your SQL Server management tool; SQL Enterprise Manager, SQL Server Management Studio, or whatever you choose to use. Browse to your local/test database, open up the PortalAlias table. You can either Modify your existing Alias, or you can add a new Alias to this table. test.myurl.com for example, be sure to setup the proper portal ID if you're adding a new alias and you have a lot of different aliases in there. You might also need to setup the aliases for the child portals as well if you plan on using those. The next step is crucial. You'll want to reset your website before you try to hit the new alias. You can do that in a couple of ways, I always prefer to open up the web.config file, add a carriage return and hit save. This will cause IIS to reload the site, clearing out the cache and loading the new portal aliases. Look for more DotNetNuke tips coming soon!Posted from...
This past week has been pretty darn busy, actually, so far 2007 has been pretty darn busy. At work we've been cranking away on a pretty large project built upon DotNetNuke. It's like nothing I've seen done successfully with DNN before, so it'll be interesting to see when this latest version goes public how well it does. It's rewarding, but a damn lot of work lately. I can't wait for February. I keep telling myself in February I'm going to start working on my car again, www.project240z.com Posted from...
My good buddy Chad Hobson has created his first meaningful technical blog post to help the masses. He had some issues when upgrading to Asp.Net Ajax Beta 2 for his AutoCompleteExtender controls and took the time to create a helpful post on how to make those controls work. Be sure to drop Chad a comment on his blog as well, tell him how cool he is in that mean looking photo. Posted from...
 Since I've yet to have time daily to post a new DotNetNuke tip I'm renaming my feature to just be DotNetNuke tips! I'll continue to post them when I have the time to do so.While I was off meeting with a client DotNetNuke dropped a new release! Go out and get it!If you're running any of the recent releases 3.3.* or 4.3.* it's highly recommended you upgrade to 4.3.4, there were some security issues found and resolved with those releases.More DotNetNuke Tips next week. Posted from...
DotNetNuke Daily Tip for 7/19/2006 DotNetNuke comes with a lot of functionality out of the box that people don't even know exists. Once of those items that has been overlooked by many with the latest releases of DotNetNuke is the DNNMenu, part of the ClientAPI Framework that Jon Henning has worked on. The SolPartMenu is by far the most used menu for DotNetNuke, it's been part of DNN since the early days, and really can be quite powerful in its implementation. It's also been a big beef with a lot of skin designers as getting solpartmenu working just right can be a bit tricky, and torturous at times. I'm actually a fan of the SolPartMenu, but for today's tip I want to point you to a few resources on the DNNMenu. I recently, as in last night, implemented the DNNMenu for my wedding site I've been putting together the past few days, you can see it implemented at www.horsesandcars.com. The DNNMenu was created by Jon Henning, the same developer of the Original SolPartMenu. Here's a quote from Jon “A few people asked me, the author of the Solution Partners Hierarchical Menu Control, why I would develop a competing menu control to my own.  The answer is simple.  The SolpartMenu is old and carries a lot of baggage with its almost 4 years worth of backwards compatibility.  It has been a goal for v2 of the solpartmenu to abstract all of the common logic not specific to the menu into separate js files that could be reused by other controls and applications.  This is exactly what the ClientAPI is; an abstraction of logic like positioning, DOM access, XML, etc.  The script for the menu should contain only code for the menu, thus making it easier to maintain and enhance.  So in essence, the DNNMenu is in a lot of ways the solpartmenu v2.0.”  And some of the features for DNNMenuKeyboard NavigationThe menu can now receives focus as the user tabs through the controls on the page.  Once it has focus, you can use the arrow keys to navigate its structure.  Pressing enter will invoke the menu item's clickaction.  Populate On DemandThe DNNMenu will support POD in the same manner as the DNNTree control.  This provide a nice performance boost for those of you concerned with page sizes.  I even had time to make the module actions menu support POD.  See chart below for comparisons between each option and other menus. Mouse In DelayOne of the features of the Solpart menu that was continually asked for was a mouse-in delay.  This delay allows for people who are navigating to the sub-menus and accidentally move off the parent some grace period to get it right.  The DNNMenu defaults this value to a quarter of a second (.25).  I believe this is acceptable, however, for users used to the fast response times of other menus, it may look like the DNNMenu is a little sluggish.  Note:  At this time there is no way of configuring this property in the skin. No Hardcoded MarkupProbably the biggest regret I had in the original design of the Solpart menu was the hardcoding of certain tags in the code.  This included the NOWRAP attribute added to the menu items, the use of spacer.gif and   to obtain the correct spacing, and the worst of all, the hardcoding of the border around the menu items when hovering.  None of this hardcoding is present in the DNNMenu.  Note:  the one exception is the spacer.gif that is used to do the iframe trick.  I need a url to point the IFrame to in order to not get the security error when the site uses SSL. Option to Remove All Use of TablesThe menu supports a property that will completely remove its use of tables.  Hopefully this will appease those developers and skinners who think that tableless designs are the way to go.  I originally had the UseTables property default to False, but since it was too difficult to keep things lined up across browsers without adding some...
After a long haitus over the past few weeks the DotNetNuke Daily Tips are back! Sometimes you want to put a skinobject in your DotNetNuke Skins that you need to act like a module. Inheriting from PortalModuleBase instead of SkinObjectBase. SkinObjects though don't get loaded like regular modules and due to that you may run into issues where you can't easily access the TabId of the existing page. Here's how to get that information easily.Dim objPortalModule As PortalModuleBase = DotNetNuke.UI.Containers.Container.GetPortalModuleBase(Me)thisTabId = objPortalModule.TabIdPut the above code in your skinobject code and you will now have a PortalModuleBase object that you can use to easily access some of the basic DNN properties you're used to using from PortalModuleBase.The above is VB code, any self respecting C# developer should be able to figure out the appropriate C# code. If not, email me and I'll bill you at my hourly rate ;)Stay tuned for another DotNetNuke Daily Tip coming tomorrow! Posted from...
RSS URL

Chris Hammond is a father, husband, leader, developer and car guy. Chris has long specialized in ASP.NET and DotNetNuke development, so you will find a variety of topics here on the website. For more information check out the about me page.

If you are looking for DotNetNuke consulting please visit my business website at https://www.christoc.com/