Applications

This module has two objectives. It allows integrating applications to the portal easily and it enables GXportal to be the framework of a web application.   

 

There is a technical guide for GeneXus developers that provides a step-by-step explanation on how to integrate an application developed with GeneXus 9.0 in GXportal 4.3.0.0. You can access the document by clicking here.

 

This integrating framework allows considering the aesthetic design independently of the application and it also makes navigation design independent of the application (dynamic menus with rights), thus allowing to focus on the application development and generate more flexible, higher-quality applications.  

 

This framework allows defining and setting up the menu tree of a generic application.     

The application menu options are links to web pages (web programs). An interface is provided to define options and user rights over the web programs (activities).   

 

Working with applications

When you want to execute a task on an application or to create a new application, you must click on the Configuration option of GXportal main menu and select the Applications option. The following screen will be displayed.  

 


Figure 8.4.1

 

On the field on the right of Search, you may enter part of the name or description of the application to be searched. Then, by clicking on the ‘Search’ button, the search will be executed and all applications matching this condition will be displayed on the screen.     

 

The following actions can be executed from here: 

 

·         Display: by clicking on the application name you can display the application data. 

·         Add : this action is used to add an application. On creating an application you automatically create two execution environments: Development and Production. An application must always have a minimum of two environments defined. 

·         Update Actualizar registro: allows updating the selected application data. 

·         Delete Borrar registro: allows deleting an application. To be able to delete an application no service from another application can be pointing at an menu option of the application to be deleted.   

·         About: allows displaying and updating application data (Company Name and application version, etc.) 

·         Preview : the application execution environments will be displayed and, on selecting one of them by clicking on its description, the application presentation page will be displayed with the application menu. Only the menu options for the selected environment will be displayed, according to the defined rights. In an environment, you will visualize what is in this environment and the next ones, but not what is in the previous ones. Let’s say that you define Development, Test and Production. In Development you will visualize the menu options pointing at activities from any environment, in Test you will visualize what is in Test and in Production and in Production you will be able to visualize just what is in Production.   

·         Publish: on selecting this action you will be asked to confirm the application publication. This action transfers the application and each one of the application activities to the next execution environment.   

·         Move up: this action may be used to sort the applications. It moves the application up. 

·         Move down: this action may be used to sort the applications. It moves the application down. This order is used by the “Applications List” GXportlet. The defined applications are displayed in this order on the page.   

 

Creating an application 

When you want to add an application, the following screen is displayed:

 


Figure 8.4.2

 

Here, you enter the application name and version and then the application name in the portal with the corresponding description, the latter in the portal languages and. On clicking on Save, data is saved and the following fields will be displayed:   

 



Figure 8.4.3

 

·         Exclusive program name by activity: this property allows selecting whether the program name exists exclusively for one activity. If it exists for more than one activity, validating the security by program name will not be possible and it will have to be validated only by activity name.

·         Current execution environment: is the environment where the application is located. Any environment defined for the application may be selected, or it may even be Offline.

·         Main Menu:  you select the menu whose menu options will be displayed in the ‘Application Menu’ GXportlet (application main menu). 

·         Default Activity: the name of the application default activity is selected. It is displayed by GXportal in the ‘Container’ GXportlet with Identifier = 1 when a user enters the application from the applications menu.   

·         Presentation page: this is the page where the application will be presented. It is used as application framework.   

 

If you click on the ‘Advanced’ button, you can set up further application information. It is visualized on the following screen:

 

 


Figure 8.4.4

 

·         Bullet image: this image will be used by the ‘Applications List’ GXportlet. It is always displayed on the left of the application, regardless of the GXportlet format.

·         Default image: this image will be used by the ‘Applications List’ GXportlet, provided it is setup to be displayed with Images Format.   

·         Mouse over image: this image will be used by the ‘Applications List’ GXportlet provided it is setup to be displayed with Images Format and the user hovers with the mouse over the application.   

·         Observation image: this image will be used in the ‘Applications List’ GXportlet and will be always displayed on the right of the application, regardless of the GXportlet format.   

 

The following information is also shown: application creation date and user who created it as well as last modification date and user who modified it.

 

Roles

To define the application execution environment you must click on the Environments option and the following screen will be displayed: 

 


Figure 8.4.5

 

·         Select: this option allows selecting roles defined in the portal. The selected roles remain as application private roles. They are exported with the application together with their rights defined for this application.

·         Remove: this option allows deleting the role as application private role. 

 

Execution Environments 

