Websydian v6.1 online documentationOnline documentation - WebsydianExpress v3.5

Deep-Linking

Overview

Deep-linking offers you the option to enable linking directly into a business process within your WebsydianExpress site.

Deep-linking comes in two variants:

Limitations for deep-linking with context:

 

It is only possible to deep-link to site elements scoped directly by a menu loader.

 

It is only possible to deep-link with context to elements in the site structure if "Save when selected by user" is set to yes for the element.

You can find this setting as follows:

Select the site element you want to link to. Press View.

In the section "Menu Site Element behavior in Site Tree", check that the value for the field Save when selected by user is Yes.

Usage

In order to enable deep-linking for one or more site elements within the site structure you need to perform the following in the WebsydianExpress administration interface

  1. First create an alias to be used to reference the site element
  2. Attach the alias to the site element you would like to enable deep-linking for.

Then open your browser and enter one of the following URL's depending on with or without context

Deep-linking with context

http://[websydianexpressurl]?WSLOAD=[alias]&WSCONTEXT=Y

e.g. http://www.websydian.com/express20/site/demosite?WSLOAD=CUSTREG&WSCONTEXT=Y

Without context

http://[websydianexpressurl]?WSLOAD=[alias]

e.g. http://www.websydian.com/express20/site/demosite?WSLOAD=CUSTREG

Please note that it is not possible to link to an URL site element when using deep-link without context.

Deep-Linking With Parameters

Using deep linking you also have the option to parse parameters to the business process being linked.

This is done by appending the required parameters for the business process to the URL.

e.g. http://www.websydian.com/express20/site/demosite?WSLOAD=CUSTREG&WSCONTEXT=Y&myparm1=value1&myparm2=value2&WSPARMLIST=myparm1%26myparm2

Besides adding the parameters to the URL you must also add the parameter WSPARMLIST that contains a list of the parameter names separated by %26 (ampersand).

Controlling Caching

When deep link request is received by the runtime it is handled as the first request for a session (as it does not contain a session id). Among other things this means that the runtime sends a no-cache header to the browser. As long as the process entry point that is specified by the alias on the deep link calls a PageGeneratorForProcess, this is a desirable behavior.

But it is also possible to create a process entry point, which calls a BinaryPageGenerator instead of a normal PageGenerator. This is done when you want the user to be able to download a file. In this case, the no-cache header can give serious problems. What happens is that the browser retrieves the document - but before the document is shown, it is deleted (as the no-cache header indicates that nothing is to be cached for the request). This means that nothing will be shown to the user. This is the behavior for Internet Explorer - other browsers e.g. Mozilla firefox shows the downloaded file as expected.

To avoid this problem, a parameter WSCACHE has been introduced. To avoid sending the no-cache header, set this parameter to N:

http://[websydianexpressurl]?WSLOAD=[alias]&WSCONTEXT=Y&WSCACHE=N

This instructs the runtime that it is not allowed to send the no-cache header for the request.

Related Information

Aliases
Reference documentation on aliases