Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

It's assumed that if there are two icons with the name name, and one a .png and the other .gif, then the .gif will be used for Internet Explorer and the .png for other browsers, this is because of the poor support for .png images in earlier IE versions.
In this case the icon is still referred to be the same name in the config files, the rule just ensures that the correct image is chosen at runtime.

Aliases

As of version 2.22.9 of the com.cohga.client.weave bundle it's possible to specify an alias for a client configuration.

Code Block

<client:config id="client">
  <alias id="alias"/>

  <!-- Other config items here -->
<client:config>

At the minimum this provides exactly the same client configuration under an additional url, so the above configuration would be available at
/weave/client.html
and
/weave/alias.html

Which by itself isn't much, but by allowing you to publish the same client config under different url's you can provide different security contexts for them.
That is the security.xml file can now specify different security filters to be applied to the same client config (this is because the security chain is based on the initial URL).
This means it's possible to have a single client config, and point one group of users to one url to access it, where they'll need to login with a username and password, and have another group of people access the same client config, via a different url, where NTLM authentication is used.

Note

The security implications described above rely on changes also being made to the security.xml, and will probably require advanced configuration of the security.xml file.

Additionally you can override some of the configuration in the client config, for example,

Code Block

<client:config id="external">
  <alias id="internal">
    <title>Internal Client</title>
    <description>Client for access by internal users</description>
    <license xsi:nil="true"/>
  </alias>

  <title>External Client</title>
  <description>Client for access by external users</description>
  <license>
    <title>License</title>
    <text>By clicking OK you agree ....</text>
  </license>

  <!-- Other config items here -->
<client:config>

would be the equivalent of

Code Block

<client:config id="external">
  <title>External Client</title>
  <description>Client for access by external users</description>
  <license>
    <title>License</title>
    <text>By clicking OK you agree ....</text>
  </license>

  <!-- Other config items here -->
<client:config>

<client:config id="internal">
  <title>Internal Client</title>
  <description>Client for access by internal users</description>

  <!-- Other config items here -->
<client:config>

This example will alter the title and description for the internal version of the client config, plus it'll remove the license screen that the external user normally would have to click on.

You can also specify an ACL in the alias, but it doesn't effect the alias itself, as is the case if an ACL is attached to any other item in a client config, rather it'll replace the ACL for the client as a whole.

Which means thow following:

Code Block

<client:config id="external">
  <alias id="internal">
    <title>Internal Client</title>
    <description>Client for access by internal users</description>
    <license xsi:nil="true"/>
    <acl id="internal"/>
  </alias>

  <title>External Client</title>
  <description>Client for access by external users</description>
  <license>
    <title>License</title>
    <text>By clicking OK you agree ....</text>
  </license>
  <acl id="external"/>

  <!-- Other config items here -->
<client:config>

is equivalent to

Code Block

<client:config id="external">
  <title>External Client</title>
  <description>Client for access by external users</description>
  <license>
    <title>License</title>
    <text>By clicking OK you agree ....</text>
  </license>
  <acl id="external"/>

  <!-- Other config items here -->
<client:config>

<client:config id="internal">
  <title>Internal Client</title>
  <description>Client for access by internal users</description>
  <acl id="internal"/>

  <!-- Other config items here -->
<client:config>

Some other things you could do would be to set the publish flag to false in the alias configuration, so that the aliased client configuration won't show up in the users list of available configs (but the can still access it using a direct url), which is handy for client configurations that are used for third party integration.

Code Block

<client:config id="main">
  <alias id="pathway">
    <title>Pathway Client</title>
    <description>Client to be used when called from Pathway</description>
    <license xsi:nil="true"/>
    <publish>false</publish>
  </alias>

  <title>Default Client</title>
  <description>General client for use by users</description>
  <license>
    <title>License</title>
    <text>By clicking OK you agree ....</text>
  </license>

  <!-- Other config items here -->
<client:config>

Further Reading