Design & Dev Center

Hello, OneVizion User!

We're here to learn OneVizion basics.
In the course of this manual, we'll set up the data management system for a car rental/lease business named OneCar. Let’s start by taking inventory.

Taking Inventory

The business will use at least five types of objects: branches, managers, vehicles, clients, and leases. These are what Trackor Types are for, and separate objects in every class will be represented by Trackors.

Trackors®, or Tracking Object Records, are the building blocks of OneVizion’s one-of-a-kind method of recording, storing, processing, and displaying data.

The relationships between the Trackor Types are also rather specific: each manager works in a certain branch, every vehicle is waiting on the lot next to this branch office and not the other. These relations are what the Trackor Tree is for.

OneVizion’s Trackor Tree used to define the relationships between Trackor Types; they can be one-to-one or one-to-many; a bit more on that later.
The Trackor Tree combines the structural plasticity of living organisms – hence the Tree – with the ease, speed, and scale of cutting-edge IT.

Each Trackor Type has a set of attributes we'll need the system to keep track of: addresses, names, driving license numbers, makes-and-models; that's what the Fields are for.

Think of Trackors as simultaneously leaves on the Trackor Tree’s branches (Trackor Types) and as tables in a database; then, Fields are the column names and the Trackors are the rows in the tables, defining and shaping the data to be stored in the cells.

Now, to better understand how the initial setup we should analyze the relationships between the entities in our future system.

Here are the hierarchical relationships:

  • Every manager will work at a certain branch. They will create, display, and modify entries for leases, vehicles, and clients related to their branches.

  • Every vehicle will at any moment be a part of a certain branch’s vehicle pool.

  • Every client will rent or plan to rent cars, creating leases.

The parent-child relationships we have at this stage are “one-to-many”; “many-to-many” relationships will prove useful later, when the growing business will start repairing vehicles in-house and employ automotive engineers that will be working on many vehicles simultaneously.

Trackor Type hierarchy will be configured with the Trackor Tree. Keep in mind that the Tree is highly flexible, and the hierarchy is not set in stone at this point: no matter what shape the growing business takes, OneVizion will always provide the possibilities to adjust the data structure accordingly.

So, now we can start setting them up.

Initial setup

First, we'll need the five Trackor Types. Open the Trackor Types page via the Menu bar in the left part of the page.

Trackor Types setup

Most of the space on the page that will open is occupied by a Grid. Grids are a very important and powerful element of OneVizion's interface and we'll definitely talk more about them later.

The page won't be empty even on a fresh system: some Trackors are created automatically to keep track of system performance and users.

In the right part of the Page bar, below the username, note the action buttons. One of them is the "add" button (also, note the ellipsis: it keeps most of the controls out of sight in the drop-down menu), click on it.

A "New Trackor Applet" will appear. Applets provide users with the interface to a very significant portion of everything done in OneVizion, not just creating and editing Trackor records, so let's talk a bit about what we see here.

The grey area to the left is the navigation pane. It contains Tabs, something we'll soon discuss in more detail). The search field at the top is of no use to us at the moment, but the fact that it's even there tells us that there can really be lots of tabs.

The white area taking up most of the applet's space contains the fields that will define the Trackor type we're creating. As we'll see later, it can also contain a Grid.

The mandatory fields, as usual, are marked with an asterisk. They are:

Trackor Type Name

The unique name of the Trackor Type that will be used by the database. It should be descriptive and can't contain spaces.

Trackor Label

The name of the Trackor Type as seen by users. Unlike names, labels can be adjusted to support localization changes at any point.

Prefix Label

The unique prefix displayed next to the Field Label, allowing users to see the Trackor Type the field is associated with. Should be short (1-4 characters), descriptive (for example, we have a “Client” Trackor Type, for which we can use "CLNT:" as a prefix and a “Manager” TT, for which we can use "MNGR:". In this case, when we need to display names of both client(s) and manager(s) on the same screen you will the easily distinguishable "CLNT:Name" and "MNGR:Name"), and capitalized (AREA). We also advise the prefix always ends with a certain special symbol, for example a colon (':').

"Item ID" Label

The header for the column that stores the Trackor ID.

"My Items" Label

The label used in the Filter Applet for a checkbox corresponding to Trackor Type. This checkbox is useful for filtering items associated with a specific user. You can select from a list of already existing labels or create a new one.

 

Let’s start with creating the Trackor Types for Branches, Vehicles, Managers, Clients, and Leases. There's no need to complicate the info we enter into the necessary fields, we can fill them with very few changes; besides, most of the names and labels can be edited after the Trackor Type is created and populated with Trackors. Here, for example, is how we'll set up the Client Trackor Type:

  • Trackor Type Name: Client

  • Trackor Label: Client

  • Prefix Label: CLNT:

  • "Item ID" Label: Client ID

  • "My Items" Label: My Clients

The rest of the Types are very similar. Perhaps the only notable difference is the "Is OneVizion User?" checkbox that we should check for the "Managers" Trackor Type, as we want our managers to be able to log into the system and then to display, create and modify at least the Vehicle, Client, and Lease Trackors.

