Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated the version for 7.0 release

...

  • Undo/Redo buttons: these will allow you to undo and redo any actions you have done on the canvas.

    • NOTE: if multiple users are using the same canvas at the same time, you can only undo or redo your own actions!

  • The T button for textboxes: click and drag new textboxes to the canvas from here. Textboxes can be resized and the text in them edited freely on the canvas.

  • Zoom functionalities: you can use the -/+ zoom functionalities from the toolbar, or alternatively you can simply use mouse scroll for zooming in and out. The Fit To View functionality automatically zooms and moves the canvas so that the entire model fits your current screen.

  • Model status: you can use this to set the model status from “Work in Progress” to other values.

    • NOTE: currently, the model status is informational only - the status is shown to everyone, but it doesn’t control workflows or access levels to the model.

  • Convert button: this allows you to convert the current conceptual model into a new logical model. The logical model will be created with the exact same entities and relationships as the conceptual model. The new logical entities will be automatically pre-filled with attributes based on the attribute information of your conceptual entities, they will be named after the conceptual entities, and they will be automatically linked with the conceptual entities. You can then modify this logical model as you like - the conversion is intended to provide you with a simple starting point going forward. You can convert the same conceptual model as many times as you like; each conversion will create a new logical model.

  • Copy button: this allows you to create a model copy in a public or personal folder in the organization. When you make a copy of a model, entities will be reused and no new entities will be created.

  • Share button: this allows you to share a model link with your colleagues.

  • Export button: use this to download the model’s contents as files. The options are:

    • Export entities: downloads a CSV file containing all the model’s entities with their metadata

    • Export attributes: downloads a CSV file containing all the attributes that belong to the entities in the model, and their metadata

    • Export relations: downloads a CSV file containing all the relationships between the entities in the model

    • Export PDF: downloads the model diagram as a PDF file.

...

  • Search or Create Entity: this allows you to search for existing entities in the Glossary Glossaries as set in the folder settings to be added to the canvas, or to create new entities and add those to the canvas, provided that you have edit access to the model. If you only have read access, you won’t see this field. See below for more details on adding entities!

  • Model info: this section shows you the model name, its ID (that you can use e.g. for API calls), and its description (once you expand the section by clicking on the arrow). The name and the description can be edited here if you have edit access to the model.

  • Last edited: this shows you the model’s edit history. You can expand the section to see who has edited the model and when.

  • Relationship types: when expanded, this section shows you what the different “crow’s feet” mean in the relationships. This section is purely informational and the types can’t be edited.

  • Entity types: this section shows you the entity types that your organization uses. These are the various colors you can set for the entities if you have edit access. The entity types are customizable; if you have admin-level access to your organization’s Ellie, you can edit these types and colors. See here for more information.

...

When you have edit access to a model in Ellie, you can use the Search or Create Entity functionality on the Conceptual Modeling Canvas to add entities to a model. There are two possibilitiesoptions: either you can add existing entities to from the model, available glossaries or you create new entities and add thosedirectly within the model. Both actions are done with performed through the same functionalitysearch field.

For example, if you type “Customer” in the search field, and your organization already has an entity with that name already exists in the Glossary, you can select the entity from the search result list, click on it, and it will be added the organization’s glossary or the specific sub-glossary of the folder, it will appear in the search results. You can select it to add it to the canvas. If you type “Customer2” in the field, and that entity name doesn’t exist yet, you can press Enter to create that entity immediately in the Glossary and at the same time add it directly to the canvas. Note that the search will search for matches from the entire Glossary when you start typing - you don’t need to type the full entity name, just typing “cust” gives you the option to add the “Customer” entity (if it exists)a new name, such as “Customer2,” that doesn’t yet exist in your current folder, pressing Enter will create that entity within the active folder's sub-glossary and add it to the canvas simultaneously.

Note: The search function will look for matches across both the organization-wide glossaries (as set in folder settings) and the current folder’s sub-glossary. You don’t need to type the entire entity name; partial matches (e.g., typing “cust”) will show all relevant options.