To define the application execution environments you must click on the Environments option and the following screen will be displayed. 

 


Figure 8.4.6

 

The following actions can be executed from here: 

 

·         Display: by clicking on the execution environment name you can display its   data. 

·         Add : this action is used to define a new execution environment.

·         Delete Borrar registro: allows deleting an execution environment. An application must have at least two execution environments defined. You cannot delete the execution environment where the application is located or any execution environment where the activities defined for the application are located.   

·         Move up: this action may be used to sort the execution environments. It moves the environment up. 

·         Move down: this action may be used to sort the execution environments. It moves the environment down. This order is used to represent the environments through which an application and its activities are transferred. 

 

 

Creating an execution environment 

If you want to add an execution environment, the following screen will be displayed: 

 


Figure 8.4.7

 

·         Host: is the name of the server where the application and its activities are located in the current environment. 

·         Port: is the server port number to access the application and its activities in the current environment.   

·         Virtual directory: is the virtual directory the application and its activities are pointing at for the current environment.

·         Execute on secure protocol (https): indicates whether the application and its activities (Program type) will be executed on secure protocol in the current environment.   

·         Programs pack: indicates the environment programs prefix. It is frequently used for Java applications, indicating the pack the class belongs to; e.g.:  com.artech.gxportal

·         Programs extension: indicates the extension of the programs executed in the current environment; e.g.: aspx, asp, etc.

·         Description: is the environment description in the backend languages.   

 

Defining different applications with the same execution environment is not allowed. The execution environment must be different, at least in the Host name, port number or virtual directory name. 

 

On clicking on the ‘Advanced’ button, the following information is displayed: execution environment creation date and user who created it as well as last modification date and user who modified it. 

 

Menus

To define the menus and the application menu options you must click on the Menus option and the following screen will be displayed. Menus represent the application menus.   

 

 


Figure 8.4.8

 

On the field on the right of Search, you may enter part of the name or description of the menu to be searched. Then, by clicking on the ‘Search’ button, the search will be performed. All menus matching this condition will be displayed on the screen. 

 

The following actions can be executed from here: 

 

·         Display: by clicking on the menu name you can display the menu data. 

·         Add : this action is used to define a new menu. 

·         Update Actualizar registro: allows updating the selected menu data. 

·         Delete Borrar registro: allows deleting the selected menu. A menu cannot be deleted if a menu option is pointing at it or if it is the application main menu. 

·         Options : allows managing the menu options of the menu.   

 


Creating a menu 

If you want to add a menu, the following screen will be displayed: 

 


Figure 8.4.9

 

The menu name and description are entered on this screen, in the portal languages. On clicking on Confirm, all the information is saved and a screen will be displayed to define the menu options. 

 

Menu options

To define the menu options of a menu you must click on the Menus option and then on the Options  option of the corresponding menu. The following screen will be displayed. The activities menu options represent the menu options.

 

 


Figure 8.4.10

 

On the field on the right of Search, you may enter part of the name or description of the menu option to be searched. Then, by clicking on the ‘Search’ button, the search will be performed. All the menu options matching this condition will be displayed on the screen. 

 

The following actions can be executed from here:  

 

·         Display: by clicking on the menu option name you can display the menu option data. 

·         Add : this action is used to define a new menu option. 

·         Update Actualizar registro: allows updating the selected menu option data. 

·         Delete Borrar registro: allows deleting the selected menu option. 

·         Move up: this action is used to sort the menu options in the current menu. It moves the menu option up. 

·         Move down: this action is used to sort the menu options. It moves the menu option down. This order is used by the ‘Application Menu’ GXportlet. It is the order in which the menu options of the selected menu are displayed in the menu for the selected application. 

 

Creating a menu option 

When you want to add an menu option, the following screen is displayed:  

 


Figure 8.4.11

 

·         Menu option Type: the menu option may point at an activity or at another menu. 

·         Activity: if the menu option points at an activity, the activity must be indicated. For this, you must click on   and all the activities defined for the current application will be displayed, as shown in the following screen:

 


Figure 8.4.12

 

On the field on the right of Search, you may enter part of the name or description of the activity to be searched or part of the name of the program. Then, by clicking on the ‘Search’ button, the search will be executed. All the activities matching this condition will be displayed on the screen. 

 

To select an existing activity you must click on its description and you will return to the previous page. The activity will remain selected.   

To create a new activity you must click on , enter the activity data and click on the Confirm button. You will return to the screen where the created activity will be added. To select this activity you must proceed as in the previously explained case.   

 

