Welcome to GeneXus 15 Analyst Level Course

You will easily learn, through various examples, the core of GeneXus to start developing your own applications today!

Objective

Provide the key theoretical concepts behind GeneXus and skills to apply them in practice, in order to make the best use of the program.  In this course, the concepts taught at the Junior level are complemented by further studying some topics and adding new ones.

Designed for

Those who want to start developing applications with GeneXus with no need for supervision, except when dealing with complex topics.

Course Requirements

Students who don’t have prior programming skills are recommended to read this information before starting the course.

Modes

This level is available in the following modes:

Classroom Training

Classes are taught by a GeneXus instructor and students must attend all of them in person. To take the course in this mode, we recommend that you read the calendar and contact our academic partners in your country.

Duration of the Course: 63 hours

• theory/practice (40 hours)
• workshop (16 hours)
• exam preparation (4 hours)
• exam (3 hours)

Self-Studying Training

Students follow the course on their own, at their own pace, without the support of a GeneXus instructor.

Duration of the Course: 17 hours, 26 minute

• 45 videos (7 hours 26 minutes)
• practice (10 hours)

Blended Training

Part of the course is provided in DISTANCE mode, where students work at their own pace, and the rest is taught in CLASSROOM mode, where students must attend classes in person.

Duration of the Course: 3 weeks of study in DISTANCE mode (videos + practice) + 2 CLASSROOM lessons of 3.5 hours scheduled on 2 dates during the DISTANCE training phase + online forum for students to ask questions to the GeneXus instructor throughout the course + CLASSROOM workshop (16 hours) + exam preparation (4 hours) + exam (3 hours)

Exam

Students will be able to take the exam corresponding to the GeneXus Analyst certification. This exam is taken on a computer and includes multiple choice and true/false questions about the topics learned throughout the course, to confirm that the student has effectively learned the essential concepts required for developing applications with GeneXus, according to the Analyst Level.

In this section you will find a pdf document with practice exercises similar to those done in class. They include some new exercises in addition to other options. It is suggested that the exercises be done after studying each specific topic.

  •  ONLINE / BLENDED COURSE
Name: GeneXus15AnalystCoursePracticalExercises
Server: http://samples.genexusserver.com/v15
Material:  Practice exercises | Images
  • CLASSROOM COURSE
KB solution of practical exercises:
Name: GeneXus15JuniorCoursePracticalExercises
Server: http://samples.genexusserver.com/v15

Have questions about the training or need additional help? We’re here for you!

Bob Smith, Trainer USA
bobsmith@genexus.com


Bob Smith, Trainer USA
bobsmith@genexus.com


Bob Smith, Trainer USA
bobsmith@genexus.com

Before You Start

We recommend that you work on the practice exercises provided in the Materials section, as you watch the videos of each group of topics. In this section, you will find information about the software requirements to start working.

Below each video, you will find the corresponding scripts (transcripts with images).

First Steps

Brief description of the tool, its objectives and features.

Overview:  The meaning of GeneXus being multi-platform.

Technical Features Covered:  The type of applications that may be generated (web, mobile), and in what languages. Introduction of the application that will be developed throughout the course. Introduction of GeneXus Server, a tool to manage the development of our application.

Click here for a PDF transcript of the video.

Overview: Initial execution of GeneXus: IDE, integrated development environment.
Technical Features Covered: How to create a new project or knowledge base by configuring the programming language in which the application will be generated while it is tested, and its language.

Click here for a PDF transcript of the video.

Transactions

Overview:  Description of objects from reality through GeneXus Objects of the Transaction type. Identifiers (keys), Data types, Web form

Technical Features Covered:  Create the Customer transaction and enter in its “structure” the attributes that represent each customer’s relevant data. We consider the concept of identifier or key, the Data Types of attributes, semantic domains Address, Phone and Email, and the web form (screen offered to the user when executing the transaction, to edit information). We upload our changes to GeneXus Server for the first time.

Click here for a PDF transcript of the video.

Overview: We request that GeneXus automatically create the programs and the database, and then open the web browser to enable us to execute and test

Click here for a PDF transcript of the video.

