GenioWeb

Welcome to GenioWeb Documentation!

We're excited to introduce you to GenioWeb, a powerful Generative AI platform that empowers developers to create customized solutions with ease. Whether you're building a web application, office add-in, or C# web service, GenioWeb has got you covered!

Topics

We hope this documentation gives you a glimpse of the incredible possibilities GenioWeb offers. Get ready to unleash your creativity and build powerful, customized solutions in no time!

If you have any questions or need further assistance, don't hesitate to reach out. Happy coding with GenioWeb!


Homepage Overview

The Homepage is where the user starts their Generative AI coding adventure. In this page you can see the project’s name, the Genio version that is being used, as well as some useful shortcuts that take the user immediately to pages such as Tables, Forms, Menus, as well as to Generate the solution and define your application’s visual style. More shortcuts and widgets will be added in the future for a more personalized look.

Screenshot%20Genio%20Web

GenioWeb's Homepage is divided by the following menus:

  • Data Menu – In the Data Menu, developers can start working with the database. It includes options to create tables, define primary and foreign keys, manage enumerations, and view indexes, among other functionalities.

  • Forms – The Forms page allows developers to create fields and interactive elements for the application's user interface. They can retrieve fields from existing tables or create new form elements from scratch, such as buttons, unfiltered table lists, and formulas for value calculations. It also supports adding global lists.

  • Navigation – In the Navigation menu, developers can define the application's structure by creating menus and submenus. They can organize accessible data, set user-role limitations, and improve overall navigation between pages.

  • Resources – The Resources tab is used to customize the visual aspects of the application. Developers can set up fonts, manipulate colors to align with the business branding, and perform other UI-related customizations.

  • Processes – On this page, developers can define the behaviors the application will trigger depending on the actions performed by the user that interacts with your solution. From warning messages to limiting the number of units on a field, it all depends on the usability of the developed solution.

  • Access Rights – OThe Access Rights menu allows developers to create user roles and define access levels within the application. It is where the permissions and restrictions for different user types are managed.

  • Manual Code – The Manual Code option enables developers to add custom code to their solutions. This can be used to give a personalized look and feel, add exclusive business features, implement queries, and more.

  • Generation – The Generation page provides developers with a debugging environment to test their solutions before publication. It generates web applications by default, but other options like Office Add-ins and C# Web Services are also available. The integration with Visual Studio allows for code review, minor edits, and testing using IIS Express.

  • Distribution – The Distribution menu provides access to Genio's technical documentation for developers.

  • Settings – In the Settings menu, developers can customize various parameters related to their Genio project. They can manage clients, modules, applications, and features. The Internationalization feature allows setting up available languages and base currency for the application.


Tables: Organize and Manage Your Data

In GenioWeb, tables form the backbone of your solution. They allow you to organize and manage your data efficiently. Creating a table is a breeze! Just head over to the "Tables" page, click the "+ Insert" button, and fill in the necessary details.

With GenioWeb, you have full control over your tables. Define the table name, display name, and plural display name to ensure it's easily recognizable for you and your users. Add fields, such as foreign keys, text/numeric values, and dates, to capture the information you need. You can even set up business rules to enforce specific behaviors based on your business requirements.

To access the Tables menu and create a new table in the database, developers can either select the "Tables_" option on the main page's top left or use the shortcut available on one of the cards (as shown below).

Screenshot%20Genio%20Web%20-%20Homepage

After selecting one of these options, developers will be directed to a page where they can see a button labeled "+ Insert". Clicking on this button opens a new page where developers can create their first table in the system.

Developers can create two types of tables: Standard Tables and Virtual Tables.

Virtual Tables allow developers to edit their names without changing the data in the database and associated domains.

The table creation page is divided into nine tabs:

1. Identification

This is the tab that lets the developer's name their new table in the “Table Identifier” and “Schema” fields. If the “Schema” field isn’t filled, GenioWeb will use the name written on the Table Identifier field to name the table in the database. Once the dedicated fields are filled, click Apply to save the data so that it can be considered on the ongoing tabs. Display name and plural display name is how the Table is name and is the information that appears displayed to the standard user of the solution built.

2. Fields

On the Fields tab, developers can start building the table's content. They can create a primary key and add fields such as foreign keys, text/numeric values, dates, and more.

3. Business Rules

The Business Rules tab allows developers to define the behavior of data in the database based on business requirements.

4. Access Rights

This option enables developers to define the user levels that have access to the data displayed in the table.

5. Forms

In the Forms tab, developers can check the forms linked to the database table and edit the user interface layout for their solution.

6. Relationships

The Relationships tab provides a view of the relationships between tables through foreign keys.

7. Lists

Similar to the Relationships tab, the Lists tab allows developers to view and edit table lists available in the table itself or tables linked via foreign keys.

8. Menu Items

Developers can create and edit menu components that allow users to access and manipulate data in the GenioWeb solution.

9. Indexes

The Indexes tab displays the index IDs of menus that reference the data available in the database. It can improve data retrieval speed in SQL Server and provides an overview of menus directly related to the table.

The “Tables” page menu also allows the developers to search for specific tables. The dev can either use the “Search box” displayed on the top right and search by table name, domain, date of creation, among other terminologies, or use the filters that are displayed above the table list (Standard, System and Domain).