New entities created this way will be automatically assigned to the default entity type in your organization. The default type setting can be adjusted by your admins according to this guide.

...

Right-click on an Entity. Choose the Entity type from the context menu, and you’ll see a list of the available types and can select a new one. Note that this changes the entity’s type in the Glossary, not just on this particular model’s canvas - the change will be visible on all models that contain this entity!

...

...

Ellie has two ways to manage users:

  • Email-based accounts: this is the default option, where each user gets an Ellie account based on their email address. They log in with an email+password combination. Admins can directly manage these users and their privileges in Ellie.

  • SSO integration: on request to support@ellie.ai, a customer organization can integrate their Ellie user management with their internal SSO provider. The options currently available are Okta and Azure Active Directory. With the SSO integration, user management in Ellie happens with SSO user groups: each group is assigned a role in Ellie, and the membership of these groups is managed within the customer’s own user management system. When this option is in use, Ellie admins can’t make changes to users or their privileges within Ellie; SSO options can be changed with a support request to Ellie, and the individual memberships are handled outside Ellie. You can find more details on the Okta integration here.

User roles and their privileges in Ellie

Ellie has three levels of users: Admin, Write, and Read.

They have the following privileges:

  • Read: can read all content (models, Glossary items) but can’t modify anything

  • Write: can modify existing content and create new content (models, Glossary items), except for Collections where this has been separately restricted to specific Write-access users

  • Admin: can modify all existing content and create new content (models, Glossary items) everywhere in a subdomain, and in addition can perform admin tasks:

    • manage email-based users and their privileges

    • change organization settings on entity types

    • access and generate API tokens

    • set Collections to restricted status and modify these restrictions to cover specific Write-access users

Adding new email-based users

Admin-level users can add new email-based users the following way:

  1. Click on the cogwheel icon on the Dashboard (frontpage)

  2. Then click on Users

...

  1. Click on the + Create users button

  2. Create as many users as you like - all you need to do is have their name and valid e-mail address.

  3. Define the role of each user, a role can be either Admin, Write, or Read.

  4. If the user has an existing Ellie account for the given email address (in any organization), they can use their existing password to log in. If the account is new, the admin can either copy-paste the generated password from the user management screen, or the user can reset their password from the login screen. Note: for security reasons, the admin can’t access any passwords after the initial user creation.

The Logical Modeling Canvas

Logical Models in Ellie are meant for designing more technical data structures for your individual data products. Often, they could be structured according to e.g. a Star Schema model. The logical models can be converted from existing conceptual models, and the logical entities themselves can be linked with conceptual entities to maintain a semantic understanding of the data content.

Creating logical models

The steps to create a Logical Model (or LM for short) or a Conceptual Model (or CM for short) are the same.

You can create a CM or an LM from the Dashboard by clicking on the + sign right next to Models on the left.

...

Or you can navigate to the Model List View, where on the sidebar, you have three buttons: New Collection, New Logical Model, New Conceptual Model.

...

After clicking on the New Logical Model button, you will be navigated to a form where you can set the name and the description of the logical model.

...

After typing in a valid name for the model (duplicate names are not allowed), the Create Logical Model button will be enabled. After that, you are transported onto the Logical Modeling Canvas where the editing of the model will now commence.

...

Overall, the LM canvas functions very much like the CM canvas. The main differences are in how entities are added, and the lack of a separate sidebar here.

Adding logical entities to the canvas

Click on the Add Entity button in the top-right corner of the canvas to start adding entities to your logical model. The logical entities are not part of the Glossary - they exist only within the scope of a single logical model - so they can’t be searched for or reused.

When the Add Entity button is clicked, a modal opens where you can give the entity a name and add attributes to it. You can also mark attributes as primary (PK) or foreign (FK) keys, and link the logical entity with existing conceptual entities in the Glossary.

...

