Professional Documents
Culture Documents
0
English version
Actualizar su aplicacin a GeneXus 9.0 significa convertirla a la versin 9.0 manteniendo las mismas funcionalidades y principalmente manteniendo la plataforma de la aplicacin generada.
Esta actualizacin le permitir utilizar -sin que el desarrollador tenga que intervenir de modo alguno- las funcionalidades implcitas de la versin (por ejemplo las disponibles en el Development Environment como tambin las optimizaciones generales de la aplicacin qu pueden repercutir en performance, interfaz, etc.) Acceda a http://www.gxtechnical.com/gx90 para tener una visin general de la versin. Acceda aqu para ver las funcionalidades implcitas de las cuales podr hacer uso en esta versin sin costos de programacin.
Siga esta gua paso a paso para convertir su base de conocimiento a la versin GeneXus 9.0
Aplique esta herramienta para comparar los listados de navegaciones de los objetos entre la versin inicial y la versin 9.0. Esto le permitir ver las diferencias que pueden surgir por las mejoras/cambios introducidos en la versin.
Se recomienda realizar este curso de actualizacin que se brinda en modalidad no presencial Para obtener el material acceda a http://www.gxtechnical.com/main/hgxtrain.aspx?2,4,272,4 Para inscribirse al curso enve un email a training@genexus.com
Este documento clasifica las funcionalidades de la versin 9.0 de GeneXus segn el costo y el beneficio de incluirlas en una base de conocimiento existente. Decimos que una funcionalidad es implcita cuando el desarrollador no tiene que intervenir de modo alguno para utilizarla (o solamente requiera configurar una propiedad general del modelo). Las funcionalidades explcitas son las que requieren la intervencin del desarrollador para sacar provecho de las mismas. Adems, una funcionalidad nos brindar un beneficio Directo cuando es visible en la solucin final provista al cliente. Mientras que el beneficio ser Indirecto cuando sea una mejora en el ambiente de desarrollo/productividad. La documentacin completa se encuentra disponible en las Release Notes de GeneXus 9.0
Clasificacin
Funcionalidades Implcitas
Funcionalidad Ajax - Web client side validation
Application Localization .NET Mobile Generator Implcito Directo
Costo
Implcito Impltico
Beneficio
Directo Directo
Comentario
Requiere generar la aplicacin y traducir los textos Requiere generar la aplicacin
MySQL Theme Editor Version 2.0 Database Reverse Engineering Tool Export Compare Tool Server side constraints Using Filters as Hints Optimized find navigation "For each exit" code optimization Optimization for mass updates Improved Concurrency handling: Additive Attributes Improvements in Developer Experience More tooltips Delete multiple interrelated KB objects at once Procedures can now call web objects Automatic date/date time validations Linked combo or list boxes
Implcito Implcito Implcito Implcito Implcito Implcito Implicito Implcito Implcito Implcito Implcito Implcito Implcito Implcito Implcito Implcito Implcito
Directo Directo Indirecto Indirecto Directo Directo Indirecto Indirecto Directo Directo Indirecto Indirecto Indirecto Indirecto Directo Directo Directo Indirecto Indirecto Directo Indirecto Directo Indirecto Indirecto
Mejora de performance
Web Transactions with more than 2 levels support URL access Property Rows Property New options on rightclick in win New sql syntax for oracle 9.x and higher Help "in any language" New option to import just the Help New option to generate again the changed help only Implcito Implcito Implcito Implcito Implcito Implcito Implcito
Funcionalidades Explcitas
Las funcionalidades explcitas se describen en Funcionalidades explcitas de GeneXus 9.0.
Funcionalidades Explcitas
Funcionalidad Master Pages Business Components More J2EE support than ever Applications monitoring and management support LUW managed by the EJB Container GXchart 3.0 Option to Sign database updates Data Area, a new control for web styles BLOBs in Web forms SDTs can be on the form Web Services: Grouping Locations Null handling optimizes navigations
Costo Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito
Beneficio Indirecto Indirecto Indirecto Directo Indirecto Directo Indirecto Indirecto Directo Indirecto Indirecto Indirecto
Message Queue handling data types DirectoryDataType FileDataType Ime Mode Property InputType property LDAP DataType
Directo Indirecto Indirecto Directo Directo Directo Directo Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto Indirecto
??
Cambiar propiedades
Suggest Property New Before Connect property New IIF function New byte count function New call syntax XSLTApply Method New Methods for attributes, variables and enumerated domains! Changes in Textblock handling in Web forms More events available in Rules Update Rule Noaccept rule supports multiple attributes as parameters New Dependencies clause in assignments Defined by clause support in new
Cambiar propiedades
Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito Explcito
Cambiar Programacin
Como el proceso no es back-compatible se recomienda realizar un respaldo previo. Tambin se sugiere minimizar el tiempo de la conversin siguiendo los pasos que se detallan aqu: 1. Respaldar la base de conocimiento a convertir Se recomienda realizar un backup de la base de conocimiento a convertir antes de comenzar el proceso. Este respaldo ser el que se convertir a la versin 9.0 Debe recordarse que existen diferentes opciones de respaldo (ver ms informacin enhttp://www2.gxtechnical.com/portal/hgxpp001.aspx?15,4,61,O,S,0,,7728) El respaldo nicamente de la Base de Conocimiento sera suficiente para esto. 2. Reconstruir los ndices Para evitar problemas de ndices corruptos en la base de conocimiento, se sugiere hacer un rebuild -Y. Acceda aqu (http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,4,61,O,S,0,,2106) por ms informacin. 3. Borrar todos los modelos no utilizados Para que la conversin sea ms rpida es recomendable borrar todos los modelos no utilizados y el modelo de backup si lo hubiera.
4.Borrar objetos no usados Para ahorrar trabajo en la conversin es recomendable borrar todos los objetos no utilizados. Estos objetos no utilizados pueden tene errores de programacin que eviten su conversin.
5. Instalar el generador Origen y Destino en la versin 9.0 En los casos de conversiones de bases de conocimiento que implican tambin un cambio de generador (por ejemplo de VB a .NET, o d VFP a Java) se recomienda instalar tambin el generador Origen en la versin 9.0, aunque el mismo luego no se vaya a utilizar. En el proceso de migracin, muchas veces es necesario acceder a archivos de propiedades del generador origen, y al no encontrarse da errores.
6. Conversin de la KB Ejecutar GeneXus 9.0 y abrir la base de conocimiento a convertir. Ver el proceso de conversin. Recuerde salvar el archivo de objetos que tienen errores de conversin. Este deber ser utilizado para solucionar los problemas que s reporten.
Etapa 2 - Ajuste de la KB
Se recomienda realizar un anlisis de las propiedades de los modelos ya que en muchas oportunidades se cambian los valores por defecto de las mismas pudiendo modificar el comportamiento. 7. Analizar los valores por defecto de las propiedades Acceda aqu para ver los cambios en las propiedades por defecto y como pueden impactar en su base de conocimiento. 8. Compatibilidad Acceda aqu para ver temas de compatibilidad. 9. Nuevas propiedades Acceda aqu para ver las nuevas propiedades definidas en la KB. Estas nuevas propiedades no deberan implicar cambios en el comportamiento, de todos modos se recomienda revisarlas.
Se realizar una comparacin de las navegaciones de todos los objetos entre la versin inicial y la versin 9.0 para verificar que se tenga el comportamiento esperado. Para esto, se cuenta con una herramienta adicional que genera un formato de texto unificado de las navegaciones. 10. Comparar las navegaciones
Acceda aqu para ver la metodologa a seguir para comparar las navegaciones. Finalizada esta comparacin, se puede garantizar que la base de conocimiento est convertida a la versin 9.0 manteniendo el comportamiento deseado. 11. Test Para finalizar, se debe generar la aplicacin en el Generador que corresponda y comenzar as el testeo de la misma. En el caso de realizar una conversin bsica, este proceso podr realizarse inmediatamente.
Descripcin : Que es necesario guardar cuando se quiere respaldar una KB? Abstract La informacin a respaldar de una Base de Conocimiento puede variar. Se detallan los diferentes casos posible.
Descripcin Detallada El respaldo debe efectuarse considerando que es lo que se desea respaldar: 1) Respaldo nicamente de la Base de Conocimiento (no incluye fuentes ni datos de modelos prototipo y produccin), se debe copiar el contenido del directorio raz de la base de conocimientos. A partir de la versin 8.0 tambin es necesario respaldar el directorio KBDATA (y sus subdirectorios) ya que contiene la informacin que graba el WSDL inspector. 2) Respaldar la Base de Conocimiento, y algn modelo prototipo/produccin: Se debe copiar el contenido del directorio raz de la base de conocimientos; el directorio \Data00x correspondiente al modelo que se desea respaldar. Se pueden incluir las especificaciones, respaldando el directorio \Gxspc00x y sus subdirectorios dado que existe un subdirectorio para cada generador. 3) Respaldar la Base de Conocimiento y todos sus modelos (respaldo total): se debe copiar el contenido del directorio raz de la base de conocimientos y todo el rbol de directorios. La distribucin de la Base de Conocimiento o parte de la misma, no es considerado un respaldo por lo siguiente: - Si se consolida sobre una Base de Conocimiento vaca, se renumeran todos los atributos, tablas y objetos, y no se tendr prototipo/produccin. Los nombres de los ndices y tablas no tiene por que quedar igual salvo que se sigan ciertas reglas. - Si se tienen N modelos prototipo o N modelos produccin, debe considerarse el modelo desde el cual se desea exportar, ya que se exportan los objetos, con el estado que los mismos tienen en el modelo origen de la exportacin. - Adems se debe considerar que al importar, puede ser requerida una reorganizacin, dependiendo del estado del modelo destino. IMPORTANTE: Entre los archivos de la KB a respaldar existen varios .dat e .idx. Uno de estos archivos se llama INDEX.DAT. Ese nombre coincide con el utilizado por otros programas y en particular por el Internet Explorer para indexar los archivos temporales. Como consecuencia algunos programas de Backup son configurados para evitar su respaldo. Esto podra provocar prdida importante de informacin de la KB por lo tanto es necesario revisar que no exista una regla global en el programa de Backup que excluya ese archivo de la KB.
2106
Informacin de Productos Asociados Producto Reportado en Versin Estimada corr. en versin Liberado en Suscribirse versin al SAC
SAC # 2106
Tipo : Tip
16/12/1996 IMPRIMIR
Descripcin : Pasos a seguir para ejecutar un Rebuild Abstract Para ejecutar un Rebuild de la Base de conocimiento GeneXus seguir los siguientes pasos: 1. Ejecutar una lnea de comando (ventana DOS). 2. Posicionarse en el directorio raz de la KB. 3. Ejecutar el archivo rbld.bat que se encuentra en la raz de la instalacin de GeneXus. IMPORTANTE: Es importante tomar el rbld.bat de la versin de GX correspondiente a la KB. Ejemplo: C:\MyKB>C:\GeneXus\rbld.bat Descripcin Detallada Modos de ejecucin del Rebuild: 1. RBLD Reconstruye todos los IDX siempre. Leyendo la informacin del cabezal antes. Esto ltimo es la principal diferencia con la siguiente opcin. 2. RBLD habiendo borrado los IDX previamente. Reconstruye SOLAMENTE todos los IDX. Tambin reconstruye los .DAT que estn daados 3. RBLD -y (Rebuild Forzado) Fuerza la reconstruccin de los IDX pero TAMBIEN reconstruye TODOS los DATs (que tambin pueden estar daados) estn daados o no. NOTA: _ IDX: Indices de acceso a la base de conocimiento. _ DAT: estructura interna donde se almacenan los objetos GeneXus.
7728
Description
If you try to open a non-converted KB with GeneXus 9.0, you will see a dialog box similar to the following:
To convert a KB, click the OK button to start the conversion. During the process a progress bar is displayed. If the conversion is successful, you won't see any message and the KB will simply open. Basically, the conversion process opens each object and resaves it while adding certain information. In this sense, a KB will always be converted. However, sometimes an object can create problems during the process, in which case a dialog box will appear:
There you can view the problem details and save them to an XML file (see File Format below) to be analyzed later. To do so, click the Details button. The objects with problems can't be converted to GeneXus 9.0, that's why we recommend that you examine them and fix the problem. TIP: Whenever an object gives an error during conversion, an XML file is saved (see File Format below) under the name ConvertTo90Log?? .XML File Format The file containing the results of the objects that gave errors during conversion is an XML file with the following format:
install the corresponding generator, if it's available remove the corresponding model from the kb being converted copy a propert.def file from another installation of GX 9.0 version (from GeneratorName?? directory, as appears in the message) create a .TXT file with .DEF extension. This file must be greater than zero bytes.
Dialog boxes displayed when trying to open a converted KB with previous GeneXus versions If you try to open a KB converted to the 9.0 version with an older GeneXus version, you will see the following dialog box twice:
If you click Yes in these dialog boxes, you will see the following:
NOTE: KBs converted to 9.0 can't be reopened with older versions. An upgrade to the GeneXus 8.0 Development Environment will be released to avoid those messages and display only the last one.
Specification Warnings
After converting the KB, the first Build All may report warnings about potential problems that were not detected by previous versions of GeneXus . We recommend reading about this in Conversion to GX9.0 - Common errors and recommendations
When I tried to compile the main object (Webp:HMundial) I received this error: haccesoa.cs(490,13): error CS0117: 'GeneXus.Programs.haccesoa' no contiene una definicin para 'refresh'/doesn't contains a definition for "refresh" haccesoa.cs(511,16): error CS0117: 'GeneXus.Programs.haccesoa' no contiene una definicin para 'refresh'/doesn't contains a definition for "refresh" The problem was a "form.refresh()" method included in an event. Something like:
If &UsrExists = 'N' &Msg = 'User not valid.' Form.Refresh() Else If &PwdOK = 'Y' .... endif
I never used this method before, seems to have no sense to use it in a webpanel, so I just removed it because the code is a "login event" which includes a "refresh" itself. I don't know why it was included that method and I don't know why this "method" is available to be used in webpanels, anyway I trust It'll be removed to avoid this kind of problems
The default value of the Text report output Property was changed. The new default value is Text. The old one was Report Viewer. In order to keep the prior behavior in the reports of your Java applications just change the model Property. Scope: Java applications Oracle Version The default value of the Oracle version Property was changed. The new default value is 9.x or higher. In order to keep the prior behavior in your Oracle Applications just change the model Property. Default Join Type changed Now the default join type is Outer, in all dbmses. In prior versions the default join in DB2 UDB for Iseries, DB2 UDB and Informix was Inner or Natural join. To keep the prior behavoir just change the Model Property Join Type to "Natural Join".
Sometimes when a null value was expected to be saved for an attribute, the empty was saved instead. This version fixed many of these unexpected behaviors. In Handling Nulls with GeneXus document you could see the correct way to work with Null and empties in GeneXus and the list of fixed issues. Web Client Side Validation Web applications automatically will trigger client side code. More Information Relative URLs Web applications generate automatically relative URLs. In previous versions the absolute URLs were generated. This change affects the output of link() function. More Information in SAC 16667 New URL Access Property for web objects A new property for objects defined as Components is defined. The default value may cause specification errors on objets with calls to webcomponents. See the documentation here and specially the Compatibility Section for more details. Programs with no defined variables in parm may not compile If the variable is not defined in the object, the object exposes the variable as N(10.2) even if in specification time another type is assumed (i.e the specification warning spc0046 is triggered in the called object). The caller may also trigger a warning in specification time: spc0023. This may cause compilation errors in Java, .NET and .NET Mobile. More Information in SAC 19581 LEN Function When reading the value of an attribute (ie att) of the database , the LEN(att) returned the size of the attribute. For example att is C(30), the LEN(att) is always 30. Since the 9.0 version, the value returned is corrected to len(rtrim(att)). More Information in SAC 18581 TRIM Function The trim function when it is evaluated in the server, in the 8.0 version, works as a RTRIM. Since 9.0 version, it works as ltrim(rtrim). More Information in SAC 18587 IsValid event triggering Since GeneXus 9.0, Win applications have a different moment in which the IsValid event is triggered, depending on the control. For the Edit controls the IsValid event is triggered when exiting de field (as in GeneXus 8.0 and previous versions). For checkboxs, listboxs, combos and radiobuttons, this event is triggered when a value is selected in the control. More information in SAC 22416 Autocomplete Property In GeneXus 9.0 this property name is changed to EnableHistory?? . To program assignments to this property in web objects, you should change the code. More Information in SAC 20147 Default Join Type changed Up to GeneXus 9.0 the Default Join Type is Outer join in all dbmses. In prior versions the Default Join Type in DB2 UDB for Iseries,DB2 UDB and Informix is Natural join. To keep the prior behaviour just change the Model Property Join Type to "Natural join". For more information in property changhes click here Default Form Generation The default control size for long character controls have changed, in order to improve the default form generation. For a detailed information click here Descendent indexes in Oracle From now on, descendent indexes are defined for Oracle Version 8.1.5 or higer. In existing KB with descendent indexes you need to re-create the indexes to really use them. More Information in SAC 19777
C/SQL Generator support GeneXus 9.0 doesn't include the C/SQL Generator. The last version of the GeneXus C/SQL Generator was version 8.0 U3. Artech's customers will continue receiving support related to this generator but it will not be developed any more. For more information click here. Read more about compatibility in the specific sections of each generator: Java Generator Section .NET Generator Section .NET Mobile ISeries Generator Section
Description
Here you will find detailed explanations of the changes made to models, objects and control properties in GeneXus 9.0, compared to GeneXus 8.0 last Upgrades (*). It describes all the new properties, name and value changes of existing properties, and replacement of properties with new ones. Changes in property dependencies and restrictions will be mentioned as well. Note that property groups are identified with a plus symbol ( ) and their properties are listed above them in a tree structure.
(*) Last Upgrades on 24/03/2006 are Development Environment (8), Java Generator (8), .Net Generator (7).
COMPATIBILITY NOTE
In models generated with previous GeneXus versions, you should review the default value properties because their behavior may change in this version. More Information
Comparador de Navegaciones
El listado de navegacin de un objeto GeneXus es lo que permite ver el comportamiento del mismo y es lo que debe analizarse cuando se cambia la versin de GeneXus (o cuando se cambia la lgica del objeto). Es un archivo HTML que se crea a partir de un XML aplicando un XSL (Extensible Stylesheet Language). Para comparar las navegaciones se crearon nuevos xsl para generar un archivo de texto en lugar de un HTML. Este archivo de texto tiene un formato unificado entre las diferentes versiones de GeneXus (caracterstica que los XML originales no cumplen). Esto se decidi considerando que la alternativa de comparar los archivos XML de la especificacin puede ser compleja (principalmente por legibilidad y por diferencias de formato entre versiones) y la alternativa de comparar los HTML no era viable porque las herramientas disponibles actualmente en el mercado no permiten comparar el HTML de la forma que requerimos (s el cdigo pero no como se visualiza). Se dispone tambin de un utilitario que genera -masivamente- para un directorio los archivos de texto aplicando el xsl. De esta forma se tiene como resultado las navegaciones en formato de texto y se puede aplicar cualquier comparador sobre stas.
Alcance
Esta herramienta de comparacin de navegaciones puede aplicarse a las bases de conocimiento realizadas con las versiones 7.5, 8.0, 9.0 y 10 de GeneXus . Para las bases de conocimiento de versiones anteriores, se sugiere realizar una conversin intermedia a la versin 7.5 de GeneXus para poder utilizar esta herramienta. Esta conversin implica nicamente abrir la base de conocimiento con GeneXus 7.5 y especificar forzado todos los objetos (sin navegacin detallada) y sin necesidad de generar.
Comparacin
Para comparar los archivos se deben seguir los siguientes pasos: 1. Realizar un Build All en ambas versiones de GeneXus para especificar todos los objetos del modelo _sin_ marcar la opcin "Detailed Navigation". Cuando se compare con GeneXus 9.0 se sugiere indicar en la propiedad del modelo Optimize Find Navigation del grupo Specification el valor NO. 2. Hacer una copia del directorio NVG del modelo de la versin 1 (ubicado en el directorio gxspcnnn/genmm) con el nombre NVGBASE. Este ser el directorio con las navegaciones esperadas. 3. Crear los directorios NVGBASE_TXT y NVGV2_TXT donde se generarn los archivos de texto correspondientes.
4. Obtener el utilitario de http://www2.gxtechnical.com/portal/hgxppredirect.aspx?15,19,0,,,2058 y descomprimir en un directorio el archivo.zip 5. Ejecutar el utilitario "Transform XML Files" para generar las navegaciones de la versin 1 en formato texto, con las siguientes opciones: Input Folder: <path>NVGBASE Output Folder: <path>NVGBASE_TXT Template for input: <?xml version="1.0" encoding="iso-8859-1" ?>$xmlData$ Select Transformation File: spec75To80.xsl (para comparar GeneXus 7.5 con 8.0) spec75To90.xsl (para comparar GeneXus 7.5 con 9.0) spec80To90.xsl (para comparar GeneXus 8.0 con 9.0) spec90ToX.xsl (para comparar GeneXus 9.0 con 10) 6. Ejecutar el utilitario "Transform XML Files" para generar las navegaciones de la versin 2 en formato texto, con las siguientes opciones: Input Folder: <path>NVG (se obtiene directamente del modelo de la versin 2) Output Folder: <path>NVGV2_TXT Template for input: <?xml version="1.0" encoding="iso-8859-1" ?>$xmlData$ Select Transformation File: spec80to75.xsl (para comparar GeneXus 8.0 con 7.5) spec90to75.xsl (para comparar GeneXus 9.0 con 7.5) spec90to80.xsl (para comparar GeneXus 9.0 con 8.0) specXTo90.xsl (para comparar GeneXus 10 con 9.0) 7. Comparar los directorios NVGBASE_TXT y NVGV2_TXT con alguna herramienta de comparacin de archivos. Es importante (para minimizar las diferencias no esperadas) que la herramienta soporte la definicin de reglas de comparacin. Para el caso del Beyond, se adjunta un archivo con las reglas que es necesario importar antes de realizar la comparacin: (IgnoreRules7580.xml para comparar GeneXus 8.0 con 7.5) (IgnoreRules7590.xml para comparar GeneXus 9.0 con 7.5) (IgnoreRules8090.xml para comparar GeneXus 9.0 con 8.0) (IgnoreRules90X.xml para comparar GeneXus 9.0 con 10) Luego se selecciona la opcin "Compare Contents -> Rules-based comparison". 8. Analizar las diferencias de estos archivos. Aqu se describen las posibles diferencias detectadas.
Metodologa
Se sugiere incorporar la comparacin de navegaciones como una etapa ms en el proyecto la que deber realizarse luego de cambiar la versin de GeneXus o la lgica de la aplicacin. Para esto, se recomienda mantener actualizado el directorio NVGBASE con aquellas navegaciones esperadas en formato XML. Es decir, si la navegacin de la versin 2 es correcta, copiar el archivo xml de la navegacin al directorio NVGBASE. De esta forma, aplicando los puntos 3 al 6, se puede tener siempre las diferencias que faltan procesar o detectar fcilmente las diferencias que aparecen/desaparecen luego de aplicar algn cambio en la base de conocimiento No existe an un mecanismo sencillo para mantener esta sincronizacin entre los directorios de archivos de texto y los xml. Cuando se est analizando la base de conocimientos completa realizar la sincronizacin de cada archivo enlentece el anlisis, por lo que puede realizarse posteriormente luego de haber finalizado. Para esto, se sugiere identificar la lista de los archivos de texto que se corresponden a la versin 1 y a la versin 2 y copiar los archivos xml correspondiente generando un .bat Los directorios de los archivos de texto se pueden generar cada vez que se necesite ver las diferencias. Adems, el directorio con los archivos xml de la navegacin actual se genera cada vez que se quiera hacer la comparacin.