You can build applications that extend Relativity by using the Application Deployment System (ADS). ADS provides a framework for application development by helping you leverage existing functionality in Relativity, such as views, layouts, and other features. It also simplifies the packaging of custom code. You can upload this code to Relativity and associate with an application that you create through the Relativity UI. When you finish developing your application, you can easily export a RAP file for installation on other Relativity instances or in specific workspaces.
This page contains the following information:
See these related pages:
Use the ADS
You can use ADS to develop applications by creating new components through the Relativity UI and by uploading custom code. You can create these components to provide a unique look and feel for your applications:
- Views – control how item lists are displayed. See Views on the RelativityOne Documentation site.
- Layouts – provide web-based forms for viewing and editing fields. See Layouts on the RelativityOne Documentation site.
- Tabs – provide links to custom pages and Relativity object pages. See Tabs on the RelativityOne Documentation site.
You can use these components to provide additional functionality in your application:
- Relativity Dynamic Objects (RDOs) – create your own business objects and then further define object rules to refine their behavior. See Editing Relativity Objects.
- Fields – store data about an object or store choices. See Fields on the RelativityOne Documentation site.
- Choices – provide list of predetermined values that users can select in a field. See Choices on the RelativityOne Documentation site.
- Relativity scripts – link custom SQL and other scripts to your application. See Develop scripts.
- Saved searches – link saved searches that use keyword, dtSearch, and Analytics indexes to your applications. See Saved search on the RelativityOne Documentation site.
- Dashboards – link custom dashboards to your application. See Dashboards on the RelativityOne Documentation site.
In addition, you can use the base classes provided for these components to extend Relativity:
Writing custom code for applications
The main components of a Relativity application generally include event handlers, custom pages and agents. These components can share common code by using interfaces available in the Relativity.API.dll. The interfaces provided by Relativity.API Helpers expose functionality used for these operations:
- Interact with the database.
- Obtain the RelativityServices URI.
- Retrieve authentication tokens.
- Perform other operations.
In addition, your application should reference the kCura.Relativity.Client.dll, which contains the RSAPIClient proxy. All method calls that go through the RSAPIClient use the Relativity business engine. This proxy communicates with the RelativityServices API, which you can use when developing application code. The Services API ensures backwards compatibility and eliminates errors that may occur when writing direct SQL calls.
The component that you are developing determines the .dlls that you need to reference in your Visual Studio project. The following diagram illustrates assemblies referenced when developing event handlers, custom pages and agents. The Relativity.API and kCura.Relativity.Client assemblies are common to all three components.