Reputation: 1
I have 10 years of experience in ASP.NET MVC mainly for building web applications (not web sites). and now i am starting a new project to build a web application which have a registration modules (only accessed by registered users) and also a public facing web site. for the public facing website it will contain 5 modules:-
where i need some kind of CMS, to allow end users to modify the above 5 sections's data without having to touch the source code.
i read about Umbraco which seems a very well established CMS for .net application, but i were thinking why not to build the CMS capabilities by myself. so is this a valid appraoch to follow? i can create some screens/modules which allow the users to enter the above sections' data (mainly text, images, links and videos) and show them accordingly? so is building our own CMS a valid approach to follow?
Thanks
Upvotes: 0
Views: 536
Reputation: 3247
There some strong arguments against building your own CMS, and not much benefits. If you have enough time, and the project is not critical or urgent, it can be an interesting learning experience. But you need to take the following in mind.
More complex content management is not easy to write from scratch. A project can also accumulate technical debt if it is under time pressure, making it even more time consuming to work with. Implementing a CMS is a lot more time consuming than using one.
Since you mention an area of the site would be behind authentication, this is probably a good reason to not build your own CMS. You can't expect a small team's (or single person's) code to be as secure as a major project written by a large company (or large open source community) and that has been running on thousands of live sites for years. Yet even those frequently need security updates.
Once it's used you'll inevitably get feature requests, which are a lot easier to fulfill in existing CMSs. Those often have a large plugin ecosystem. Such plugins most of the time don't require much work beyond installing them.
You're also not necessarily limited to using ASP.net applications, unless there's some specific constraints about the architecture it has to run on. If the CMS offers all features so that you don't (or hardly) need custom code, it doesn't matter as much what language it's written in.
Among the requirements you mention, all things should be offered out of the box by just about any CMS (editing multiple pages, user management, pages behind authentication).
Upvotes: 0
Reputation: 1865
I've built around 100-150 Umbraco projects over the past 8 years and can safely say, if the purpose of your project is managing content, you're not able to build something from scratch, that'll be better at managing content than Umbraco.
However, if your project has specific requirements or features that don't belong in a CMS, it may be worth considering building an application from scratch, instead of attempting to turn Umbraco into something it isn't.
An informational/marketing website might "expire" design-wise in 5-6-7 years and a redesign would be required, which might be costly for the client, if all features are built into the CMS website which will be needing the redesign.
Therefore, consider using Umbraco as a CMS for what it's good for, but build a custom application for any additional needs? Umbraco can indeed handle membership functionality, but it still might make sense to build the membership functionality in its own application to avoid adding it as a dependency on the "informational" website? After 5-6-7 years when the client might want the public facing website redesigned, the best approach IMO would be to create a new, fully updated Umbraco solution. It's unlikely your membership application would need a redesign - it's for "internal use", not for marketing purposes.
Anyways, that's just my take. I hope it was just a bit helpful.
Upvotes: 2
Reputation: 3425
Umbraco is free, open source and very easy to extend. It has membership/login/locked off areas built in, which also can be extended fairly easily if need be. So I'd say try that out before beginning to consider building your own CMS. My 20+ years experience with building, implementing and using content management systems including Umbraco tells me you'll enjoy that way more than having to maintain your own.
On our.umbraco.com there docs and guides galore to get you started, as well as a very friendly forum.
Upvotes: 2