Reputation: 409
I'm looking for a lightweight solution that will let me spread out the responsibility for content amongst various departments. This sounds a lot like a CMS. However, initial impressions suggest that when implementing a CMS you usually then have to integrate your existing tools to work inside that CMS. That doesn't sound terribly appealing.
What would be ideal, would be a CMS solution that could operate alongside existing architecture without the existing tools needing to make changes in order to continue doing what they've always done. Something like a control I can drop into a page and give a unique id, and that control will pull the appropriate content from the DB (one example only, other ways to accomplish the same goal are fine). Can probably put something like this together myself, but that seems very likely to be reinventing the wheel.
Are there any asp.net CMS solutions that can integrate in that fashion?
Extra points for:
Edit - Integrated HTML editor looks likely to solve the problem. N2 CMS also claimed to integrate alongside existing asp.net solutions, but I'm not sure what that entails. Are there things that I miss out on by going with an html editor? If I can put more power into the users hands, that'd be good as long as it was still able to operate alongside stuff rather than being something that everything else has to integrate into.
Upvotes: 2
Views: 245
Reputation: 1257
Ektron is an .NET CMS that can plug it into an existing architecture. It is uses MS SQL Server and the latest version (v8.5) works with both web forms and MVC.
Its API (called the Framework API) is a .NET API used to perform CRUD operations on Content objects (GetItem(), GetList(), Add(), Update(), Delete()). For example, regarding your use case, it has methods that allow you to get content by its ID, get lists of content items by defining filters, and so on. You render Content using standard ASP.NET databinding, then style using CSS.
Here's a snippet for retrieving a Content object, then rendering using a standard ASP.NET ListView Server Control:
ContentManager contentManager = new ContentManager();
ContentData contentData = contentManager.GetItem(30);
ListView1.DataSource = new List<ContentData> { contentData };
ListView1.DataBind();
And then in your ASPX Template, you would render it using a ListView Server Control like this:
<form id="form1" runat="server">
<div>
<asp:ListView ID="ListView1" runat="server">
<ItemTemplate>
<h1><%# Eval("Title") %></h1>
<p><%# Eval("Html") %></p>
<p><%# Eval("DateCreated") %></p>
</ItemTemplate>
</asp:ListView>
</div>
</form>
The most recent release (v8.5) focused on providing a tight developer API, and has gotten a lot of positive feedback from developers. You can see some of that feedback here: http://ektron.tumblr.com/
To get a better understanding of what the developer experience is like using the latest version of Ektron, I'd recommend starting by watching these technical webinars: https://www.ektron.com/BlogPost.aspx?id=12884902084
Upvotes: 0
Reputation: 21078
IF all you need is a very lightweight ability for users to control content on some ares of your site you can use an HTML editor control integrated into your environment just as suggested for free.
MarkdownSharp (Stack Overflow uses this one, modified...)
Upvotes: 1
Reputation: 4886
check out Ektron CMS400, it has server controls that you can add to existing pages.
Upvotes: 0