Overview:  The “Attraction” transaction is created to record the tourist attractions, and the key attribute is considered, as well as how to edit an attribute’s properties and how to define domains for its Data Types and autonumber numeric attributes. The issue of recording the country of the tourist attraction is also introduced.

Click here for a PDF transcript of the video.

Overview:  We add the Country and Category transactions and specify, in the Attraction transaction, that an attraction belongs to a country and category. We see how GeneXus keeps all related information consistent.

Technical Features Covered:  We show, in practice, the concept of referential integrity, to maintain data consistency. Introduction of foreign keys relative to primary keys and the significance of calling the corresponding attributes in the same manner. Introduction of the difference between the structure of the transaction and the associated physical table (with the concept of “inferred attributes”). Presentation of the selection list as an object automatically created by GeneXus to facilitate work with related data. We show how it is possible to indicate that a foreign key may have no value, through the Nullable property.

Click here for a PDF transcript of the video.

Overview:  How do we represent that a country has a number of cities? Creating a second level in the structure of the Country transaction.

Technical Features Covered:  We see that GeneXus creates two tables and focus on the primary key corresponding to the second level. We see the grid added in the web form to record cities. We add the city to the Attraction transaction and specify that it may be empty (nullable) in runtime.

Click here for a PDF transcript of the video.

Overview:  When we create a new attribute we can use any name we want. What is the manner suggested?

Click here for a PDF transcript of the video.

Overview:  There is a place in each transaction to specify rules to be triggered when the user interacts with the screen  (to insert, modify or delete information).

We see how to ensure that, in the Customer transaction:•    no record is made of a customer with empty name, empty surname, or a date in the system later than today (Error rule)

•    no record is made of a customer with empty name, empty surname, or a date in the system later than today (Error rule)
•    a warning message is shown when the phone remains empty (Msg rule)
•    the day’s data is automatically assigned to a Date attribute (Default rule)
•    the edition of an attribute is disabled (Noaccept rule)

We also see how to condition the triggering of a rule. Specifically, in relation to the operation that is to be carried out: Insert, Update or Delete.
We show what variables are and what they are used for, and how we define variables in objects, as well as their main difference compared to attributes.

Click here for a PDF transcript of the video.

Overview: For the Transaction object we study the Add and Subtract rules and their combination with the Error rule, as well as the Serial rule to automatically number attributes that cannot use the Autonumber property.

Technical Features Covered: In the “Rules definition” video we studied the Error, Msg, Default and Noaccept rules. Here we will add the Add, Subtract with Error, and Serial rules.

This class only has written material. Download it and continue with the course!

Overview:  On GeneXus objects defined in the KB such as transactions, we may apply some patterns that build other objectos on them to add functionalities, like those provided for by the pattern Work with the data of a trasaction.

Technical Features Covered:  The Work With for Web pattern is applied to the Country and Attraction transactions. The consequences are shown in runtime, through the objects that the pattern itself generates for implementing appealing screens that enable us to show, on a grid, the country and attraction data. We see how to customize what is generated: deleting/adding attributes to the grid, adding filters and orders, how to enable or disable standard actions on data (insert, update, delete). We study the dynamism between transaction structure, pattern instance and objects generated. We see how to dis-apply a pattern.

Click here for a PDF transcript of the video.

Overview:  On GeneXus objects defined in the KB such as transactions, we may apply some patterns that build other objectos on them to add functionalities, like those provided for by the pattern Work with the data of a trasaction.

Technical Features Covered:  The Work With for Web pattern is applied to the Country and Attraction transactions. The consequences are shown in runtime, through the objects that the pattern itself generates for implementing appealing screens that enable us to show, on a grid, the country and attraction data. We see how to customize what is generated: deleting/adding attributes to the grid, adding filters and orders, how to enable or disable standard actions on data (insert, update, delete). We study the dynamism between transaction structure, pattern instance and objects generated. We see how to dis-apply a pattern.

Click here for a PDF transcript of the video.

Overview:  Introduction of the concept of subtype to enable the use of an existing attribute with a change of name, and a usage example where from a flights transaction we must record the departure airport and the arrival airport.

