<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.bussinger.org/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>Scott Bussinger's Blog</title><link>http://bussinger.org/blog/</link><description>A View to my Mind</description><generator>Graffiti CMS 1.1 (build 1.1.0.1114)</generator><lastBuildDate>Thu, 09 Oct 2008 16:14:00 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.bussinger.org/sbussinger" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="sbussinger" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Graffiti CMS Meltdown</title><link>http://bussinger.org/blog/technology/graffiti-cms-meltdown/</link><pubDate>Thu, 09 Oct 2008 16:14:00 GMT</pubDate><guid isPermaLink="true">http://bussinger.org/blog/technology/graffiti-cms-meltdown/</guid><dc:creator>Scott Bussinger</dc:creator><slash:comments>0</slash:comments><category domain="http://bussinger.org/blog/technology/">Technology</category><description>&lt;p&gt;It started out well with &lt;a href="http://bussinger.org/blog/technology/installing-graffiti-cms-at-discountasp-net/"&gt;Graffiti CMS&lt;/a&gt;, but it wasn&amp;rsquo;t long before it tarnished a bit. I noticed that my third post never appeared in my feed reader even though it was on the site.&lt;/p&gt;&lt;h2&gt;Feed Error&lt;/h2&gt;
&lt;p&gt;At first I assumed that &lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt; was just having some problems and didn&amp;rsquo;t worry about it. When it didn&amp;rsquo;t resolve itself, I started digging into it. At some point I disabled the FeedBurner settings in Graffiti so I could verify the original feed (Graffiti redirects requests to the normal feed URL to FeedBurner automatically). It was getting an error on every request for the feed (but no mention of it in the Graffiti logs)! After I &lt;a href="http://support.graffiticms.com/p/100/334.aspx#334"&gt;enabled full error messages&lt;/a&gt;, I now saw this error when trying to view my feed:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSMeltdown_81DB/feederror_2.png"&gt;&lt;img title="feederror" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="423" alt="feederror" width="592" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSMeltdown_81DB/feederror_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I tried everything I could think of to clear this up myself &amp;ndash; recycling the application on the server, uploading the code to the server again, disabling what few plugins I&amp;rsquo;d installed, and &lt;a href="http://graffiticms.com/support/maintenance/regenerating-your-site/"&gt;rebuilding the graffiti pages&lt;/a&gt;. I sent two emails to &lt;a href="mailto:support-graffiti@telligent.com"&gt;Telligent&amp;rsquo;s support&lt;/a&gt; and left a &lt;a href="http://support.graffiticms.com/t/1089.aspx"&gt;message on the Graffiti forums&lt;/a&gt;. I never got so much as an acknowledgement of the emails and no response from Telligent support on the forum. Given that I have no idea what could cause the error I was completely stuck. The feed had worked for a couple of days and then just wasn&amp;rsquo;t working any more. &lt;strong&gt;What good is a blog with no RSS feed???&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Reinstallation&lt;/h2&gt;
&lt;p&gt;I finally gave up and completely reinstalled Graffiti from scratch the same way I&amp;rsquo;d installed it &lt;a href="http://bussinger.org/blog/technology/installing-graffiti-cms-at-discountasp-net/"&gt;previously&lt;/a&gt;, including deleting everything and starting with an empty database. After reconfiguring everything and re-posting my previous blog entries, it&amp;rsquo;s all working including the RSS feed. Obviously something had gotten messed up in the data file and I&amp;rsquo;ll be sure to make backups regularly from now on.&lt;/p&gt;
&lt;h2&gt;Graffiti&amp;rsquo;s Future?&lt;/h2&gt;
&lt;p&gt;What concerns me most is wondering if I&amp;rsquo;ve chosen my platform poorly. While I like the feature set and flexibility and the price is reasonable, without support a closed source commercial product can be a risky proposition. So far I&amp;rsquo;m only using the free Express Edition for this personal blog, but I&amp;rsquo;d intended to purchase the full version and use it for more projects. Now I&amp;rsquo;m questioning the wisdom of that because of these factors:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;No response to support email &amp;ndash; granted I haven&amp;rsquo;t paid for a copy yet, but I&amp;rsquo;d expect at least an acknowledgement of receiving my email. Other people have complained of the &lt;a href="http://support.graffiticms.com/t/1096.aspx"&gt;same sort of treatment&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Little Telligent presence in the &lt;a href="http://support.graffiticms.com/"&gt;forums&lt;/a&gt; lately.&lt;/li&gt;
    &lt;li&gt;The &lt;a href="http://graffiticms.com/blog/"&gt;Graffiti blog&lt;/a&gt; is deathly silent with no postings for 4 months. Odd behavior for a company selling blogging software.&lt;/li&gt;
    &lt;li&gt;The &lt;a href="http://marketplace.graffiticms.com/"&gt;Graffiti Marketplace&lt;/a&gt; is a great idea, but hasn&amp;rsquo;t been fleshed out. There&amp;rsquo;s almost nothing available on it.&lt;/li&gt;
    &lt;li&gt;There&amp;rsquo;s no &lt;a href="http://support.graffiticms.com/t/72.aspx"&gt;Roadmap&lt;/a&gt; for where Graffiti is going (even though it&amp;rsquo;s been promised a few times).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Telligent is &lt;a href="http://in.telligent.com/"&gt;hosting a conference&lt;/a&gt; in a couple of weeks and perhaps we&amp;rsquo;ll hear some news about Graffiti coming from that. Unfortunately Graffiti is barely mentioned on the conference website. What do you think? Is Graffiti CMS still a good option?&lt;/p&gt;</description></item><item><title>Using a UPS Label Printer with Non-Administrative User Accounts</title><link>http://bussinger.org/blog/technology/using-a-ups-label-printer-with-non-administrative-user-accounts/</link><pubDate>Tue, 30 Sep 2008 07:01:00 GMT</pubDate><guid isPermaLink="true">http://bussinger.org/blog/technology/using-a-ups-label-printer-with-non-administrative-user-accounts/</guid><dc:creator>Scott Bussinger</dc:creator><slash:comments>0</slash:comments><category domain="http://bussinger.org/blog/technology/">Technology</category><description>&lt;p&gt;One of the largest and most popular shipping companies in the United States is &lt;a href="http://www.ups.com/"&gt;United Parcel Service&lt;/a&gt; (UPS). They have an extensive website that allows you to enter shipment information, calculate shipping fees, print shipping labels, track package deliveries, and view your shipment history. A nice feature of their website is the ability to print large shipping labels you can stick directly on your packages. It&amp;rsquo;s a bit complicated to set up, but a big time saver. I ran into a problem though on a Windows system when running on a limited (non-admistrative) user account.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;The Hardware&lt;/h2&gt;
