Small projects ideas to teach beginners web development using ASP.Net [closed] - asp.net

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I asked from few weeks ago this question:
How can I teach a beginner to write ASP.NET web applications quickly?
And i got some good answers but i liked the answer which tell me to make some small projects with them (me with the beginners)
So i decided to collect some small websites ideas to do with them (i do a part then they complete or show them some hard parts and they follow)
But i faced 2 problems hope you help me solve.
1- Couldn't get enough good ideas for ASP.Net websites to make with them.
2- If i want to make them train on using HTML websites created by the web designer to make
it dynamic using ASP.Net, where to find just HTML websites, or there is a better idea to teach them this part?
You may ask, whats exactly the level i hope they reach?
I want them to be Very good in ASP.Net, HTML, and familiar with JavaScript and CSS.
And the most important thing i want them to be a good searchers, means they got a problem and they Google the right way, and solve. "i think this will gain by time", but this is an important part, because i don't want them to say "we can't do this :("
May be i am asking for too many things, but i just hope general help so i can go further with them.

Use your brothers interests. If one brother likes Football, have him put together a fan site for his favorite team. Another brother likes fishing, well, you get the point.
There are two main benefits with picking topics this way:
They are already subject matter experts and can concentrate on learning the technology instead of the subject and the technology.
Hopefully they pick something they are passionate about and this will add to their desire to learn the technologies.

A good way to learn how to work with ASP.NET is to take a web template and start making it into a functional website.
For example, if you download this template you can see that it's a pretty straight forward business style site. Home, Projects, Services, Downloads, About and Contact are the main sections. The template also has a some additional buttons and links. These are all pretty good places to start learning how to create a site.
First thing, create a masterpage from this template. This is where you'll learn how to tear apart someones HTML and where to start placing content Templates and to start thinking about what can be a user control or reused (main menus, footers, sidebars controls etc.)
Next steps would be do go ahead and flesh out the folder structure of the site and dive in making the those default pages for each section. A learner will quickly see how a site is created from a master page and learn the little quirks of images and stylesheets and how to get around those as you dive through folder structures.
Now it's your choice. Pick a section and start having them dive into it. Products would give you a way to use a database, querystrings, forms, etc. How to pull data, how to display it and how to save it. Downloads would be a place where you could learn how to manage content for a user. What little admin tools a site would need to manage it. Services and About can be CMS driven pages. Once again data driven, but still different from the Products section. The contact forms would give them the option of leaning about using Email from inside of a .net application.
Now once you get your learner working on this, they might actually end up with a pretty usable site/product that they could actually sell or reuse in a 'for real' project. Take your time teaching them, go slow on each section and I'm sure you'll get some good input back from your learner.
Hope this helps you.

E-Commerce is a great solution, as other people have suggested. Or a portfolio web site would be even easier. Also, a picture sharing web site might work out well for them (family members could log in and upload, too?)
I would also add you should use the visual (design) mode in visual studio for the best effect. And then show the HTML it generates after the page is run/compiled. That way you cover for the people who are more visual learners and get into the code later. But I'm sure you were already going to do that :)

How about a sample time entry app.
User logs in to key his time for the week.
Admin user can approve time.
Reports can be made for summaries, approval, etc.. to give programmer exposure to reports.
Login / Roles is always important to understand
Time Entry gives you database interaction.

A simple informational website for a business or store. This should include a contact us form. That should be good practice.

A simple e-commerce application is a good project, as it exposes the students to a number of issues:
Security
Database integration
Transactions
Session management
Design and usability

If your interests are in TV shows or movies or something similar that one can collect on DVDs, building a simple CRUD web app to update a database should be a fairly simple application that will cover some basics like DB design and manipulation, AJAX if you want to send the requests without a full postback, and is something rather common in enterprise applications so it may be very useful.
The year the DVD came out, who wrote and directed what is on the discs, genre of the material, length, stars, extras on the DVD and many other things could go into the DB if one wanted to set up a library like system for an add-on that could be interesting in some ways.

Related

Web Application Designer Position - What should we be looking for?

I work for a small data management/warehousing company that also focuses heavily on web applications. We are looking to "beautify" our existing web apps into something along the lines of mint.com or sifterapp.com or any of the 37signals sites for example. We are a .Net shop so whatever framework used on the front end would need to play nice with a .net back end and also use asp.net.
My question is what skills should we be looking for and what is the proper title for a person that knows how to create very nice looking web applications like the ones I've mentioned? I think having some experience with photoshop is always necessary, but it seems like a lot of the design patterns can be done using css and/or other front end technologies, or am I off base here? Basically, what skills should we be looking for in a candidate if we are looking for them to have skills in creating beautiful web apps that are both very nice looking and also very usable and what is that position called? Web developer? Designer? UI Engineer? Web Experience Designer?
I am also aware of some UI oriented frameworks like YUI, is this something that we should be looking for in a candidate, experience with this? Is a likely candidate going to be someone with a graphic design/artist degree or will it be someone more programming oriented? Is this actually a task for 2 separate people, one doing the graphics and another doing the user experience/css layout? It just seems very confusing to figure out what exactly we should be looking for so the interviews have been rather hit and miss so far.
Thanks!
you need a Graphic Artist, a usability expert and a web developer.
it is rare/unlikely that you will find one person who excels at all three
the good news is that you'll only need the graphic artist and usability people short-term
I would look for a Javascript developer with experience in integrating with ASP.NET. You need to explicitly require experience with CSS layouts, Javascript, frameworks such as jQuery, Prototype, etc. I know a lot of people that are ASP.NET developers and think they are good web developers just because they can drop a few controls on a page and have no understanding of what is happening on the client-side. Also, make sure that they provide you a portfolio.
There are almost always 3 parts of a website:
1.) Design: The designer(s) is(are) planning the layout of the website, with the following in mind:
- maximalization of usability
- nice looking
- using only needed components (no elements to "fill the void")
2.) Backend: The backend guy(s) is(are) working on the functionality of the server
3.) Frontend: The frontend guy(s) is(are) working on the frontend
The backend and frontend guy might be one person, but programmers are code writers (with no artistic inclination), designers are artists. If you put a designer to write code (for example CSS), he might not solve the problems well enough, the same is the situation if you put a programmer to make a design. In my opinion you should hire a designer (some designers work for a very low salary) and a programmer.
In my opinion nobody can honestly say that he/she is a good backend and frontend developer and a good designer in the same time. For example I'm a good backend guy, a decent frontend guy, but I'm not a designer.

