<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ivan Porto Carrero &#187; NBlogr</title>
	<atom:link href="http://flanders.co.nz/category/nblogr/feed/" rel="self" type="application/rss+xml" />
	<link>http://flanders.co.nz</link>
	<description>thoughts.each { &#38;:propagandise }</description>
	<lastBuildDate>Fri, 12 Mar 2010 12:24:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>This blog has been moved and upgraded</title>
		<link>http://flanders.co.nz/2007/07/08/this-blog-has-been-moved-and-upgraded/</link>
		<comments>http://flanders.co.nz/2007/07/08/this-blog-has-been-moved-and-upgraded/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 09:25:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DasBlog]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2007/07/08/this-blog-has-been-moved-and-upgraded/</guid>
		<description><![CDATA[I moved my blog to be on webhost4life.com
I&#8217;m also changing blogging engines and announcing that I will stop  development on nblogr.
NBlogr was almost ready for a v1 release but it has  too big of a memory footprint. The footprint is 70MB which is too much for a  blog.
To fix this I would [...]]]></description>
			<content:encoded><![CDATA[<p>I moved my blog to be on <a href="http://www.webhost4life.com/default.asp?refid=casualjim">webhost4life.com</a></p>
<p>I&#8217;m also changing blogging engines and announcing that I will stop  development on nblogr.<br />
NBlogr was almost ready for a v1 release but it has  too big of a memory footprint. The footprint is 70MB which is too much for a  blog.<br />
To fix this I would have to change my data access layer to a different  approach.  I decided instead to switch to subtext and I&#8217;ll see which features I  can provide from nblogr for subtext as plugins. I also don&#8217;t have the time  anymore to occupy myself with nblogr.<br />
The feed should remain working without  a change. I upgraded my blog to subtext using <a href="http://www.ayende.com/Blog/archive/2007/02/03/From-DasBlog-To-SubText.aspx">Ayende&#8217;s  instructions</a><br />
Which means that the permalinks should still work but urls  that contain a guid won&#8217;t work anymore.<br />
The reason for moving from dasblog to  subtext are the same as why i started nblogr in the first place. Dasblog has  been nothing but a hassle for me. It is often down, does only trackbacks to my  own domain, and many more annoyances.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2007/07/08/this-blog-has-been-moved-and-upgraded/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NBlogr Presentation in Wellington</title>
		<link>http://flanders.co.nz/2007/05/01/nblogr-presentation-in-wellington/</link>
		<comments>http://flanders.co.nz/2007/05/01/nblogr-presentation-in-wellington/#comments</comments>
		<pubDate>Tue, 01 May 2007 23:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET 2.0]]></category>
		<category><![CDATA[Base4]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2007/05/01/nblogr-presentation-in-wellington/</guid>
		<description><![CDATA[

				Tonight I got the chance to present my nblogr application to a larger audience. Unfortunately I&#8217;m in the process of fixing bugs in NBlogr and one of those bugs required me to make a change to NBlogr.Web/views/default/shared/mainmenu.boo . I had made this change on sunday around midnight right before I went to bed. Of course [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>
				<br />Tonight I got the chance to present my nblogr application to a larger audience. Unfortunately I&#8217;m in the process of fixing bugs in NBlogr and one of those bugs required me to make a change to NBlogr.Web/views/default/shared/mainmenu.boo . I had made this change on sunday around midnight right before I went to bed. Of course I forgot to test the application because and it wouldn&#8217;t run on my presentation.  When I got home it took me about 3 minutes to fix. I had to import a reference to Base4.Storage in the mainmenu.boo file.</p>
<p>I&#8217;d like to thank everybody for coming, their patience and listening to my ramblings.</p>
<p>Anyway I&#8217;ve included my slide deck in this post and I think it might be a good idea to post a couple more links to some of the people I mentioned in my talk.<br /><a href="http://www.base4.net">http://www.base4.net</a>  &#8211; Alex James, Auckland<br /><a href="http://blog.bittercoder.com">http://blog.bittercoder.com</a> &#8211; Alex Henderson, Auckland<br /><a href="http://www.ayende.com/blog">http://www.ayende.com/blog</a><br /><a href="http://hammet.castleproject.org">http://hammet.castleproject.org</a></p>
<p><a href="http://www.castleproject.org">http://www.castleproject.org</a><br /><a href="http://www.nunit.org">http://www.nunit.org</a><br /><a href="http://www.nblogr.com">http://www.nblogr.com</a></p>
<p>svn repository:<br /><a href="https://svn.koolkraft.net/nblogr/trunk">https://svn.koolkraft.net/nblogr/trunk</a></p>
<p>
				<a href="http://www.flanders.co.nz/Blog/content/binary/NBlogr-Wellington%2002%20_05_2007.ppt">NBlogr-Wellington 02 _05_2007.ppt (440 KB)</a></p>
<p>To get nblogr running on your machine follow these steps :</p>
<p>Make sure you have a subversion client installed or subversion itself. </p>
<p>C:\Projects> svn co <a href="https://svn.koolkraft.net/nblogr/trunk">https://svn.koolkraft.net/nblogr/trunk</a><br />C:\Projects> osql -E<br />1> create database nblogr<br />2> go<br />1> quit</p>
<p>open the nblogr solution.</p>
<p>change the connection string in web.config</p>
<p>The different configuration options are explained in the web.config</p>
<p>If you want to use a different extension than aspx you have to change the httphandler configuration and set the extension in nblogr/routing</p>
<p>if you want urls to be rewritten without an extension you will have to enable wildcard handling.</p>
<p>hit ctrl-f5 and it should take you through the configuration. If ctrl-f5 doesn&#8217;t work try setting up the application in IIS.</p>
<p></p>
<p>
				<b>Update: <br /></b>James Hippolite from telecom was so kind to blog most of the bullet points of my slides. Which can be found here <a href="http://tvornz.spaces.live.com/blog/cns%21A93B6100E328706D%21388.entry?_c=BlogPart&#038;_c02_owner=1">http://tvornz.spaces.live.com/blog/cns!A93B6100E328706D!388.entry?_c=BlogPart&#038;_c02_owner=1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2007/05/01/nblogr-presentation-in-wellington/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finally back to nblogr</title>
		<link>http://flanders.co.nz/2006/12/12/finally-back-to-nblogr/</link>
		<comments>http://flanders.co.nz/2006/12/12/finally-back-to-nblogr/#comments</comments>
		<pubDate>Tue, 12 Dec 2006 20:27:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/12/12/finally-back-to-nblogr/</guid>
		<description><![CDATA[I can finally spend a couple of days on nblogr. I hope I get enough done to have a releasable version after this time.
]]></description>
			<content:encoded><![CDATA[<p>I can finally spend a couple of days on nblogr. I hope I get enough done to have a releasable version after this time.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/12/12/finally-back-to-nblogr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another view engine for castle</title>
		<link>http://flanders.co.nz/2006/11/14/another-view-engine-for-castle/</link>
		<comments>http://flanders.co.nz/2006/11/14/another-view-engine-for-castle/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 07:08:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Castle]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/11/14/another-view-engine-for-castle/</guid>
		<description><![CDATA[Ken Egozi has created a c# and vb view engine for castle. It&#8217;s not yet available for download but looks promising
You can check it out at : AspView &#8211; Yet another MonoRail ViewEngine
As I mentioned previously that I do like boo but i miss intellisense in visual studio and let&#8217;s face it at this moment [...]]]></description>
			<content:encoded><![CDATA[<p>Ken Egozi has created a c# and vb view engine for castle. It&#8217;s not yet available for download but looks promising</p>
<p>You can check it out at : <a href="http://www.kenegozi.com/blog/2006/11/05/BuildingApplicationUsingCastleRC2.aspx">AspView &#8211; Yet another MonoRail ViewEngine</a></p>
<p>As I mentioned previously that I do like boo but i miss intellisense in visual studio and let&#8217;s face it at this moment NOTHING beats visual studio as an IDE. Although sharpdevelop scores a lot higher than eclipse in my book. And what an amazing tool they built with so little resources in comparison to the other IDE projects.</p>
<p>I like c# obviously but have been toying around with ironpython a little lately. Once i pass the decorator bit I&#8217;d sure love to port the brail view engine to an ironpython view engine (the only problem i see there is that i don&#8217;t have time :S to really do it.)</p>
<p>Anyway I thought I might share with you what i have planned as non-workrelated projects for the year that is to come.</p>
<p>1. Finish nblogr<br />2. Make nblogr work on linux and on mysql and/or postgre<strong>s</strong><br />3. Create the ironpython view engine (from here onwards i want to be able to use ironpython as my primary language)<br />4. Add forums to nblogr<br />5. Add CMS capabilities to nblogr (very distant future)</p>
<p>Let me know what you think about the ironpython view engine ?</p>
<p>As stated before I would love some help in any one of my side projects of course. Just drop me a line and I&#8217;ll figure out where to fit you in <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I whished I had some more interesting stuff to talk about but the last 5-6 weeks I&#8217;ve been buried in some application and hoping to finish it this week.</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:5c4fd9ad-9ad4-450f-8ac4-b132c7cc44d6" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">del.icio.us tags: <a href="http://del.icio.us/popular/Castle" rel="tag">Castle</a>, <a href="http://del.icio.us/popular/Brail" rel="tag">Brail</a>, <a href="http://del.icio.us/popular/AspView" rel="tag">AspView</a>, <a href="http://del.icio.us/popular/NBlogr" rel="tag">NBlogr</a>, <a href="http://del.icio.us/popular/Programming" rel="tag">Programming</a>, <a href="http://del.icio.us/popular/IronPython" rel="tag">IronPython</a></div>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/11/14/another-view-engine-for-castle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Base4 on Castle continued&#8230; The facility</title>
		<link>http://flanders.co.nz/2006/10/16/base4-on-castle-continued-the-facility/</link>
		<comments>http://flanders.co.nz/2006/10/16/base4-on-castle-continued-the-facility/#comments</comments>
		<pubDate>Mon, 16 Oct 2006 07:00:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Base4]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/10/16/base4-on-castle-continued-the-facility/</guid>
		<description><![CDATA[Much of what I&#8217;m going to show today has been borrowed from Alex Henderson on the storage facility.
This post continues the hosting base4 inside your web application post
To integrate base4 in castle you can register either components or create a facility which allows it to hook into some bits of the castle life-cycle.
It doesn&#8217;t make [...]]]></description>
			<content:encoded><![CDATA[<p>Much of what I&#8217;m going to show today has been borrowed from <a href="http://blog.bittercoder.com/PermaLink,guid,d996b96f-13f3-4d0f-9c5b-e770dabd77ce.aspx">Alex Henderson</a> on the storage facility.</p>
<p>This post continues the <a href="http://www.flanders.co.nz/Blog/2006/10/12/HostingBase4InsideYourWebApplication.aspx">hosting base4 inside your web application</a> post</p>
<p>To integrate <a href="http://www.base4.net">base4</a> in <a href="http://www.castleproject.org/">castle</a> you can register either components or create a facility which allows it to hook into some bits of the castle life-cycle.</p>
<p>It doesn&#8217;t make such a big difference when actually writing code except for the fact that you have transactions managed by castle, caching etc practically for free.</p>
<p>The ObjectTransaction that is available in base4 is built on the transaction scope and uses TransactionOptions.Required. Translated freely this means it will attach itself to an existing transaction if one exists if not it will create one.</p>
<p>So below I&#8217;ll first put the code for the storage facility and the base4TransactionManager and the configuration in the config files.  The full version of these files and the classes can be found in the source control repository of <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=Nblogr">NBlogr</a></p>
<p><strong>The storage facility</strong></p>
<div style="font-size: 10pt; background: white; color: black; font-family: consolas">
<p style="margin: 0px"><span style="color: blue">namespace</span> NBlogr.Common.Base4Integration</p>
<p style="margin: 0px">{</p>
<p style="margin: 0px">    <span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: teal">Base4StorageFacility</span> : <span style="color: teal">AbstractFacility</span></p>
<p style="margin: 0px">    {</p>
<p style="margin: 0px">        <span style="color: blue">protected</span> <span style="color: blue">override</span> <span style="color: blue">void</span> Init()</p>
<p style="margin: 0px">        {</p>
<p style="margin: 0px">            <span style="color: green">// If no context has been set yet (but should be done in application_start) set the default context.</span></p>
<p style="margin: 0px">            <span style="color: blue">if</span> (<span style="color: teal">StorageContext</span>.Default == <span style="color: blue">null</span>)</p>
<p style="margin: 0px">            {</p>
<p style="margin: 0px">                <span style="color: blue">string</span> base4Context = FacilityConfig.Attributes[<span style="color: maroon">"base4Context"</span>];</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">                <span style="color: blue">if</span> (<span style="color: blue">string</span>.IsNullOrEmpty(base4Context))</p>
<p style="margin: 0px">                {</p>
<p style="margin: 0px">                    <span style="color: blue">throw</span> <span style="color: blue">new</span> <span style="color: teal">StorageException</span>(<span style="color: maroon">&#8220;The Base4StorageFacility requires a \&#8221;base4Context\&#8221; attribute to be set&#8221;</span>);</p>
<p style="margin: 0px">                }</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">                <span style="color: teal">StorageContext</span>.SetDefault(base4Context);</p>
<p style="margin: 0px">            }</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">            <span style="color: green">// Add the transactionmanager to the registered components</span></p>
<p style="margin: 0px">            Kernel.AddComponent(<span style="color: maroon">&#8220;base4.transactionManager&#8221;</span>, <span style="color: blue">typeof</span>(<span style="color: teal">ITransactionManager</span>), <span style="color: blue">typeof</span>(<span style="color: teal">Base4TransactionManager</span>));</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">            <span style="color: green">// Add the IItemcontext to the registered components</span></p>
<p style="margin: 0px">            Kernel.AddComponentInstance(<span style="color: maroon">&#8220;base4.defaultContext&#8221;</span>, <span style="color: blue">typeof</span>(<span style="color: teal">IItemContext</span>), <span style="color: teal">StorageContext</span>.Default);</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">            <span style="color: green">// Add the base4Dataobject</span></p>
<p style="margin: 0px">            Kernel.AddComponent(<span style="color: maroon">&#8220;base4.dataObject&#8221;</span>, <span style="color: blue">typeof</span>(<span style="color: teal">IDataObject</span><>), <span style="color: blue">typeof</span>(<span style="color: teal">BaseDataObject</span><>));</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">        }</p>
<p style="margin: 0px">    }</p>
<p style="margin: 0px">}</p>
</div>
<p style="margin: 0px"> </p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><strong>The transaction manager</strong></p>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"><strong></strong> </p>
<div style="font-size: 10pt; background: white; color: black; font-family: consolas">
<p style="margin: 0px"><span style="color: blue">namespace</span> NBlogr.Common.Base4Integration</p>
<p style="margin: 0px">{</p>
<p style="margin: 0px">    [<span style="color: teal">PerThread</span>]</p>
<p style="margin: 0px">    <span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: teal">Base4TransactionManager</span> : <span style="color: teal">DefaultTransactionManager</span></p>
<p style="margin: 0px">    {</p>
<p style="margin: 0px">    }</p>
<p style="margin: 0px">}</p>
</div>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"><strong>The IDataObject interface</strong></p>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"><strong></strong> </p>
<div style="font-size: 10pt; background: white; color: black; font-family: consolas">
<p style="margin: 0px"><span style="color: blue">public</span> <span style="color: blue">interface</span> <span style="color: teal">IDataObject</span><T> : <span style="color: teal">IBaseDataObject</span></p>
<p style="margin: 0px">    <span style="color: blue">where</span> T : <span style="color: blue">class</span>, <span style="color: teal">IItem</span>, <span style="color: blue">new</span>()</p>
<p style="margin: 0px">    {</p>
<p style="margin: 0px">        <span style="color: blue">void</span> Delete(T item);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: teal">ObjectPath</span> oPath, <span style="color: blue">string</span> sortExpression);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: blue">string</span> oPath, <span style="color: blue">string</span> sortExpression, <span style="color: blue">int</span> pageNumber, <span style="color: blue">int</span> pageSize, <span style="color: blue">out</span> <span style="color: blue">int</span> pageCount);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: teal">ObjectPath</span> oPath, <span style="color: blue">string</span> sortExpression, <span style="color: blue">int</span> pageNumber, <span style="color: blue">int</span> pageSize, <span style="color: blue">out</span> <span style="color: blue">int</span> pageCount);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: blue">string</span> oPath);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: teal">ObjectPath</span> oPath);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> Find(<span style="color: blue">string</span> oPath, <span style="color: blue">string</span> sortExpression);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> FindAll(<span style="color: blue">string</span> sortExpression, <span style="color: blue">int</span> pageNumber, <span style="color: blue">int</span> pageSize, <span style="color: blue">out</span> <span style="color: blue">int</span> pageCount);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> FindAll(<span style="color: blue">string</span> sortExpression);</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> FindAll();</p>
<p style="margin: 0px">        Base4.Storage.<span style="color: teal">IItemList</span><T> FindById(<span style="color: teal">Guid</span> Id);</p>
<p style="margin: 0px">        T GetById(<span style="color: teal">Guid</span> Id);</p>
<p style="margin: 0px">        T GetOne(<span style="color: blue">string</span> oPath, <span style="color: blue">params</span> <span style="color: blue">object</span>[] parameters);</p>
<p style="margin: 0px">        T GetOne(<span style="color: blue">string</span> oPath);</p>
<p style="margin: 0px">        T GetOne(<span style="color: teal">ObjectPath</span> oPath);</p>
<p style="margin: 0px">        T GetOneUsingSQL(<span style="color: blue">string</span> SQL);</p>
<p style="margin: 0px">        T GetOneUsingSQL(<span style="color: blue">string</span> SQL, <span style="color: teal">ObjectScope</span> scope);</p>
<p style="margin: 0px">        T GetOne(<span style="color: blue">string</span> opath, <span style="color: teal">ObjectScope</span> scope);</p>
<p style="margin: 0px">        T GetOne(<span style="color: teal">ObjectPath</span> path, <span style="color: teal">ObjectScope</span> scope);</p>
<p style="margin: 0px">        T Save(T item);</p>
<p style="margin: 0px">        <span style="color: blue">string</span> SortExpression { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }</p>
<p style="margin: 0px">        <span style="color: blue">void</span> DeleteAll();</p>
<p style="margin: 0px">        <span style="color: blue">void</span> Delete(<span style="color: teal">ObjectPath</span> path);</p>
<p style="margin: 0px">        <span style="color: blue">void</span> Delete(<span style="color: blue">string</span> path);</p>
<p style="margin: 0px">        <span style="color: blue">void</span> Delete(<span style="color: blue">string</span> path, <span style="color: blue">params</span> <span style="color: blue">string</span>[] replaces);</p>
<p style="margin: 0px">        <span style="color: teal">IItemList</span><T> Find(<span style="color: teal">ObjectPath</span> path, <span style="color: teal">ObjectScope</span> scope);</p>
<p style="margin: 0px">        <span style="color: teal">IItemList</span><T> FindUsingSQL(<span style="color: blue">string</span> SQL);</p>
<p style="margin: 0px">        <span style="color: teal">IItemList</span><T> FindUsingSQL(<span style="color: blue">string</span> SQL, <span style="color: teal">ObjectScope</span> scope);</p>
<p style="margin: 0px">        <span style="color: teal">IItemList</span><T> Find(<span style="color: teal">ObjectPath</span> path, <span style="color: teal">ObjectScope</span> scope, <span style="color: blue">string</span> sortExpression, <span style="color: blue">int</span> pageNumber, <span style="color: blue">int</span> pageSize, <span style="color: blue">out</span> <span style="color: blue">int</span> pageCount);</p>
<p style="margin: 0px">        <span style="color: teal">IItemList</span><T> FindAll(<span style="color: teal">ObjectScope</span> scope, <span style="color: blue">string</span> sortExpression, <span style="color: blue">int</span> pageNumber, <span style="color: blue">int</span> pageSize, <span style="color: blue">out</span> <span style="color: blue">int</span> pageCount);</p>
<p style="margin: 0px">    }</p>
</div>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"><strong>The facilities.config file</strong></p>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"> </p>
<div style="font-size: 10pt; background: white; color: black; font-family: consolas">
<p style="margin: 0px"><span style="color: blue"><</span><span style="color: maroon">configuration</span><span style="color: blue">></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue">  <</span><span style="color: maroon">facilities</span><span style="color: blue">></span></p>
<p style="margin: 0px"><span style="color: blue">    <!--</span><span style="color: green"> This is required for windsor integration </span><span style="color: blue">&#8211;></span></p>
<p style="margin: 0px"><span style="color: blue">    <</span><span style="color: maroon">facility</span><span style="color: blue"> </span><span style="color: red">id</span><span style="color: blue">=</span>&#8220;<span style="color: blue">rails.facility</span>&#8220;</p>
<p style="margin: 0px"><span style="color: blue">      </span><span style="color: red">type</span><span style="color: blue">=</span>&#8220;<span style="color: blue">Castle.MonoRail.WindsorExtension.RailsFacility, Castle.MonoRail.WindsorExtension</span>&#8220;<span style="color: blue"> /></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue">    <!--</span><span style="color: green"> Automatic transaction management for our services. Whooa! </span><span style="color: blue">&#8211;></span></p>
<p style="margin: 0px"><span style="color: blue">    <</span><span style="color: maroon">facility</span><span style="color: blue"> </span><span style="color: red">id</span><span style="color: blue">=</span>&#8220;<span style="color: blue">transaction</span>&#8220;</p>
<p style="margin: 0px"><span style="color: blue">      </span><span style="color: red">type</span><span style="color: blue">=</span>&#8220;<span style="color: blue">Castle.Facilities.AutomaticTransactionManagement.TransactionFacility, Castle.Facilities.AutomaticTransactionManagement</span>&#8220;<span style="color: blue"> /></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue">    <!--</span><span style="color: green"> The facility that takes care of storing things with base4 </span><span style="color: blue">&#8211;></span></p>
<p style="margin: 0px"><span style="color: blue">    <</span><span style="color: maroon">facility</span><span style="color: blue"> </span></p>
<p style="margin: 0px"><span style="color: blue">      </span><span style="color: red">id</span><span style="color: blue">=</span>&#8220;<span style="color: blue">base4.storageFacility</span>&#8220;<span style="color: blue"> </span></p>
<p style="margin: 0px"><span style="color: blue">      </span><span style="color: red">type</span><span style="color: blue">=</span>&#8220;<span style="color: blue">NBlogr.Common.Base4Integration.Base4StorageFacility, NBlogr.Common</span>&#8220;<span style="color: blue"> </span></p>
<p style="margin: 0px"><span style="color: blue">      </span><span style="color: red">base4Context</span><span style="color: blue">=</span>&#8220;<span style="color: blue">tcp://Server:@localhost:8819/NBlogr</span>&#8220;<span style="color: blue">/></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue">    <!--</span><span style="color: green"> Enable logging for our application </span><span style="color: blue">&#8211;></span></p>
<p style="margin: 0px"><span style="color: blue">    <</span><span style="color: maroon">facility</span><span style="color: blue"> </span><span style="color: red">id</span><span style="color: blue">=</span>&#8220;<span style="color: blue">logging</span>&#8220;<span style="color: blue">  </span></p>
<p style="margin: 0px"><span style="color: blue">              </span><span style="color: red">type</span><span style="color: blue">=</span>&#8220;<span style="color: blue">Castle.Facilities.Logging.LoggingFacility, Castle.Facilities.Logging</span>&#8220;<span style="color: blue"> </span></p>
<p style="margin: 0px"><span style="color: blue">              </span><span style="color: red">loggingApi</span><span style="color: blue">=</span>&#8220;<span style="color: blue">nlog</span>&#8220;<span style="color: blue">  /></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue">    <!--</span><span style="color: green"> enable caching for our application </span><span style="color: blue">&#8211;></span></p>
<p style="margin: 0px"><span style="color: blue">    <</span><span style="color: maroon">facility</span><span style="color: blue"> </span><span style="color: red">id</span><span style="color: blue">=</span>&#8220;<span style="color: blue">CacheFacility</span>&#8220;<span style="color: blue"> </span><span style="color: red">type</span><span style="color: blue">=</span>&#8220;<span style="color: blue">Castle.Facilities.Cache.CacheFacility, Castle.Facilities.Cache</span>&#8220;<span style="color: blue"> /></span></p>
<p style="margin: 0px"><span style="color: blue">  </</span><span style="color: maroon">facilities</span><span style="color: blue">></span></p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"><span style="color: blue"></</span><span style="color: maroon">configuration</span><span style="color: blue">></span></p>
</div>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px"><strong></strong> </p>
<p style="margin: 0px">That is it for today. Tomorrow I&#8217;ll show you the service class I use to manage my base4 and UI interaction</p>
<p style="margin: 0px">The day after is for the controller. And friday will be for the javascript object used in nblogr to manage interaction.</p>
<p style="margin: 0px"> </p>
<p style="margin: 0px"> </p>
<p style="margin: 0px">
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/10/16/base4-on-castle-continued-the-facility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some news on nblogr</title>
		<link>http://flanders.co.nz/2006/10/14/some-news-on-nblogr/</link>
		<comments>http://flanders.co.nz/2006/10/14/some-news-on-nblogr/#comments</comments>
		<pubDate>Sat, 14 Oct 2006 08:12:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Base4]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/10/14/some-news-on-nblogr/</guid>
		<description><![CDATA[NBlogr isn&#8217;t dead.. It just underwent a transformation for the better.
I also changed the title of the application from NBlogr &#8211; An atlas blogging engine to NBlogr &#8211; a blogging engine built on simplicityThe reason for this change is the fact that it is currently built using jquery as javascript library.  I will look at [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=Nblogr">NBlogr</a> isn&#8217;t dead.. It just underwent a transformation for the better.</p>
<p>I also changed the title of the application from <strong>NBlogr &#8211; An atlas blogging engine</strong> to <strong>NBlogr &#8211; a blogging engine built on simplicity<br /></strong>The reason for this change is the fact that it is currently built using jquery as javascript library.  I will look at atlas again when it releases. </p>
<p>I moved <a href="http://www.nblogr.com">NBlogr</a> to run on <a href="http://www.castleproject.org/">castle</a>.  During the course of the next week I&#8217;ll complete my posts on how to do Castle development with <a href="http://www.base4.net/">base4</a></p>
<p>If you&#8217;re interested in how it looks or you want a preview the <a href="http://www.codeplex.com/SourceControl/ListDownloadableCommits.aspx?ProjectName=Nblogr">last source in the repository builds</a> and you should be able to run it in the development server of visual studio</p>
<p>I had a chat with <a href="http://blog.bluecog.co.nz/">JD</a> a while ago and he asked me about plugins. At that time I knew already I wanted to provide something for users to be able to add plugin&#8217;s to the database.  But I hadn&#8217;t really given it much thought on how I would do that.</p>
<p>My reasoning on this subject is : <br />I want users to be able to add a plug in at runtime. Plugin&#8217;s for a blog are lately both server related client side. So I will create a plugin factory with a couple of providers like a google video provider, grouper video, flickr, bookmark services.  And you can write a plugin using javascript and ironpython code. The engine will evaluate that code at runtime and there has been no application restarting etc. If somebody has a better plan for doing a plugin infrastructure please let me know I haven&#8217;t done any of the ground work for this yet but create a schema in base4 so now would be the best time to stop me from making big mistakes.</p>
<p>Another improvement is the fact that when nblogr reaches release it will come with a couple of templates for you to chose from. I&#8217;ll try to include one that is built on the css scheme of csszengarden that way you&#8217;ll have an infinite repository of css to make your blog look differently instantaneously.</p>
<p>The next improvement is that a user is now able to mimic wildcard requests and nblogr will handle those. So there is no need for appending aspx to pages for rewriting (routing it is called in monorail)  You get the choice in the config file to have your webserver handle the wild card mapping or nblogr. When you choose for nblogr nblogr will need write access to 2 folders in your website and create a shadow folder structure to represent the rewrite tree structure. There is weaker point here and that is that the <strong>first</strong> default document in IIS must be set to Default.aspx If you can map an extension to aspnet_isapi.dll at your webserver then you can also have the urls rewritten using a branded extension.</p>
<p>I think that this are the 3 major changes for the moment to the engine.  This did set me back for the next release with a couple of weeks but in the end the final release can be done much more quickly than it would have been possible using the code I had before.</p>
<p>I also promise that this time things mostly stay as they are. There will be no more experimenting but just getting Nblogr to a proper release state and shipped.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/10/14/some-news-on-nblogr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preview release of NBlogr</title>
		<link>http://flanders.co.nz/2006/09/02/preview-release-of-nblogr/</link>
		<comments>http://flanders.co.nz/2006/09/02/preview-release-of-nblogr/#comments</comments>
		<pubDate>Sat, 02 Sep 2006 23:30:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Atlas]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/09/02/preview-release-of-nblogr/</guid>
		<description><![CDATA[Today I put a preview release of NBlogr online.
I still have to change the online site but will do so very shortly.
This release has very basic functionality and is not yet feature complete so a lot may change later on.
If anybody feels like joining the project do not hesitate   All help I get [...]]]></description>
			<content:encoded><![CDATA[<p>Today I put a preview release of NBlogr online.</p>
<p>I still have to change the online site but will do so very shortly.</p>
<p>This release has very basic functionality and is not yet feature complete so a lot may change later on.</p>
<p>If anybody feels like joining the project do not hesitate <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  All help I get is extremely welcome. </p>
<p>
				<a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=Nblogr">http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=Nblogr</a>
		</p>
<p>I&#8217;m heading into a very busy week/couple of weeks so I&#8217;m not sure if I will be able to spend as much time as I&#8217;ve been spending lately on the project.  But I think every week I will be able to show some progress at least.</p>
<p>If you feel like it go ahead and give it a try but don&#8217;t upgrade your blog just yet <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>I&#8217;d be keen to know what your thoughts are on the subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/09/02/preview-release-of-nblogr/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>FileUploading for NBlogr</title>
		<link>http://flanders.co.nz/2006/09/01/fileuploading-for-nblogr/</link>
		<comments>http://flanders.co.nz/2006/09/01/fileuploading-for-nblogr/#comments</comments>
		<pubDate>Fri, 01 Sep 2006 09:13:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET 2.0]]></category>
		<category><![CDATA[Atlas]]></category>
		<category><![CDATA[NBlogr]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2006/09/01/fileuploading-for-nblogr/</guid>
		<description><![CDATA[
To upload files in nblogr. I wanted the user to have the possibility to upload as many files as they wanted but only show one file element. 
The upload procedure has to work without reloading the page entirely but there is no way of getting the size or the bytes of a file through the [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>To upload files in nblogr. I wanted the user to have the possibility to upload as many files as they wanted but only show one file element. </p>
<p>The upload procedure has to work without reloading the page entirely but there is no way of getting the size or the bytes of a file through the html input file control from clientscript without popping up a security warning.<br />And what do I personally think about security warnings : they are a necessary evil but limit you a lot in the development of contemporary sites with rich client interaction.<br />If I am to present a site to my parents and they have to figure stuff out themselves I&#8217;m pretty sure that once the read the words : Security warning, Potential risk etc&#8230; they will click no ==> site doesn&#8217;t work ==> site == crap </p>
<p>I wanted to include an upload with progress bar but decided to let that idea go and just give an implementation of a multiple file upload with a single inputelement. Maybe I will put this in during the next iteration. That way I can probably release a ctp this weekend and start thinking about a plugin architecture (thanks for the idea <a href="http://blog.bluecog.co.nz/">JD</a>) </p>
<p>Because of the file issues i have to run it in an iframe :-s and have the page and the frame talk to eachother.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2006/09/01/fileuploading-for-nblogr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
