I am currently making some changes to an EPi site in VS 2010. I have made the changes and would now like to publish them on our production site.
I am using the "Publish Web" file system method, which is copying the files needed to run the site.
My question is, if I make changes to page types, how can I publish these changes, (correct me if I am wrong) but as I understand that they are stored in the DB rather than a file?
Correct. You can either make the changes manually in the admin site's admin mode or you can create an export package with the relevant page types and import it on the production site. Wether you do this before or after you deploy the code changes depends on the nature of the changes
- If the code function without the page type changes -> deploy the code first
- If the old code will function with the page type changes -> deploy them first
- If neither of the above is true, it doesn't really matter what you deploy first :(
Many use Page Type Builder to handle these scenarios.
Thank you for your reply! That makes sense to me.
If previous page types have been created in pagetype builder, can I still use the above method?
How would I create an export package in VS 2010 for the page types?
You create export packages, and import them, in EPiServer's admin mode.
I'm not sure I understand your question regarding Page Type Builder :(
@James PTB page types are just regular classes in your project with special attributes. You can look at them as data models. So you deploy them with the rest of your code, when the application starts up PTB will synchronize the changes and update the page types in the DB.
what about code behind how will this be imported to the site? I have created a deploy package from VS and have gone to IIS7 and clicked the dev instance and selected deploy import application.
Is this correct, or should I be deploying the changes in a different way? The dev instance has different web.config and connection.strings to the production instance, so I don't want these to be overwritten.
Can anyone help with this?
Are you using web site or web application project type?
It is a web application project type.
In that case you need to deploy the dll file for your project along with the .aspx, .ascx etc files. The dll file contains all your code compiled into one file.
ok great, so I can just complie locally in the development environment then copy the new pages and the dll to the production server?
Yes, along with all the other dll files including PageTypeBuilder.
perfect, thanks. I will give that a go when I have the pages ready.
Do I not have to create a deploy package if the site is already up and running? I only need to copy the new and changed files?
Thanks again for your help!
Correct, you only need to deploy the files that are different (remember that this can be a dll file).