WordPress vs ExpressionEngine: is EE worth the price? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm very new to coding (having only taken Web Development 101 at university aka 'OMG CSS u guise'), and I'm just beginning to realize that knowing HTML/CSS alone isn't good enough. I've decided that it would be best for me to learn the hell out of one CMS, because I'm not keen on learning a full programming language. Mainly I just want to be able to create websites that load instantly (think Sproutcore home page) that happen to use some kind of templating system to make things easier to administer over time.
I've looked into WordPress, and I know that it's a super popular platform for a reason, but it seems like most sites running WordPress don't load very quickly. I've read around a bit and it seems like the opinion of a lot of coders out there is that WP is a "heavy" platform. And, besides, I just recently viewed source on wordpress.org and found that they're not even running WordPress there! I mean come on!
I've also looked into ExpressionEngine, and I'm very impressed with the way things are done. It seems like after the learning curve it should be simple to use and highly extensible, but at $300 per commercial site license + the cost of add-ons, I'd like to be a bit more convinced of it's value. I know that AListApart, JasonSantaMaria.com, change.gov, iLounge, and many more high quality, high traffic sites run on ExpressionEngine, but I'm not totally convinced it's worth the price given that WP can surely do the job well enough in 90% of cases.
I would really appreciate your opinion.
Maybe I should just say F all this, and create my static pages with straight HTML/CSS, and then use a blogging platform like Tumblr or WordPress strictly for blog posts, as per Sproutcore?
Would love to hear your opinion.
For developing a commercial website that needs to run "in the real world", $300+/- is a very compelling price. This isn't to do with Expression Engine specifically, but any good commercial CMS. Nearly anything can do the job - including WordPress - it's just a matter of how easily and quickly it lets you do your job. Nothing is free - it's just a matter of whether you - or your users - pay for it in time, or in dollars (or Euros. Or Crowns... whatever). Amortize $300 over the life of the product - from the first big setup to every time you need to make a tweak - and think about how much effort EllisLab developers have spent themselves, and thus saved you. Then think about how little they're actually charging for that value.
Or, if WP happens to align perfectly with your needs, just use that.
But I strongly support commercial software products (partly because I work with them and make them) and IMO 4 times out of 5, the ROI is better than a free alternative.
EE is perhaps worth the price if it is the solution that meets all of your requirements. You need to use the right tool for the job. It will not do you well to learn just one CMS and then try to shape all your problems to fit that solution. I suggest you learn the features and downsides of several CMSs and apply whichever one is the best for the particular site you are working on. Or even use a combination. Limiting yourself to learning just one CMS as if it is the be-all-and-end-all of CMSs will only hurt you, and it might make your customers miserable when they're forced to use a product that wasn't even designed with their needs in mind.
You say that wordpress.org doesn't use WordPress, but I suggest you look more closely. The wordpress.org site is quite complex, therefore it might not make sense to use WP as the main CMS for that site. But did you look at the Blog (aka News) section? That's running on WP. Look at the Showcase section. That's WP too!
My guess is that they use WP where it's appropriate, and perhaps something else where WP isn't appropriate. Which brings me back to my original point: You need to use the right tool for the job.
Edit #1 - Oh, and as for your interest in making fast-loading sites: The CMS has some influence on that because some have more overhead than others, but the CMS is not the only thing that affects a site's performance. Sproutcore loads fast because it's a tiny page, it's got only one small image and a tiny stylesheet. So of course it's going to load fast! You can make a complex site load fast, too, if you use things like caching, small graphics, code/database optimizations, content delivery networks, throw more hardware at it, etc etc etc.
Edit #2 - If you're interested in creating static sites for performance, but you want to have some templating control, take a look at Jekyll. It's a script that combines your templates with plain text files that are formatted using Textile or Markdown, and spits out complete HTML pages. You might also be interested in Movable Type, which is a platform that can generate static HTML. Once again, the right tool for the job... there are so many choices out there.
I used ExpressionEngine professionally for about two years, compared to other "content management systems" out there I think it gets the job done well. In order to make Wordpress or Drupal do the same out of the box features ExpressionEngine has takes a bit of tweaking or php knowledge. ExpressionEngine was a great tool for me while I used it. The templating language and admin aren't too hard to get into with only html and css knowledge. Using third-party addons such as Structure and most from Pixel & Tonic will make your sites easy to develop and most of all easy for clients to manage.
Wordpress is a blogging platform, not a CMS. I find the admin too bare bones and confusing for clients to properly separate and manage their different kinds of structured content. It works great for blogging, but try to make a staff page or anything more structured and it falls apart.
If price is an issue I would recommend looking into Symphony CMS, which follows a similar concept to organization of content as ExpressionEngine. Though you have to learn XSLT, which can be a bigger learning curve than EE's own tag language. But, it's free.
I primarily work with projects now using Django, which is a python framework and will have a bigger learning curve than Wordpress, ExpressionEngine or Symphony. But it gets the job done for small and large projects alike. If you're looking to take the plunge so to speak, might as well go straight for the jugular.
Having dealt with both, between WordPress and ExpressionEngine, EE is not worth it. The community is nowhere near as supportive or vibrant, and there is nothing EE can do (after hours of painstaking configuration, mind you) that WordPress doesn't do better (in my opinion). Add to that the best plugin interface I've ever seen, and WordPress truly is limited only by the imagination and capabilities of the developer. And the technology, I suppose.
WordPress is not always the best tool for the job, but I'd say it is always a better tool than EE.
As most people have already said it depends on the site. But in my opinion for most sites ExpressionEngine is a better choice than WordPress. The $300 for the license gets you support from paid support staff plus the community is really awesome.
Paid software will always, in my opinion, be a cheaper solution than free software as you're getting better quality code, guaranteed support and a commitment from the developers. Try getting support for wordpress and it will run you $15,000 per year or more.
Additionally in order to do anything truly special with WP you need to know wordpress with EE you can build outstanding sites without any php knowledge and you're not forced to work within the confines of what is essentially blogging software. Admittedly it's gotten a little beyond blogging recently buy it nowhere near as flexible as EE.
Sean
To speed up WordPress, you can use caching and minification plugins, like WP Super Cache,
W3 Total Cache, and WP Minify — or even go with a specialized hosting provider like WP Engine.
Caching can speed up WordPress significantly. What it does in some cases, in fact, is actually create static files that are loaded on subsequent page requests.
As for minification, they say that 20% of loading time is server-side, and 80% is front-end code. (Of course, server-side delays are generally worse in than front-end delays, but still...) So when you're thinking of optimizing, front-end is often the first place to think about.
I have made many sites with WordPress and I'm finishing my first EE2 site.
My choice for future sites will mainly be based on the type of content the site needs. If the site needs pages and some sort of "posts" like a blog or simple news feed, WP is a good candidate. If there are other types of content EE2 might be the way to go as you create a new channel for each type of content (pages, posts, events, products, etc). Relating all these types of content to other content with the Playa Add-on has been pretty cool too.
In WP you can create a custom post type and customize the fields to create a suitable home for these other types of content, but by default it's meant for blogs. So I wouldn't say that WP can't be a CMS, I would say it's a blogging engine that can be a CMS with some work.
Two problems with EE instead WP. First, you can find many out-of-the-box solutions for WordPress from themes to plugins that can let a site with simple needs be created quickly. If I have a project that needs to go up quickly, find a premium theme that fits good enough, do some slight modifications and I'm done. The second thing is that for the average person WordPress will be easier to use in creating and maintaining content, especially if the content is posts and/or pages.
And use WP Super Cache to speed up WordPress!

