<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.mconstantin.eu.org/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Blogging About .NET : .Text / CS - How to</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx</link><description>.Text / CommunityServer - How to</description><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60404.2676)</generator><item><title>Sitemap Provider for Communityserver</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2008/02/22/1750.aspx</link><pubDate>Sat, 23 Feb 2008 05:45:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1750</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/1750.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=1750</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/1750.aspx</wfw:comment><description>A few months ago I was looking for a Sitemap provider for CommunityServer, given that more and more search engines are using this technology to obtain additional information from indexed sites. 
I found &lt;A HREF="http://blog.danbartels.com/archive/2005/08/17/986.aspx"&gt;Dan Bartel's Sitemap provider&lt;/A&gt; which is explained on &lt;A HREF="http://communityserver.org/forums/t/473734.aspx"&gt;Community Server's forum&lt;/A&gt;, and it was incorporated in Community Server 2007 release, or at least that's my understanding.
However it has some significant drawbacks at least for CS 2.0 which I was interested in:
&lt;UL&gt;
&lt;LI&gt;It was not customizable enough. My configuration has two different sites plugged in the same DB, and you could not exclude for example the gallery list for sitemap. Dan Bartel's version put everything it found in the DB in the sitemap index&lt;/LI&gt;
&lt;LI&gt;It worked only on English locale servers&lt;/LI&gt;
&lt;LI&gt;It used an older version of sitemap schema (0.84), instead of a more current version that is used by non-Google search (0.90)&lt;/LI&gt;
&lt;LI&gt;Last modification date wasn't working correctly for blog categories&lt;/LI&gt;
&lt;LI&gt;The name was pretty much hardcoded to GoogleSitemap.aspx&lt;/LI&gt;
&lt;LI&gt;It was listing incorrectly only 10 posts available per blog (by using Individual Blog Post count property)&lt;/LI&gt;
&lt;LI&gt;There are different binary versions depending on CS version and .NET Framework version&lt;/LI&gt;
&lt;/UL&gt;

As a result I started to write my own Sitemap provider for Community Server which I'm sharing with the world. My version should solve all the above issues, however it doesn't support Google Ping feature from Dan Bartel's version, firstly because it cannot be implemented just as a ASPX and I didn't need it at all.&lt;P /&gt;
My version consists just from 2 different ASPX pages, which host the source code in them, so if you do not like any aspect of how the sitemap is generated you can tweak it to suit your needs.
In order to install it you just need to copy ASPX files in root of your installation and merge SiteUrls.merge.config file from archive with your SiteUrls.config, keeping in mind that if you don't want some particular types of posts in your index, you just do not put that in your SiteUrls.config.&lt;P /&gt;
For example if you don't want your galleries listed in your sitemap index, then you will remove &amp;lt;url name="GallerySiteMap"&amp;gt; entry.&lt;P /&gt;
This code was tested only with Community Server 2.0, and I might have introduced some dependency to this particular version, but I haven't got a 2.1 installation to test it against. However the modifications should be trivial to make it work against 2.1 version, or even a 2007 version, if you want.&lt;P /&gt;
Any comments welcomed on how this can be improved.&lt;P /&gt;
&lt;HR /&gt;
&lt;span&gt;

&lt;span&gt;CS Sitemap&lt;/span&gt; by 
&lt;a rel="cc:attributionURL" href="http://blogs.mconstantin.eu.org/cchrism/"&gt;Marius Constantin&lt;/a&gt; 

is licensed under a 

&lt;a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/"&gt;Creative Commons 
Attribution Non-Commercial 3.0 License&lt;/a&gt;. 

&lt;span /&gt;
Permissions beyond the scope of this license may be available at 
&lt;a rel="cc:morePermissions" href="http://blogs.mconstantin.eu.org/cchrism/contact.aspx"&gt;http://blogs.mconstantin.eu.org/cchrism/&lt;/a&gt;.