System Tables are created by default, and can be used by the developers to manage user and password data, logbooks, user level restrictions/authorizations, among other tasks. They are hidden since GenioWeb reveals the Standard tables by default. To reveal them on the table list, you can either remove the selection from the “Standard” filter, and the System Tables will appear on the Table list. If you wish to focus solely on System Tables, you may select the “System” filter instead.

Table%20List

Note: Selecting both “Standard” and “System” will hide all the tables. Either select one to focus your view, or none in case you wish to view all the tables available. Tables can also be searched via the search box on the top right.


Forms: Customize Your User Interface

GenioWeb provides a user-friendly interface to interact with your data. The "Forms" section allows you to configure how your data is presented and how users can interact with it. Adding a new form is a breeze! Just click the "+ Insert" button, and you're on your way.

With forms, you can create a seamless user experience. Define the form's name, type, and display name to make it intuitive for your users. Choose from various components to customize the form layout, including auto-populated fields, table lists, buttons, and more. You can even configure the navigation structure, including homepage, menus, and submenus, to ensure smooth navigation throughout your solution.

To add a new Form, the developer will be greeted with a page with the following options:

1. Identification

This option is where the developer references the table where the Form will draw its data. On the Identifier field the developer can define the name of the Form in the database, and choose the table that is meant to be linked in Form Table.

Note: This field will be populated with options only after Tables are created in the database.

The Form Type option that defines how the data/layout is presented to the final user. It can be a normal webpage, a popup window, a widget, a tab, etc. On the Display Name field is where the developer can define the name of it that will be displayed to the end user.

The Notes field is for any additional written information the developer may want to add. This information isn’t available to the end user of the solution, as it is only available for the development environment users.

2. Components

The components option is where the elements that can be interacted with by the solution’s end user are defined.

Screenshot%202023-06-09%20095837

Usually they can either be auto-populated with the data that has already been added to the table that it links to, but additional fields and table lists can be added, for example, an Unfiltered Table List that draws data from another table, or a Button that takes the user to a specific page, or perform a particular action on the page.


This is the menu where the developer is able to define the solution’s structure, from the homepage, to menus and submenus, all based both on data present on the tables and forms, but any additional pages can be added depending on the business needs.

Screenshot%202023-06-12%20135854


Resources: Customize and Brand Your Solution

GenioWeb believes in the power of branding. The "Resources" page enables you to customize the look and feel of your solution to align with your business's branding. Add your company logo, choose the perfect color scheme, and tweak the UI elements to make it truly yours. With GenioWeb, your solution can be as unique as your business.

Screenshot%202023-06-12%20122615


Make It Accessible and Secure

We understand the importance of access rights and security. In GenioWeb, you have full control over user roles and access levels. Define user types, roles, and limitations to ensure that each user gets the right level of access. You can create a secure environment where your data remains protected.

The option Access Levels and PHE, is merely informative and it displays the several levels and user roles available, as well as their respective limitations as set up by the developer.

Table%20List

When accessing this menu for the first time, three default users are visible: Unauthorized (00), Retrieval (01), and Administrator (99). These default users can be edited in the Access Rights tab. Developers can create additional user types to meet the specific needs of end users.

Screenshot%202023-06-12%20115520

These default users can be edited in the Access Rights tab, but developers can create and add more user types to the database, all depending on the business needs of the end users that will make use of the developed solution.

Note: Currently, Genio is limited to a maximum of 100 distinct levels of access, with the lowest and least privileged level being 00 and the highest level being 99.

User roles can also be created and linked to user levels defined in Access Rights. Roles represent groups of users with the same access level.


Manual Code: Bring Your Own Code

GenioWeb encourages you to bring your own code! If there's a specific feature or layout that you need and it's not available out-of-the-box, no worries! You can add your custom code to customize your solution even further. Implement queries, leverage different platforms, and make your solution truly tailored to your business needs.

It is possible to implement queries in various platforms available in Genio:

  • SQL Server
  • Oracle
  • MySQL
  • SQL Azure
  • SQLite

Generation: Test, Debug, and Deploy

GenioWeb provides a seamless development experience. With the "Generation" section, you can test and debug your solutions before publication. GenioWeb generates web applications by default, but you also have options like office add-ins, C# web services, and DLL generation. Integrate with Visual Studio, review and edit the code, and use the IIS Express feature for smooth testing and debugging. When you're ready, deploy your solution and see it in action!

By default, GenioWeb generates applications in Web, but isn't limited to it, as there are more options available, like "Office Addins", C# Web Services, generate DLL's, etc.

Genio is linked to Visual Studio, and makes use of its resources to build the developed solution in it. Developers can then review the code, make minor edits and use the IIS Express feature to test and debug the solution.


Settings Menu: Fine-Tune Your Project

The "Settings" menu offers various parameters to fine-tune your project. Create clients, modules, applications, and features to organize and manage your solution effectively. Set up the available languages and define the base currency using the Internationalization feature. GenioWeb provides the flexibility you need to tailor your project to your specific requirements.

Note: During the creation of the Client, applications are always allocated under the same Client.

Developers can also create a risk management module for implementing various customer modules and making them reusable.

The Internationalization feature allows developers to set up the available languages in Genio for the application and define the base currency.

These sections provide an overview of the different functionalities available in GenioWeb and how developers can leverage them to build customized low-code solutions.