Should I buy Obout controls? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We started a new project and the nature of the project is very interactive and a Rich UI is required.
We would need a set of controls that would require for Rich UI development. I found Obout while googling. I never heard about them and never seen fellow members telling me such name except Telerik, ComponentOne, NetAdvantage. These are the famous names we heard but no this one.
But, the controls give a positive feeling. But as two things matter always when you are buying some services: How good are their customer support? and How much feasible their price is?
Another, how quickly they release patches/updates? As, what if we find a bug or an error during development what will going to happen? Do they provide a quick solution for this?
I'm bit confused making a decision here. I need your assistance, experience and feedback.
I've used Obout controls before. They are definitely lesser known than something like Telerik or ComponentOne, but they've been around for quite a while and definitely put out a quality product. They are also a good deal less expensive. Overall I had a very positive experience with them and never had any trouble with support requests at all. My first experience with them was about 5 years ago and they were very good then, and they've only gotten better.
I don't know specifically how quickly they put out releases, but I can tell you that over the past few years they have released a whole lot of new stuff. I believe you can download all the controls and try them out before you buy them, so I would encourage you to do that. If it meets your needs and you find it easier to use than the alternatives then go for it.
Also check out this question to see some additional feedback: Obout controls in C# .Net
Don't think so. I bought their suite and everytime i tried to use one of their controls, it sucked.
Example 1.
I use their grid and want to take advantage of the filtering options. For 400 records, the grid only filters in the twenty records that are on the first page. So it leaves out the majority of the records. I got in contact with their support and i sent them the files they asked for. That was five month ago and despite repeated tries and emails, i never got an answer.
Example 2:
Today i am using their datepicker. Nice try, but it opens in a weird position on the page and there is no possibility to change that.
We have been using their tools for over a year now, and we are very pleased with them. The cost is a fraction of what the competition is charging. They work great, they look nice and it reduced our development so that our project was completed two months before expected, even with learning the new tools.
The learning curve is a little steep, but that goes for any of the comparable packages. The tech support sucks, by email only. When we first purchased it they had a support forum and you could find most of your answers in the forum, but sadly they did away wit hit. Now it takes a few days to get a response. But when doing an entire application, we had plenty of pages to work on while waiting for responses. Most of the time they pointed out the problems or told us how to resolve them. And I sent them many messages telling them to disregard previous queries, having found the answers on the internet.
Their examples are simple, and if your needs are simple they will suffice. If building a full-blown application to replace a legacy application and run your business, such as we did, you need better support. Still, it was money well spent. We use the grid and filters to perform searches on our client database of 200,000 records, and can usually find the person we need in less than 10 keystrokes by name alone. Performance is very good on our intranet.
I will note that when I thought I had found bugs in the software, it was just me. A comma where a period should be, bad capitalization, misuse of functions, etc. Javascript is very sensitive with it's syntax and not friendly with error messages, so much time was spent going over code to discover the not-so-obvious errors.
And our demands are probably beyond most peoples needs, our main screen has a combination of a superform and 7 data grids, each of which pops up a modal form for data entry, all within the same web page. But it does the job well. All in all, we have about 60 data entry pages and another 60 reporting pages we created with the oBout tools. The reporting pages allow the users to set report criteria (i.e. dates, clients, products, etc. using popups, calendars, radio buttons, etc.) and pass these to SSRS reports, a sort of ad-hoc reporting. So we created a projects with over 125 web pages and over 150 reports in less than one year, quite an achievement considering the small workforce.
If I were you I'd look strongly at using jQuery and the hundreds of great plug-ins that will provide just about any functionality you need. jQuery is heavily supported and best of all it's free (open source).
It will provide all the client-side functionality you need and it's VERY easy to work with. One of the things you really need to use jQuery is to have control over the id and names of your HTML controls (DOM elements). When you use those third-party control packs (and most of the built-in ones in .net too) you typically lose a good deal of control of the HTML they produce. You can either wait for asp.net 4.0 to come out which will resolve the control id issues or rely on repeater controls and have complete control over the ids and other HTML it produces.
It's well worth the small investment in learning jQuery and the repeater control if you haven't done so already.
I used Obout controls several years ago (from memory, their ASP.Net TreeView and Slidemenu).
I think I had to contact them on a couple of occasions, and received prompt support both times, solving the problem we had.
However, whether their controls (in terms of UI, API) meet your expectations is quite a personal thing- the support is good, but you might find that you don't like the look of them, or the API doesn't fit in with the way you do things (although it was fine for me). You should really evaluate them yourself and see how you get on with them.
if you don't need something too well integrated into asp.net, definetly have a look at extjs. its THE rich ui library.
I am using Obout controls. And clearly I would have done another choice If I could. The controls are bulky and quite often buggy when you try to inherits from them. A poor choice to me.

