﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Sample Blog RSS</title>
    <link>http://www.barnyardbbs.com</link>
    <description />
    <copyright>Creative Commons Attribution, 2.5</copyright>
    <item>
      <title>8/22/2007 - First Post!</title>
      <description>&lt;h2 class="HeaderStyle"&gt;Background&lt;/h2&gt;&lt;p&gt;The Blog Control was built based on my own needs.&amp;nbsp; I wanted to have a blog, but I didn't want my existing website dominated by the blog.&amp;nbsp; Although there are other blog packages out there for ASP.Net, I couldn't find any that offered the features that I wanted; or more importantly, validated.&lt;/p&gt;&lt;p&gt;I wanted a package that would allow extensive customization via CSS, and I wanted it to generate valid code.&amp;nbsp; While I was at it, I wanted it implemented as a control, so it could easily be integrated into existing sites.&amp;nbsp; I ended up building the Blog Control.&lt;/p&gt;&lt;p&gt;Much like it's older sibling, the Content Control, the Blog Control uses TinyMCE for the editing interface.&amp;nbsp; If you're using them together on the same site, you can reference the same TinyMCE installation, and save some space.&lt;/p&gt;&lt;h2 class="HeaderStyle"&gt;Demo&lt;/h2&gt;&lt;p&gt;You're looking at it.&amp;nbsp; This is a post in a sample blog.&amp;nbsp; You'll need to log-in to see it in admin mode.&lt;/p&gt;&lt;p&gt;Click &lt;a href="Admin"&gt;here&lt;/a&gt; for the login page.&amp;nbsp; Use username &lt;strong&gt;&lt;em&gt;admin&lt;/em&gt;&lt;/strong&gt; and password &lt;strong&gt;&lt;em&gt;password&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;The Blog Control is intended to be pretty self-adminstering; so you'll just see more options when you're the admin user.&lt;/p&gt;&lt;h2 class="HeaderStyle"&gt;Usage&lt;/h2&gt;&lt;p&gt;The&amp;nbsp;Blog Control is an ASP.Net user control written in Visual Basic.Net.&amp;nbsp; It was written under the framework v. 2.0, using Visual Web Developer Express 2005.&amp;nbsp; It generates XHTML 1.1 compliant code.&lt;/p&gt;&lt;p&gt;You can insert them into any page, just like any other&amp;nbsp;ASP.Net control:&lt;/p&gt;&lt;p&gt;&amp;lt;UserBlog:BlogControl runat=&amp;quot;server&amp;quot; ID=&amp;quot;BlogControl&amp;quot; SortOrder=&amp;quot;DescendingDate&amp;quot; EditModeColumns=&amp;quot;90&amp;quot; IncludeMonths=&amp;quot;12&amp;quot; IncludeTags=&amp;quot;10&amp;quot; IncludeSearch=&amp;quot;true&amp;quot; AllowComments=&amp;quot;true&amp;quot; PageSize=&amp;quot;10&amp;quot; Admin=&amp;quot;Admin&amp;quot; BlogKey=&amp;quot;Admin&amp;quot; FilePath=&amp;quot;~/Images&amp;quot; TinyMCEPath=&amp;quot;~/Include/tiny_mce&amp;quot; DatabasePath=&amp;quot;~/App_Data/Blog.mdb&amp;quot; ContentCSS=&amp;quot;~/Skins/Normal/~Normal-Design.css&amp;quot; /&amp;gt;&lt;/p&gt;&lt;p&gt;As you can see, it's got lots of options.&amp;nbsp; Not all of them are required, but they give you lots of flexibility.&lt;/p&gt;&lt;p&gt;Also, make sure to register it, within your web.config:&lt;/p&gt;&lt;p&gt;&amp;lt;add tagPrefix=&amp;quot;UserBlog&amp;quot; tagName=&amp;quot;BlogControl&amp;quot; src=&amp;quot;~/App_Controls/BlogControl.ascx&amp;quot;/&amp;gt;&lt;/p&gt;&lt;p&gt;You may have many blogs per site; or even per page, if you like.&amp;nbsp; You can mix and match Blog Controls and Content Controls throughout the site, with different owners.&lt;/p&gt;&lt;p&gt;Also, I've built an optional &lt;strong&gt;RSS handler&lt;/strong&gt; that accompanies the Blog Control.&amp;nbsp; You can see an RSS sample &lt;a href="BlogControlXML.ashx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The commenting system contains some basic spam protection.&amp;nbsp; It features a rotating math problem to throw off the bots.&amp;nbsp; I did this quite intentionally; I hate forcing people to register.&amp;nbsp; I though it a good balance between protection and openness.&lt;/p&gt;&lt;p&gt;Lastly, the blog even has the options to include links to Digg and Del.icio.us in your posts.&lt;/p&gt;&lt;h2 class="HeaderStyle"&gt;Dependencies&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;It depends on TinyMCE for the actual Javascript editing interface.&amp;nbsp; This is located in the ~/Include/tiny_mce directory. &lt;/li&gt;&lt;li&gt;I've added included a custom plugin in the TinyMCE distribution. It's called advimageNet,&amp;nbsp; and provides a nicer browser for images when using TinyMCE. Not critical, but tasty. &lt;/li&gt;&lt;li&gt;It needs write permissions wherever you allow users to upload images.&lt;/li&gt;&lt;li&gt;It uses an Access MDB database for storing the posts and comments.&amp;nbsp; It's located in the ~/App_Data directory.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class="HeaderStyle"&gt;Properties&lt;/h2&gt;&lt;p&gt;The&amp;nbsp;Blog Control has several properties available.&amp;nbsp;&amp;nbsp;Here's the list:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SortOrder, &lt;/strong&gt;Use this to specify which posts come first, oldest or newest.&amp;nbsp; I tend to always use newest.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PageSize, &lt;/strong&gt;Use this to specify how many posts are visible per page (default).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;TinyMCEPath, &lt;/strong&gt;Use this to specify the path to your TinyMCE files.&amp;nbsp; Needed for pretty editing mode.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DatabasePath, &lt;/strong&gt;Use these to specify the path to your database (for the posts and comments).&amp;nbsp; Note:&amp;nbsp; You can store multiple blogs per database, via the BlogKey property.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;FilePath, &lt;/strong&gt;Use this to specify which folder you store your images.&amp;nbsp; These will be available on the image menu of TinyMCE.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;BlogKey, &lt;/strong&gt;Use this to differenciate different blogs that live in the same database file; it's used keep things seperate.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Admin, &lt;/strong&gt;Use this to specify which user owns the blog.&amp;nbsp; This is&amp;nbsp;intended to integrate with your&amp;nbsp;site's existing&amp;nbsp;authentication.&amp;nbsp; If you don't already have authentication, you can use the simple example provided in this project.&amp;nbsp; The admin user has special rights, like creating new posts and deleting other people's comments.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags, &lt;/strong&gt;Do you want a list of tags displayed?&amp;nbsp; If so, provide the number that you want.&amp;nbsp; I like 20.&amp;nbsp; They are sorted in order of popularity (most popular first)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;IncludeMonths, &lt;/strong&gt;Do you want a list posts by month (archive)?&amp;nbsp; If so, include the number of months that you'd like to see.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;IncludeSearch, &lt;/strong&gt;Do you want a full-text search available to visitors?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;AllowComments, &lt;/strong&gt;Use this to specify if comments are allowed.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ContentCSS, &lt;/strong&gt;Use this to specify which stylesheet will be uses during editing mode (posts).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EditModeRows + EditModeCols, &lt;/strong&gt;Use these to specify the dimensions of the textarea when editing posts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;RememberCommentNames, &lt;/strong&gt;Use this to specify whether cookies should be used to remember commenters' names and URLs.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;IncludeDigg&amp;nbsp;+ IncludeDelicious, &lt;/strong&gt;Use these to optionally include links to Digg and Del.icio.us in the footers of your posts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;CommentProtection, &lt;/strong&gt;Use this option to set your level of protection for commenting.&amp;nbsp; You can specify a level between &amp;quot;none&amp;quot; and &amp;quot;hard&amp;quot;.&amp;nbsp; It does not render an annoying CAPTCHA, it just asks a simple math problem.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;URLRewriting, &lt;/strong&gt;Use this option to turn on URL rewriting.&amp;nbsp; This is very helpful for search engine optimization.&amp;nbsp; If you're going to use URL rewriting, you'll probably want to use a flexible rewriting library for your site.&amp;nbsp; My favorite is &lt;a href="http://www.urlrewriter.net/"&gt;URLRewriter.Net&lt;/a&gt;.&amp;nbsp; The demo &lt;strong&gt;&lt;em&gt;does not&lt;/em&gt;&lt;/strong&gt; have this option enabled by default, as it just makes things more confusing when you're getting started.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;URLRewritingBaseTemplate, URLRewritingLinkTemplate, URLRewritingTagTemplate, URLRewritingDateTemplate, URLRewritingSearchTemplate, URLRewritingPagePartialTemplate, &lt;/strong&gt;These options allow you to customize exactly how the URL rewriting will work.&amp;nbsp; You can write your own URL rules using these properties.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;TagsDelimiterCharacter, &lt;/strong&gt;Use this fellow if you want to set your own custom delimiter character for your tags list.&amp;nbsp; Normally, tags are delimited by a &amp;quot;space&amp;quot;, but this will let you use any character that you want.&amp;nbsp; Commonly used characters are &amp;quot;,&amp;quot; and &amp;quot;;&amp;quot;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EmailServerName, EmailAccountName, EmailAccountPassword, EmailNotifyAddress, EmailNotifyFromAddress, EmailNotifySubject, &lt;/strong&gt;Use these properties to configure the blog to automatically email you each time a new comment is posted.&amp;nbsp; You need to specify both an email server and an account to use.&amp;nbsp; This allows you to use SMTP servers that require authentication (which most do, these days).&amp;nbsp; You can customize the subject as well.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;RSSLink, &lt;/strong&gt;Use this property if you would like a &amp;quot;link&amp;quot; statement embedded that points to your RSS feed.&amp;nbsp; This will cause the &amp;quot;feed&amp;quot; button to appear in both IE7 and Firefox when someone visits your blog.&lt;/p&gt;&lt;h2 class="HeaderStyle"&gt;Customization&lt;/h2&gt;&lt;p&gt;Since the&amp;nbsp;Blog Control uses TinyMCE for the actual editing, you have lots flexibilty available to you.&amp;nbsp; Normally, I run a pretty stripped-down version of TinyMCE, but you are free to use any options that you choose.&lt;/p&gt;&lt;p&gt;Furthermore, since you have all the source to the control, you can modify any aspect about how it works.&lt;/p&gt;&lt;p&gt;Also, the Blog Control's presentation is done entirely through CSS.&amp;nbsp; You can wildly alter the look of it through your stylesheet.&amp;nbsp; What you see before you is simply a sample.&lt;/p&gt;&lt;h2 class="HeaderStyle"&gt;Localization&lt;/h2&gt;
&lt;p&gt;The Blog Control is totally localized.&amp;nbsp; Currently, it includes
translations in English, Dutch, Swedish, and Portugese.&amp;nbsp; Additional translations can easily
be added using the .resx files as templates.&amp;nbsp; If you make any new
translations, be sure to contact me so I can include them in future
releases.  &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.yoursite.com/PathToBlogPage/?PostID=1</link>
      <guid>http://www.yoursite.com/PathToBlogPage/?PostID=1</guid>
      <pubDate>Wed, 22 Aug 2007 18:09:10 GMT</pubDate>
    </item>
  </channel>
</rss>