You can add as many attributes as you like by pressing Enter on your keyboard when typing an attribute name: this creates a new attribute row, and you can keep typing your next attribute. Use the checkboxes to mark attributes as PK/FK.

When you’ve added some attributes, you can use the checkbox on the left to select one or more of them, and then delete the selected attributes by clicking on Delete selected attributes at the top.

...

Press Create Entity at the bottom to create the entity on the canvas, or Close (or the X in the corner) to cancel.

Editing logical entities

Here is what a logical entity will look like on the LM Canvas. It will be placed in the center of the Canvas, so if you create multiple entities, they will appear on top of each other - move them around if needed!

...

You can edit the entity by clicking on the Edit button, or you can click on the trashcan icon to delete the entity.

The entity edit modal that opens from the Edit button is similar to the modal when creating new logical entities, and allows you to do the same actions.

Editing model info

This is a simple dialog where you can change the name and the description of the logical model. You will immediately see the changes when you press Save.

...

Just like in a Conceptual Model, you can also create relationships between Entities in a Logical Model.
Let's show that by creating a secondary Entity and connecting the two.

By hovering your mouse over the edge of an Entity, it will change into a crosshair, and you can press your left mouse button down and start dragging toward the edge of another Entity to create a Relationship.

A dashed line will appear between the two Entities, and after you release the left mouse button, a One to Many Relationship will be formed.

...

If you right-click on the relationship’s “crow’s foot” symbol, you will be able to change the Relationship Type or Delete the Relation. If you click on Relationship Type, you will see a sub-context menu with the usual Relationship arrows.

...

When your Logical Model has at least one Entity or more, you will see that the Export button is enabled.

...

You can use it to

  • Export Entities

  • Export Attributes

  • Export Relations

These will come out in the .CSV format

The format of the filename will be

{OrganizationName}-{ModelName}-{TypeOfExport}-{DateInYYYYMMDDFormat}.csv

Such as

exampleOrganization-New Logical Model Created For Tutorial 2-entities-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-relationships-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-attributes-2022-01-31.csv

Use these in the application of your choice.

...

Linked entities

When you use an entity from another glossary within a model, it will appear on the canvas in italic font, indicating that this is a linked entity rather than one created in the active folder's glossary. This visual cue helps distinguish entities that originate from other folders or domains.

image-20241114-061546.pngImage Added

If you hover over the name of a linked entity, a tooltip will display the folder from which the entity originates, providing quick context about its source. If you lack write access to this entity, you won’t be able to change its Entity Type on the canvas, as modifying this attribute would impact the entity’s metadata across all models where it is used.

The Logical Modeling Canvas

Logical Models in Ellie are meant for designing more technical data structures for your individual data products. Often, they could be structured according to e.g. a Star Schema model. The logical models can be converted from existing conceptual models, and the logical entities themselves can be linked with conceptual entities to maintain a semantic understanding of the data content.

Creating logical models

The steps to create a Logical Model (or LM for short) or a Conceptual Model (or CM for short) are the same.

You can create a CM or an LM from the Dashboard by clicking on the + sign right next to Models on the left.

...

Or you can navigate to the Model List View, where on the sidebar, you have three buttons: New Folder, New Logical Model, New Conceptual Model.

...

After clicking on the New Logical Model button, you will be navigated to a form where you can set the name and the description of the logical model.

...

After typing in a valid name for the model (duplicate names are not allowed), the Create Logical Model button will be enabled. After that, you are transported onto the Logical Modeling Canvas where the editing of the model will now commence.

...

Overall, the LM canvas functions very much like the CM canvas. The main differences are in how entities are added, and the lack of a separate sidebar here.

Adding logical entities to the canvas

Click on the Add Entity button in the top-right corner of the canvas to start adding entities to your logical model. The logical entities are not part of the Glossary - they exist only within the scope of a single logical model - so they can’t be searched for or reused.

When the Add Entity button is clicked, a modal opens where you can give the entity a name and add attributes to it. You can also mark attributes as primary (PK) or foreign (FK) keys, and link the logical entity with existing conceptual entities in the Glossary.

