I've worked with Relate before and have always based the site using the templates generated by the Deployment Centre.
What I would like to do is create an empty Visual Studio project and build it up from scratch.
Does anyone have any experience of this and can offer any pointers of what needs to be included by default etc?
Thanks in advance,
First you will need to get EPiServer CMS up and running on top of your empty project. This includes:
1. Database (can be obtained from Deployment Center "Install SQL Server Database"
2. You will need to add all necessary config files (episerver.config, episerverfamework.config, episerverlog.config, filesummary.config, etc).
3. Add missing parts to existing config files (web.config, connectionstrings.config, etc).
4. You will need to pull down VPP folder (particularly Modules and ModulesRepositiory folders).
5. Add files to modulesbin/ directory in your web project.
When you are ready with CMS part you can now add Community/Relate. This includes:
1. Adding missing sections to web.config file.
2. Add missing dll files to the web project (EPiServer.Common.*, EPiServer.Community.*, EPiServer.Mail.*) + there probably are some more dependencies.
3. Copy EPiServerCommunity and EPiServerMail directories into web project root directory
4. Copy EPiServerCommunity folder to your VPP root directory.
5. Add Community/Relate license to your site.
The best way to get Relate site working I would recommend to compare Relate+ sample site config files, missing dlls, folders, etc and take those as source for the new project.
Optionally you can borrow also some helper classes / code from sample site as well.
Just forgot one important moment - make your Global.asax.cs type inherit from EPiServer.Global.
Thanks Valdis, that sounds like a good starting point and some useful things to check.
Thinking about it I think I would need to use the deployment centre to create the site with database (Relate differs considerably from CMS), VPP folders, IIS site etc first and then maybe use the config files created in this step in the empty project.
I would say that's recommended way.