&lt;/span&gt;&lt;P /&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1750" width="1" height="1"&gt;</description><enclosure url="http://blogs.mconstantin.eu.org/cchrism/attachment/1750.ashx" length="4445" type="application/x-zip-compressed" /><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Hacking Community Server</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/10/31/1014.aspx</link><pubDate>Wed, 01 Nov 2006 04:34:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:1014</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/1014.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=1014</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/1014.aspx</wfw:comment><description>If you are having a split configuration where you are hosting the external Community Server site on a different server than the web site that is visible internally but you are sharing the exact same database, or the URL for your blog differs depending if you access it internally or externally, you may find yourself in the situation that Community Server will ping the configured site (or just the links from your post) with the wrong URL. Actually it's not wrong as it is the URL as if you are accessing the site internally, but for all other people outside your firewall this URL doesn't make sense. I have this kind of configuration because I want to post using SSL site, and by default Webhost4life isn't configured for SSL for the subdomains. As a result I found myself in the situation that CS was pinging sites with the administrative URL (SSL), instead of the public URL.
&lt;P&gt;After digging a little bit I didn't found something very relevant and I decided to recompile Community Server to make SiteUrlsData provider aware of absolute URLs. I was ready to send the patch to Community Server team, when while I was browsing for a completely different thing, I found &lt;A href="http://communityserver.org/forums/thread/549149.aspx"&gt;this URL&lt;/A&gt; on the Community Server site, that appeared to be linked to my previous needs. So all my patching process was not required at all because the team thought at this kind of need.
&lt;P&gt;So, if you need this kind of configuration do not search further, all you have is to place for the url tag a new attribute named "navigateUrl" with your absolute location and you are done. Apparently, this is not very well documented since even the guy that was asking about the problem found the answer from the CS support. In my case I modified the URL only for "weblogpostId" key, but you may want to modify it for "weblogpostName" too, depending on your configuration.
&lt;P&gt;Also, the good news is that this week it appeared Service Pack 1 for Community Server 2.1, and they are also working hard for the next release that will be named Community Server 3.0. Since 2.0 works good enough for me, I think I'll wait for the later. &lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=1014" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Upgrading to CS 2.0</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2006/05/11/771.aspx</link><pubDate>Fri, 12 May 2006 00:10:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:771</guid><dc:creator>cchrism</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/771.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=771</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/771.aspx</wfw:comment><description>&lt;P&gt;I've just finished upgrading my site to Community Server 2.0. Well, my opinions are mixed at this point at least from an "administrator" point of view. Although the interface is more complex and with a lot of new features I was kind of puzzled that out of the box the configuration file is kind of damaged. The fix is straightforward, but still... for a piece of software that wants to be RTM is quite annoying. (For more details you can drilldown on &lt;A href="http://communityserver.org/forums/thread/517078.aspx"&gt;Community Server forum&lt;/A&gt;: ). And, yes, &lt;A href="http://weblogs.asp.net/anjanaram/archive/2006/05/07/445429.aspx"&gt;others&lt;/A&gt; were puzzled by this quality of this release, too.&lt;BR&gt;Anyway, I overcomed all the issues and the upgrade was very smooth. Basically, the longest operation was uploading of the new files, and they are quite a lot. Applying the upgrade script worked flawless. In the same step I've switched to ASP.NET 2.0 so I'm pretty much up to date right now. &lt;BR&gt;As a side note, just after updating the installations I've seen on the Community Server site that they are planning for 2.1 release to be available in July 2006. So I should start planning for the new update. &lt;BR&gt;One of the reason of upgrading to 2.0 version is that I found a very nice tool named &lt;A href="http://www.luzern.co.nz/blogs/dev_blog/archive/2006/03/03/868.aspx"&gt;CS Gallery Manager&lt;/A&gt; that can be used to upload multiple pictures in one step. Although it supports CS 1.1 with a small hack, I thought it's better to upgrade. The great thing of CS Gallery Manager is that it supports both rotate and resize on the fly, so you can keep it on the desktop or laptop machine, plug in the SD card of your camera and you are good to go (actually your pictures :) ). &lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=771" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/7.aspx">Personal Achievements</category></item><item><title>Completed the upgrade from nGallery to Community Server 1.1</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/10/06/486.aspx</link><pubDate>Thu, 06 Oct 2005 18:09:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:486</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/486.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=486</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/486.aspx</wfw:comment><description>&lt;P&gt;As you could see I've completed too the migration from nGallery to CommunityServer, without major incidents and data loss.&lt;BR&gt;I've used a &lt;A href="http://weblogs.asp.net/krobertson/archive/2005/03/03/384910.aspx"&gt;migration utility&lt;/A&gt; which is sort of official, of course I found a bug, when migration comments they assumed that Anonymous user has the ID 1000, but this is not anymore true since CommunityServer 1.1 at least (in 1.1 the IDs start at 2000 or 2100).&lt;BR&gt;Also I've noted that this utility when it gots an exception from the CS code, it simply hangs and nothing happens. I had to investigate this since when I was migrating the old gallery, it appeared to stay indefinitely at the second album picture 14th. I thought that it will take a little bit longer, but left it a few hours and nothing happened, and no error message. Well, the code crashed since that was the first picture with a comment (a spam anyway) since it was trying to add as originator of the comment the user with ID 1000, which did not exist (oh yeah, foreign key violation).&lt;BR&gt;Another thing that I did no like, and I think that I will update it manually, the fact that it doesn't keep the original dates, where the picture was added. I think this is a limitation of the fact that this tool uses the existing CS code, which does not offer a posibility to change the date. I will go directly to database sometime in the future to adjust the old pictures, only a little bit over 100 pictures have to be adjusted.&lt;BR&gt;One of the most annoying "feature" is that you cannot import album by album, but all albums go into the same gallery, which is not neccesarly a good thing. Since I was tweaking the code, I've introduced a quick if to ask the user (aka me) if a specific album is imported or not in the selected gallery. This way I was able to migrate 1 album to 1 gallery, and luckily, I had only 7 albums or so. If you have large number of albums this hack will probably cause more headache than solve.&lt;BR&gt;I've used the &lt;A href="http://madgeek.com/Samples/RedirectModule.041119.zip"&gt;url rewriting component&lt;/A&gt; found via&amp;nbsp;&lt;A href="http://bloggingabout.net/blogs/dennis/archive/2005/06/28/7408.aspx"&gt;Dennis van der Stelt&lt;/A&gt;&amp;nbsp;also, to fix all the old links that pointed directly to albums, so Google &amp;amp; friends would be able to pickup changes more rapidly.&lt;/P&gt;
&lt;P&gt;An important feature that is missing in the CS is the bulk upload. I think I'll use CS_FTP to a temporary folder on my desktop, and afterwards upload it to the hosting server, otherwise I will minimize drastically the number of uploaded pictures.&lt;/P&gt;
&lt;P&gt;This being told, you are welcome to see &lt;A href="http://gallery.mconstantin.eu.org/"&gt;my new galleries&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=486" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>Upgraded to CommunityServer</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2005/09/08/340.aspx</link><pubDate>Thu, 08 Sep 2005 18:47:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:340</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/340.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=340</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/340.aspx</wfw:comment><description>&lt;P&gt;Since I bought a new camera (more on this later), I decided that nGallery is good but not enough to display pictures. It has some problems with displaying EXIF data, so I said that upgrade worths the time. I downloaded Community Server 1.1 and installed locally to see how smooth is the upgrade. &lt;/P&gt;
&lt;P&gt;For blogs I've used DotText-CS-Converter 2.2 from&amp;nbsp;&lt;A href="http://kevinharder.com/blogs/kevin/archive/2005/06/09/dottext_cs_converter_22.aspx"&gt;http://kevinharder.com/blogs/kevin/archive/2005/06/09/dottext_cs_converter_22.aspx&lt;/A&gt;&amp;nbsp;and it took me around 15 minutes to get my blogs working on CommunityServer. Upgrade was very smooth with no problem. Afterward I tweaked SiteUrls.config file to keep my naming scheme using subdomains and not subfolders (the way CS wants by default). Apparently it didn't broke anything and I'm very happy with this. Still I'll have to check for possible problems. One thing I'm missing is my old Windows XP skin, and I do not know if it will work with minor adjustments for CS. Still searching...&lt;/P&gt;
&lt;P&gt;Tommorow I will update my galleries also, but here is a little bit of working, and I found a bug in the nGallery converter while testing on my local machine.&lt;/P&gt;&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=340" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item><item><title>.Text starts to work smoothly</title><link>http://blogs.mconstantin.eu.org/cchrism/archive/2004/05/30/146.aspx</link><pubDate>Mon, 31 May 2004 00:32:00 GMT</pubDate><guid isPermaLink="false">84fa4630-d7f3-4739-a4ce-65ab18add461:146</guid><dc:creator>cchrism</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.mconstantin.eu.org/cchrism/comments/146.aspx</comments><wfw:commentRss>http://blogs.mconstantin.eu.org/cchrism/commentrss.aspx?PostID=146</wfw:commentRss><wfw:comment>http://blogs.mconstantin.eu.org/rsscomments/146.aspx</wfw:comment><description>Well, after digging a little bit, and change multiple things at once, .Text started to behave nice. The Admin interface still doesn't work, so for now &amp;#8220;Query Analizer&amp;#8221; is my friend. I don't know if this is a problem of 0.95 version of .Text, or is something wrong with my setup. I found a nice skin at &lt;A href="http://roudybob.net/articles/444.aspx"&gt;http://roudybob.net/articles/444.aspx&lt;/A&gt; and I'll stick with it.&lt;img src="http://blogs.mconstantin.eu.org/aggbug.aspx?PostID=146" width="1" height="1"&gt;</description><category domain="http://blogs.mconstantin.eu.org/cchrism/archive/category/3.aspx">.Text / CS - How to</category></item></channel></rss>