Deciding between Umbraco and Orchard ASP.NET CMS [duplicate] - asp.net

This question already has answers here:
Is Orchard or Umbraco MVC?
(7 answers)
Closed 7 years ago.
Now that both system's are built on ASP.NET MVC, does anyone have any experience dealing with both? Looking to set up a small business site for a friend, that will eventually have an online store. I've read a lot of posts, but nothing recent ( since Umbraco 5 was released ). If you've had experience, just looking for pros and cons. Anything related to commerce functionality would be helpful as well. Thank you.

Orchard has been built from ground-up around ASP.NET MVC 3. I personally prefer that one, as it's well designed, very active and backed by Microsoft. And, of course, totally free.
If you are looking for e-commerce solution - there is a new, very promising module called WebShop, along with a full tutorial.

Orchard is very dynamic and u can build your site out of parts, a e-commerce module would be able to provide parts that can be rendered as partial views. Another custom module could inject other views in there. It's just very extensible and i like it. U can allow some access to the admin panel just for store administrators etc.
I don't know about Umbraco with ASP.NET MVC as base, but i know Orchard is from Outercurve Foundation which i like alot.
As far as i know there is just one real commerce module, but i don't know if it is any good
Orchard gallery - Mageliawebstore
Mageliawebstore directly

Hi Don't know about Orchard but Umbraco V5 is ideal for a small business. The reason that you don't read a lot of post recently is that the Architecture is completely new. Expect a lot of documentation in the coming month. But you can already start with the site you get a lot of info if you are using the create template dialog in the backend which renders some default code for you.
Regarding Ecommerce I know the Package vendors of UWebshop and UCommerce are already building next versions of their products on top of Umbraco V5 so expect a fully integrated Ecommerce solution soon.

This is a time-relative answer, but if you want an MVC based .NET CMS then your only real choice between the two is Orchard at this time. Umbraco 5 saw an early retirement so it's back to webforms, although as of 4.10 MVC support was bolted on and I believe there are some modules out there that give 4.x some MVC support as well. Orchard, on the other hand, is built on ASP.NET MVC 3 from the ground up and incorporates a handful of other cool technologies that make writing clean code that adheres to industry standard best practices easier.

Related

Is there an ASP.NET CMS that doesn't complicate the integration of Web Forms components?

Let me explain first that I'm new to web development and it's not my area of interest. A few months ago I made a quick research of various web technologies and I decided that I will learn ASP.NET - Web Forms. This has been working out for me for a simple site - I like the master pages idea and the modularity idea supported by custom controls. I made a few custom controls that I surely wouldn't find on the internet.
Problems began when I started to look for a blog that I could elegantly integrate into my existing master page with my existing themes and styles. The best thing I could find was BlogEngine.NET. But it is designed as a standalone blogging system, not as a control (I just want to display the posts and comments). Isolating what I want from the code base and integrating it with my web app is going to take unknown amount of work and time.
So I turned towards CMS with a blog - Orchard looked very promising. Then I realised that integrating my own Web Forms into Orchard is almost an impossible task for me (definitely not something I have time for). What do I think is the problem here? The CMS is not providing reusable components for easy integration in the spirit of Web Forms - it locks me in - as long as I stick to what they offer I am safe, but once I want to integrate my own Web Form - it's a no go.
So, do you know any NET CMS that allows integration of third party web controls just like you would do without CMS? Or better still - is just a collection of isolated, reusable components?
I realize this is an old thread, but don't know if you ever got the info you needed. If you are OK with commercial software, you might consider SiteFinity (by Telerik) as it uses master pages to generate layout, and webforms user controls for custom code. If you are more in need of an open source/free product, you might consider looking at MojoPortal or CarrotCake CMS.

Whether to use CMS or not

