I have one asp.net 3.5 application. My client wants some part of the application to be CMS driven (Client has decided to use EPiServer CMS 6) and rest of the application will remain as is.
As far as EPiServer is concerned, I'm just a beginner. Somebody please tell me how to integrate the CMS into my existing application. Also, tell me the configurations that has to be made to get this working.
I've installed EPiServer CMS 6 and Visual Studio 2008 integration files in my system. I can create a new Episerver project in Visual Studio 2008, but that won't help me. Is there a way to integrate the CMS into my existing site and get it to work with minimal coding ?
Do I need to migrate the existing code into the CMS first ? If so, how to do that ??
Please help me out !!!
There's not nearly enough information here. For instance, what is the "application"? It could be anything, and you don't offer any details.
In the end, your app probably needs to be migrated into EPiServer, not the other way around. In general, EPiServer is the base platform for a Web site it powers.
That said, here are a few options --
EPiServer can co-exist quite happily with ASPX files on the file system. So there's no reason your app couldn't just run like normal. You could just run it like normal from a folder in the EPiServer installation. You could even use the same master page for it, so it could somewhat look the same.
If your application requires some isolation, create a Virtual Directory in the Web site, and run it from there.
Alternately, if you app could be condensed down to a single user control (perhaps with different states on postback), you could embed it as Dynamic Content in an EPiServer page.
If the application is a handful of ASPX files, you could create a Page Type for it ("My Application") and list one of the ASPX files as the rendering template for it. Then create a page of that type in Edit Mode. This would give you a page to use as a proxy object for the app, which has all sorts of benefits.
See this blog post for more on this concept.
"Using Proxy Content Objects for Non-CMS Content"http://gadgetopia.com/post/7088
Its a travel website. If I want to run some part of it through EPServer, what should be the best way to do ? and How ?
"Its a travel website" and "some part of it" still tells me nothing.
The functionality you want to use -- what is it? A set of ASPX pages? A set of controls? A Web service?
There are a set of aspx pages. they contain various custom user controls. I need to make them CMS driven. Look and feel should match with my existing site.
If you want to source content in your pages and user controls from the CMS I think you should definitely consider moving those pages and controls into the CMS application.
Yes, you are right. I want to move those controls and pages into CMS, but I need to know how to do it. Can you refer some links, blogs etc. so that I can get started. I'm bit stuck here.
I suggest you create a public templates or demo templates site on your computer (see installation instructions on http://world.episerver.com/Download/Categories/Products/EPiServer-CMS/ ) if you haven't already done it. You'll get a working site and a web application project which you can study.
You could basically just move your other aspx/ascx structure into this project (and of course add any dependencies and setup needed) and have them working in this application instead. To be able to use the CMS content (easily) you will have to change your aspx:es to inherit from the EPiServer TemplatePage and your usercontrols to inherit from the EPiServer UserControlBase classes. Then your templates need to correspond to page types in EPiServer and you need pages in episerver using those page types so that the content is fed to your template page.
Look at the pages in the public/demo projects, they're just ordinary aspx pages but they are mapped to page types of which there are "instances" (pages). The only thing this really does is pass an ID to the aspx by the querystring and this id is used by the EPiServer page classes to set up the connection to the correct PageData object. You usually dont see this because it's hidden by the friendly URL rewriter. The logic goes something like this:
1. Look at incoming frienly URL and figure out what page ID it corresponds to2. Check which page type the page in question uses3. Check which page template (aspx) is used to render this page type4. Load this page template, passing it the ID of the page5. Base class for aspx picks up the ID and loads the PageData object corresponding to the passed page ID and exposes it as the CurrentPage property....
And Deane said, you can have other aspx:es (not based on the episerver base classes) in the same site, just call them as you would normally do (path directly to the aspx), so you don't have to modify all your aspx:es unless you need episerver functionality in them.
Thanks a ton Magnus. I'll try these and let you know if I face any other difficulty.
I added a sample aspx page which talks to a DB, into my CMS installation, ran it successfully. Now, as per your instruction, I made the aspx:es to inherit from the EPiServer TemplatePage. After logging in, I got the context menu right, but I could not see my page entering into edit mode.
You told me that my templates need to correspond to page types in EPiServer and I need pages in episerver using those page types so that the content is fed to my template page. I could not figure out how to do that. Can you please throw some more light on this ?
In admin mode you configure your page types and their corresponding page templates (webforms).
There are extensive guides on how to do this.
I suggest you start off with Frederik Vig's guide here: http://www.frederikvig.com/2009/12/introduction-create-an-episerver-site-from-scratch/
Go through that one and I'm sure you'll be up and running in no time!