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?
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).
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.
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.
Great news - would you have example resources/documentation on the api. I found it for version 6, but not version 7
Here is some information about the web services.
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)
<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
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 'EPiServer.Core.LanguageSelector' because it contains property 'SelectionSource' whichhas no public setter. at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping mapping, ArrayList list) at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping structMapping) at System.Xml.Serialization.TypeScope.GetSettableMembers(StructMapping mapping, Dictionary`2 memberInfos) at System.Xml.Serialization.XmlSerializationReaderILGen.WriteLiteralStructMethod(StructMapping structMapping) at System.Xml.Serialization.XmlSerializationReaderILGen.GenerateMethod(TypeMapping mapping) at System.Xml.Serialization.XmlSerializationILGen.GenerateReferencedMethods()
at System.Xml.Serialization.XmlSerializationReaderILGen.GenerateEnd(Stringmethods, 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, WebServiceProtocols protocolsSupported) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) --- End of inner exception stack trace ---
Regarding number 1, you have to put the setting in a location element, eg
<episerver.basicAuthentication sendBasicChallenge="true" basicRealm="" />
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/
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.