Technical Features Covered:  Introduction of the concepts of: group of subtypes, subtype and supratype, consistency controls (referential integrity) and selection lists, table diagrams, attribute describing a transaction and Contextual Title property of an attribute. The case of usage studied in the multiple reference of a transaction to another. Other usage cases not studied are also presented.

Click here for a PDF transcript of the video.

Overview: Introduction of the case of indirect multiple references, recursive subtypes, entity specialization, and mention of the usage cases of elimination of unwanted relations through compound foreign keys (though not studied).

Technical Features Covered: In the “What are subtypes?” video we saw the concept of subtype, supratype, group of subtypes based on a single usage case: the multiple reference from one transaction to another. Other usage cases were also presented. We study them here, in addition to presenting other cases.

This class only has written material. Download it and continue with the course!

Overview:  GeneXus provides the formulas for calculations involving specific values of attributes, constants and/or functions. We study the global formulas and leave the study of local formulas for further instances. We will see the so-called horizontal and aggregation formulas.

Technical Features Covered:  We study the AfterLevel moment and also introduce AfterComplete, and the execution of a Commit command in between BeforeInsert and AfterInsert.

Click here for a PDF transcript of the video.

Overview:  Based on an example where we must delay the triggering of an error rule to allow time to the user for entering header and lines data, we study the rule triggering events in transactions. Rules may be conditioned to be triggered in these events and not previously or later.

Click here for a PDF transcript of the video.

Overview:  Assessment tree of rules and formulas in a two-level transaction. We also review how to do the assessment and the saving of each header and each of the lines and when it is the turn for the Commit. We study all events on which a rule may be conditioned.

Technical Features Covered:  In the “More on order of execution for rules in transactions” video we studied the triggering moment or event AfterLevel, and introduced the AfterComplete, the BeforeInsert  and the AfterInsert. Here we will see more complex examples and study all triggering instances.

This class only has written material. Download it and continue with the course!

Overview:  We study the types of relations that may be established between the entities from reality: one to many (strong and weak), many to many, their characteristics and ways to model them based on the transactions. We present two cases of relations one to one.

Click here for a PDF transcript of the video.

Overview:  We had mentioned the 1 to 1 relations resulting from specialization in the subtypes class. Here we will see the other case of relations 1 to 1, between different entities.

This class only has written material. Download it and continue with the course!

Procedures and Listings

Overview: We introduce the Procedure object, with one of its multiple uses: implementing PDF listings displayed on the browser. We study two of the main commands for that: the print and the for each, which enables access to an entity’s data.

Technical Features Covered: We focus on the Layout and Source chapters of a procedure for listing tourist attractions. We introduce the printblock control and see how to define the output design. We also see how to include images in the KB for them to be used in objects. We start the study of the For each command, which is basic in GeneXus. We introduce the base transaction of the For each, as well as the Order and Where clauses. We analyze the Navigation Listing.

We strongly recommend that the “”Final Overview“” video be viewed, where we question some of the statements that will be considered in upcoming videos.

This video also includes rule output_file, Call Protocol HTTP.

Click here for a PDF transcript of the video.

Overview:  We study in detail everything relative to a simple For each: base transaction and base table, indices and their relation with DB queries (optimization), and how to condition orders and filters, as well as how to program actions when the For each does not retrieve records.

Introduction of the Procedure object with one of its multiple uses: implementing PDF listings displayed on the browser. We study two of the basic commands for that: print and For each, which enables access to an entity’s data.

Technical Features Covered:  In the “Introduction to procedures and listings. Command to query the database” video, we introduced the For each command in a procedure and we saw the Order and Where clauses. Here we will extend what was seen before, including the When clause to condition orders and filters. And also the When none clause to execute actions when the query does not retrieve anything.  We also study in detail the indices created by GeneXus automatically, and the indices created by the user: Unique to specify candidate keys, and Duplicate.

To close we summarize the syntax of the For each command with what was shown.

Following conclusion of the course we recommend that you view the “”Final Overview“” video where we question some of the statements that will be dealt with in upcoming training sessions.

This class only has written material. Download it and continue with the course!

Overview:  How to use nested For eachs to print related information (the categories and their tourist attractions). This case is known as join.

Technical Features Covered:  A procedure is implemented with a couple of nested For eachs, where the information of the external For each is related to that of the internal For each with a relation of one to many. An explanation is given regarding the difference between this case (join) and cases where there is no evident relation between the information (Cartesian product).

