Online documentation - WebsydianExpress v3.5 |
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.
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
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.
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).
The business process you are calling must process the parameters provided or they might as well not have been sent.
This means that if you are going to implement the business process, you need to know how to access the parameters.
For Plex/Websydian, this is described in this document: Process Parameters.
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.