Domains section

The Domain section of the web interface allows you to create, edit and delete domains, and the schema's that populate them.

When you click on the Domains folder, it opens up to show the current domains. If none are available, click on Add new domain which will add a new domain to the list with a name such as Domain1. To edit a domain you must first click on its name in the left menu and then the page will load with the Domains details such as its name, the Schema's that it has and its login provider.

Domain Schemas

Schemas are the client applications gateway to the Database. They define the structures and relationships and how they relate to the information store in the Database.

In the figure above you can see on the left hand side there are two names PCTrade and Simple, these are the names of the schemas that the DASamples domain comes preconfigured with. The schema that is currently active is surrounded by a blue box, here PCTrade, to change the selection simply click on the name of the other schema.

  • Add new schema - To add a new Schema to the Domain simply click the Add new schema button which will add a new schema with the name Schema1.
  • Rename Schema - The name of the active schema is also shown in the textfield beside the Rename Schema button. To change the name of the schema, change that text and press the Rename Schema button. Be aware that changing the name of the schema, changes the schema that is actively being edited.
  • Delete Schema - Clicking Delete Schema will delete the current schema. You will be asked to confirm the deletion as once the schema is deleted it is gone.
  • Open in Schema Modeler - Pressing this button will open the active Schema in the Schema Modeler program if you are in Windows or in the in the Schema Modeler window of Server Explorer if you are on Mac OS X.
  • Browse Tables - this button allows you to see, but not modify or delete, the data that the schemas currently hold. This is useful to confirm that modifications by the client apps are correctly made. When you press the button you will be asked to supply the Data user login details and returned to a page that lets you choose via a drop down list which Schema's data you wish to view.

(Domain) Login Providers

Just as each instance of Relativity has a login provider for administration purposes, each domain also has a Login Provider which is used to determine who has access to the data in the Schemas.

The Data Access Login Provider is used to define the login credentials for those who are able to access and modify the data in a schema; this is typically the users of your application. The Developer Login Provider is a subset of the Admin Login Provider intended to provide access to developers (internal or external) to only the Schema level, so that they can define what they need, without making unwanted changes to the server setup or database configuration.

Each of the login providers has their strengths:

StaticLoginProvider is the simplest of the login providers, and the most useful for admin/developer login, or in the early development phase of your project. It works by simply letting you specify a list of valid usernames and passwords that will be accepted. This is the default login provider for all logins on a freshly installed Relativity Server or a freshly created domain.

DbTableLoginProvider validates the username and password against a table in your database. It allows you to select a table from your schema, as well as two fields from that table that contain usernames and passwords, respectively. The Login will be verified by selecting from the table, and access will be granted if a row with matching username and password is found.

DbCommandLoginProvider lets you validate the login against your database, but instead of simply querying a table, it will execute a command defined in your schema. You could implement the command to run a query, execute a stored procedure, or perform more some complex SQL. In order to qualify, the command must take two parameters (username and password) and return a Boolean.

LdapLoginProvider is the most complex one of the available login provider options. It can be used to connect Relativity to an existing LDAP server in your organization to validate logins. This can be very useful if you want your application to automatically share usernames and passwords with other non-Relativity, non-Data Abstract services in your company. Getting into the details of LDAP would go beyond the scope of this text, but if your organization is using LDAP, your LDAP administrator should be familiar with the required options.

AdminServicesLogin option, available for the per-domain login providers, simply indicates that rather than using separate logins, the same settings as for the server-wide Admin Login should be used here.

To change the current Login Provider press the Edit login providers... button which will take you to a page similar to the one in the figure below. There you can specify which of the above login providers you wish to use for the Data Access Login Provider and the Developer Login Provider from the drop down and then configure as needed. When you have made the required modifications press the Apply changes button at the bottom of the page. If you need to you can instead press the Revert changes to undo your modifications.

Domain Settings

The Domain Settings section allows you to fine tune how client applications can interact with the domain and the schemas there in.

Allow Data Access this is typically enabled to let all applications, including Server Explorer / DA SQL Browser, interact with the schemas. If you disable this option then no application will be able to see or modify the data and the exception 'Data access has been disabled (GetData)'' will be returned.

Allow Data Access via DA SQL this is also typically enabled, when disabled it prevents the SQL Browser or DA SQL Browser from accessing the schema data and raises the 'Execution of DASQL has been disabled' exception.

Allow Data Updates when disabled this makes the schema data read only and returns the exception 'Data updates have been disabled (UpdateData)'

Process All Deltas - normally deltas are processed based on the update rules that you specify. When this option is enabled, then delta's that are not covered by an update rule will be processed.

Alow DynamicSelect when enabled allows the execution of DynamicSelect requests by the Data Abstract server. If it is disabled then the 'DynamicSelect support has been disabled (GetData)' exception is returned.

Allow DynamicWhere when enabled allows the execution of DynamicWhere requests by the Data Abstract server. If it is disabled then the 'DynamicWhere support has been disabled (GetData)' exception is returned.

Allow Command Execution when enabled Relativity will execute Schema commands.

Allow SQL Excecution it is recommended that this option should be turned OFF all the time. It is very dangerous as it allows Relativity to pass any SQL statement sent to it, directly to the underlying database.

Enable Script Debug when enabled it makes it possible to debug scripts from the SQL Browser.

On top of those basic Domain settings you can also choose the type of data streamer to use. If you wish to enable support for platforms like webclients then you should select the JsonDataStreamer which uses a binary encoded base 64 stream. The default option is Bin2DataStreamer which is a highly efficient binary format that is supported on all the platforms that Data Abstract is available and is the recommended selection.

The last thing you can configure the Connection Manager to use a Connection Pool. If you enable Connection pooling then there is a server wide pool available to applications, based on the resources available to your server you can set the maximum number of connections available to the pool. If the size is set to 0 then there are an infinite number available.