Chris Hammondhttp://www.chrishammond.comRSS Feed for Chris Hammond120Creating Community Server Skinshttps://www.chrishammond.com/blog/itemid/250/creating-community-server-skinsI really need to read this and start working on some CS...Fri, 25 Mar 2005 08:28:00 GMT0e9a6718-4b89-4ab9-95d2-5fddd8474541Community Server Controls to keep track ofhttps://www.chrishammond.com/blog/itemid/261/community-server-controls-to-keep-track-ofStarting a blog post to keep of community server controls I need to work...Thu, 21 Apr 2005 09:57:00 GMT66277a76-8b9a-43c4-bbbc-38beeb2b086aCjhControls Web Controls Release for Community Serverhttps://www.chrishammond.com/blog/itemid/285/cjhcontrols-web-controls-release-for-community-serI've released the first version of the CjhControls for CommunityServer 1.1. You can download the Zip file from here. This first release just has the Cjh:RssWriter writer control included. I'll have another release next week with a few more options on board. Check out the readme file for instructions on how to use the control. Cjh:RssWriter allows you to place a control on a page that will read an RSS feed and an XML Transformation file and then display the RSS feed on the page based on the transformation...Wed, 15 Jun 2005 10:25:00 GMTf9698d66-73c9-4c7f-a3b5-760a4291e911Speaking at the STL .Net Users group meeting on Monday.https://www.chrishammond.com/blog/itemid/289/speaking-at-the-stl-net-users-group-meeting-on-moI'm making another brief appearance at the St. Louis .Net User's Group meeting on Monday the 27th. I'll be giving a brief overview of dotnetnuke 3.1. Though, their web site appears to be down right...Wed, 22 Jun 2005 17:06:00 GMTeea39a19-8fcf-4563-a93f-a803c1d4241cCommunity Server 1.1 Quick Reply Functionalityhttps://www.chrishammond.com/blog/itemid/302/community-server-11-quick-reply-functionalityI've taken the quick reply functionality that was released for CS 1.0 and have integrated it into my CjhControls. I just have a few more changes and tests to complete and I'll hopefully release the next version of these controls before the end of the week. I think I'm going to remove my latest posts control from the release and just use this method for displaying the latest...Tue, 12 Jul 2005 23:34:00 GMT16cf4beb-4b3b-4ceb-82c8-078f1cf38c58Community Server 1.1 Latest Posts controlhttps://www.chrishammond.com/blog/itemid/305/community-server-11-latest-posts-controlI took the latest forum posts control from Christian Nordbakk and turned it into a control to use on SCCAForums.com The differences are that my control displays the latest post made  links to the last post made instead of the first shows the user who made the last post shows the forum the post was made in You can change some of the settings for this control such as the number of posts returned, by looking at the GetThreads() method in the code. If you want to use this control please feel free to do so. You'll need to download the control here (rename it from latestforumsposts.txt to latestforumposts.ascx) and place it in the root of your CS folder, eventually I'll get around to making this control part of my CJHControls package, but for now you can just use it as is. It won't work in the themes/default/skins/ folder without some further changes. To put it on your main page you need to add the following to the top of your default.aspx file <%@ Register TagPrefix="LatestForumPostsControl" TagName="LatestForumPosts" SRC="LatestForumPosts.ascx" %> and then add this line to the page <LatestForumPostsControl:LatestForumPosts Runat="Server" ID="Latestforumposts1"...Mon, 18 Jul 2005 09:22:00 GMTcab3dc38-a795-43da-89e0-cbbe26f952caYet another bloghttps://www.chrishammond.com/blog/itemid/310/yet-another-blogI've got another blog to add to my list. My work blog. Nothing interesting there yet, but soon...Thu, 21 Jul 2005 06:55:00 GMTda6e251c-2ccf-4bf2-8638-99ab53645030Quick Reply and RSS Display for Community Server 1.1https://www.chrishammond.com/blog/itemid/314/quick-reply-and-rss-display-for-community-server-1I've released the latest version of the CJHControls for Community Server 1.1. You can download the package here. This release is upgraded to run on CS 1.1, and includes the following functionality. Forum Quick Reply, allowing registered users to post replies to forum threads without having to go to a seperate reply page. RSS Display, allowing site administrators the ability to display internal, or external RSS Feeds on their web pages, with XSL formatting. You can download the latest controls here. Any questions or comments can be posted...Tue, 26 Jul 2005 14:11:00 GMT6d62b8f9-fa54-4c8f-a846-39c686961a95Migrating to Community Server from DotText (.Text)https://www.chrishammond.com/blog/itemid/346/migrating-to-community-server-from-dottext-textSo I finally converted ChrisHammond.com from .Text and nGallery to the latest released version of CommunityServer. It didn't go over without a few hitches. The biggest problem I had was that the old links wouldn't work for the website, so all of the previously indexed pages for the website would be invalid, I'll document how I upgraded, and what I did to fix the issues in this thread, it's a work in progress. Setup a blank CS 1.0 database and installation site. Use the DotText to CommunityServer conversion tool Create a new Gallery in CommunityServer for the following step. Use the nGallery to CommunityServer Conversion tool. Upgraded from CS1.0 to CS1.1 Used the siteUrl configuration tool from Ken. I setup single site with a single blog in the /blogs/ URL and multiple galleries. Modified the siteurl.config file. I had to add the following lines to the siteurl.config file to get the old archive links working properly.  <url name = "oldweblogIndividualRss" location = "common" path="rss.aspx" pattern="rss.aspx" vanity="/blogs/rss.aspx?App=christoc" /> <url name = "oldweblogday"   location = "common" path="/archive/{1}/{2}/{3}.aspx" pattern="archive/(\d{4})/(\d{1,2})/(\d{1,2})\.aspx" vanity="/blogs/day.aspx?App=christoc&amp;y=$1&amp;m=$2&amp;d=$3" /> <url name = "oldweblogmonth" location = "common" path="/archive/{1}/{2}.aspx"     pattern="archive/(\d{4})/(\d{1,2})\.aspx" vanity="/blogs/month.aspx?App=christoc&amp;y=$1&amp;m=$2&amp;d=1" /> <url name = "oldweblogpostId" location = "common" path="/archive/{1}/{2}/{3}/{4}.aspx" pattern="archive/(\d{4})/(\d{1,2})/(\d{1,2})/(\d+)\.aspx" vanity="/blogs/post.aspx?App=christoc&amp;y=$1&amp;m=$2&amp;d=$3&amp;PostID=$4" /> <url name = "oldweblogpostcategory" location = "common" path="/archive/category/{1}.aspx" pattern="archive/category/(\d+)\.aspx" vanity="/blogs/postcategory.aspx?App=christoc&amp;CT=BlogPost&amp;CategoryID=$1" /> <url name = "oldweblogarticlecategory" location = "common" path="/articles/category/{1}.aspx" pattern="articles/category/(\d+)\.aspx" vanity="/blogs/articlecategory.aspx?App=christoc&amp;CT=BlogArticle&amp;CategoryID=$1"...Mon, 05 Sep 2005 19:52:00 GMT51791829-fe56-4699-9c21-484f0c02a498Rocket Racing Forums now available!https://www.chrishammond.com/blog/itemid/360/rocket-racing-forums-now-availableWith the announcement earlier this week of the new Rocket Racing League a new community web site for the Rocket Racing League has been put together with Telligent's Community Server. Check out the Rocket Racing Forums over at http://www.rocketracingforums.com/ There is definitely more to come with the site, they are definitely in the infancy stage just like the new racing series! ...Thu, 06 Oct 2005 22:42:00 GMT8d423e39-a8d7-443e-907e-aecb1750a14eUpdate in progresshttps://www.chrishammond.com/blog/itemid/379/update-in-progressI decided today was the day to Upgrade Solo2.org. I'm upgrading the software to run on CommunityServer 2.0 Beta 1. Here's to hoping the beta is at least semi stable! I've got all of the posts up through 9am downloaded and imported into a DB, now I'm working on converting them into a good CS format so I can get the site up and running tonight. I'm converting from a DNN/Ubb.Classic website to run Solo2.org fully out of...Wed, 16 Nov 2005 16:28:00 GMT73fe4c8e-4101-4a34-89bf-6cb444a152b1Solo2.org Updatedhttps://www.chrishammond.com/blog/itemid/380/solo2org-updatedI successfully upgraded Solo2.org last night/this morning to run on Community Server Now to skin the site so it's "original" and get some of the little kinks worked...Thu, 17 Nov 2005 11:24:00 GMT13a99c4f-da9d-41c6-a3fb-f82afda13e8bSt. louis DotNetNuke User's Group Meeting December 8th, 2005https://www.chrishammond.com/blog/itemid/395/st-louis-dotnetnuke-users-group-meeting-decemberThe first St. louis DotNetNuke User's Group Meeting will be held on December 8th, 2005. Be sure to check out DnNUG.com for more...Wed, 30 Nov 2005 16:30:00 GMTd5355a1a-552e-421f-beb1-77bf16bfe0dfCommunity Server Latest Post Changeshttps://www.chrishammond.com/blog/itemid/396/community-server-latest-post-changesSo I needed to modify the way the controls on the right of the homepage were showing up. So they linked to the latest post, showed the author, and the forum that they were posted in. Here's how I did it for www.sccaforums.com, which is using 2.0 Near the top of your default.aspx page add int getPageNumber(int replies) { int page = 1; if (replies > 15) { page = 1 + replies /15; } return page; } int getPageNumber(int replies) { int page = 1; if (replies > 15) { page = 1 + replies /15; } return page; } <script language="C#" runat="server">  int getPageNumber(int replies) {  int page = 1;  if (replies > 15)   {   page = 1 + replies /15;  }   return page; }</script> And then on the controls use the following to display all the information I was looking for. Just after       <ItemTemplate>       <div class="CommonSidebarContentItem"> insert <strong><a href="<%# ForumUrls.Instance().PostPaged((int) DataBinder.Eval(Container.DataItem, "MostRecentPostID"), getPageNumber((int)DataBinder.Eval(Container.DataItem, "replies")))%>"><%# DataBinder.Eval(Container.DataItem, "Subject").ToString() %></a></strong>- <strong><%# DataBinder.Eval(Container.DataItem, "MostRecentPostAuthor") %></strong><br><a href="<%# ForumUrls.Instance().Forum( ((Thread) Container.DataItem).SectionID ) %>"><%# DataBinder.Eval(Container.DataItem, "Forum.Name") %> </a> This is all pretty similiar to the "latest post control" I released for 1.1, but some of the functions changed locations so that control no longer works without...Thu, 08 Dec 2005 14:30:00 GMTe10dc9fa-d30e-477a-bec6-8e8b3a8ba722My good friend Chadhttps://www.chrishammond.com/blog/itemid/419/my-good-friend-chadWell, as you may have seen in my previous post, my good buddy Chad Hobson was razzed a little about his lame website, www.chadhobson.com. His response to my razzing was to throw up a little picture, and make a few text changes. Though he's still yet to provide anything functional on his website, he has called me a god, to which I am...Sat, 21 Jan 2006 14:56:00 GMTc306bb08-3a77-4608-a996-16f6d30838b8Excellent Programmer!https://www.chrishammond.com/blog/itemid/422/excellent-programmerAre you looking for an Excellent Programmer? You've found him! If you're looking for mad programming skills from an excellent person, you've come to the right place! (inside...Mon, 23 Jan 2006 10:39:00 GMT3c8860ea-277d-4299-a2ac-887680d2ba21SCCAForums.com Track and User Mapping Systemhttps://www.chrishammond.com/blog/itemid/429/sccaforumscom-track-and-user-mapping-systemLast night I launched a new feature on SCCAForums.com. Our recently launched Mapping System uses Google Maps functionality to allow SCCAForums.com Registerd users to plot points on our map, allowing users to see who is located near them, or in other parts of the country. Check out the Maps page for more features! We're sure this new system will generate some questions and we've tried to answer a few of them here, we'll add to that list over the next few days. If you have further questions please post in our Questions and Suggestions forum. http://sccaforums.com/maps/...Tue, 31 Jan 2006 07:58:00 GMTcc307cd3-7c46-4e5f-b10a-cd58a70382d1CommunityServer and Google Maps Integrationhttps://www.chrishammond.com/blog/itemid/439/communityserver-and-google-maps-integrationI implemented a version of Google Maps with SCCAForums.com, which runs on the CommunityServer platform. If any businesses are interested in this coalition of two products please contact me for further information. I'm readily available for consulting work for...Sun, 12 Feb 2006 12:16:00 GMTa624db91-59ff-480d-b540-ac899fde67baSoftware update!https://www.chrishammond.com/blog/itemid/449/software-updateChrisHammond.com has gotten a long over due software update! With the update there are quite a few changes with the skins. I'll be making more adjustments later this weekend, stay...Sat, 25 Feb 2006 08:52:00 GMTd2a9a986-d23d-449e-8cf3-1228c0608befHTTP Compression for IIS 6.0https://www.chrishammond.com/blog/itemid/463/http-compression-for-iis-60I just went through and enabled HTTP Compression for the server that ChrisHammond.com, Solo2.org, and various other websites run on. Now, I can't tell if the difference is noticable, or if I just think it's noticable? hmmm Followed the instructions in this article for setting up HTTP Compression on IIS...Mon, 13 Mar 2006 16:48:00 GMTcd94b47b-84c0-44d6-b282-cd3a83449387Community Server Tweaks, Latest Postshttps://www.chrishammond.com/blog/itemid/464/community-server-tweaks-latest-postsCommunity Server can be a pretty powerful tool if you take your time to setup a decent site for your users. Here are a few tweaks I've made to SCCAForums.com to make it a bit more user friendly. On the home page there are sections for active, unanswer, and my posts(if logged in). These controls don't provide much information to the user though, by default only a link and portion of the subject of a forum post. On SCCA Forums I've setup the controls to display the user who made the last post, link directly to the last post rather than the first post, and also display and link to the particular forum that the post was made in. To do this you need to add the following script to your default.aspx page. <script language="C#" runat="server">  int getPageNumber(int replies) {  int page = 1;  if (replies > 14)   {   page = 1 + replies /15;  }   return page; }</script> You also need to change the ItemTemplate section of the ThreadRepeater controls to look like the following <ItemTemplate>        <div class="CommonSidebarContentItem">    <strong><a href="<%# ForumUrls.Instance().PostPaged((int) DataBinder.Eval(Container.DataItem, "MostRecentPostID"), getPageNumber((int)DataBinder.Eval(Container.DataItem, "replies")))%>"><%# DataBinder.Eval(Container.DataItem, "Subject").ToString() %></a></strong>    - <%# DataBinder.Eval(Container.DataItem, "MostRecentPostAuthor") %>    (<a href="<%# ForumUrls.Instance().Forum( ((Thread) Container.DataItem).SectionID ) %>"><%# DataBinder.Eval(Container.DataItem, "Forum.Name") %></a>)        </div></ItemTemplate>     More tweaks to come....Thu, 16 Mar 2006 19:55:00 GMTdecc10f9-0940-47d2-a234-b3cd6a6531c4Updated my websitehttps://www.chrishammond.com/blog/itemid/573/updated-my-websiteI upgraded my site to CommunityServer 2.1 this afternoon. It was time for a change and hopefully 2.1 will filter the comment spam I've been getting a bit better.I'll be making more changes to it shortly, adding another picture to the header like I had...Wed, 23 Aug 2006 16:22:00 GMT37a1b269-858c-467d-b92c-6b1148e5effbWhy I won't be upgrading to CommunityServer 2007https://www.chrishammond.com/blog/itemid/720/why-i-wont-be-upgrading-to-communityserver-2007I'm really starting to lose enthusiasm for Community Server the more and more it becomes restricted and pricey with it's licensing model. I guess it's time to look into writing some conversion scripts from CS to DotNetNuke for Forums and Blogs, as DotNetNuke still remains a good free solution for community websites. CS seems to become more restrictive everytime the have a new release (once a year).I use CS on a few sites (http://themadblogger.org, http://stlouisinside.com, http://sccaforums.com, http://solo2.org/, http://chrishammond.com) but will seriously consider making the move to DotNetNuke based sites for those currently running CS if the Licensing stays the way it is for 2007. I had actually looked forward to doing the upgrade to 2007 for some of the sites. Open Source works -> www.dotnetnuke.com Posted from...Fri, 09 Feb 2007 13:10:00 GMTc92426c3-cda1-497b-9265-e46fc2ceb6d4Deleting unused blogs and photo galleries in CommunityServer.https://www.chrishammond.com/blog/itemid/722/deleting-unused-blogs-and-photo-galleries-in-commuI decided to remove some unused blogs and photo galleries from a few of my CommunityServer sites today. Here's some ROUGH SQL code to do it.It worked for me, but I make no guarantees how it will work for you! Backup your database before performing any type of maintenance.Be sure to sub in your UserId where I note below with the ##. I run the commented out code first at the top, this creates a quick table, after doing my testing I commit the changes then drop the table I had created.I don't claim this code is great, but it got the job done :D/*create table temp_deletesections(SectionId int,Processed int default 0)*/begin tran tran--rollbackdeclare @rowsAdded intinsert into temp_deletesections @rowsAdded intinsert into temp_deletesections into temp_deletesectionsselect sectionid, 0 from cs_sections sectionid, 0 from cs_sectionswhere totalposts <1 totalposts <1set @rowsAdded = @@rowcount @rowsAdded = @@rowcountwhile @rowsAdded > 0begindeclare @sectionDeleteId intselect top 1 @sectionDeleteId = sectionId from temp_deletesections where processed=0 @rowsAdded > 0begindeclare @sectionDeleteId intselect top 1 @sectionDeleteId = sectionId from temp_deletesections where processed=0begindeclare @sectionDeleteId intselect top 1 @sectionDeleteId = sectionId from temp_deletesections where processed=0 @sectionDeleteId intselect top 1 @sectionDeleteId = sectionId from temp_deletesections where processed=0 top 1 @sectionDeleteId = sectionId from temp_deletesections where processed=0exec dbo.cs_Section_CreateUpdateDelete @SectionID=@sectionDeleteId,@DeleteForum=1,@SettingsID=1000,@UserID=## dbo.cs_Section_CreateUpdateDelete @SectionID=@sectionDeleteId,@DeleteForum=1,@SettingsID=1000,@UserID=##update temp_deletesections set Processed = 1 where Processed = 0 and sectionId = @sectionDeleteId temp_deletesections set Processed = 1 where Processed = 0 and sectionId = @sectionDeleteIdset @rowsAdded = @rowsAdded-1 @rowsAdded = @rowsAdded-1end--commit--drop table temp_deletesections  Posted from...Mon, 12 Feb 2007 16:23:00 GMT73f8d534-238c-4bda-a8e2-f6f3ece5a5c4Welcome to CommunityServer2007https://www.chrishammond.com/blog/itemid/813/welcome-to-communityserver2007Woah, it looks like we got an upgrade here at http://weblogs.asp.net/ last night..... I guess I'll have to rework my skin a bit for CommunityServer 2007 Posted from...Wed, 16 May 2007 09:26:00 GMTf92ab50e-2f4b-42a5-b0a0-ac30a6ef426bExport Photos from CommunityServer 2.*https://www.chrishammond.com/blog/itemid/969/export-photos-from-communityserver-2I've started working on a quick application to export Photos from a CommunityServer website. If there's any interest I'll post up the code for this later in the week. I'm working to get http://chrishammond.com off of CommunityServer and setup on DotNetNuke. Considering I'm a DNN Core team member and my fulltime job is dealing with DNN every day it was about time to do so. So what will I be using in DotNetNuke to replace the functionality that CommunityServer offers? Here's a list of functionality and my planned replacement Photos: Flickr, I've been using Flickr for over a year now and you just can't beat the service they provide. $20/year and unlimited uploads/downloads, I've got over 10k photos uploaded to Flickr since I started using it, and with this export tool I'll have a few thousand more. Blogs: Frankly, the DNN Blog is alright, but not great. So I'm working to configure the Engage: Publish module I work on nearly every day to provide blog functionality. It's one of the pricier modules you'll find out there, but that's because it has seen 3 years of development and is supported by a company with 14 employees. Adding this functionality will require the following: Tags, MetaBlogAPI Support, better URL handling There are a few large things I need to work on. 1) Importing my Blog posts/tags from CS into the Engage: Publish module. 2) Friendly URL modifications to allow lookup and 301 redirections for the old URLs to find the new URLs within Publish. My goal is to have most of the above ready for testing after the Holiday Weekend. Posted from...Mon, 19 Nov 2007 10:08:00 GMT3bee9dbd-c355-4f9f-bb2a-9efc6befdbd1I AM an excellent programmer! I really am!https://www.chrishammond.com/blog/itemid/427/i-am-an-excellent-programmer-i-really-amGoogle even tells me so! http://www.google.com/search?hl=en&q=excellent+programmer <--currently 5th on the search results for excellent programmer. I will be number one, I will be the most excellent programmer of them...Sat, 28 Jan 2006 23:55:00 GMTcfa5fd76-0ca3-401a-aecb-a05007fcdf47CS Downloads Active Againhttps://www.chrishammond.com/blog/itemid/353/cs-downloads-active-againThanks to Jakob for letting me know I forgot to transfer over the downloads folder from the old website to the new! You should be able to download my CS Controls...Fri, 23 Sep 2005 09:59:00 GMT0faebf2a-a598-4a0e-8e48-59a677c911f1Converting from Ubb.Classic to CommunityServer forums.https://www.chrishammond.com/blog/itemid/274/converting-from-ubbclassic-to-communityserver-forI've successfully converted a Ubb.Classic web site to the new CommunityServer software from Telligent systems. If you are looking to go along the same conversion path, contact me, I'd be more than willing to estimate what it would cost for me to convert your Ubb.Classic web site to...Chris HammondTue, 31 May 2005 14:24:00 GMT422b4d7b-65f2-4a0c-889b-a997948b1395