We recommend that you view the “Introduction to procedures and listings. Command to query the database” video.

Additionally: nested For eachs –related navigations, independent For eachs, join, print, Cartesian product, printblock, layout, source, base table, extended table, pdf report.

Click here for a PDF transcript of the video.

Overview: We often want to list, for each record on a table, the related records on another table, but only for records with relations. In sum, it is about listing information from one table, grouped pursuant to a given criterion, in what is known as a control break. We recommend that the “How to list related information” video be viewed in advance.

Click here for a PDF transcript of the video.

Overview:  We study how to determine base tables and navigations in detail. When GeneXus finds that it must perform a join, and when a Cartesian product, and when a control break.

This class only has written material. Download it and continue with the course!

Overview: Formulas that we declare locally, as a punctual instruction within a given code (Source of procedure or Data Provider, Web panel event, etc.) Comparison against global formulas (defined at the attribute level).

A list of countries is defined where, for each country, the number of tourist attractions is shown. Then the country listing is filtered by countries with more than two attraction. To do this a Count formula is used in the Source. We study how to determine its navigation.

We recommend that the “What are formulas” video be viewed in advance.

Click here for a PDF transcript of the video.

Overview:  The For each commit admits the specification that we do not want repeated values for an attribute or a group of attributes. In combination with inline aggregate formulas that navigate the same information, they allow for discriminated aggregations.

We recommend that the “Inline Formula” video be viewed in advance.

This class only has written material. Download it and continue with the course!

Overview:  What to do to avoid re-writing the same orders and conditions for data queries every time.

This class only has written material. Download it and continue with the course!

Communication Between Objects

Overview:  When an object invokes another object, how is information passed? For instance, an object that requires the user to enter a country and calls a listing to print the attractions in that country.

Technical Features Covered:  A web panel is used to request data from the user. A variable is used in it as dynamic combo box, that is: a variable that loads all countries for the user to make his selection. We study the parm rule to declare the parameters that an object receives. We use “in” to indicate that a parameter is input. Only the case where the parameters declared in parm rule are variables is studied here.

Click here for a PDF transcript of the video.

Overview:  What happens when an object is invoked for it to return a result to the caller? How may the invocation be made and how should the parameters in the object called be declared? What happens when a parameter is an attribute instead of a variable? We recommend that the “Communication between objects” be viewed in advance.

Click here for a PDF transcript of the video.

Compound Data Types and Data Providers

Overview:  In addition to the simple data types, GeneXus allows the possibility of defining structured (SDT) or compound data types to be used only as data types for variables (not attributes). Their use with business components and data providers is shown further ahead.

Click here for a PDF transcript of the video.

Overview:  Introduction of the Data Provider object by means of an example, and with the purpose of loading and returning a compound structure (both simple and collection) to do something with it, such as printing it.

Technical Features Covered: SDT collection – a ranking is countries is to be implemented according to the number of tourist attractions. To do this, a structure is required in memory to temporarily store a collection of items (with the info of each country and the number of attractions in it). The Sort method of an SDT collection is shown to order it. And the For item in Collection command is presented to go over the items in a collection.
The Data Provider object is presented, with its Output and Collection properties, and its similarity with a For each when it comes to indicating base transaction to navigate a table in the database, and the Where clause to filter the information.

It is especially recommended to view the video “”Final Overview”” for this course, where some of the aspects stated are questioned, and will be included in upcoming videos for organizational reasons.

Click here for a PDF transcript of the video.

Overview:  When defining a variable of a given data type, we may indicate –by means of a check box in the Variables tab– that what is wanted is for it to be a collection of that data type.

Technical Features Covered:  Introduction of properties and methods of all variables defined as collection. Examples: Count property, Add, Remove, Clear, and Sort methods, For item in collection command.

Click here for a PDF transcript of the video.

Overview:  According to whether an SDT was defined as simple or as collection, we show how to make a Data Provider return the collection. Use of the Collection property of a Data provider to indicate that it will return a collection of the data type indicated in the Output property.

We suggest that the video “Loading Compound Data Types (SDT) using Data Providers” be viewed in advance.”

