Table of Contents
Add-Ons/External GUI
This article provides an overview of the various ways in which a custom user interface (which was programmed externally, as opposed to an interface built using Clay's built-in features) may be used with Digital-Clay.
Obviously, Digital-Clay allows customizing its own various GUI components in many ways with a point-and-click interface. This includes the toolbars, form layouts, dashboards, etc. and new customization options and components are being added all the time. The methods listed here are only needed when the built-in features are not enough.
Note that if all that is needed is some custom logic or integration with other systems at the data or automation level, see Integration. This section only covers cases when integration or complete customization is needed at the user interface level. I.e. when an alternative interface needs to be presented to the user.
REST API
Using the Clay REST API, any custom application or web site interface may use Clay API to retrieve and set data using programming. See REST API for details.
Document Templates
Using Document Templates, one may display Digital-Clay data in a fully customizable HTML page that may also contain other display elements, external content, javascript GUI components, and embedded external web pages. Using any of these tools, the Clay data itself may be displayed and customized using style sheets, or any custom-programmed graphical interface or web component. In such cases of a custom interface, the Document Template functionality is used to merely retrieve the data from Clay using the built-in querying tools, and the custom code is only used to display it, not to retrieve it.
By default, a Document Template is used for output only, i.e. to display data in a report or an interactive javascript interface. For input, i.e. adding or updating data in Clay, the following methods are available:
- Add the Document Template as a Add-On Tab in a custom layout. This allows updating fields in the currently open record only, but this is done internally by Clay and the document only has to provide the updated data by storing it in local variables/attributes.
- Add javascript code that updates Clay either using REST API or Data Injection. With the REST API, you will need the “Session ID” merge field added to the Document Template which must be used when authenticating with Clay via the REST API. See the note on Web Browser Security Restrictions however.
See Document Templates for more details on templates. Document Templates may be launched from the toolbar, from buttons, or added to a custom layout.
Add-On/Data Entry Tab
Using Custom Layouts, a URL tab or Document Template tab may be added to any data form in order to display a custom web page. This page may optionally contain HTML elements that will be used to update field values in the current record. I.e. these custom tabs may be used for both input and output.
See Add-On Tab for details.
URLs
URLs mean any web page or site, whether on the local drive or on the internet. These sites may be linked to Clay data using URL parameters. For example, a map site can be used to display the location of a Customer's address by passing Clay's address field values to the URL. There are several methods for using URLs in Clay:
- As a custom URL tab in a data form layout, added via 'Tools/Customize Layouts'. This method allows mapping fields from the currently displayed record to web page parameters, linking to an application or to information that is related to the current record.
- A custom URL tab in a data form layout with 'Data Entry fields' contained inside it. See above for details.
- A Custom Field of type Custom Function. I.e. Add a custom function field, select data type 'Text' and display type 'URL', and build a URL function value that uses field values from the current record. This is identical to the above tab, except it is displayed as a clickable URL field which opens in a browser window instead of opening as an embedded tab, and it can also be displayed in lists and reports.
- A Custom Field of type URL is similar to the above, but it cannot use field values as parameters. However, it does allow the user to enter a different URL per record. This field can be combined with an additional Custom Function field to combine the advantages of both methods.
- A URL can also be added to Dashboards, which is embedded in the dashboard. Note, however, that currently, the web site cannot be linked to information displayed in the dashboard.
- URLs may be launched from buttons or from the toolbar, or as an Attachment of type URL. These methods also do not provide field mapping functionality, and therefore the URLs are always launched the same way every time.
Although these methods allows displaying external web sites and GUI inside Digital-Clay, a disadvantage of most of these methods is that it is only one-way and the web site cannot send data back to Digital-Clay. Unless, of course, the web site is programmed to use Clay REST API.
Data Injection
If the non-Clay application cannot use Clay REST API for whatever reason, it may also use Data Injection as an alternative method for updating data in Clay. See the above link for more details.
For example, a web form can e-mail its form data to Clay using standard server-side form submission tools without any custom programming, even if the Clay server is inaccessible and behind a firewall. Or databases can update Clay data using the file injection method without the need to use networking.
Dashboard Homepage
Although this method does not allow for custom programming, it is a very simple way to allow the user to start with a customized dashboard without the toolbar. Since a dashboard allows for custom positioning of its components and also allows adding custom images, URLs, and buttons that launch other components (including web sites and other dashboards), this method is quite useful since it may be used as a customizable launching pad instead of the toolbar.
In addition, this can be managed centrally and easily using Profile Management, allowing the administrator to give different users different homepages.
To start with the homepage dashboard instead of the toolbar, configure ClayStation Options to hide the toolbar, or, for Web ClayStation, use the following parameter in the URL:
http://[serverurl]/clay.dcw?r=4
Clay Widgets
Digital-Clay objects such as lists, graphs, charts, analysis tables, document templates and other saved documents may be shared with other users via a URL if Web ClayStation is installed. In addition, they can be embedded in other web pages, thus combining a custom interface with Clay components. Finally, the custom interface can be used to change the filters inside these Clay components.So for example, one can program a custom filtering interface and use this to alter the filters hidden inside a Clay analysis table, dashboard or graph.
See Clay Widgets for details.