Using the KOADX Modelling Tool

Note: This example, a Logistics Tracking System, is also shown in the Product Demonstration video.

Contents

  1. Access KOADX Modelling Tool
  2. Create a new model
  3. Add your model information
  4. Configure Model
    1. Technologies
    2. Lookups
    3. Roles
    4. Data Classes
      1. Manage Properties for Data Classes
      2. Manage Workflow for Data Classes
      3. Add API Endpoint Restrictions for Data Classes
    5. Relationships
      1. Creating Special User and Document relationships
      2. Manage Properties for Relationships
      3. Manage Workflow for Relationships
      4. Add Endpoint API Restrictions For Relationships
  5. Managing Properties
    1. String
    2. Date/Time
    3. Integer and Long Integer
    4. Decimal
    5. Boolean
    6. Lookup
  6. Managing Workflow
    1. Add Workflow States
    2. Add a Transition from one State to Another
  7. Managing API Endpoint Restrictions

1: Access KOADX Modelling Tool

Sign Up to get access to the KOADX Modelling Tool.

Login using the details you registered with.


2: Create a new model

The first screen you will see is your KOADX Dashboard and you will do everything from this starting point.


3: Add your model information

Click +New Enter the name of your model. Select Configuration which is currently C# .Net 8 / SQL Server 2022.

You can save and close at this point, to pick up later, or you can carry on to configure your model.

Next, from this dialogue click Configure.


4: Configure Model

Select → Configure

This screen shows 5 tabs:

  • Technologies
  • Lookups
  • Roles
  • Data Classes
  • Relationships

You need to tab through using the Next Steps button and complete information under all of those tabs.

You will notice ‘Save Answers’ cannot be selected until you have finished entering Configuration information.

4.1: Technologies

Technologies is the first ‘page’ at the moment your options are limited.

You must then click on the SQL Server 2022 tab and complete that information. The red cross will become a green tick to show you have done it. Then Save Answers.

Most of the SQL questions relate to Tenanting. In KOADX, every generated API is multi-tenanted out of the box.

Once the SQL Server 2022 answers have been given and Save Answers pressed, select Next Step at the top right of Configure Model: Logistics Tracking. This will move you onto the second tab, Lookups.


4.2: Lookups

If your system needs lookups (picklists) this is where you add that information. You can have a perfectly valid system without using them.

Select +New.

You will give your lookup a name and display name and then add the entries for that lookup list using the +New button on the pop-up screen.

Your additions will appear as a list which can be edited.

By clicking the orange Edit button under Options, you can edit or delete entries and change your default value.

When you have finished press Next Step to move onto Roles.


4.3: Roles

For role-based user management you need to add the information here. This will enable your system to operate with information security and workflow control.

In the same way as before, use the green +New button to add each of the roles. Provide a Name and Display Name then Save & Close.

You will see Roles appear in a listing, just like Lookups, and when you have finished entering them click Next Step and this will take you to Data Classes.


4.4: Data Classes

You must have at least one Data Class with one Property in your model. To start select +New.

Add your first Data Class. You can add all your data classes and then go back to Manage the properties of that Data Class or Manage the Properties for each Data Class as you enter them.

The Data Class will appear in a listing along with options for action. You will see in the screenshot below that there are currently no Properties or Relationships associated with the Data Class ShippingMovements.

Click the orange Edit button, then click Manage Properties.


4.4.1: Manage Properties for Data Classes

When you press Manage Properties, an overlay screen will appear where you can manage the properties for the selected Data Class. Please find details in the Managing Properties (Section 4.7).

You must have at least one property in your data class to continue.

4.4.2: Manage Workflow for Data Classes

All data classes can have a workflow associated with them. This allows the API user to track the current state of a data record.

4.4.3: Add API Endpoint Restrictions for Data Classes

Although every API endpoint in the generated system requires the calling user to be authenticated, you may wish for more restrictive access to be placed on certain operations. For more information, please see Section 4.9.


4.5: Relationships

Most models will need relationships, including this Logistics Tracking model example.

Press the +New to add a relationship. A relationship is between a parent and a child data class. Select these from the first two drop downs.

Fill out the display name and plural display name.

Just like Data Classes, it is possible to add properties to a Relationship.

4.5.1: Creating Special User and Document relationships.

With the Supplier/User relationship, selecting the special User Child Class displays an additional field User Role, allowing the selection of the users, with particular roles, that can be connected to a supplier.

4.5.2: Manage Workflow for Relationships

All Relationships can have a workflow associated with them. This allows the API user to track the current state of a relationship record.

4.5.3: Add Endpoint API Restrictions For Relationships

Although every API endpoint in the generated system requires the calling user to be authenticated, you may wish for more restrictive access to be placed on certain operations.


4.6: Finishing Model Entry and Building Your Code

After moving on from Relationships model entry is completed, so press the green Finished button and you will see this screen.

To run the build, press the green Build button.

If you go back and make any changes you will need to re-run the build process.


4.7: Managing Properties

Here we have listed the Property types that can be selected in the KOADX modelling tool:

  • String
  • Date/Time
  • Integer and Long Integer
  • Decimal
  • Boolean
  • Lookup

For each Property Type you need to give it a Name/Display Name and on each dialog, there are also Mandatory and Include in Summary fields.

4.7.1: String

Enter the Property Name and its Display Name. Select Property Type, and property Sub-Type, from the associated dropdowns.


4.7.2: Date/Time

Here you also have fields for Property Sub-Type. You can select a full date/time or only a date.

4.7.3: Integer and Long Integer

4.7.4: Decimal

In the decimal pop up you have precision and scale fields as well as default.

4.7.5: Boolean

A Boolean can only take the values of true or false, and by default, these properties are set to false.

4.7.6: Lookup

Creating a lookup property provides a ‘picklist’ to your UI.


4.8: Managing Workflow

This is where you enter information about how your data moves through your system. Workflows are available for Data Classes and Relationships.

4.8.1: Add Workflow States

Clicking the blue chevrons button, Manage Workflows, against the relevant Data Class (or Relationship) will show this screen. Select +New to add a Workflow State.

4.8.2: Add a Transition from one State to Another

Select the State you are transitioning from and press the Edit button associated with it.


4.9: Managing API Endpoint Restrictions

Additional role-based restrictions can be added to any of the API endpoints, for both data classes and relationships.

For any other queries, please email info@KOADX.com.