Click here for a PDF transcript of the video.

Database Update

Overview:  To carry out the same Insert, Update and Delete operations that a transaction performs, including gall the controls it performs, but with no screen and by code from any object, we introduce the Business Component concept.

Technical Features Covered:  With an example where we create a new category called “Tourist Site” and change the category of all the transactions that were “Monument” in Beijing to the new category, we introduce the business component as a data type created as mirror of the transaction, and usable through variables and their Save(), Load(), Delete() methods, as well as Insert(), Update(), InsertorUpdate(), Success(), in any object. A comparison is made of the update through the transaction against the update through the business component. An explication is made regarding the need to use the Commit command.

We suggest to follow up with the video “Data Population using Business Components and Data Providers

Click here for a PDF transcript of the video.

Overview:  When we want to update data in a two-level transaction through the associated business component, how do we load it? Which are the methods used?

Technical Features Covered:  In the video “How to update data using transaction logic without screen” we introduced Business Components as a data type created as a mirror of the transaction and usable through variables and through its Save(), Load(), Delete() methods, as well as Insert(), Update(), InsertorUpdate(), Success(), in any object. But we only saw the case where the transaction had a single level. Here we will introduce the case of two-level transactions and how to work with the Business Component.

This class only has written material. Download it and continue with the course!

Overview:  A Data Provider allows not only the loading and return of compound structure of data from the database, but also from fixed data. A compound structure may be SDT as well as BC (business components). And also simple as collection.

Technical Features Covered:  We will see how to use a Data Provider to return a collection of business components of the Category type, and then use the Insert method of a collection of BCs variable, to insert its values in the database. And we will see the same for Attraction.
Note: to assign an image from the KB to an element, an attribute or a variable, we use its link method.

We suggest that the video “How to update data using transaction logic without screen” be viewed first and then continue with the video “Data population using the transaction itself”.

Click here for a PDF transcript of the video.

Overview:  The population of a table with data is not done manually as in the previous video, but using the transaction’s Data Provider property.

Technical Features Covered:  A requirement is to previously view the video “Data Population using Business Components and Data Providers”. We link the Data Provider property of the Category and Attraction transactions, along with the property “Used to” in “Populate data”, to populate its tables with data, through the Data Provider created automatically for each of them. We will show the use of the Update Policy property and also the case of dynamic transactions.

Click here for a PDF transcript of the video.

Overview:  As a solution for the update, by code, of the database, we saw the use of Business Components. However, in some cases, and mainly due to performance reasons, we will face the need to update with controls not so demanding. To do this we use the New, For each and Delete commands in the procedure object. We introduce them here.

Click here for a PDF transcript of the video.

Overview:  We study the New, For each and Delete commands in detail to update the database directly from a procedure. This solution is compared against the solution provided by Business Components.

Technical Features Covered:  In the video “Database update using procedures. An introduction” we had an introduction to this subject that is developed further in this course.

This class only has written material. Download it and continue with the course!

Overview:  Throughout this course we have increased the syntax of the For each command, as we came upon each new clause. Here we will be summarizing what has been shown and the significance it has within the logic of GeneXus.

This class only has written material. Download it and continue with the course!

Data Providers and Their Applications

Overview:  We see in detail the language of Data Providers using examples.

This class only has written material. Download it and continue with the course!

Overview:  We saw how to associate a Data Provider with a transaction to test its data. Here we will see the Data Provider used to recover the transaction information from other data sources.

This class only has written material. Download it and continue with the course!

Transaction Integrity

Overview:  Databases allow the definition of Logic Work Units: the group of operations that must be carried out all together or none. The Commit command and the Rollback prove fundamental here.

This class only has written material. Download it and continue with the course!

Interactive Screens

Overview:  We build a screen similar to the one implemented by the Work With pattern of attractions: with a grid with attributes sorted by certain criteria, with filters on data, entered by the user, and actions on the grid data, among other things.

Technical Features Covered:  We will implement a web panel with a grid with attributes and variables, and see the system’s Start, Refresh and Load events, as well as user events, particularly the Click associated with an attribute or variable in the grid. We will call the Attraction transaction modified by the pattern, in Update mode. We will see the system’s &Mode variable in transactions, and the values it takes. We will see that the attributes correspond to the output and the variables to the input. We will see how to make a variable Readonly.

