New Zealand's new Copyright Law presumes 'Guilt Upon Accusation' and will Cut Off Internet Connections without a trial. is against this unjust law - help us

A Space for All Things .NET Related

.NET User Group May Meeting - Nblogr

By James Hippolite, in , posted: 4-May-2007 05:49

Ivan Porto Carrero

  • Senior developer
  • Xero
  • Creator of Nblogr

What is Nblogr?

  • Blogging Engine
  • Base library for other projects
  • My experimental project
  • Extensible
  • Showcase for technologies
  • Decided to actually go through making it a proper application because of people asking me for it.

Why another blogging engine?

  • Underestimated the work involved.
  • Used to be my experimental project / Facing fears
  • None of the blogging engines do what I want them to do at the time I started the project.
  • Exploring open source
  • Contributing to the community
  • There is no community blogging platform built on .Net
  • Base for a range of other applications that are  based on blogging technology (CMS, forum, wiki, …)

Which technologies?

  • Base4 (
    • Base4 takes care of the O/R mapping
    • Base4 is a lot more than just an O/R mapper
  • Castle (
    • MVC framework a la Ruby on rails
    • Contributed to the project myself (minor patches)
  • Prototype (can be replaced)
  • .NET framework (the best framework for programming)

Base4 brush-up

  • Services layer over your database
  • Good layer of abstraction of my data
  • Objects instead of database schema.
  • Seamless setup experience
  • Supports migrations

Castle introduction

  • Castle mission statement: to provide a simple set of tools to speed up the development of common enterprise and web applications while promoting good architecture.
  • MVC framework
    • Promotes separation of concerns
    • Basic castle setup would be
      • Models => Castle provides ActiveRecord through Nhibernate
      • Views => Castle provides multiple view engines (aspx/webforms, nvelocity, brail, …) (rendering engine)
      • Controller => the director of the application.  Delegates input to services.  And sends the output to the views.
    • Castle provides Inversion Of Control which makes your application a lot more flexible.

Nblogr architecture

  • Views & JavaScript
  • Controllers
  • Service Layer
  • Base data object
  • ASP.NET App Svc & Logging & Output compression module
  • Base4 server/client
  • Castle facilities for Base4
  • SQL Server 2005


  • Membership provider
  • More logging
  • Output compression
  • Initialisation of mapping service
  • DataObject
    • Generalisation works well
    • Abstract service works as DAO
  • Services Layer
    • Do the actual work
    • 1 class, 1 responsibility
    • 1 method, 1 task
  • Controller
    • Common functionality in base classes
    • Receive input from request
    • Dispatch to services
    • Output results to view
  • View
    • Render results
    • A view is a representation of data

Status / Roadmap

  • Current status = Alpha
  • Roadmap
    • Multi user management
    • OpenID and CardSpace
    • Themes



Other related posts:
Delivered my Quality Presentation Again
The Microsoft Sync Framework
What's New in Microsoft SQL Services - My DNUG Presentation

Add a comment

Please note: comments that are inappropriate or promotional in nature will be deleted. E-mail addresses are not displayed, but you must enter a valid e-mail address to confirm your comments.

Are you a registered Geekzone user? Login to have the fields below automatically filled in for you and to enable links in comments. If you have (or qualify to have) a Geekzone Blog then your comment will be automatically confirmed and shown in this blog post.

Your name:

Your e-mail:

Your webpage:

JamesHip's profile

James Hippolite
New Zealand

Welcome to my technical blog. 

Here, I attempt to distill the Microsoft Certified Professional Developer knowledge I have accumulated since first qualifying MCP in 1996.  This blog started on 13 September 2007 as an off-shoot from my mixed up personal blog.  But it took a shot in the arm from Scott Hanselman's talk at TechEd New Zealand 08 "32 Ways To Make Your Blog Suck Less".