...

You can add as many attributes as you like by pressing Enter on your keyboard when typing an attribute name: this creates a new attribute row, and you can keep typing your next attribute. Use the checkboxes to mark attributes as PK/FK.

When you’ve added some attributes, you can use the checkbox on the left to select one or more of them, and then delete the selected attributes by clicking on Delete selected attributes at the top.

...

Press Create Entity at the bottom to create the entity on the canvas, or Close (or the X in the corner) to cancel.

Editing logical entities

Here is what a logical entity will look like on the LM Canvas. It will be placed in the center of the Canvas, so if you create multiple entities, they will appear on top of each other - move them around if needed!

...

You can edit the entity by clicking on the Edit button, or you can click on the trashcan icon to delete the entity.

The entity edit modal that opens from the Edit button is similar to the modal when creating new logical entities, and allows you to do the same actions.

Editing model info

This is a simple dialog where you can change the name and the description of the logical model. You will immediately see the changes when you press Save.

...

Just like in a Conceptual Model, you can also create relationships between Entities in a Logical Model.
Let's show that by creating a secondary Entity and connecting the two.

By hovering your mouse over the edge of an Entity, it will change into a crosshair, and you can press your left mouse button down and start dragging toward the edge of another Entity to create a Relationship.

A dashed line will appear between the two Entities, and after you release the left mouse button, a One to Many Relationship will be formed.

...

If you right-click on the relationship’s “crow’s foot” symbol, you will be able to change the Relationship Type or Delete the Relation. If you click on Relationship Type, you will see a sub-context menu with the usual Relationship arrows.

...

When your Logical Model has at least one Entity or more, you will see that the Export button is enabled.

...

You can use it to

  • Export Entities

  • Export Attributes

  • Export Relations

These will come out in the .CSV format

The format of the filename will be

{OrganizationName}-{ModelName}-{TypeOfExport}-{DateInYYYYMMDDFormat}.csv

Such as

exampleOrganization-New Logical Model Created For Tutorial 2-entities-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-relationships-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-attributes-2022-01-31.csv

Use these in the application of your choice.

You can also use the Model Export API to export logical model data, just like you can do with the conceptual model data. You can find more information on the APIs here.

The Physical Modeling Canvas

Ellie's Physical Modeling Canvas is designed for creating representations that closely mimics the structure of an actual data warehouse. This involves defining tables, columns, and the relationships among them using foreign key constraints. The physical model can be converted from a conceptual model, a logical model, or designed from scratch.

Future updates will include functionality for importing structures directly from existing data warehouse databases. Tables can be linked with conceptual entities to enhance the semantic understanding of the data.

Adding Tables to the Model

To add tables to your model:

  • Click on "Create table" located at the top right sidebar.

  • Enter the name of the table in the provided field and press Enter.

...

Editing Tables

To modify a table:

  • Click the Edit table icon located at the top right of the table's representation on the canvas. This action opens the table details window.

  • The editing interface includes the following fields:

    • Entity Name: Specify the name of the table.

    • Entity Description: Provide a description of the table.

    • Columns: Manage the columns within the table.

    • Glossary Links: Associate glossary terms with the table.

Managing Columns

Adding Columns

To add a new column: In the column editor, either click "+ New attribute" or press Enter after typing the column name.

Column parts

Each column consists of several parts:

...

PK (Primary Key): Indicates if the column is part of the primary key. Activating PK on multiple columns creates a composite primary key. Primary keys automatically enforce uniqueness and not-null constraints.

FK (Foreign Key): Indicates if the column is part of a foreign key constraint. This attribute is read-only and can be toggled off only for draft foreign keys (indicated by an orange color).

Name: The column's name, which must be unique within the table.

Data Type: Select from a list of predefined data types or use a custom data type. Ensure the data type is supported by your data warehouse.

Not Null: Ensures that the column cannot hold a null value.

Unique: Ensures that all values in the column are unique.