Continue with the video “Interactive screens: Web Panel object (cont)

Click here for a PDF transcript of the video.

Overview:  What happens when an action at the grid lines level modifies the value of an element on the line? We will conceptualize everything that was seen in relation to web panel with a grid with base table, and we will study web panel with attributes but without grid, and the case of web panels without base table. We will see the responsive web design and when it becomes necessary to hide a grid column.

Technical Features Covered:  Based on examples, we conceptualize all that relates to web panels. We will study the differences between web panel with and web panel without base table, based on the Start, Refresh and Load events. We will see an example of the difference between receiving a parameter in variable or in attribute. The end consists of mentioning cases of nested and parallel grids, and the types of web panels that exist (web page, web component, master page), as well as panels for Smart Devices.

Click here for a PDF transcript of the video.

Overview:  How to load variables on the grid of the Work With for Web, and how to add a button outside or inside the grid for executing an action.

Technical Features Covered:  In the video “Interactive screens: Web Panel object” we saw how to manually implement the Work With of Attractions. There, we had inserted a variable on the grid in order to show the number of trips for each attraction and we saw how to assign value to them through the Load event. We also saw the possibility for defining actions on data. Here we will see how to directly obtain this with the pattern, without the need for manual programming.

This class only has written material. Download it and continue with the course!

Overview:  Advanced details on the determination of base tables and events. We study cases of web panels with parallel and nested grids, and the use of web components.

Technical Features Covered:  We recommend that the videos “Interactive screens: Web Panel object” and “Interactive screens: Web Panel object (cont)” be viewed in advance.

This class only has written material. Download it and continue with the course!

Overview:  On top of the web form of a transaction or Web Panel we have the Action Bar where we may define groups of actions that may be inserted on the form, like an <ActionGroup> control. We may also indicate that a group of actions will be of the Menu type to implement a menu that is self-adjustable/collapsible, according to the screen size. We will see an example where we create a Master Page.

This class only has written material. Download it and continue with the course!

Overview:  “Extended controls”, also known as “user controls” enable the creation of applications with rich user interfaces that are easy to use, for example, by including menus, maps, graphs, calendars, diagrams and numerous other resources.

We show the step-by-step implementation of an image gallery through the use of the “ImageGallery” extended control.Extended controls

This class only has written material. Download it and continue with the course!

Design

Overview:  Responsive web applications –also known as sensitive apps– offer an optimum view, as well as good navigation and an excellent use of screen space. All this is possible using a responsive web design that enables us to view all the information on screen in a harmonic way, by adapting sizes of controls and hiding details, all depending on the size of the screen available.

This class only has written material. Download it and continue with the course!

Overview:  Web applications call for special care in the user interface, that is: in the appearance and functioning of controls on screen enabling us to enter or view information. All the controls we include on a screen may be configured through the Theme object.

Click here for a PDF transcript of the video.

Reporting Tool

Overview:  Introduction of the Query object, its structure and main concepts. Step-by-step explanation of a query that is seen in runtime in the end as a graphic element.

Click here for a PDF transcript of the video.

Native Mobile Applications

Overview:  How to implement a part of the application for Smart Devices, especially with an example of use meant for end users, which will enable the query of trips available and the main tourist attractions in each city.

This video was filmed with GeneXus X evolution 3 version. Between that version and the current version no substantial changes have been made, so the video has not been filmed again. You will see different screens but all concepts continue to be applicable. The transcription of the PDF includes the screen captures in the GeneXus 15 version. Soon, this video will be replaced with a new one filmed in this version.

Including: pattern Work With for Smart Devices, Dashboard, SD Image Gallery, Geolocation, Order with Break by”.

Click here for a PDF transcript of the video.

Build Process

Overview:  Indication of how to define a Startup Object, with all the options available to build the application and execute it. Build/Rebuild/Run.

This class only has written material. Download it and continue with the course!

Version and Platform Management

Overview:  Basic actions and concepts for using GeneXus Server. Throughout this course GeneXus Server has been continuously used to manage and automatically integrate all the functionalities implemented. We did this working on our own individually and not as a team, and always from our local KB from where we upload our changes to the server. We did not see what happens when, in turn, other members of the team upload their own changes.

