Theoretical question about VS solutions

I am learning about deploying custom solutions in VS. The vid course I am taking tells me all about how to do this, but it doesn't really go into why and when one would do this as opposed to just creating solutions in SharePoint Designer.

For example, aside from a situation where a list has to do something custom that cannot be done in the browser or SharePoint Designer, why would someone create a custom list instance in VS via wsp? Also, why would they create a list definition in VS if this can be done in the browser or SP Designer?

For example, the course says that reverse engineering is the way to go rather than write a whole bunch of CAML to create a custom list. So it creates the custom list in the browser, and then imports that list into a VS solution package for either site scope or web scope deployment.

Perhaps a few real world examples of situations where this would be the way to go would be very helpful for me.

It seems like the only benefit in the case of a list instance would be that this list could be activated anywhere on the site. In the case of a list definition, i don't even really see the benefit as this can be created in the browser or SP Designer.

Thanks in advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jamie McAllister MVPSharePoint ConsultantCommented:
A list definition in a feature is completely reproducable across environments and site collections, and all fields will have the same names and GUIDs for me to code against.

If you're only going to use a single list instance forever the other methods are fine. If however the list is part of a corporate business solution created in Dev that I'm first going to roll out to test, UAT, and Production then I want a solution that will be identical across those environments.

Also columns and content types are bounded by the Site Collection so once again if I want an identical list created in different Site Collections then Solution is the way to do it.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Rainer JeschorCommented:
in SharePoint designer you can do things easily - but you cannot redo them - meaning as soon as you have a type of Software Development Lifecycle with Dev, Test, UAT/Quality Assurance and Production system, you probably would not like to execute the same manual steps on each and every system.

And second I always like to be able to control things especially when a feature is upgraded to implement a proper way of executing the upgrade process with existing list data.

BobHavertyComhAuthor Commented:
Ok, so it really looks like the real use is to be able reproduce the same thing across sites and site collections, and to be able to change multiple instances of the same thing in one spot or with one set of changes in VS. In a list definition created via the browser or SP Designer, you can have a list definition that can do this, but it can't do this across site collections. Please correct me if I'm wrong. But either way, the answers given were good enough and obviously correct. I suspected what was said, but I needed confirmation for my ideas as I want to be sure that I understand this correctly. Thanks guys.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SharePoint

From novice to tech pro — start learning today.