Trackor Tree setup

After we've created the necessary Trackor Types, it’s time to arrange them into a simple logical hierarchy. To do this, we'll first need to open the "Trackor Tree" page just like we did the "Trackor Types" page.

The hierarchical relationships will allow our Trackors to inherit certain parameters and will be the basis for the various interdependencies between them that we’ll set up later. Logically, out of the five Trackor Types two will have children and three will be children:

  • Branch

    • Manager

    • Vehicle

  • Client

    • Lease

To set them up, first select “Trackor Root” and click “Add”. In the appearing Applet, select the Trackor Type (“Branch”); there’s no need to modify the rest of the parameters, the default values are OK at this point.

Next, add the “Client” Trackor Type, again to the root of the Trackor tree. Now we can add the three child Trackor types. The only significant difference between adding them and adding the parent Trackor Types is that this time it’s a good idea to check the “Child requires parent” checkbox if you want to prevent manager records not tied to any branch or lease records not related to any client.

Fields setup

Before entering the information we need to keep track of, we first need to create the structure to enter and store it in. The top levels of the structure we already have, and now it’s time to set up the structure of the individual records – Trackors in OneVizion terms.

The Fields shape the data entered into the system, making data entry and editing possible with just the basic awareness of the data and business structure, enabling and facilitating data processing. Fields can be configured as different data types and set up with validation rules.

After you’ve navigated to the Fields page, you’ll see the Grid containing the Fields necessary for the system Trackors. To add new ones, click the already familiar “Add” button in the top-right corner. The “Add Field” Applet will appear. The mandatory fields here are:

  • Trackor Type: a drop-down list of Trackor Types that the field can be assigned to.

  • Data Type: a drop-down list of data types the Field can contain. This property can be modified as long as the field is not in use (there are no values stored in it in any Trackors).

  • Field Label: the Field’s unique label, user-friendly.

  • Field Name: the Field’s unique name for the DB. Populated automatically based on the Field Label and can be edited manually. 128 characters max, no spaces or special characters except for the underscore.

  • Field Width (px): the default width of the field in pixels. Can be adjusted later.

There will typically also be one or two data type-specific mandatory fields, depending on what Data Type you will pick for the new field.

Here’s how we’ll set up the fields for our “Client” Trackor Type:

Trackor Type

Data Type

Field Label

Field Name

Field Width (px)

Field ID 

Max Length

Description

Trackor Type

Data Type

Field Label

Field Name

Field Width (px)

Field ID 

Max Length

Description

Client

Text

Client ID

XITOR_KEY

180

100163848

255

TRACKOR.TRACKOR_KEY

Client

DB Drop-Down

 

XITOR_CLASS_ID

180

100163849

255

TRACKOR.TRACKOR_CLASS_ID

Client

Text

First name

CLNT_1STNAME

180

100163908

25

 

Client

Text

Second name

CLNT_2NDNAME

180

100163909

25

 

Client

Date

Date of birth

CLNT_BIRTH

180

100163928

10

 

Client

Date

Driver's license DOI

CLNT_LICENSE_DOI

180

100163929

10

Date of Issue

Client

Text

Driver's license NR

CLNT_LICENSE_NR

180

100163948

15

Driver's license number

Client

Date

Passport DOI

CLNT_PASSP_DOI

180

100163968

10

Date of Issue

Client

Text

Passport NR

CLNT_PASSP_NR

180

100163969

15

Passport number

Client

Text

Address

CLNT_ADDR

180

100163988

200

ZIP/POSTAL, country, state/administrative region, locality, street name, house nr, apt. nr if applicable

Client

Number

Payment method 1

CLNT_PAYMENT_METHOD_1

180

100164268

12

 

Client

Number

Payment method 2

CLNT_PAYMENT_METHOD_2

180

100164269

12

 

Fields for the rest of the Trackors will have to be set up in a similar manner, a separate field for every logically independent piece of data. Cloning Fields (look for the “Clone” button in the Grid Bar) can save you time and effort.

When all necessary Fields are created it’s time to set up the Tabs.

Tabs setup

OneVizion Tabs are a way to group and present the Fields of a Trackor Type. Any Trackor Type can have multiple Tabs assigned to it. Tabs provide users and admins with the ability to organize the Fields of a Trackor Type in a meaningful and customizable way for display in Applets. OneVizion security restrictions are set up at the Tab level, as well, so you can create Tabs with Read access for one Security Role and Edit access for another. More on security in OneVizion later.

The General Info tabs are created automatically in tandem with every Trackor Type, so all we need to do at this point is to populate them with the necessary Fields and arrange the fields according to the desired layouts. The General Info Tab will be displayed by default when creating new Trackors (for example when hiring a new employee or creating a new lease) in the New Trackor Applet, in the Edit Trackor Applet to employees editing already existing ones (when finishing a lease or entering vehicle maintenance time and date) and at other times that prove useful as the business grows.