Default: Sets a default value for the column.

Description: Provides a non-exportable description to aid other modelers.

Modifying Column Order and Deletion

  • To reorder columns, use the six-dot icon located at the beginning of the row. Click and drag to adjust the order.

  • To delete a column, click the trashcan icon next to the column details.

Establishing Relationships Between Tables

Suppose you have two tables: Product and Customer. To add a foreign key constraint between these tables, you can establish a relationship starting from the table containing the primary keys and extending to the table with the foreign keys.

Creating the Relationship:

Initiate the Relationship Editor: Drag a connection from the table with the primary keys to the table with the foreign keys. This action will open the relationship editor.

Image Added

After dragging a relationship editor opens. 

...

Configure the Relationship:

In the dialog that appears the table with the primary keys is displayed on the left side and the table with the foreign keys is on the right side.

To set up the foreign key constraint, select the primary key(s) from the left and the corresponding foreign key(s) from the right.

Note: To create a composite foreign key constraint involving multiple columns select the appropriate keys from both sides. These will be combined into a single constraint.

Image Added

Draft relationships and managing relationships 

When transitioning from a conceptual or logical model to a physical model, all relationships are initially highlighted in orange. This signifies the presence of a relationship but the absence of enforced foreign key constraints.

Adding Foreign Key Constraints:

Ensure that all necessary data types and columns (both primary and foreign) are defined in your tables.

To modify the relationship, right-click on the relationship line and select "Edit Relationship" from the context menu. This will reopen the relationship editor where you can add or adjust foreign key constraints.

This manual aims to guide you through the process of defining and troubleshooting relationships between tables in your database model, ensuring data integrity and relational logic.

...

Troubleshooting Relationships:

Color Indicators: If the relationship line is marked with an orange color, this indicates an issue, such as a mismatch in data types between the primary key and foreign key. To identify the specific problem, hover your mouse over the relationship line.

...

Glossary

Conceptual entities from the glossary can be linked to physical model tables. Select conceptual model entity by writing its name and selecting from the list of glossary entities.

SQL generator 

On the right hand side there is a SQL Generator. To generate a SQL presentation of the physical model press generate. Note: The SQL does not update automatically. Whenever you want to generate a new presentation, press Generate. 

To copy the SQL from Ellie, press copy. 

Currently the SQL is in Snowflake format, but we will be adding support for more databases in the future. 

...

Importing SQL

To export SQL DDL statements from Snowflake, please follow these steps:

  1. Log into your Snowflake account.

  2. Click on “Create new worksheet” located in the top left corner.

    • If you are unable to create worksheets, please contact your company’s Snowflake administrator for assistance.

...

  1. Write the following SQL statement to retrieve the DDL for the desired schema:

Code Block
SELECT GET_DDL('SCHEMA', '<database>.<schema>');

  • For example:

Code Block
SELECT GET_DDL('SCHEMA', 'ELLIETEST.PUBLIC', TRUE);

...

  1. Execute the statement by pressing the play button in the top right menu bar.

...

  1. Once the results are displayed, click the download button in the bottom right corner.

  • From the menu, select “Download as .csv”. The SQL DDL statements will be saved to your hard drive.

...

To import the SQL into Ellie,

  1. Click “Create new model” and select "Physical Model".

  2. In the dialog that opens, select “Upload a file”.

  3. Choose the file from your hard drive containing the SQL DDL statements.

  4. The SQL DDL statements will appear in the dialog.

  5. Click “Create new model” to finalize the creation of the new model.

Folders and Sublossaries

Overview

Ellie’s folder structure organizes models and glossaries, allowing users to create folders and subfolders to categorize models based on projects, domains, or departments. Each folder can contain its own sub-glossary, which lets users define terms specific to the folder’s focus while maintaining access to the organization-wide glossaries. See how subfolders and subglsosaries work in practice in this video https://www.youtube.com/watch?v=t_y_Ex0PULo&pp=ygUSZWxsaWUgdGVjaG5vbG9naWVz.