I've started to wondering whether ASP.NET Webforms/MVC even have a place in the web developers toolbox anymore... It seems that CMS systems like Umbraco have replaced the web developers job. Yes I know that those CMS systems are built with ASP.NET Webforms/MVC - however is there even any reason for learning those things if all you gonna do is to use a CMS system anyway? - Also I cant find any situation where a CMS system can be replaced by your own web application.
My question is therefore: Is there any reason for learning Webforms/MVC when using a CMS?
EDIT:
My question might be more like: When should I use a CMS, and when should I go and build my own web app?
The problem with CMS solutions, and I mean all CMS solutions (not just Umbraco, or other .NET solutions, but in any language) is that you will always pay a price for using them. You may gain more from the time-savings afforded by using the CMS, but there are trade-offs to consider:
You will sacrifice a great deal of flexibility
You could pay a significant performance penalty. Many CMSs load a large amount of modules and code to service every request, and much of this is not relevant to a particular page function. (though some CMSs are more monstrously heavy than others!)
The future of your project is tied to yet another vendor, and their own choices
Very often, you rule out the possibility of using other databases that might have better fit your customer's needs (Umbraco doesn't support PostgreSQL, Kentico only supports SQL Server)
Once you start using a CMS you will be tied into satisfying the architectural decisions and API of the CMS framework, and you could eventually be backed into a corner.
This can be particularly problematic if your 'site' is more of a web application than a pure content delivery site. In such cases it can make more sense to choose to build using the full flexibility of the web application framework, rather than risk getting backed into an architectural corner.
On the other hand, if you are building a web site that has potentially hundreds of pages, with a lot of user-contributed content and is much less of a web application, then often a CMS is the way to go, and makes a lot of sense. But remember, you now have two frameworks and two APIs to learn and manage (your platform's framework and the CMS framework).
Writing a CMS is like invading Afghanistan.
Everybody gets a turn but nobody wins.
I don't think that Stack Overflow could have been built with a CMS. Does that answer your question? =)
Update
To answer your updated question.
If you want a regular corporation web containing news, articles, forum etc: Go ahead and use a CMS.
If you need to build a more custom web site like stackoverflow, a web interface for a system or anything like that: Built it using MVC etc.
I personally use a CMS for our corparate website and a MVC framework to build user and administration interfaces for our products.
Not every problem needs a CMS. In the same way not every problem needs a bespoke MVC/webforms website. It depends on what your requirements are. You pick the technology to solve the problem.
Build vs buy is the hardest decision to make. As a developer build always looks best. You can do better than that pile of carp they want to buy. Nevermind that you're reinventing the wheel, axel, cart, etc. To users/management buy always looks best. They don't have to think to hard about what they want and can have it now, not 3 months later after you write it. They forget it'll cost the same again to customise & make it impossible to upgrade.
I'll stop ranting now.
Umbraco is a pretty bare minimum CMS. To customize it (e.g. Version 7+) you'll need to know Heavy MVC, JSON, XML, Sql, etc.
In fact a Site built on Umbraco 7+ is entirely based on MVC views you set yourself and assign to SurfaceControllers (which are MVC controllers) and all you are really getting is the ability for users to edit things about your pages and have Umbraco manage it for you in a DB.
In short you still need experienced web developers to build a site on Umbraco, they just save a lot of time by not having to build the entire backend from scratch.
You use Umbraco to organize Document Types that define what Templates (MVC Views) are used for rendering different types of documetns (e.g. Web Pages) and then you built the template from the ground up with 100% control over the HTML, Css, and Javascript that get's output.
Imo Umbraco is more of a Framework like Django than a complete CMS.
Sure you can build a site in Umbraco and not customize anything, but it would be a pretty cheesey site.
The whole point to Umbraco is to give skilled .Net Developers a good platform for building a site on top of it, but they still have to build it.
Now sharepoint would be more of a complete CMS out of the box that you can do a lot with, but let's see a few problems with SharePoint...
Resource Heavy, eats 50+ Gig's to install
Eats 16 GB of ram just to boot it up (Sharepoint 2013)
Requires Sql Server 2008 R2 or equivalent (enterprise license, $$ chaching)
Requires Windows Server ($$chaching)
It's a monster basically, if all you need is a user editable blod platform... man what a waste of money. Foundation is free, but doesn't include things like the Blog Site Template, so you buy a server enterprise license ($$ big cachinge, 40,000$+ in some scenarios...)
Agreed. A CMS like Umbraco provides a (very) good out-of-the-box solution for the most basic applications. Any sort of specialized purpose is going to require additional programming knowledge. Anymore, though, and your major, if not primary need is going to be a good understanding of the business need. I think we're getting away from building the Legos themselves and on to building the neat toys with the Legos. Cheers!
A CMS (or similar application framework) will provide you with a lot of functionality out of the box, and many of them also have a good library of plug-ins. But you'll still need to write WebForms/MVC code if you want to add any custom features.

How to start a new ASP.NET MVC site?

I'm a experienced .NET developer, but I havent done much webdevelopment and particularly not a new site from scratch.
Now am I thinking of building a site for one of my hobbies. I realize that much of the functionality I need has already been bulit and hopefully released as opensource. My wish is to find a skelletton for my site with the basic functionality to bulid upon. That will leave the specific and fun parts to me....
I wishlist:
- One logon for the site.
- User profiles.
- Possibility for users to contribute with articles, pictures, links etc.
- Leave comments for articles.
- Generate feeds.
- Build the site using ASP.NET MVC
Can anyone point me in the right direction? Where do I start?
I hesitated writing this answer because it might come across as flippent or deliberately unhelpful.
However, I cannot recommend highly enough the tutorials and examples on the MVC site; especially the NerdDinner example app and walkthrough (not sure if it's been updated for MVC2 though).
As developer for developers ;) check this http://kigg.codeplex.com/ I think it's exactly what you need. Live sample here dotnetshoutout.com
Enjoy :)
Hi Malcolm what you need has been implemented many times. If you need to start from scratch for the learning experience I would recommend the ASP.Net MVC Membership Starter Kit (http://mvcmembership.codeplex.com/) it would handle user accounts and profiles for you (read up on ASP.Net membership if you are unfamiliar with it).
If you don't need to start from scratch I would recommend looking at a CMS or blogging system depending on your specific requirements as there is no point in reinventing the wheel unless you really have to or want to learn.
Edit
Have a look here:
http://www.microsoft.com/web/gallery/Categories.aspx?category=Blogs
and
http://www.microsoft.com/web/gallery/Categories.aspx?category=ContentMgmt&appid=BlogEngineNET
I am not up to date with MVC blog engines but I know there isn't too many CMS's around that would compete with more mature ASP.Net alternatives.
I hope this is helpful.
Thanks,
B
check out http://www.orchardproject.net/. But you may find some liter alternatives for your specific needs. Or you can possibly combine a couple of codeplex projects to get to where you want to be.
As stated above I would recommend going through the nerd dinner tutorial again. Also the nerd dinner code hosted at codeplex has been updated to Asp.net MVC 2.0, and is a great reference to many of the new features. Burt mentioned the MVC Membership Starter kit (http://mvcmembership.codeplex.com/), I have personally tinkered with this, and it saves hours upon hours of time by automagically implementing authentication and role management built on a standardized db schema easily generated by a tool found in the framework 2.0 files somewhere.

I would like to convert Joomla CMS to ASP.net as there is no CMS like Joomla in .net. Would that be a good idea?

I have this idea boggling my head since a long time.
As a developer, I get a lot from the community and feel like giving back something to the community.
And after knowing and working on Joomla i found Joomla CMS as the most flexible, easy and user friendly cms.
As a developer, I like most of the features of it.
Now, i want to have a asp.net version of joomla, available free to the community.
I wanted to start it from scratch and it would be a copy/same as joomla.
Would that be a good idea to go with it?
Are there any CMS (same as Joomla) available in asp.net?
I would like to have suggestions and advice from my community developers.
Critics are welcomed ;)
SIA
Checkout CMSWire. They have the language platform for most of the CMS packages along with a bunch of other attributes.
I think every web developer writes a CMS at some point in their career. I'm working on one right now. But a project the size of Joomla or Dotnetnuke is way too big for one person, even fulltime.
Btw, my favorite CMS ( based of demos ) that I've seen so for is Umbraco.
I've had the same idea as well but like people say it is a huge task.
However it's not as big as creating a CMS in a language like PHP from scratch becuase you can use features like rich data controls, Membership, profiles, themes, masterpages, webparts etc.
For that reason I would not een bother trying to convert joomla's php to c# but rather create a feature list and write code from that.
The only CMS that I've found comes close to joomla is Kentico mainly because of the use of webparts.
You might look at DOTNETNUKE (http://www.dotnetnuke.com/).
That is the only major .NET based CMS that I know of. I also use Joomla and have used DOTNETNUKE as well and they offer many of the same features. If .NET is the way you need to go, this is really the only .NET CMS Open Source player out there.

Advice needed: the most fitting web development solution for me

Recently I've been asked to develop a small web site/application.
The site should have some code behind it as in any web application, and the client also needs CMS editing capabilities. He is familiar with Joomla, so he wants the same experience.
I have vast experience in writing ASP.NET (C#), and almost no experience in PHP.
From where I see it, I have a few options:
Build an application based on a ASP.NET CMS - I don't know which CMS to choose
Build an application based on a PHP CMS (i.e. Joomla) - The development time will be much longer since I'll have to learn PHP
Build everything in ASP.NET and add basic CMS capabilities myself - There's a chance the client will be less happy with that
So I'd be happy to hear any suggestions regarding the path I should choose.
Thank you,
Don
If you're considering an ASP.NET CMS, I'd recommend you look at Sitefinity. It's built by Telerik (well known control developer) and is pretty robust. I've been developing with it for about 4 years and very happy with the product. They have a community edition which is free, with very minimal limitations in place (you can only have one CMS user login for editing, must have a small 'powered by' logo in your footer, etc.).
The other great thing about Sitefinity is that it is built on top of ASP.NET best practice and principles (master pages, themes, provider model, etc.)
I'd take a look at Grafitti or Umbraco :-)

Resources