views:

117

answers:

3

I downloaded GraffitiCMS the other day(now open source and free), and like a lot of what I see, but what I really want to use it for, is to add CMS capabilities to an existing asp.net database/application.

Without getting bogged down with all the details of my app, can someone give me the basic 'approach' that should be taken to add custom content to Graffiti; content that won't be a 'post'?

I've seen for example, how to add custom-widgets to Graffiti - basically inherit from the widget class, compile your dll and plop it into the correct directory and it becomes part of the system. Is there a way to do something similar for the main content areas?

For simplicity sake, pretend I have a non-graffiti database with gig's of data that I want to display on the website using standard asp.net grid's and forms. I realize I could just go in and hack apart the source code to integrate my existing app, but that is likely not the correct approach.

Not looking for a complete solution her, just a pointer and what areas to investigate...thanks.

A: 

I think you're trying to put the cart before the horse - depending on the size and amount of functionality, I would be looking to rebuild it after learning the development platform of my CMS system of choice.

I'm pretty much in the same boat right now. I have avoided Graffiti because I have to learn "Chalk" (whatever that is) and Umbraco (using XSLT for layouts is retarded). So far, this leaves me with Sitefinity at the top of my list and Telerik have just pulled the free version!

I may end up grabbing a very basic CMS which is easier to customize. I know this doesn't directly answer your question, but it may give you some food for thought :-)

IrishChieftain
Sitefinity is not an option for me, at $899 per website most of my small clients would balk at that price.I also have downloaded umbraco, and you are right neither is perfect.With graffiti I was surprised at how easy it was to develop a custom widget for Graffiti, hoping I find an equally easy way to develop add-ins for content.
EJB
Here's some dev info on Umbraco: http://www.squidoo.com/umbraco
IrishChieftain
+1  A: 

What we have done to be able to integrate Graffiti CMS with our current ASP.NET projects is to create a post in Graffiti called "hidden" and then with our standard .ASPX pages we call a class in our Render Override that pulls the "hidden" post (ie: site.com/hidden/) and uses the header and footer to wrap the Graffiti theme around our custom .ASPX page. We use some HTML comments in the "hidden" post to be able to parse the header and the footer. It is kind of a hack, but has worked out really well for us.

Jeremy H
Interesting approach...did you explore any other options before deciding on this one? If so, what kind of obstacles did you have with other approaches that led you to this one?
EJB
We did this before Graffiti was open source so our options were limited. We felt like trying to mess with Graffiti was the wrong direction, so we let Graffiti do what it does best and then wrote custom code for our ASP.NET pages. It was about 2 years ago now, and I am sure we discussed other options be this is the only direction we ever started working on (and have used successfully all this time).
Jeremy H
+1  A: 

If you check out the latest source of Graffiti (or the 1.3 branch that was recently created), support was added to put widgets anywhere you want on any page. There is a new chalk function - $macros.Widget - that provides you with this ability. Dan Hounshell wrote a blog post on how you can use this new functionality:

http://danhounshell.com/blog/graffiti-cms-1-3-add-a-widget-anywhere-in-a-view-with-new-widget-macro/

If you're looking for something different than that, just let me know - we're working to make Graffiti even better for situations just like you are currently in.

Charles Boyung