If you using Visual Studio to design/develop Sharepoint solution, keep in mind you suppose using only ONE solution for your entire Sharepoint project, that is, only ONE .wsp file will be created for your Sharepoint deployment later. By doing this, usually more work for your team is required but will make your deployment much easier and you could also automate your Sharepoint deployment in the future. This article is about how to organize your Sharepoint solution based on my experience.
Organize your Sharepoint solution
Sharepoint solution usually include
A: Sharepoint “base project”
Your Sharepoint soluiotn is based on this project. This project will handle all the Sharepoint envirnoment. For example: Site column, content type, page layout, master page, list, document library, event handler, managed property, search scope, site definition. Be patient and be careful because this is the backbone your application will establish on.
B: Sharepoint “UI project”
This should include web parts, ASP.NET controls, AJAX controls, delegate controls, css and resource files. I would also include any third party controls into this project if there is any.
C: Sharepoint “BI project”
This is business interface and logic project, including your business UI, logic and all your .aspx pages. In visual studio, you probably need seperate this into several project. For example: a database layer project, a business logic layer project, a user interface layer project, a workflow layer project
C: Sharepoint “support project”
This project is to support your solution. This maybe vary depend on what you need. For example, you may need
a feature/function to import some data to the Sharepoint list
a function to help you manage users.
a page to allow your client upload XML files to the server
a function to allow you import/export your Sharepoint keywords
a unit testing project to test your custom build function