Repositories

The Repositories area in Evoke is where you define the actual, physical, back end databases that will be accessed and used by the App. These may be via direct access, via stored procedures or through an intermediate API, it is entirely up to you.
Data Repositories Definition
For each Data Repository (database) that you want your App to have access to you simply set up a Data Repository definition. Use the + symbol in the header or the ellipsis to add a new data repository definition or remove an existing one.
A full description of all the steps required to set up a new database in your Evoke App Design is available in the Setting up a new database section. The following section covers setting up the Data Repository connectivity. If you have previously configured a database and wish to add, change or swap one, please review the description of Swapping or changing Databases for details of the steps required.
Depending on the database type, some or all of the following information is required for each repository definition:
  • ID - The name you want to call this data repository within this Evoke app design.

  • Repository Technology - identify the type of database as either a) SQL b) MultiValue or c) Other (a Custom Data Environment)

  • Platform - the 'flavour' of the database e.g. SQLServer, MySQL, Oracle, etc for SQL or jBASE, Universe, D3, mvBASE, etc for MultiValue

  • Connection Type - select, from the dropdown list, the 'Connection Type' (connectivity product/component) you want to use to connect to the database, the selected connectivity product/component may also identify the actual physical location of the database (if you needed to set this up in the connectivity product) and address the security requirements to access it. The connection type connectivity product/component is dependent on the flavour of the database. Examples of the connectivity products are Dynamic DML using ADO.Net or ODP.Net client libraries/Stored Procedures for SQL or mv.Net Core Objects/U2 data client library for MultiValue. Other connectivity products are available.

  • Connection String (SQL only) - your IT department/DBA may be able to help provide the 'Connection String', although the "Build" button will help identify the connection string components of the Server address, the initial catalog to access and the database user name.

  • Login Profile Name (MultiValue only) - the connection product login profile Account Name (usually the name of your database in the connectivity product)

  • Connection Password (SQL only) - the password for SQL databases that you have previously set for the database that you are trying to access

  • Repository Object Prefix (SQL only) - if your database, uses a prefix for the tables, this is entered here and will be used to prefix the table name

  • Options (ODBC only) - additional, database specific options are entered here i.e. Platform=Informix. The other valid platform options are: sqlserver, mysql, oracle, cache


Connecting and Scanning your database
Once you have set up your repository, use the ellipsis menu to select from the following:
  • Test Connection - check that the connection to your database repository is set up correctly and that the connection works.
    A successful connection banner is shown in the image on the right.

  • Scan For Repository Objects - Scans the repository and populates the repository objects list with the names of any tables/files that are found in the repository.





Repository Objects/Tables
Once you have scanned your repository and populated the list of repository objects/tables, you will see a full list of the visible objects (files/tables) accessible from Evoke in your physical database (see example image).
Although you will probably not want to use all of your repository objects in your app design you will certainly want to use a few of them and for each of the ones you want to use you will need an Entity definition.
You can manually create you Entity definitions or alternatively you can import the Entity Definitions from the physical object/file structure.



You can set up as many repository definitions, with connectivity to different databases, as you wish within each Evoke App.
You will now need to set up the Data Mappings for the database you have added.