This project is read-only.

Configuration

Remote Page Provider

The registration of a Remote Page Provider Client with EPiServer can be done either through configuration in web.config (see section below) or programmatically through API class EPiServer.PageProviderMap.
The Remote Page Provider inherits the base class EPiServer.Core.PageProviderBase which is based on System.Configuration.Provider.ProviderBase. To register the Remote Page Provider in web.config an entry should be added to the configuration element pageProvider, see example below.

Client configuration:
<episerver xmlns="http://EPiServer.Configuration.EPiServerSection">

   <pageProvider>
      <providers> 
     <add
        name =""
        type="EPiServer.Labs.RemoteProvider.RemotePageProvider, RemoteProvider"
        endpointName="RPP_EndPoint"
        entryPoint=""
        remoteEntryPoint=""
        capabilities="Edit,Create,Move,Security,Search"
        showContentOfWateBasket="true|false"
        userName=""
        password=""
        remoteVirtualPath=""
        supportedVirtualPathProvider=""
        pageFolderVirtualPathProvider=""
        proxyUserName=""
        proxyPassword="" /> 
     </providers> 
</pageProvider>
...    
</episerver>

Mandatory attributes are name, type, endPointName, entryPoint, remoteEntryPoint and remoteVirtualPath. The entryPoint attribute specifies existing page in EPiServer that will be the root for the pages served by the page provider instance. The given entryPoint MUST NOT have any existing children in EPiServer. The remoteEntrypoint attribute specifies root page in the remote site or server side. The endPointName should be the name of the endpoint of client in WCF configuration section. See WCf Client Specific Configuration. For more info about UserName, password, clientUseName and clientPassword please see the security section.
The remoteVirtualPath attribute should be the virtual path of the Virtual Path Provider which takes the resources for the remote page provider
There are more attributes which is defined in Page provider Base document.

Remote Virtual Path Provider

Configuration of the Remote Virtual Path Provider should be as virtual path provider in web.config. There are a few EPiServer specific attributes to make it works, see example below.

Client configuration:
<episerver xmlns="http://EPiServer.Configuration.EPiServerSection">

   <virtualPath>
      <providers>
      <add 
        name =""
        type="EPiServer.Labs.RemoteProvider.RemoteVirtualPathProvider, RemoteProvider"
        virtualName =""
        virtualPath=""
        endpointName="RPP_EndPoint"
        userName=""
        password=""		
        proxyUserName=""
        proxyPassword=""/> 
     </providers> 
</virtualPath>

</episerver>

Mandatory attributes are name, type, virtualName, virtualPath and endPointName. The endPointName should be the name of the endpoint of client in WCF configuration section. See WCF Client Specific Configuration. For more info about UserName, password, clientUseName and clientPassword please see the security section.
The showInRemoteContext attribute is an optional attribute on the path provider Add element on server side which tells to client if it is allow showing in the file manager. If the attribute is not present on the server side then the showInFileMananger attribute value will define the presentation of the server virtual path provider.

HTTP Module Configuration

The RemoteProvider in the server hosts in IIS via HttpModule. The HttpModule for the Remote Provider should be added in httpModules element.

Server configuration:
<system.web>
   <httpModules>
       <add name="RemoteProviderServer" type="EPiServer.Labs.RemoteProvider.RemoteProviderModule,  RemoteProvider" />
  </httpModules>
</system.web>

Example of WCF Client and Server configuration

The configuration samples above assumes certain WCF configuration on both the server and the client. Below you find example of this

Server configuration:
<system.serviceModel>
<service 
      name="EPiServer.Labs.RemoteProvider.RemoteProviderServer"
      behaviorConfiguration="MyServiceBehavior">
<endpoint
      name="RemotePageProviderEP"
      bindingConfiguration="MyBindingConfig"
      contract="EPiServer.Labs.RemoteProvider.IRemoteProvider"
      binding="wsHttpBinding"
      address="http://siteName:portnumber/RemotePageProviderServer/"/>
</service>

Client configuration:
<system.serviceModel>
        <client>
       <endpoint 
         name="RPP_EndPoint"
         address="http://SiteName:PortNumber/RemoteProviderServer/"
         bindingConfiguration="BindingConfigName"
         binding="wsHttpBinding"
         contract="EPiServer.Core.IRemoteProvider" />
   </client>
    <bindings>
      <wsHttpBinding>
        <binding  name="BindingConfigName">
          <security   mode="Message">
            <message 
                negotiateServiceCredential="true"
                clientCredentialType="Windows"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
 </system.serviceModel>

The Name attribute in the endpoint element should be same name as the endpointName attribute in the add element for the page provider (See the config section).

Last edited Feb 19, 2009 at 8:05 AM by perb, version 8

Comments

sollet Jan 28, 2011 at 1:33 PM 
Hello

Have anyone a complete configuration example? I can't find out what virtualPath to use for the Remote Virtual Path Provider.

Regards
Peter Andersson