Technology - CMS

LiveServer Portal Integration

Nov 09, 2011
Christian Herrera

Ever wanted to use some of your own code inside LiveServer? No matter if it is .net or java, it can be done! Actually any web page can be “embedded” inside a page served by LiveServer. Here's the thing, Portal Connector and Dynament--always available with the appropriate license--allow the integration of any site accessed through its own URL with LiveServer


Having LiveServer as the Portal for your application brings in some benefits:

  • Single Point of entry: different sites can be accessed using LiveServer = less administrative effort
  • Single sign-on: just authenticate with LiveServer once and it will manage logon/re-logon with every other site
  • Use other language features: all post back processing is sent to the original application, so you can take advantage of the features in your preferred programming language

So, in order to display a .NET page (with links to other .NET page) inside a LiveServer page (published from CMS to a LS project) and actually have the links inside it working, this is the recipe:


Inside LiveServer, create a new Portal Connector

(Main Menu -> Administer RedDot LiveServer -> Connectors -> Application Portal -> Administer -> New)


Let’s assume the external site URL (=target URL for the connector) is:

http://myapp.mydomain.com/default.aspx


The important fields to set-up are:

General section

   Name:           the connector name, will be referenced in the dynament

   Active:           check it to make the connector available for use

   Protocol:       can be http or https

   Host name:  the host (in our example URL is myapp.mydomain.com)

   Port:              only set it if it’s different from 80

   Start Path:    the initial page (in our example is default.aspx)


Standard Filter section

   Check Standard Path Replacement and Insert session ID in replaced URL paths, leave the other parameters empty or unchecked.


Click OK to create the connector. Then create a dynament with the following text and voila!


<dynaments>

    <rde-dm:portal mode="include" include-mode="cdata" application="PortalConnectorName" initial-url="http://myapp.mydomain.com/default.aspx" />

</dynaments>


The include-mode in the dynament can be html, cdata or xml:

   xml. - when content returned by the URL is xml

   html. - html response is embedded and uses the LiveServer site styles (CSS)

   cdata. - html response is embedded and uses its own styles (in-line or inside a CSS)


Also, it doesn’t matter if your images/links have absolute or relative URLs, they will work either way.


Things to keep in mind:


A Portal Application Instance is created in the session the first time a portal application is accessed for every Portal Connector. This instance manages cookies and recognizes the last URL called, which means LiveServer will remember the last page accessed inside the Portal Application and display it even if it’s not the initial URL.


LiveServer acts as a proxy, an intermediary between the presentation in RedDot LiveServer and the actual portal applications. Links are adapted to the LiveServer interface, which means post backs are sent to the original application through the papp weblet.


The portal connector is able to automatically authenticate with the site through a login URL, responding to the HTTP basic authentication request or header fields.


The portal connector has configuration options for determining which header fields are sent to the portal application (Request Header) and which of the header fields received from the portal application should be forwarded to the browser of the user (Response Header).


Portal site CSS classes must have a different name from the classes in the LiveServer site, or they will be overwritten.


In the dynament, setting the initial-url is optional, since the connector already has a start path defined. If you set the url parameter, it will load the same page once and again, making links useless.