Lab genexusintroductorio
-
Upload
genexus -
Category
Technology
-
view
2.779 -
download
3
Transcript of Lab genexusintroductorio
Laboratorio GeneXus X
Evolution 1
For Dummies Última actualización: 24 de Marzo de 2011
Laboratorio GeneXus X Evolution 1
Página 1
Copyright Artech Consultores S. R. L. 1988-2010.
Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento
explícito de Artech Consultores S.R.L. La información contenida en este documento es para uso personal únicamente.
Marcas Registradas
Artech y GeneXus son marcas o marcas registradas de Artech Consultores S.R.L. Todas las demás marcas
mencionadas en este documento son propiedad de sus respectivos dueños.
Laboratorio GeneXus X Evolution 1
Página 2
1. Tabla de Contenido
1. Tabla de Contenido ............................................................................................. 2
2. Objetivo ............................................................................................................. 3
3. Preparación ........................................................................................................ 3
4. Diseño y gestión ................................................................................................. 6
Principales secciones del nuevo Integrated Development Environment (IDE) ..................... 6
Documentación ......................................................................................................... 7
Búsqueda ................................................................................................................. 8
Categorías .............................................................................................................. 11
Diagramas de Transacciones y tablas ......................................................................... 12
5. Desarrollo de la aplicación .................................................................................. 13
Patterns ................................................................................................................. 13
Web Transactions .................................................................................................... 17
Objeto Query .......................................................................................................... 21
6. Glosario ........................................................................................................... 25
Categories ........................................................................................................... 25
Fórmulas ............................................................................................................. 25
Patterns .............................................................................................................. 25
Reorganización ..................................................................................................... 25
User Controls ....................................................................................................... 25
Automatic Refresh ................................................................................................ 25
Query Object ........................................................................................................ 25
Laboratorio GeneXus X Evolution 1
Página 3
2. Objetivo
Poner en práctica varios de los conceptos de la versión GeneXus X Evolution 1, familiarizarse con el entorno
de desarrollo de la versión, y conocer algunas funcionalidades WEB, en particular el Query Viewer y User
Control.
3. Preparación
En la carpeta c:\LabIntroductorio tiene los XPZ que se usarán durante el lab, al igual que el resto del
material requerido.
Crear una nueva base de conocimiento, para lo cual, se le presentará el siguiente diálogo. Seleccionar
el generador Ruby en el combobox de Prototyping Environment:
Configurar las propiedades de conexión del modelo. Ir por Knowledge Base Navigator-> Preferences, y
seleccionar el DataStore SQL Server del Ruby Environment, como indica la figura más abajo.
Editar el valor de las propiedades, considerando:
o Database Name = Futbol
o ServerName = localhost\sqlexpress
Laboratorio GeneXus X Evolution 1
Página 4
o Use Trusted Connection = No
o User Id = sa
o User password = artech
Laboratorio GeneXus X Evolution 1
Página 5
Importar todos los objetos del XPZ1.xpz: Knowledge Manager -> Import:
Presionar F5 para ejecutar. GeneXus automáticamente detectará que han habido cambios y es
necesario reorganizar. Observe el Impact Analysis Report, donde se muestran los cambios a realizar
sobre las tablas y además las sentencias SQL que serán ejecutadas sobre la BD.
Para ejecutar la reorganización, presione el botón “Create”. Una vez terminada la reorganización,
aparecerá el mensaje “Reorganization Success” en el output window.
Luego de la ejecución de la reorganización, observe que automáticamente se genera la aplicación, se
ejecuta el Webrick (servidor web liviano) y se abre el browser, donde lo primero que ejecuta es el
DeveloperMenú, que presenta las transacciones, y un Web Panel de nombre “Load Data”. Ir por el link
del “Load Data” para cargar datos iniciales antes de empezar a trabajar.
El Web Panel “LoadData” implementa una carga básica de datos. Solicita el path en donde se
encuentran las imágenes de la aplicación. Ud. solo debe presionar el botón para que se efectúe la
carga.
A partir de aquí estará listo para realizar los ejercicios que siguen.
Laboratorio GeneXus X Evolution 1
Página 6
4. Diseño y gestión
Inicialmente introduciremos algunos conceptos de Diseño y gestión de la versión GeneXus X Evolution 1.
Principales secciones del nuevo Integrated Development Environment (IDE)
Las principales áreas del IDE de GeneXus X Evolution 1:
1: Knowledge Base Navigator. Un conjunto de menús contextuales para navegar sobre objetos (ya sea en su vista por directorios [“Folder View”] o categorías [Category View]), para visualizar la lista de los últimos cambios [“Latest Changes View”] y Preferencias del modelo [“Preferences"].
2: Principal. Aquí se despliega la Start Page y una pestaña por cada uno de los Objetos abiertos
3: Salida de las distintas operaciones (especificación, generación, compilación, etc) [“Output”]
4: Diálogo de propiedades y toolboxes de controles, objetos y variables que están seleccionadas
5: Toolbars de GeneXus para acceder a todas las opciones de la Knowledge Base.
Laboratorio GeneXus X Evolution 1
Página 7
Documentación
La documentación y organización del proyecto forma parte fundamental de un proceso de desarrollo,
principalmente en sus fases iniciales pero además acompañando el desarrollo en todas sus instancias, no solo
generándose nueva documentación sino incrementando o iterando sobre documentación generada en fases
previas. Estas necesidades son satisfechas por GeneXus X Evolution 1 con el objeto Documentation, y
además se brinda una mayor potencia a la documentación de cada objeto, utilizando la tecnología de wiki
pages.
Para ver esta funcionalidad de GeneXus comenzaremos realizando la edición de la documentación principal de la
KB, donde agregaremos una referencia a la documentación de la transacción “Player”.
Para esto se deben realizar los siguientes pasos:
1. Abrir la transacción “Player” (File -> Open Object, también la puede encontrar directamente buscando en el folder “Transactions”).
2. Escribir un texto de documentación en el tab Documentation de la misma:
3. Abrir el objeto de tipo Documentation llamado “Main”. En la vista de carpetas (“Folder View”)
Documentation / Main Document.
4. Abrir la vista de edición del objeto. (ver figura 1)
Figura 1: Vistas del objeto de tipo Documentation
5. Agregar el siguiente texto:
Objects Documentation:
Documentation of Player Transaction:
6. Salvar la página, mediante Ctrl.+S o File / Save
7. Agregar el link a la documentación de la transacción “Player”:
a. Escribir a continuación de “Documentation of Player Transaction” el texto “[[tr”, esto desplegará la lista de los diferentes tipos que pueden ser linkeados en la documentación:
Laboratorio GeneXus X Evolution 1
Página 8
8. Seleccionar el tipo de objeto Transaction. Al seleccionar el tipo se desplegará la lista con todas las
transacciones existentes en la KB.
9. Seleccionar la transacción “Player”, y salvar.
10. Volver al objeto Main. Pasando a la sección “Browse” del objeto podrá ver la documentación que se ha
editado, permitiéndose navegar por los hyperlinks hacia los objetos que son referenciados.
11. Pasando a la sección de “History”, se podrá ver el histórico de cambios del documento lo que permitirá hacer un seguimiento de las modificaciones de la documentación, pudiéndose acceder a cada una de estas versiones para ver su contenido y las diferencias con la versión anterior.
Búsqueda
Un elemento que permite una mayor fluidez en el desarrollo y que permitirá encontrar fácilmente cualquier
recurso buscado dentro de la KB, es la capacidad de búsqueda por contenido provista por el Search del IDE.
1. Abrir la toolbar de Búsqueda View / Other Tool Windows / Search
2. Escribir “Player” en el campo “Enter a word or phrase” y realice la búsqueda (clic en search)
Esto traerá varios resultados. Se puede observar que esta búsqueda por contenidos retorna elementos de la KB
si la frase por la que se realiza la búsqueda está en cualquiera de las secciones del objeto (reglas, eventos,
estructura, documentación, web Form, nombre, descripción, etc.)
Se muestra un link para abrir el objeto y al mismo tiempo otro link para abrir cada una de las secciones del
objeto que contiene la frase buscada.
Laboratorio GeneXus X Evolution 1
Página 9
3. Ahora realizaremos una búsqueda avanzada, donde buscaremos los objetos que son “Business Component” (transacciones que tienen la propiedad “Business Component” en True).
a. Dejar vacío el campo de búsqueda (“Enter a word or phrase”)
b. Abrir el diálogo para agregar la propiedad “Business Component” al criterio de búsqueda, clic en el botón “[…]”. Ver figura:
c. Clic en “OK”, lo que hará aparecer una línea en la sección “Criteria” con la propiedad Business Component y sus valores posibles
d. Seleccionar el valor “True”. Ver figura:
Laboratorio GeneXus X Evolution 1
Página 10
e. Hacer la búsqueda (clic en Search). Aparecerán todas las transacciones que sean Business components.
Laboratorio GeneXus X Evolution 1
Página 11
Categorías
Además de la vista por folders GeneXus X Evolution 1 incorpora la categorización de objetos, que permite
agrupar objetos bajo una (o más) categorías, que podrán ser definidas en forma estática por el analista
GeneXus, o que podrán ser mantenidas dinámicamente en base a criterios de búsqueda. Las categorizaciones
de objetos permitirán organizar de diferentes formas los objetos de la KB, según diferentes criterios que el
usuario podrá definir.
1. Para comenzar pasaremos a la vista por categorías (Category View) del Knowledge Base Navigator (si este no está desplegado View / Other Tool Windows / KnowledgeBase Navigator, en el área 1)
2. Crear una nueva categoría: clic derecho sobre el folder “All” y en el menú ir por New / Category. El nombre de la categoría será “Documented Objects”.
3. Ahora agregaremos a esta nueva categoría, un objeto que tiene documentación (en este caso, la transacción Player). Para esto haremos lo siguiente:
a. Pasar nuevamente a la vista de Carpetas (Folder View).
b. Seleccionar la transacción Player en el Folder View Objects / Transactions / Player. Al
momento de seleccionarla sus propiedades se desplegarán en la ventana de propiedades.
c. Dentro de la ventana de propiedades (en la parte inferior) está la sección de categorías del objeto. Allí (en Add Category) escribir “Documented Objects” y dar Enter.
d. Salvar la transacción.
e. Si volvemos a la vista por categorías (Category View) veremos la transacción Player bajo la categoría “Documented Objects”
Laboratorio GeneXus X Evolution 1
Página 12
Diagramas de Transacciones y tablas
El nuevo diagrama de tablas y transacciones permite obtener una visión global de la KB mediante diagramas
de Bachman. Se permite realizar diagramas de tablas, transacciones o ambos mezclados, permitiendo editar el
diagrama (agregando o quitando objetos) para mostrar diferentes perspectivas de las tablas o transacciones de
la KB, dándole al diagrama una mayor expresividad y poder de abstracción.
Crear un diagrama que nos permita ver la relación entre las transacciones del modelo.
1. Crear un nuevo objeto de tipo “Diagram”.
Una manera de hacerlo es presionar las siguientes teclas del teclado: Ctrl + N y seleccionar un objeto de tipo “Diagram”. Elegir un nombre para dicho objeto: “Diagram1” (por defecto) y hacer clic en “Create”.
2. Volver a la vista de objetos (Folder View) y arrastrar hacia el diagrama las transacciones “Player”, “Team”, y “Match”.
Ver como se relacionan las mismas.
5.
IDE TIP: Los atributos de una tabla o una TRN se pueden ocultar o visualizar en el
diagrama simplemente haciendo clic en el icono para colapsar, que está en la esquina
superior derecha.
Laboratorio GeneXus X Evolution 1
Página 13
6. Desarrollo de la aplicación
Patterns
1. Aplicar el Pattern Work With a todas las transacciones del modelo. En la vista de Folder View, seleccionar
las transacciones “Team”, “Player”, “Match”, y “Group” (presionando la tecla “Shift” se pueden seleccionar
varios objetos), y mediante botón derecho, seleccionar “Apply Pattern” -> “Work With”.
Observar que el Pattern Work With está integrado en esta versión. Verificar que se hayan generado los objetos
correspondientes al Pattern Work With. Puede ver los objetos generados en el Folder View, bajo cada una de las
transacciones.
2. Abrir la instancia del pattern WW de la transacción Team (para esto, abrir la transacción Team, seleccionar
la pestaña inferior Patterns, y luego la pestaña superior Work With), y eliminar el atributo “TeamHistory”:
Laboratorio GeneXus X Evolution 1
Página 14
3. Presionar F5 para ver la aplicación en ejecución. Lo primero que ejecuta es el Developermenu. Haga clic en
el “Work With Teams” y observe que aplicación ya está “enmarcada” en una MasterPage dada, que viene por
default (propiedad “Default Master Page” de la Versión). Esta propiedad se encuentra en la vista de
“Preferences”.
Laboratorio GeneXus X Evolution 1
Página 15
Laboratorio GeneXus X Evolution 1
Página 16
4. Abrir el objeto AppMasterpage (ubicado en la carpeta “GeneralWeb” en la vista “Folder View”) y modificar el
caption del Textblock del cabezal:
5. La página de Inicio de la aplicación será el Web Panel “Home”, por lo cual, se debe configurar dicho objeto
como el Start Up Object. En el Folder View, ubicar el Web Panel Home bajo los “Main Programs” y con botón
derecho seleccionar “Set as Startup Object”.
Laboratorio GeneXus X Evolution 1
Página 17
Ejecutar la aplicación con F5. Hacer clic en “Work With Matches”. Observar que se tiene un grid con un filtro, en el
que el refresh es automático, es decir, ingresado un filtro los datos se cargan automáticamente sin necesidad de
presionar un botón de búsqueda.
Web Transactions
1. Editar la transacción “Match”. Realizar los siguientes pasos:
a. Abrir la transacción “Match”, y clic sobre la pestaña “Web Form”.
b. Configurar los atributos CountryIdentifier y CityIdentifier como combos dinámicos, como se muestra a
continuación:
Laboratorio GeneXus X Evolution 1
Página 18
b. A continuación, vamos a modificar la edición de los datos del grid para que sea posible ingresar un
jugador mediante una lista de sugerencia (que no sea necesario recordar el Identificador del jugador ni
seleccionarlo mediante un prompt); y que solo se pueda ingresar un jugador que pertenezca a uno de
los dos equipos del Match.
En la transacción “Match”, ir por la pestaña “Web Form”. Para editar las columnas del grid, hacer clic
con botón derecho sobre el grid, e ir por la opción “Columns” del menú contextual:
Laboratorio GeneXus X Evolution 1
Página 19
Eliminar la columna PlayerName, y para el atributo PlayerIdentifier configurar:
La propiedad “Input Type” = Descriptions, “ItemDescriptions” = PlayerName
“Suggest” = On Request
“Conditions” = TeamIdentifier=MatchTeam1Identifier or
TeamIdentifier=MatchTeam2Identifier;
Laboratorio GeneXus X Evolution 1
Página 20
c. Ejecutar “Work With Matches”. Hacer clic en para poder ingresar un nuevo Match. En la transacción,
observar el comportamiento de los combos dinámicos que se cargan de manera relacionada.
Observar también el prompt GeneXus que se abre de forma modal. Ver que una vez seleccionada la
clave del equipo se infiere automáticamente la descripción del mismo.
Notar que si ingresa dos veces el mismo equipo de dispara la siguiente regla automáticamente:
error('Matches cannot be the same!') if MatchTeam1Identifier =
MatchTeam2Identifier;
En el grid, notar el funcionamiento del suggest para seleccionar los jugadores que realizaron goles.
Observar que en el suggest solo están los jugadores de alguno de los dos equipos del Match. Además,
cuando se ingresan los goles de los jugadores se actualiza de manera automática las fórmulas de
cantidad de goles de cada equipo y total de goles del partido.
Laboratorio GeneXus X Evolution 1
Página 21
Objeto Query
1. Crear un Objeto Query (“Query1”) como el siguiente:
2. Consolidar XPZ2.xpz (Knowledge Manager -> Import).
3. Insertar en el form del objeto “PlayerScore”, el User Control “Query Viewer” (seleccionar el control de la toolbox, en la sección “Extended Controls” y arrastrarlo hacia el form. En caso de no tener disponible la toolbox, la puede abrir haciendo clic en View -> Other Tool Windows -> Toolbox)
Laboratorio GeneXus X Evolution 1
Página 22
Laboratorio GeneXus X Evolution 1
Página 23
4. Configurar las siguientes propiedades del “Query Viewer” control:
Object= Query1 (el Query creado anteriormente)
Type=Chart
5. Observar que el objeto Query (“Query1”) que se ha creado anteriormente recibe como parámetro el TeamIdentifier. Entonces, en el webpanel PlayerScore, seleccionar la pestaña “Events” y programar lo siguiente (notar que la variable &TeamIdentifier ya está como combo dinámico en la pantalla):
Event Refresh &Parameter = new() &Parameters = new() &Parameter.Name = "TeamIdentifier" &Parameter.Value = trim(&TeamIdentifier.ToString()) &Parameters.Add(&Parameter) EndEvent
4. Para que sea posible cambiar el tipo de gráfica presionando el botón “confirm”; programar lo siguiente (notar que la variable &QueryType ya está como combo en la pantalla):
Event Enter queryViewer1.ChartType = &QueryType EndEvent
5. Ejecutar el webpanel, haciendo clic con el botón derecho sobre “PlayerScore”, “Run With this Only”.
Laboratorio GeneXus X Evolution 1
Página 24
Laboratorio GeneXus X Evolution 1
Página 25
6. Glosario
Categories
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?5287
Fórmulas
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?5861
Patterns
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?2814
Reorganización
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?3154
User Controls
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?5273
Automatic Refresh
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6744
Query Object
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?9026