.NET CMS

From: Mikee10 Dec 2010 11:50
To: ALL1 of 2
Hi,

I'm working on creating a CMS in .NET. I made it originally in PHP but i'm trying to port it across.

The idea is quite simple...

.. but probably easier to explain with pictures.

http://www.mikeefranklin.co.uk/cms-design.gif

So, that's all working nicely so far. The core table is a nested set, all other page types inherit from it. Custom httpmodule to check the database for the path then routes you through to a template for that particular table.

Then you can call the API to get the current page content, and traverse up and down the tree to get any additional content you might need.

I first saw the idea on a big enterprise .NET cms that I went on a long training course for - loved the idea so much that I made a PHP version which we're using in production at the moment, and I'd LIKE to create a .NET version now, which a standalone bit of software for managing it.

But, I'm having a few problems.

Firstly, I'd love to stick the core stuff in its own DLL - INCLUDING the Paths database table.

I can't find a way to split up tables in the model using the entity framework, though. Any ideas?

Secondly, My hierarachy and sitemap data providers are working, but I cant work out what properties I need in them to get the URL and text to actually display. Currently they're displaying the class names? seems a bit odd.

Thirdly and finally, I want to make a web service for it, because the backend will be a standalone windows app which'll communicate via web services. My problem comes that I want it to be able to serialize Paths, but as their actual inherited types and not just the data that's in Paths.

I know I can define inherited types as a decorator, but if this stuff is going into a core DLL, I wont be able to. Is there a clever way I can use reflection to automatically do this or something?


I havent though much about the management tool yet. I'm thinking of some way of defining "widgets" in the web config for each template and say what fields each widget consumes. So, I could bind youtube_key to a Youtube widget, or image_url and image_alt to an Image widget.


Any help/ideas/inspiration/pointers would be absolutely awesome.

I'm developing this without a net connection at home so it's slow progress ;)
EDITED: 10 Dec 2010 11:53 by MIKEE
From: Rich15 Dec 2010 14:03
To: Mikee 2 of 2

Get this book:

 

http://www.amazon.com/gp/product/1430228865?ie=UTF8&tag=aspnettelligent-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1430228865

 

Then do it in MVC2 (MVC3 is coming out soon with some useful improvements too).

 

ASP.NET web forms is a bastardisation of the internet. ASP.NET MVC is a pure (more or less) standards-compliant and standards-embracing way of creating segmented tiered web applications.

 

Using something like Microsoft Practices Unity, or MEF (the Managed Extensibility Framework), you can make it totally modular, build it in slices of functionality, and MVC is very very good at supporting unit testing.

 

That book is the best IT book ever written. FACT.