&lt;p&gt;My staff use Dell desktops running Windows XP and I wanted to let any staff member print UPS labels easily from their desk. So I purchased a &lt;a href="http://www.ups.com/content/us/en/resources/sri/pri3.html"&gt;compatible thermal label printer&lt;/a&gt; and attached it to my network through a small print server. I happened to have an older Eltron 2442 laying around and used that (they&amp;rsquo;re available very inexpensively on &lt;a href="http://www.ebay.com/"&gt;eBay&lt;/a&gt;). You have to install a special UPS Thermal Printer driver (you don&amp;rsquo;t use the printer driver from the manufacturer) and you have to install either an ActiveX control (Internet Explorer) or a browser plugin (Firefox). You&amp;rsquo;ll find the files and instructions &lt;a href="http://www.ups.com/content/us/en/resources/ship/create/labels/technical.html"&gt;here&lt;/a&gt;. After installing the drivers, you configure the website to use the label printer by logging into your account and going to the &amp;ldquo;Set Preferences&amp;rdquo; page under the &amp;ldquo;Shipping&amp;rdquo; menu option. There&amp;rsquo;s also a handy link to print a sample label.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/preferences_2.png"&gt;&lt;img title="Preferences" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="340" alt="Preferences" width="575" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/preferences_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;The Administrative Rights Problem&lt;/h2&gt;
&lt;p&gt;The process that UPS documents works great if you&amp;rsquo;re running as an administrator, but doesn&amp;rsquo;t work if you&amp;rsquo;re running on a limited user account. To get it to work I found it necessary to log in as an administrator in order to install the UPS Thermal Printer driver and the browser plugin. Then I logged back in as the normal user account and tried to print a test label. This is the error I received:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/error_2.png"&gt;&lt;img title="Error" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="Error" width="553" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/error_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I tried using a different browser, reinstalling, and many other experiments at this point and exchanged several emails with the UPS support staff but could not get it to work. If I temporarily gave the user account administrative rights it worked fine, so I knew that the drivers and browser helpers were installed correctly. As soon as I dropped the account back to normal user rights, it quit working again. There was obviously an access rights problem.&lt;/p&gt;
&lt;h2&gt;The Solution&lt;/h2&gt;
&lt;p&gt;To track down the problem I used the trusty &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/a&gt; utility from Microsoft. Process Monitor requires administrative rights so I used the &amp;ldquo;&lt;a href="http://technet.microsoft.com/en-us/library/bb490994.aspx"&gt;&lt;strong&gt;&lt;em&gt;runas&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&amp;rdquo; command to execute the utility while logged on with the limited user account. Process Monitor logs all file and registry activity performed on the system (for any user account) along with the success or failure status of each API call. By capturing only the activity from just before clicking the test link and stopping as soon as the error was displayed, I limited the logging to a somewhat reasonable number of lines &amp;ndash; only 30,000 or so! Fortunately it&amp;rsquo;s easy to apply filters to the display so I excluded all the processes that obviously weren&amp;rsquo;t involved (like winlogon and lsass) and excluded all API calls that didn&amp;rsquo;t return an error. Browsing through the list I found a line where a registry read call failed in section of the registry related to the UPS printer.&lt;/p&gt;
&lt;p&gt;I turns out that the installation program that created those registry keys give them fairly limited permissions. So I logged in as the administrator and used the &amp;ldquo;&lt;strong&gt;&lt;em&gt;regedit&amp;rdquo;&lt;/em&gt;&lt;/strong&gt; command to add FULL CONTROL permissions for the EVERYONE group to each of the UPS Thermal Printer registry keys. Note that the keys were created to not inherit permissions from their parent keys, so it&amp;rsquo;s necessary to change the permissions on all 4 keys separately. Adding permissions for the EVERYONE group was probably a larger hammer than I needed, but I was tired of messing with it and it worked! On my systems, the top registry key involved is &amp;ldquo;HKEY_LOCAL_MACHINE\SOFTWARE\United Parcel Service&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/registry_2.png"&gt;&lt;img title="registry" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="151" alt="registry" width="631" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/UsingaUPSLabelPrinterwithNonAdministrati_8B/registry_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After this change, the label printer works fine using the limited user account.&lt;/p&gt;
&lt;h2&gt;Firefox 3 Label Printing Issue&lt;/h2&gt;
&lt;p&gt;When I tested printing labels using &lt;a href="http://www.mozilla.com/firefox/"&gt;FireFox 3&lt;/a&gt;, I found another problem where I got two copies of each label I tried to print. It didn&amp;rsquo;t do this under IE so it must be a bug in the UPS FireFox plugin. I worked around this by installing the &lt;a href="https://addons.mozilla.org/firefox/addon/1419"&gt;IETab Firefox extension&lt;/a&gt;. This handy extension allows you to specify a list of websites that should be rendered using an embedded copy of IE rather than the normal FireFox rendering engine, and is a great way to deal with any sites that require Internet Explorer (perhaps because they require using an ActiveX control) while using still using FireFox. I added the standard variations on the UPS domain names to the IETab sites list (&amp;ldquo;http://ups.com/&amp;rdquo;, &amp;ldquo;http://www.ups.com/&amp;rdquo;, &amp;ldquo;https://ups.com/&amp;rdquo;, and &amp;ldquo;https://www.ups.com/&amp;rdquo;) and it worked great.&lt;/p&gt;</description></item><item><title>Graffiti CMS – Building out the Infrastructure</title><link>http://bussinger.org/blog/technology/graffiti-cms-building-out-the-infrastructure/</link><pubDate>Tue, 30 Sep 2008 06:53:00 GMT</pubDate><guid isPermaLink="true">http://bussinger.org/blog/technology/graffiti-cms-building-out-the-infrastructure/</guid><dc:creator>Scott Bussinger</dc:creator><slash:comments>0</slash:comments><category domain="http://bussinger.org/blog/technology/">Technology</category><description>&lt;p&gt;Now that &lt;a href="http://bussinger.org/blog/technology/installing-graffiti-cms-at-discountasp-net/"&gt;my basic blog is running&lt;/a&gt;, it&amp;rsquo;s time to beef it up and add some back-end plumbing to keep the site working smoothly. &lt;a href="http://graffiticms.com/"&gt;Graffiti CMS&lt;/a&gt; provides three very nice &amp;ldquo;hooks&amp;rdquo; that make it easy to keep statistics on page views, statistics on subscriptions to my RSS feeds, and to help prevent comment spam.&lt;/p&gt;&lt;ul&gt;
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/ul&gt;
&lt;h2&gt;Web Statistics&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a school of thought which says that to improve something you need to measure it. For websites, that means tracking page views. There are several ways of tracking page views including web server logs or adding some special Javascript code to each page. To support the latter method, Graffiti has a special hook that allows me to specify some Javascript code to be automatically added to each page displayed. IT&amp;rsquo;s found in the Graffiti Control Panel by going to &amp;ldquo;Site Options&amp;rdquo; and then &amp;ldquo;Settings&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/webstatistics_2.png"&gt;&lt;img title="Web Statistics" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="64" alt="Web Statistics" width="632" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/webstatistics_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While there are many companies that provide these services, Google offers a free service called &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;. It may or may not be the best, but it&amp;rsquo;s a great place to start and the price is right. To use Google Analytics to monitor my blog, I needed to go to their website and provide an email address. After registering, I&amp;rsquo;m given some Javascript code that can be pasted into the field in Graffiti. That&amp;rsquo;s really all there is to it. Now it&amp;rsquo;s just a matter of checking the reports regularly.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a great series of posts by &lt;a href="http://www.workhappy.net/"&gt;Carson McComas&lt;/a&gt; on taking advantage of some of the advanced features of Google Analytics. It&amp;rsquo;s a lot to read, but there&amp;rsquo;s an incredible amount of knowledge covered:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;a href="http://www.workhappy.net/2008/05/advanced-google.html"&gt;Advanced Google Analytics: Conversion Goals (Part One)&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;a href="http://www.workhappy.net/2008/05/advanced-goog-1.html"&gt;Advanced Google Analytics: Conversion Goals (Part Two)&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;a href="http://www.workhappy.net/2008/05/advanced-goog-2.html"&gt;Advanced Google Analytics: Conversion Goals (Part Three)&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;a href="http://www.workhappy.net/2008/06/advanced-google.html"&gt;Advanced Google Analytics: Conversion Goals (Part Four)&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;a href="http://www.workhappy.net/2008/06/advanced-goog-1.html"&gt;Advanced Google Analytics: Conversion Goals Wrapup&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;RSS Feed Statistics&lt;/h2&gt;
&lt;p&gt;Just above the field for Web Statistics, there&amp;rsquo;s a field titled &amp;ldquo;FeedBurner Url&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/feedburner_2.png"&gt;&lt;img title="FeedBurner" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="66" alt="FeedBurner" width="634" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/feedburner_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt; is another free Google service that specializes in adding value around RSS Feeds. The idea is to put a bit of indirection between my RSS feed and readers subscribing to my blog. I set up an account at FeedBurner and register my &amp;ldquo;real&amp;rdquo; RSS feed URL. FeedBurner then gives me an alternate RSS feed that I give out as my public RSS feed URL. Now FeedBurner can be a middleman and provide a number of services. They&amp;rsquo;ll check my blog regularly, massage the data a bit, and then cache the information for everyone else to use. In addition to keeping track of the number of people that request my feed (and providing the bandwidth for that RSS traffic), they offer a large number of options but I think the best ones to take advantage of are &lt;a href="http://www.feedburner.com/fb/a/publishers/mybrand"&gt;MyBrand&lt;/a&gt; and &lt;a href="http://www.feedburner.com/fb/a/publishers/pingshot"&gt;PingShot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;MyBrand allows me to use FeedBurner, but keep the RSS feed in my domain name. Typically a FeedBurner feed would use the FeedBurner domain name (e.g. &amp;ldquo;http://www.feedburner.com/myblog&amp;rdquo;). The problem with this is that if I ever decide I don&amp;rsquo;t want to use FeedBurner any longer, I&amp;rsquo;m stuck because everyone is subscribing to that link. I&amp;rsquo;ve essentially given up control of my feed. MyBrand gets around this by allowing me to leave FeedBurner in the loop, but use my own domain name for the feed. My RSS feed is running through FeedBurner, but is still &amp;ldquo;http://feeds.bussinger.org/sbussinger&amp;rdquo;. Setting this up is a bit tricky and requires that I have detailed control over my DNS settings. I essentially delegate one of my subdomains (&amp;ldquo;feeds.bussinger.org&amp;rdquo;) to FeedBurner by creating a CNAME record in my DNS settings. I use &lt;a href="http://www.zoneedit.com"&gt;ZoneEdit&lt;/a&gt; to provide my DNS services and they make it very easy to create the CNAME record (they refer to it as an &amp;ldquo;Alias&amp;rdquo;, but it&amp;rsquo;s the same thing). I put my new FeedBurner RSS Feed URL into Graffiti and it will substitute it automatically everywhere feed information is normally provided.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/alias_2.png"&gt;&lt;img title="Aliases" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="89" alt="Aliases" width="504" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/alias_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PingShot simply notifies several large news feed search engines and aggregators when I&amp;rsquo;ve posted new information. This should help the discoverability of the blog while costing nothing and taking no effort.&lt;/p&gt;
&lt;h2&gt;Comment Spam Protection&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s great to allow two-way communication between blogger and readers by allowing Comments on posts. But like many things, it&amp;rsquo;s being taken advantage of by scumbags in the form of Comment Spam. &lt;a href="http://akismet.com/"&gt;Akismet&lt;/a&gt; is a service to help prevent comment spam. They provide free service for non-commercial blogs. To set this up in Graffiti, I simply go to the Control Panel, proceed to &amp;ldquo;Site Options&amp;rdquo; then &amp;ldquo;Comments&amp;rdquo;, and then enter my &amp;ldquo;Akismet Id&amp;rdquo;. On the Akismet website, this is referred to as an API key and I got this by signing up for a &lt;a href="http://wordpress.com/signup/"&gt;WordPress.com&lt;/a&gt; user account and looking in my WordPress account profile. Note that I was able to signup for a WordPress account without actually creating a WordPress blog (there&amp;rsquo;s a radio button at the bottom, and I just choose &amp;ldquo;Just a username, please&amp;rdquo;). Again, Graffiti makes this incredibly simple to take advantage of &amp;ndash; I just paste the Akismet Id number in and save it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/akismet_2.png"&gt;&lt;img title="Akismet" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="58" alt="Akismet" width="632" border="0" src="http://bussinger.org/blog/files/media/image/WindowsLiveWriter/GraffitiCMSBuildingouttheInfrastructure_15065/akismet_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So far I&amp;rsquo;ve been very impressed with Graffiti CMS. They&amp;rsquo;ve certainly made it easy to install and configure. Now I just need to do something about that drab default template &amp;hellip;&lt;/p&gt;</description></item><item><title>Installing Graffiti CMS at DiscountASP.NET</title><link>http://bussinger.org/blog/technology/installing-graffiti-cms-at-discountasp-net/</link><pubDate>Tue, 30 Sep 2008 06:43:00 GMT</pubDate><guid isPermaLink="true">http://bussinger.org/blog/technology/installing-graffiti-cms-at-discountasp-net/</guid><dc:creator>Scott Bussinger</dc:creator><slash:comments>3</slash:comments><category domain="http://bussinger.org/blog/technology/">Technology</category><description>&lt;p&gt;Everyone has their first blog post. It seemed appropriate that mine should document how I set up my own site. I've read a lot of positive comments about a relatively new offering from &lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; called &lt;a href="http://graffiticms.com/"&gt;Graffiti CMS&lt;/a&gt; and while it's not your typical blogging software, it has the features I need, is written for .NET, and offers lots of potential for customization later on.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Preparing the domain&lt;/h2&gt;
&lt;p&gt;I already had a domain name registered at &lt;a href="http://www.godaddy.com"&gt;GoDaddy&lt;/a&gt;, but wasn't excited about using their hosting services. Instead I went with &lt;a href="http://www.discountasp.net/index.aspx?refcode=OPTOPPS"&gt;DiscountASP.NET&lt;/a&gt;. I've used them in the past and have been very happy with their performance and support. After I purchased a Windows 2008/IIS7 hosting plan at &lt;a href="http://www.discountasp.net/index.aspx?refcode=OPTOPPS"&gt;DiscountASP.NET&lt;/a&gt;, then updated the DNS entries for the bussinger.org domain to point to the new website. I prefer to keep my DNS servers independent from my web hosting as it makes it easier to change hosts later. I've used the free DNS services from &lt;a href="http://www.zoneedit.com"&gt;ZoneEdit&lt;/a&gt; for years and they've been great! I set up bussinger.org to point to the IP address of my new hosting servers and ZoneEdit's WebForward feature to redirect &lt;a href="http://www.bussinger.org"&gt;www.bussinger.org&lt;/a&gt; to bussinger.org. This keeps the search engines happy by not have two different domain names for the same site.&lt;/p&gt;
&lt;h2&gt;Installing Graffiti CMS&lt;/h2&gt;
&lt;p&gt;After clicking on the &amp;quot;GET IT NOW&amp;quot; link at &lt;a href="http://graffiticms.com"&gt;http://graffiticms.com&lt;/a&gt;, I downloaded the free Express Edition of Graffiti. It is necessary to register on the website before you can download the software, but it's a painless process. Following their recommended installation instructions at &lt;a href="http://graffiticms.com/support/getting-started/installing-graffiti/"&gt;http://graffiticms.com/support/getting-started/installing-graffiti/&lt;/a&gt;, I unzipped the installation file on my local hard disk. I chose to skip running Graffiti locally and just FTP'd the contents of the downloaded &amp;quot;\web&amp;quot; folder to my new hosting account in a folder named &amp;quot;\blog&amp;quot;. I didn't want to install Graffiti to the root of my host because I like having the option of installing other software on the server in the future and don't care to try and nest applications inside one another.&lt;/p&gt;
&lt;p&gt;Once all of the files were uploaded, I logged into the DiscountASP.net control panel for my domain and marked the &amp;quot;\blog&amp;quot; folder as an application. I wanted the blog to be the main entry point to my site so I decided to redirect any requests to &amp;quot;bussinger.org&amp;quot; to &amp;quot;bussinger.org/blog&amp;quot;. Along with the forwarding I'd already established from &amp;quot;www.bussinger.org&amp;quot; to &amp;quot;bussinger.org&amp;quot;, that should force everyone to the single main entry point of my blog at &amp;quot;bussinger.org/blog&amp;quot;. I used Microsoft's standalone IIS7 Manager program to log into my account and used the URL Rewriter module to redirect &amp;quot;/&amp;quot; to &amp;quot;/blog&amp;quot;.&lt;/p&gt;
&lt;p&gt;I tested all of the redirections using a nice web service at &lt;a href="http://news.stepforth.com/seo-tools/http-header-checker.php"&gt;http://news.stepforth.com/seo-tools/http-header-checker.php&lt;/a&gt;, verifying that &amp;quot;www.bussinger.org&amp;quot; and &amp;quot;bussinger.org&amp;quot; both returned proper 301 redirects.&lt;/p&gt;
&lt;h2&gt;That's It!&lt;/h2&gt;
&lt;p&gt;When I visited &lt;a href="http://bussinger.org"&gt;http://bussinger.org&lt;/a&gt;, there was my new Graffiti blog! While the official Graffiti installation instructions warn about having to set some security permissions on the server, I found that the default installation has worked fine for me with no such changes. I logged into the system using the default &amp;quot;Admin&amp;quot; username name and a password found in the web.config file in the root of the Graffiti directory, then used the Graffiti Control Panel to tweak the default settings, change the password, and delete the sample data.&lt;/p&gt;
&lt;p&gt;Installing Graffiti CMS was really painless and so far I've been quite happy with it. I&amp;rsquo;m looking forward to getting deeper into it over the coming weeks. The main feature I see that is still missing is a forum module. They've &lt;a href="http://support.graffiticms.com/p/205/3315.aspx#3315"&gt;promised it for a 2009 release&lt;/a&gt; and hopefully they'll come through on that promise.&lt;/p&gt;</description></item></channel></rss>

