Tagged Posts

I'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...
Woah, 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...
I 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...
I'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...
I 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...
Community 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....
I 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...
ChrisHammond.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...
I 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...
Last 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/...
Google 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...
Are 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...
Well, 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...
So 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...
I 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...
I 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...
With 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! ...
Thanks 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...
So 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"...
I'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...
I've got another blog to add to my list. My work blog. Nothing interesting there yet, but soon...
I 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"...
I'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...
RSS URL

Chris Hammond

Chris Hammond

is a father, husband, leader, developer, photographer and car guy. Chris has long specialized in ASP.NET and DotNetNuke (DNN) development, so you will find a variety of posts relating to those topics. For more information check out the about Chris Hammond page.

If you are looking for DotNetNuke consulting please visit Christoc.com Software Solutions

Find me on Twitter, GitHub and LinkedIn.