Creating and Managing Folders

To create a new folder:

  1. Navigate to the Parent Folder: Access the folder under which you want to create a new subfolder.

  2. Click on the Create Button: Select the option to create a new folder.

  3. Configure Folder Settings: In the folder settings, you will find three tabs:

    • General: Enter the folder name and an optional description.

    • Glossary: Set up glossary settings, including:

      • Whether the folder has its own glossary.

      • Which other glossaries to suggest entities from when modeling in this folder.

      • Restrictions on which glossaries can be shown in the search or create bar during modeling.

    • Permissions: Define who has access to view or edit the folder and its contents.

  4. Save the Folder: Once configured, save the folder to add it to your hierarchy.

More information on the Folder settings can be found in our Folder User Guide - https://ellie.atlassian.net/wiki/spaces/ELLIE/pages/852230147/Using+Collections

...

Using Sub-glossaries in Folders

Each folder can have its own sub-glossary. This sub-glossary allows you to create entities specific to the models within that folder without affecting the organization-wide glossary. This is helpful for managing terms that may differ across projects or domains.

To add terms to a sub-glossary:

  1. Open the desired folder.

  2. Press Create button.

  3. Press Create Entity button.

  4. Terms added here will appear only within the folder’s sub-glossary unless used as linked entities in folders of other models.

Working with Linked Entities

Models within a folder can access terms from the organization-wide glossary or from other folders. When an entity from a different glossary is added to a model, it appears in italic font on the canvas, signaling it is a linked entity.

  • Viewing Source Folder: Hover over the entity name to see the folder from which it originates.

  • Editing Linked Entities: If you have only read access to the linked entity, you cannot change its entity type or other metadata to avoid affecting shared definitions.

User management

Ellie has two ways to manage users:

  • Email-based accounts: this is the default option, where each user gets an Ellie account based on their email address. They log in with an email+password combination. Admins can directly manage these users and their privileges in Ellie.

  • SSO integration: on request to support@ellie.ai, a customer organization can integrate their Ellie user management with their internal SSO provider. The options currently available are Okta and Azure Active Directory. With the SSO integration, user management in Ellie happens with SSO user groups: each group is assigned a role in Ellie, and the membership of these groups is managed within the customer’s own user management system. When this option is in use, Ellie admins can’t make changes to users or their privileges within Ellie; SSO options can be changed with a support request to Ellie, and the individual memberships are handled outside Ellie. You can find more details on the Okta integration here.

User roles and their privileges in Ellie

Ellie has four levels of users: Admin, Write, Contributor, and Read.

They have the following privileges:

  • Read: can read all content (models, Glossary items) but can’t modify anything

  • Contributor: can read all content, and can work in a personal folder, and can copy public assets into a personal folder. When a certain model or entity is complete in their personal folder, Contributor user can share their asset with an Admin or Write user for approval and further promotion to a public folder.

  • Write: can modify existing content and create new content (models, Glossary items), except for Folders where this has been separately restricted to specific Write-access users

  • Admin: can modify all existing content and create new content (models, Glossary items) everywhere in a subdomain, and in addition can perform admin tasks:

    • manage email-based users and their privileges

    • change organization settings on entity types

    • access and generate API tokens

    • set Folders to restricted status and modify these restrictions to cover specific Write-access users

Adding new email-based users

Admin-level users can add new email-based users the following way:

  1. Click on the cogwheel icon on the Dashboard (frontpage)

  2. Then click on Users

...

  1. Click on the + Create users button

  2. Create as many users as you like - all you need to do is have their name and valid e-mail address.

  3. Define the role of each user, a role can be either Admin, Write, Contributor, or Read.

  4. If the user has an existing Ellie account for the given email address (in any organization), they can use their existing password to log in. If the account is new, the admin can either copy-paste the generated password from the user management screen, or the user can reset their password from the login screen. Note: for security reasons, the admin can’t access any passwords after the initial user creation.

Hints, tips & best practices for creating good models

...