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
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).
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 : allows
updating the selected application data.
·
Delete : 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.
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.
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.
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 : 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.
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.
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 : allows
updating the selected menu data.
·
Delete : 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.
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.
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 : allows
updating the selected menu option data.
·
Delete :
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.
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.
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 : allows
updating the selected operation data.
·
Delete : allows deleting the selected operation.
·
Services
: allows managing the
operation services.
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.
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 : allows
updating the selected service data.
·
Delete :
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.
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.
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 : allows
updating the selected activity data.
·
Delete : 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.
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.
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.