·         Parameters: description of program parameters. If the defined program receives them, they must be separated by a comma (‘,’).  These parameters will be automatically concatenated to the fixed parameters already setup in the activity. 

 

·         Menu: if the menu option points at a menu, the menu must be indicated. For this, you must click on  and all the menus defined for the current application will be displayed, as shown in the following screen.

 


Figure 8.4.13

 

On the field on the right of Search, you may enter part of the name of the menu to be searched. Then, by clicking on the `Search’ button, the search will be executed. All the menus matching this condition will be displayed on the screen. 

 

To select an existing menu you must click on its name and you will return to the previous screen. The menu will remain selected. 

To create a new menu, you must click on , enter the menu data and click on the Confirm button. You will return to this screen where the created menu will be added. To select this menu you must proceed as in the previously explained case.   

 

·         Name and description: are the menu option name and description in the portal languages. If the menu option points at an activity and the menu option name was not entered, the menu option is saved with the name of the activity it is pointing at.  If the menu option points at a menu and the menu option name was not entered, the menu option is saved with the name of the menu it is pointing at.  When the application is executed, the description may be displayed as help text of the menu option. This must be setup in the corresponding GXportlet.

 

On clicking on the ‘Advanced’ button you can setup more menu option information. It is seen on the following screen. 

 


Figure 8.4.14

 

 

·         Bullet image: this image will be used by the ‘Application Menu’ GXportlet. It is always displayed on the left of the menu option, regardless of the GXportlet format.

·         Default image: this image will be used by the ‘Applications Menu’ GXportlet to present the menu option, provided it is setup to be displayed with Images Format.   

·         Mouse over image: this image will be used by the ‘Application Menu’ GXportlet, provided it is setup to be displayed with Images Format and the user hovers with the mouse over the menu option.

·         Observation image: this image will be used by the ‘Application Menu’ GXportlet and will be always displayed on the right of the menu option, regardless of the GXportlet format.   

 

The following information is also shown: menu option creation date and user who created it as well as last modification date and user who modified it.

 

Operations

To define the application operations and services you must click on the Operations option and the following screen will be displayed. The operation contains a group of services provided by menu options. The same operation may be used by several menu options. 

 


Figure 8.4.15

 

On the field on the right of Search, you can enter part of the name, description or identifier of the operation to be searched. Then, by clicking on the ‘Search’ button, the search will be performed. All the operations matching this condition will be displayed on the screen. 

 

The following actions can be executed from here: 

 

·         Display: by clicking on the operation name you can display the operation data. 

·         Add : this action is used to define a new operation. 

·         Update Actualizar registro: allows updating the selected operation data. 

·         Delete Borrar registro: allows deleting the selected operation. 

·         Services : allows managing the operation services. 

 

 

Creating an operation 

When you want to add an operation, the following screen is displayed. 

 


Figure 8.4.16

 

·         Identifier: String identifying the operation. This string will be the means through which an activity provides GXportal with the list of services to be displayed.  The string is alphanumeric and the program name is generally used (hname_web_panel).

·         Name and description: are the operation name and description in the portal languages. 

 

On clicking on Confirm, data are saved and a screen to define the services will be displayed. 

 

Services

To define the services of an operation you must click on the Operations option. Then you must click on the Services  option of the corresponding operation and the following screen will be displayed. 

 


Figure 8.4.17

 

On the field on the right of Search, you may enter part of the name or description of the service to be searched. Then, by clicking on the ‘Search’ button, the search will be performed. All services matching this condition will be displayed on the screen. 

 

The following actions can be performed from here: 

 

·         Display: by clicking on the service name you can display the service data.   

·         Add : this action is used to define a new service. 

·         Update Actualizar registro: allows updating the selected service data. 

·         Delete Borrar registro: allows deleting the selected service. 

·         Move up: this action may be used to sort the services of the current operation. It moves the service up. 

·         Move down: this action may be used to sort the services of the current operation. It moves the service down. This order is used by the ‘Container’ GXportlet. It is the order in which the operation associated services are displayed. 

 

Creating a service 

When you want to add a service, the following screen is displayed. 

 

 


Figure 8.4.18

 

·         Application: you must indicate the application the activity pointed at by the current services belongs to. For this, you must click on  and all defined applications will be displayed, as shown in the following screen. 

 


Figure 8.4.19

 

On the field on the right of Search, you may enter part of the name or description of the application to be searched. Then, by clicking on the ‘Search’ button, the search will be performed. All applications matching this condition will be displayed on the screen. 

 

To select an application you must click on its name and you will return to the previous screen. The application will remain selected. 

 

·         Activity: you must indicate the activity the current service is pointed at. For this, you must click on  and all the activities of the selected application will be displayed, as shown in the following screen.

 

 


Figure 8.4.20

 

On the field to the right of Search, you may enter part of the name or description of the activity or part of the name or the program to be searched. Then, by clicking on the ‘Search’ button, the search will be executed. All the activities matching this condition will be displayed on the screen. 

 

To select an existing activity you must click on its description and you will return to the previous page. The activity will remain selected.   

To create a new activity you must click on , enter the activity data and click on the Confirm button. You will return to the screen where the selected activity will be added. To select this activity you must proceed as in the previously explained case.   

 

·         Parameters: description of the program parameters. If the defined program receives them, they must be separated by a comma (‘,’).  These parameters will be automatically concatenated to the fixed parameters already setup in the activity. 

 

·         Name and description: are the service name and description in the portal languages. If the service name was not entered, it is saved with the name of the activity it is pointing at. When the application is executed, the description may be displayed as help text of the service. This can be setup in the corresponding GXportlet.

 

On clicking on the ‘Advanced’ button you can setup more service information. It is seen on the following screen. 

 


Figure 8.4.21

 

 

·         Bullet image: this image will be used by the ‘Container’ GXportlet. It is always displayed on the left of the service, regardless of the GXportlet format.

·         Default image: this image will be used by the ‘Container’ GXportlet, provided it is setup to be displayed with Images Format.   

·         Mouse over image: this image will be used by the ‘Container’ GXportlet provided it is setup to be displayed with Images Format and the user hovers with the mouse over the service.   

·         Observation image: this image will be used by the ‘Container’ GXportlet and will be always displayed on the right of the service, regardless of the GXportlet format.   

 

The following information is also shown: service creation date and user who created it as well as last modification date and user who modified it.

 

Activities

To define the activities of an application you must click on the Activities option and the following screen will be displayed. The activities are the links to the web programs developed by the user (if the application was developed with GeneXus, web panels and/or transactions names must be defined).

 


Figure 8.4.22

 

On the field on the right of Search, you may enter part of the description of the activity or part of the name of the program that the activity to be searched is calling.  Then, by clicking on the ‘Search’ button, the search will be performed. All the activities matching this condition will be displayed on the screen. 

On the right of Execution Environment, you may select the environment where the activities you want to list are located. If you do not want to use this filter, you must select the value ‘All’. Initially, it will be selected the environment where the application is located.   

On the right of Filter by you can filter by Menu or by Operation. 

If you select Menu, all menus will be loaded on the right. And on selecting a Menu,   a list will be displayed with all the activities called by the  menu options of the  menu or by the menu options of the menus called by the menu options of the selected menu. 

If you select Operation, all the operations will be loaded on the right. And on selecting an operation you will list all the activities called by the services of the selected Operation. 

If you do not want to filter by Menu or by Operation, you must select the value (Select). 

 

The following actions can be executed from here: 

 

·         Display: on clicking on the activity description you can display the activity data. 

·         Add : this action is used to define a new activity. 

·         Update Actualizar registro: allows updating the selected activity data. 

·         Delete Borrar registro: allows deleting the selected activity. You will be not allowed to delete an activity if a menu option is pointing at it or if it is the application default activity. Likewise, you cannot delete an activity if a service is pointing at it.

·         Publish: this action transfers the selected activities to the following execution environment. For this, you must click on the ‘Publish’ column for the corresponding activities and the box will remain selected (). To remove the selection you must click again on the ‘Publish’ column for the corresponding activities and the box will remain unselected (). To confirm the changes, click on the Save button (). To select all the listed activities you may left click on the  button and to remove the selection of all listed activities you may right click on this button. 

 

Creating an activity 

When you want to add an activity the following screen is displayed. 

 


Figure 8.4.23

 

The following information is show by clicking on the ‘Advanced’ button: activity creation date and user who creates it as well as last modification date and user who modified it.

 

·         Name: is the name that will identify this Activity.  

·         Current Environment: is the environment where the activity is located. You can select any environment defined for the application of it may be Offline. 

·         Activity type: you can select program Name or GXflow.

·         Description: is the activity description in the portal languages. 

 

If the ‘Activity type’ is ‘Program Name’, the following is required: 

 

·         Name: program name (web page). They can be developed in any web technology. A service is available that allows accessing the user session thus obtaining the roles and rights over the indicated activities. There cannot be two activities from the same application with the same program name and the same parameters. If the application is developed with GeneXus (www.genexus.com), the activities would be the name of the web panels and transactions. To access the user session there is an access to GXportal database through APIs and Data Views. To consolidate these activities in your KB, you must download the xpz file located in the download area of our site. It includes an example.   

·         Fixed parameters: description of the program parameters. Provided the defined program receives them, they must be separated with comma (‘,’).

·         Does it receive security parameters?: you must select the box in case the program receives security parameters sent by GXportal. It allows validating the user session. 

 

If the ‘Activity type’ is ‘GXflow’, the following is required (www.gxflow.com):

 

·         Features: you must select GXflow features. The list displays the possible entry points of the application created using GXflow as Workflow engine. This allows for the easy incorporation of process-oriented applications. This provides transparent integration between GXportal and GXflow. Some examples of these functionalities are the following: 

o        Process Manager 

o        Management Console 

o        Desk

o        Desk – Inbox

o        Desk – Outbox

o        Workflow Tasks

§         A list of application processes will be displayed. On selecting one of them, the list of tasks corresponding to the selected process is displayed. 

§         This allows starting a Workflow Process-Task from the application menu (executing the workflow engine in batch mode).   

 

If you are integrating a GeneXus application with GXflow, you must bear in mind the following considerations:  

 

·         Verify in the KB, that WFSDTProcessDefinitions and WFSDTTasks SDTs have the “Exposed name” = null (empty) and the “Exposed namespace” = "gxflow" properties setup in their properties.

·         Nominate the users that will participate in the workflow.

·         Users must be only defined in GXportal.

·         User roles must be only manager from GXportal.

·         Map the portal roles with GXflow roles. For this, you must define a role in GXportal for each GXflow role. Besides, in the “External Code” property, enter the role identifier in GXflow, as shown in the following figure where K2B role is mapped with GXflow 10 role:

 


Figure 8.4.24

 

Number 10 is obtained from GXflow backend, accessing with WFADMINISTRATOR user, go to Management Console and then, in the Roles TAB, click on the corresponding role and then on the button with a lens. You will access the role screen, as shown in the following image: 

 


Figure 8.4.25

 

This will allow centralizing the users definition in GXportal. The moment a user enters a “GXflow” type activity, GXflow takes the same roles as this user authenticated in GXportal. This roles synchronization between GXportal and GXflow is performed once per session; therefore, if the user roles change during the session, the user must close the browser and open it again so that GXflow visualizes the change.

 

 

Available GXportlets  

The following GXportlets are available to access the applications and their menu options: 

 

·         Applications list: this GXportlet allows publishing all the defined applications. Applications will be listed according to the defined rights, according to the execution environment where they are located. They must have the main menu defined with menu options and at least one of these menu options must point at an accessible activity. This depends on the execution environment where it is located and on the defined rights.

This GXportlet has basically the same properties as the Menu GXportlet. For a more detailed description of the properties groups, please click here.

 

·         Application menu: this GXportlet allows publishing the menu tree of the selected application. Menu options will be listed according to the rights defined for the menus and activities and the activities execution environments.   

This GXportlet has the same properties as the Menu GXportlet. For a more detailed description of the groups, please click here.

 

·          Container: This GXportlet allows displaying the defined menu options and services (activities). They must be identified by a unique identifier on the page. For this, you must select a value in the “Container Identifier” property. Each page must always have a container with identifier 1. Menu options selected in the “Application Menu” GXportlet will be displayed in this Container 1. You may use several containers on a page and there are features that allow the communication between containers. Among other things, this enables the activity of Container 1 to display an Operation in Container 2 and/or other containers existing in the page. And if the operation contains several Services, a list (menu) with these services will be displayed, depending on the user rights. For this, the GXportal page has a Java Script function that can be executed from the application: 

 

parent.parent.GXPAppIntGetOpe("Id _Contenedor","Id _operación",[”Id _Servicio”])

 

Where the parameters indicate the following: 

Id _Contenedor:     String identifying the Container    (e.g..: “02”)

Id _operación:       String identifying the Operation   (e.g..: “hclientes”)

Id _Servicio:          Service identifier                      (e.g..: “3”)

 

If the application was developed with GeneXus (www.genexus.com), there is a Web Component available to establish this communication transparently. For this, download the xpz file located in the download area of our site with this purpose. It includes an example.   

 

To setup the services list aesthetic, you have basically the same properties as the Menu GXportlet available. For a more detailed description of the properties groups, please click here.