Can I embed CMS functionality into an existing application


I am currently evaluating Episerver7 and so far I'm impressed (using web forms), I am looking to use it in a site that is generally static content, but the user can then log into a servicing part which is an "application"?

I have managed to build the static part of the site, but how do I start to integrate cms into the application part.  I would like the core application to be in the center of the screen with the top bottom left and right navigation to be managed by sitecore.  Is this possible?


I have tried this with single web controls as blocks and it works fine, but my application has many pages in it - what is the best way to approach this?



Mar 15, 2013 12:04

Not sure what you are trying to achieve here. But by using a master page and apply that one to all pages could be one solution, another could be frames (not recommended though).

Mar 15, 2013 19:53

Thanks for the quick reply what I am trying to do is use epicenter in an existing application, I would like to share managed content between the "static" site and the application, therefore  I need to be able to "pull" cms content into the application, e.g. by referencing a content block without the application itself being built using episerver.

Apr 03, 2013 12:03

If you have a static website you can't fetch content from any of EPiServers' API's. But if you can run code you can fetch data from one of the webservices that's available in EPiServer.

Apr 03, 2013 13:36

Great news - would you have example resources/documentation on the api.  I found it for version 6, but not version 7

Apr 03, 2013 13:39
Apr 03, 2013 13:44

Thanks Johan,  when I follow the instructions - the web.config fails to start becuase of the following line being invalid


<episerver.basicAuthentication sendBasicChallenge="true" basicRealm="" />

I assume I need to reference the section handler (its not listed in the sections at the top of the web config). What should I be referencing (if thats the issue)
Apr 10, 2013 14:27
<section name="episerver.basicAuthentication" type="EPiServer.Configuration.BasicAuthenticationSection, EPiServer.Configuration" allowLocation="true"/>

You also need the module

<add name="BasicAuthentication" type="EPiServer.Security.BasicAuthentication, EPiServer" />

All acording to

Apr 11, 2013 9:43

Thanks again Johan

Got the basic auth working thanks to the inclusion of the section defination.  However I have two issues (using episerver 7 and  7.1):


1 Now basic authentication is on when I try to access the CMS system (rather than forms auth)


2:I get the following error when calling the webservice from a .net client:

Error: System.Web.Services.Protocols.SoapException: Server was unable to process
request. ---> System.InvalidOperationException: Cannot deserialize type 'EPiSer
ver.Core.LanguageSelector' because it contains property 'SelectionSource' which
has no public setter.
at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping mappin
g, ArrayList list)
at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping struct
at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping mappin
g, Dictionary`2 memberInfos)
at System.Xml.Serialization.XmlSerializationReaderILGen.WriteLiteralStructMet
hod(StructMapping structMapping)
at System.Xml.Serialization.XmlSerializationReaderILGen.GenerateMethod(TypeMa
pping mapping)
at System.Xml.Serialization.XmlSerializationILGen.GenerateReferencedMethods()

at System.Xml.Serialization.XmlSerializationReaderILGen.GenerateEnd(String[]
methods, XmlMapping[] xmlMappings, Type[] types)
at System.Xml.Serialization.TempAssembly.GenerateRefEmitAssembly(XmlMapping[]
xmlMappings, Type[] types, String defaultNamespace, Evidence evidence)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type
[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings,
Type type)
at System.Web.Services.Protocols.SoapServerType..ctor(Type type, WebServicePr
otocols protocolsSupported)
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, Http
Context context, HttpRequest request, HttpResponse response, Boolean& abortProce
--- End of inner exception stack trace ---

Apr 11, 2013 11:58

Regarding number 1, you have to put the setting in a location element, eg

<location path="webservices">
    <episerver.basicAuthentication sendBasicChallenge="true" basicRealm="" />

Regarding number 2, there seems to be a bug and a patch is available

Apr 11, 2013 12:14

Thanks for the quick reply - really appreciate it.

1.  I have it in the correct location:

<location path="WebServices">
    <episerver.basicAuthentication sendBasicChallenge="true" basicRealm="" />

But it seems to be appied to all folders that are secured.


2. Brilliant - I'll check that out.

Apr 11, 2013 12:20
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.