This video was filmed in the X version of Evolution 3, and it continues to be valid for GeneXus 15, even when the interface may differ. It will soon be replaced by a video filmed in the latest version.

Click here for a PDF transcript of the video.

Overview:  One of the main advantages of GeneXus is that it allows the generation of applications for different platforms. All this information is defined in an Environment that has several properties available for determining the execution platform and its characteristics.

Click here for a PDF transcript of the video.

Overview:  Basic actions and concepts for using GeneXus Server.

Technical Features Covered:  Throughout this course GeneXus Server has been continuously used to manage and automatically integrate all the functionalities implemented. We did this working on our own individually and not as a team, and always from our local KB from where we upload our changes to the server. We did not see what happens when, in turn, other members of the team upload their own changes.

This video was filmed in the X version of Evolution 3, and it continues to be valid for GeneXus 15, even when the interface may differ. It will soon be replaced by a video filmed in the latest version.

Read the video script here.

Overview:  An extension of what was already presented: ignored objects in commit, revert of objects ready for commit, partial update, integration of changes, viewer of changes, KB life cycle, and how to disconnect from the server.

This class only has written material. Download it and continue with the course!

Other Tools

Overview:  Introduction of the web services concept, showing how we may consume a webservice developed by third parties from a GeneXus application, and also how a web service may be developed in GeneXus.

Click here for a PDF transcript of the video.

Overview:  In this video, two complete examples that use web services are shown. The first one allows consuming a public web service from a GeneXus application and using the data to complement, in a PDF report, the information about an entity stored in the database. The second example shows how to convert a procedure object into a web service that can be invoked from any program, even if it hasn’t been developed with GeneXus.

Read the video script here.

Overview:  An introduction to the GeneXus Suite for managing business processes (BPM Suite), and how we may define a sequence of tasks from our reality as business process and model it in GeneXus to then execute it. With the GXflow client, we show how each user has an incoming tray with the user’s tasks pending execution and an administrator able to define users and permits, as well as to monitor the execution and modify the order of execution of tasks while optimizing the business process.

Click here for a PDF transcript of the video.

Overview:  With an example we show how to define a sequence of tasks from our reality as a business process an how to model it in GeneXus and execute it using GXflow. This diagram, fully integrated with the GeneXus IDE, allows an easy control of access to the application, and a follow-up of task execution and status, by managing the incoming tray of each user.

This class only has written material. Download it and continue with the course!

Overview:  Introduction to application testing with GXtest, and to how the tool aids in automating tests by recording sequences of operations to later reproduce those tests automatically, as if it were an individual entering data and verifying results.

Click here for a PDF transcript of the video.

Overview:  This video explains how GeneXus helps us to automate tests with GXtest. In the example developed, sequences of operations are saved and tests are then automatically reproduced as if a person is entering the data and checking the output. The example allows us to save a test case and detect an error in the code when the corresponding regression test is run.

Read the video script here.

Overview:  Introduction of the concept of the GAM security module (GeneXus Access Manager), and how it is imported to the KB, its configuration and execution. We also show how to access the GAM’s backend application that enables the recording of users, and the definition of roles, among other things.

Click here for a PDF transcript of the video.

Final Overview

Overview:  A review of the main topics studied in relation to database accesss. A discussion about the GeneXus philosophy relative to the abstraction of the physical model used as the basis. We will question everything relative to the use of tables done with learning purposes throughout the course.

Click here for a PDF transcript of the video.

What kind of apps can I build with GeneXus?

You can build all kinds of wonderful apps with GeneXus!

How should we work with other departments building apps?

You can build all kinds of wonderful apps with GeneXus!

What if my company doesn't use GeneXus. How can I get it in my company?

You can build all kinds of wonderful apps with GeneXus!

What are certifications?

Certifications are a way of validating users’ skills, expertise and technical competence with GeneXus. Certification exams assess whether candidates are able to use it effectively in order to leverage all the advantages provided by the tool, and thus increase productivity when developing applications with GeneXus.

Congratulations on completing this course. You’re now ready to start building  applications!