What are the most common pitfalls for a beginner Drupal user? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm just starting to learn Drupal, and I am really liking it.
What are the most common pitfalls for a beginner? How can they be avoided?
First of all you should be clear with yourself on what you are trying to learn:
Theming?
Site building?
Developing new modules/functionality?
Of course the boundaries of each of those areas are not sharp, but the patterns that you will follow to learn about drupal will be quite different. Here's my opinion:
General pitfall (applies to all areas)
The single most recurrent mistake beginners do is to be in a hurry. In a world of books with titles like "learn to master C++ in 24 hours or less" people approaches drupal believing that they can get away with a couple of days of playing around with somebody's else code. If they do not understand at first sight how things work in Drupal they switch to rant mode and begin to post on blogs and forums on how much drupal is stupidly complicated.
So: be prepared to invest time and energy to embrace the high level of complexity (which is something different than complication) of Drupal. Be prepared to actually study how things work rather than skim over help requests on forums and mailing lists. If you are still not convinced. Here it comes some good reading.
If you are learning about theming
Pitfall: learning by trying to hack a previously existing theme.
A better way: first off, give at least a good in-depth look at the Drupal theming guide. It's dry and it's boring but it gives you a good overview of the flow of the theming engine. Then download and install the zen theme and start you theme by using the starter kit that is included. I recommend - if you use Drupal 6 - to use the version 2 of the theme, although in beta, as it has a much more logical organisation of its internal files, at least IMO.
If you are learning about building sites
Pitfall: getting overwhelmed by the amount of available modules and missing out on the big ones.
A better way: read some of the case studies that have been presented over the years on drupal.org. You will get a pretty nice idea of what are common patterns in implementing functionality by means of contributed modules. Explore and understand the core components of drupal well. They are the basis for everything else, so you will definitively need to know how the mechanism of nodes and revision works, what is the functioning of the taxonomy, how the permission/roles system work, what are the differences between nodes and blocks etc... Do not miss out on CCK and Views, which - although they are (until now) contributed modules, are a component of 99% of the drupal sites "out there".
If you are learning about writing your own modules
Pitfall: trying to put together a functionality by mean of assembling PHP and jQuery snippets of code retrieved here and there on the web.
A better way of doing: if you want to be good at drupal you can't afford to go by the just in time learning paradigma, you have to go for the old-school just in case one. You really need to have a general overall understanding of all the components of the system (amongst others: form API, menu system, hook logic, js in Drupal, node processing, theming engine, localisation, caching...). Drupal is somehow a framework, and if you do not know well the ecosystem in which you are planting your code, chances are you will spent lot of time in producing an horrible code that will soon or later fail in doing what it is supposed to. Above all you will take a lot of time to code something that possibly would have taken a fraction of the time to be realised "the drupal way".
My opinion about possible tools for learning to code well in drupal
http://drupal.org - Is packed with useful information, but it is so messy and the ratio signal/noise is so low that I would discourage to use the site as your main source of information.
Books - IMO if you are new to Drupal it might be worth to invest on a couple of books. Books provide that logical structure and learning sequence that you can't have by jumping from one site to the other, following a screencast here and a how-to there. My top three: Module development is a book very well written, with a smart progression of topics, it actually guides you to writing a few modules with increasing complexity. It is a good reading to quickly get an idea of how drupal works. Pro Drupal Develpment is the book for Drupal. It is quite dry and - although it has examples of code all along - I like it more as a study-book / reference text. Be sure to get the second edition as the first one deals with Drupal 5, which is going to be obsolete soon. The only noticeable shortcoming of Pro Drupal Development is javascript (introduced in a very hasty way). JS and Drupal is a wide topic, and for that purpose I like Drupal 6 Javascript and jQuery better as the first book I mentioned, this book is also project-based (i.e. You learn things in relation to the needs to implement a project).
Other websites - They are an invaluable source of information and examples. It is the perfect place to search when you have a general understanding on how to realise things, but too little experience in a specific domain to be autonomous (and everybody, no matter how experienced, have some domains in which they are not "pro"). Some good websites have been already mentioned by others. My all-time favourite is lullabot but drupal dojo and learn by the drop are also very good.
Community - This is a huge asset of drupal. The community is very big and very helpful and you are likely to all the time find somebody wishing to help. The IRC channel is a good place to start.
Meetings - Every 6 months the Drupal community meets for a few days (once in North America and once in Europe) to exchange expertise and information. Although travelling to DrupalCon can be (too) expensive for doing it, since a couple of meetings the community got organised to post all the videos of all the sessions held. They are an excellent resource too.
Hope this helps to get you going, and best luck with your learning! :)
For Drupal beginners, and "especially" if, like me, one has a firm grasp of MVC or MVP concepts, I would recommend buying or borrowing "Pro Drupal 7 Development", Third Edition.
As for pitfalls:
Learn the menu (routing) system
Embrace the Form API
While some have embraced Zen, I have personally embraced Omega
As one stated earlier, Views are your friend. Model and create as many "Content Types" as needed, then use Views to display them.
CTools is great, Views is the best sauce on planet Drupal, but tread lightly around the Panels and Page Manager interface. :)
I hope that helps.
Learn to theme using the Zen theme or something like it as a base
Theme fields, not pages
Views are your friend
ImageCache rocks
You could - a lot of people started with the Garland theme that comes with Drupal and got stuck because it has logic in the middle (big no-no in a theme) and renamed its parts confusingly. Zen is documented.
Here's a podcast at Lullabot about it:
http://www.lullabot.com/audiocast/podcast-74-drupal-design-round-table
One common pitfall is not to do enough research on the different modules available for each task or function that you are trying to accomplish. It is very easy to install a module in Drupal and start working with it without fully understanding the nuances of that module. It might seem as though the module is working as expected. However, halfway though your project you might find that that a particular module has a limitation or issue that cannot be overcome without major custom code. Another module might have been just as appropriate for the project but also met your additional requirement. A good example of this is deciding how to setup your user permissions. There are many modules that help enhance Drupal's out of the box permissions system but each one works differently and has a specific feature set. Do you need special login screens for different users, workflow requirements, etc? Also included in this is a proper evaluation of whether you should use a module that does not quite meet your needs or write your own instead. Without fully understanding the limitations of the module as related to your specific requirements you could go down a path where you would spend a lot of time trying to fit the module into your needs instead of just quickly building one from scratch that exactly matches your requirements.

