November Happy Hour will be moved to Thursday December 5th.

Can I embed CMS functionality into an existing application

Vote:
 

I am currently evaluating Episerver7 and so far I'm impressed (using asp.net 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?

 

thanks

#68060
Mar 15, 2013 12:04
Vote:
 

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).

#68146
Mar 15, 2013 19:53
Vote:
 

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.

#69705
Apr 03, 2013 12:03
Vote:
 

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.

#69712
Apr 03, 2013 13:36
Vote:
 

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

#69713
Apr 03, 2013 13:39
Vote:
 
#69714
Apr 03, 2013 13:44
Vote:
 

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)
#69983
Apr 10, 2013 14:27
Vote:
 
<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 http://world.episerver.com/Documentation/Items/Developers-Guide/EPiServer-CMS/7/Security/Configuring-Web-Services-Authentication/#Authentication

#70028
Apr 11, 2013 9:43
Vote:
 

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
Mapping)
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
ssing)
--- End of inner exception stack trace ---

#70064
Apr 11, 2013 11:58
Vote:
 

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

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

Regarding number 2, there seems to be a bug and a patch is available http://world.episerver.com/Forum/Developer-forum/Developer-to-developer/Thread-Container/2013/4/Episerver-7-WebServices-are-throwing-exceptions/

#70066
Apr 11, 2013 12:14
Vote:
 

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.

#70067
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.