To do that, navigate to the Tabs page and open the Edit Tab Applet by clicking the desired Data Tab ID in the Tabs grid. The two main elements of the Applet that will open are the Field selector on the left and the Layout editor on the right. Find the desired fields in the selector and drag them to the desired positions in the editor; markup elements (splitter, blank line, and label) are available in the “Markup” section just above the selector.

In the future, as the business grows and changes, you’ll easily be able to add fields to the General Info Tab. Later, when and if the GI tab becomes overcluttered and you will require additional tabs, you will effortlessly create new tabs, and if even the Tabs functionality one day becomes restrictive, there still is the ability to create Applets that we haven’t even touch upon yet.

Data entry

When all the Trackor Types are correctly arranged in the Tree, have the necessary Fields set up and arranged in the Tab Editor, it’s time to create the Trackors. To do that for a Trackor Type, navigate to the corresponding Trackor in the Trackor Browser and click Add. A Trackor Browser page allows users to see all records of a Trackor Type (Trackors) in one page. The Add Trackor Applet that will open will provide the General Info Tab we’ve just set up to enter the new data into. We’ll need to do that for every new Trackor.

If the new Trackor has significant similarities to another, the user can select the already existing one and click Clone instead of Add, provided the Type of the selected Trackor has the “Is Cloning Allowed?” checkbox checked. Also, as you might remember from Fields setup, the checkbox “Don't Clone Field Value” in the Field properties prevents the field data from being cloned if checked.

So, we now have all the Trackors we need: every branch, manager, and vehicle are accounted for and we’re ready to start entering new client data and setting up their leases. Let’s look at the results of our work and see what the Grid is all about.

Grid View

The Grid View provides granular control over the displayed information via View and Filter options. Let’s navigate to a Trackor’s page in the Trackor Browser, say to the Vehicles Trackor Browser page.

And here’s the Grid. It is built upon the same principles as MS Excel tables. The table formats are similar and it has some of the familiar functionalities: users can resize columns, freeze them to keep in view when scrolling, split rows into groups by any column value, sort by up to three columns, search, and edit data both in the Grid and in pop-up forms. Let’s explore those possibilities in more detail.

View options

We can add columns to the Grid that will display data from any Field belonging to the immediate child Trackors or to any parent Trackors. To do that, click on the View/Filter line page header and open the View Options Applet by clicking Edit in the View (right) part of the dropdown. The left part of the View Options Applet provides the user with the list of all the Fields that can be displayed in the Grid; here the Prefix Label property of Trackor Types proves useful, helping to distinguish between Fields from different Trackor Types. Any Field can be added to the list of displayed Fields on the right of the applet.

The right part provides the list of displayed Fields that can be rearranged to change the order of the columns of the Grid and some other options we already mentioned.

To freeze columns (up to 5) in place, arrange them so that the ones that should stay in view are at the top of the list, click the snowflake next to the search field and select the number of columns to freeze in the dropdown menu, then click “OK” to apply changes.

To group rows by a Field, select the desired field in the “Group By” dropdown and click “OK” to apply changes.

To sort by up to three Fields successively, select the first Field in the “Sort By” dropdown so the second one will appear; select the second Field for the third one. When all desired Fields are selected, click “OK” to apply changes.

All of these settings can be saved in custom Views. To do that, the user first needs to customize the view settings to their liking and apply them by clicking “OK”, and then save the settings by clicking the cloud icon in the View/Filter dropdown. After they are saved, the customized view settings will be easily accessible in the dropdown.

Filters

While View Options allow the user to manage the Columns seen in the Grid, Filter Options allow the user to manage the records seen in the Grid. To open the Filter Applet, click on the View/Filter line page header click Edit in the Filter (left) part of the dropdown.

In the Applet, you can filter data using any Fields, not just the ones present in the current Grid (for example, if you’re looking at Client trackors you can filter the clients by branches). Later, if the need arises, users will be able to use logical equations like [1 and ( 2 or 3 or 4)] to filter data in the field in the lower part of the Applet.

Filters can also be saved for later use, just like Views.

Grid Stats

OneVizion Grid provides flexible stats for any set of data displayed via any combination of View and Filter settings. The stats Applet is accessible via the total number of rows in the bottom as well as from the ellipsis menu in the top right corner of the page.

Export

All data presented in Grid View can be easily exported in a variety of ways and formats. The Export Applet provides three formats (XLSX, CSV (simple and API-compatible), and JSON) and two delivery options: direct file download and e-mail attachment.

A big data set can take some time to complete and require a significant amount of system resources, so the applet provides a comment field for users to let the administrators know the purpose and urgency of a large export.

A glimpse of things to come

In this document we’ve barely touched upon just the main features provided by OneVizion, and we haven’t really explored two very interesting and powerful sides of OneVizion.

Privileges and Security roles

OneVIzion has a flexible and versatile security system based around roles and privileges. It provides granular control over user interface (menus for every role can be set up separately), data and function access for everyone interacting with the system. We will most certainly be talking about this more.

Logging

OneVizion takes advantage of logging, both inescapable and beneficial for any IT product, by carefully providing the logs collected by the system to administrators in a flexible and comprehensive interface, thus presenting every change in the data and every instance of data access.