Umbraco, is it just me or is it really hard to use? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Looking for some feedback on those of you who have evaluated umbraco lately.
I've been on a quest for the 'best' cms that balances ease of use/extendability/customization etc. to use as a base for a new vertical product I am in the planning stages on, so for the past month or so I have been downloading, installing, reading source code and creating test sites in every asp.net cms I can get my hands on - and so far I have pulled down GraffitCMS, MojoPortal, Oxite, Orchard, Kuboo and maybe a couple of others that I am not remembering of the top of my head.
For each of those, except Umbraco, I have been up and running in less than a couple of hours, including adding pages, customizing templates, and in some cases (especially Graffiti), writing drop in widgets in C# in a matter of just a few hours....
But with Umbraco, after wrestling it for almost 2 days just getting it to run, and now another morning watching videos, and then building pages etc, I am still unable to even get even a simple site operational, and even the pages I have gotten working crash routinely (not to mention being a dog)...
So, the question is: Am I doing it wrong? or is it really that hard to work with? and more importantly, if I continue to push forward, will it be worth it? or do I cut my losses and move on?
Edit: asp.net with SQL Server support are requirements of anything I pick.
UPDATE ONE YEAR LATER (Feb/2011):
My initial impressions are still accurate, Umbraco is different than most of the other CMS's that I have used in the past, and for me took a bit longer than usual to 'get it', but now that I have, I have to say I have a much better appreciation of the product, what it does, and how it does it - and to top it all of, it really performs really well - especially with the latest release of 4.6.1. So call me a convert - I am glad I stuck it out and then took another look. I only update this post now, over one year later so as not to leave my initial negative 'review' here for posterity.
The learning curve for umbraco is short but steep. Once it all 'clicks' then you'll be up and running in short order.
It's different from other CMS platforms in that you doesn't give you anything out of the box - just a blank canvas to work with. Other cms systems will set you up with a default template and allow you to drop in pre-built functionality. Umbraco is, by design, not like that at all. You only get out what you put in, it doesn't generate anything for you.
This is ideal for developers and designers who want 100% control over their code/markup.
Version 4.7 (currently in release candidate) introduces the Razor syntax for creating macros. This does away with needing XSLT+XPath which I think was a big stumbling block for a lot of people. Even if you're not familiar with Razor, it is much intuitive to learn than the XML based offerings.
The videos have been mentioned by other posters below. $20 is a small price to pay to get up and running quickly.
Does it matter? What I mean is, if you find it hard to use, and there are other alternatives available, why persist? If it's non-intuitive to you, then you're going to find it hard to use. If it doesn't have some killer feature you (think you) need, dump it and move on. You don't need the hassle of trying to wrap your head around some oddly-designed (to you) product, and the product's developers don't need the hassle of trying to support people who think their product should work in some way it wasn't designed to.
None of this is intended to be harsh, just practical. You have the freedom to choose, so choose what works best for you. This sounds like it isn't working, so move on. My brother-in-law wanted to buy a Volvo, but found the controls and dashboard totally confusing, so he wound up with a BMW instead. Nothing wrong with the Volvo, nothing wrong with my brother-in-law, just cognitive dissonance. Don't worry about it.
I've been building sites with Umbraco for something like 5 years now, and I don't recognize your description of Umbraco as a very difficult CMS, but I'll try to provide a few pointers here to help you if you're still considering Umbraco:
Go to http://our.umbraco.org, read the Wiki-pages, and post any questions in the forums there, it's a really friendly community.
Always use Microsofts Web Platform Installer when installing Umbraco, It'll help you create your site, and set up your database. Just be sure not to install Umbraco in a sub/virtual directory, since Umbraco can't handle a setup like that.
If possible, do your install on a development machine with IIS7 and SQL Server Express, it'll work for sure, and deployment of a finished site can be done with a xcopy transfer and a restore of a database backup.
Don't start a new Umbraco site, before you've coded the HTML you'll be using for the site, or at least have a really clear idea about the page types, and html content you'll need.
I hope I'll be seeing you on the Umbraco forums.
Regards
Jesper Hauge
As a grizzled CMS veteran I can say that Umbraco is no harder to set up and use than many other CMS solutions.
However much of whether you find it hard or easy depends largely on your previous experience with CMS and your expectations for what a CMS should provide out of the box.
I've worked mostly with larger CMSs:
Microsoft CMS
Immediacy
Obtree
Reef (anyone remember that one!)
etc....
Against those it is no harder to use and is probably easier as it tends to get out of your way and lets you get on with building the functionality you require.
However if your expectations are more based around things like Wordpress, i.e. install and go but with more limited options, then it can be hard to start with (if you just fire it up without installing a website starter kit).
My recommendation is that if you are building a small site you take a look at the Creative website starter kit at our.umbraco.org. There are also many packages that you can install to make things easier or add specific functionality (including pre-built navigation controls and full blog solutions).
Also take a look at the Wiki on our.umbraco.org and ask questions in the forum, the community is helpful and friendly.
Umbraco is a bit different than other CMSs like Sitefinity, DNN, or Drupal. It does compare well to Sitecore.
Yes, there is a bit of a learning curve. I think the XSLT can cause that, but more likely its just the fact that you have to understand how Umbraco is structured. There are very few "modules" out of the box that you have to arrange and style. Rather, it allows you to easily create your own structure and markup that doesn't force you into a box that is hard to get out of.
I've used Drupal, Sitefinity, WordPress, Sitecore, and some others and frankly Umbraco is my favorite. If you know how to develop great web sites and you don't want limits on your design, markup, or client experience then Umbraco is a great choice. If you aren't really building a site but just want to put pieces together and get "something" working, then it may not be worth your time. If you build lots of sites or want your end users to edit content easily (not just a big rich text editor), then it may be worth overcoming the learning curve.
The videos are totally worth the $20 to watch BTW. They are far better than any documentation you can find and after maybe 5-6 videos you should be "getting it". Just buy one month and cancel after that.
The community is awesome too. If you're struggling, head over to the http://our.umbraco.org forums and get some help. There's lots of it over there.
Also, try installing the Creative Web Starter Kit package or the Blog 4 Umbraco package to get a head start. Those will be more familiar to those coming from a Sitefinity or Drupal background and may help the learning curve flatten out.
Good luck!
As a senior .NET programmer naturally I gravitate to .NET based solutions, and Umbraco seems to be a solid CMS. So I installed it and tried to gain some knowledge and getting it going and these are my findings:
Videos are ridiculously thin on content. The first introductory video talks of a runway. What on earth is a runway??? No jargon please, I'm a first time user.
You have to pay for the most advanced videos. No wonder it hasn't taken off as a mainstream .NET based CMS.
Out of the box demos are non functional (I chose the business theme an the menus don't work)
Admin area very non-intuative
Installation forces Web-Matrix installatiuon.. I have IIS7 and so do our production systems... I DON"T WANT WebMatrix!!! Finding documentation on this is also not easy.
All in all EXTREMELY FRUSTRATING to use and put me off Umbraco totally.
So I've picked up on Wordpress in the mean time and find it extremely easy to extend the admin interface. Documetnation and community support is superb. Just a pity its PHP bases because that won't fly in my company that has invested heavily in .NET developers :-(
Opinions aside, this all depends on your background. I'm a software engineer not a webmaster. So, I think like a software engineer and not like a webmaster.
Umbraco was VERY frustrating for me to install simply because there was no easily found TEXT documentation. Once I finally found that, it was a breeze to install.
The problem for many web designers is that they are not software engineers. Nothing bad about web designers who aren't also software engineers, it's just a different way of seeing the world. I have worked a lot with web designers who needed to interface with my C++ and C# back ends; they have a completely different perspective of almost everything.
Once I got past the goofy implied install process (which is bad, bad, bad -- you should never require another product JUST to install your own!) I found Umbraco to be simple and intuitive. Even my (non-programmer) girlfriend found it to be much more logical than some of the other CMS's we had been playing around with. Drupal, for example, was simple to install, but isn't really designed for a Windows development (ASP.NET/SQL Server) environment and I hate PHP, so I eventually abandoned that. MojoPortal was really nice and simple, but... it was... well... simple. Too simple.
I like Orchard, but the last time I looked at that there was so little in terms of what to start with that I decided that it would be a problem in the immediate future. I wanted a web content management system, not a web development platform. I kept thinking Orchard is a lot like *nix: "A nice place to live, but ya wouldn't wanna visit there."
Umbraco for me is a nice medium place, extremely flexible and easy to extend. It tries very hard to not get in your way. If you want to extend it you would probably do best to either learn C# (or {cringe} VB) or co-opt someone to write the CodeBehind for you. But, using it is extremely simple and straight forward.
I can't say whether it's just hard to use in general - but I came to much of the same conclusion as you did. I was especially disappointed by the lack of useful documentation - all the potentially useful video resources at their website are for pay $$$ only - what's up with that??
Also, the few intro videos I saw never quite clicked with me. They presented lots of concepts, but really never explained them much.
I also had tried Graffiti, but that never quite worked, either - and with its future less than sure, I gave up on that. Others seemed overly complicated for my requirements (Kentico, CommunityServer, and others).
In the end, based on a tip by a fellow on superuser.com, I went with BlogEngine.NET for my club's web site, and so far, I haven't looked back at all. It's pure ASP.NET which appeals to me, it's easily extensible, has a fairly large community with extensions and themes and stuff. From my personal experience, I can only recommend you check it out, if you have a mostly (blog) post based site in mind.
Strange. It takes me 5 minutes to install new Umbraco site, in 2 hours i managed to create standard portfolio website (well, when I've already got used to XSLT). It's very easy to create, modify, add custom controls, add smth to administration section, etc.
What was hard to understand (took me half an hour) that I don't have to write any SQL or C# code until I need some additional data model that's above Documents concept or Umbraco capabilities. Such samples: auto-resizing pictures, invoking some web-service, etc. - anything that comes from business logic layer that can't be covered by CMS model.
In most cases Umbraco is so easy to use that even that little bit of documentation is enough. There's pretty thin and easy API provided by Umbraco, but there's a good tech. level needed from developer, and that's XML 1st of all: XQuery and XPath to use maximum of XSLT.
And once more about installation: I just followed each step of installation guide and that's all.
The problem with Umbraco is that the UI is awkward and it's not immediately apparent how to use it and where to find things. There are several section buttons at the bottom of the page and when you click on one, you're presented with a tree view where you drill down to what you want. This is bad UI 101: no mystery meat. All functions should be organized and visible to the user. Dropdowns with submenus would have been a better approach.
The UI element names are ambiguous. For instance, there's a Members and a Users section, a Developer and a Settings section, a Content and a Media section. Isn't Media supposed to be Content? Aren't Members also Users? Aren't Settings something a Developer would do? You get my drift.
With the release of version 5, none of these issues have been addressed. The best thing they did was to kill XSLT/Classic ASP.NET and replace it with MVC and Razor. This makes getting your head around the product much easier from a developer's standpoint, despite a lack of adequate documentation for version 5. From a content creation standpoint, it's still lacking, however.
If you want to see a great UI, look no further than SiteFinity. Even though the new design isn't as good as SiteFinity 3 versions, it's content editing is the best I've seen on the market. It's too bad it doesn't support MVC and it's controls are cumbersome to modify and style.
what i wish i would have known!
Umbraco - Before you start

Resources