More Related Content
Similar to Buenas prácticas GeneXus - GXTour Chile 2016 (20)
Buenas prácticas GeneXus - GXTour Chile 2016
- 3. COPYRIGHT © InovaBiz 2016 Diapositiva N°3
Nombre de tabla a recorrer
A partir de la versión Evolution 3, la claúsula defined by entra en desuso y se sustituye
por anteponer el nombre de la transacción o subnivel para indicar a la herramienta qué
tabla base navegar. La declaración de la sentencia order se debe hacer después del
nombre de la transacción.
- 4. COPYRIGHT © InovaBiz 2016 Diapositiva N°4
Uso de dominios
En general, se deben usar dominios para definir los tipos de datos de los atributos, en
especial evitar el uso de constantes
- 5. COPYRIGHT © InovaBiz 2016 Diapositiva N°5
Backup de la KB antes de cambios mayores
Freeze
•Adecuado
antes de aplicar
un cambio
“riesgoso”
pero que
impacta pocos
objetos.
•Es el método
más rápido
Exportación xpz
completo
•Ventajas:
método nativo,
independiente
de la versión
del SQL Server
destino
•Depende el
caso, se debe
incluir las
propiedades de
la KB
Copia del MDF
•Tiene la ventaja
que preserva
las versiones de
la KB y el
“History” de
los objetos.
•Es sensible a la
versión de SQL
Server destino.
- 6. COPYRIGHT © InovaBiz 2016 Diapositiva N°6
Backup de la KB antes de cambios mayores
Export “completo”
Copia del MDF
Freeze
- 7. COPYRIGHT © InovaBiz 2016 Diapositiva N°7
Tips de modelado: vincular entidades
Relaciones 1 – N “entidades fuertes”
- 8. COPYRIGHT © InovaBiz 2016 Diapositiva N°8
Tips de modelado: vincular entidades
Relaciones 1 – N “entidades débiles”
- 9. COPYRIGHT © InovaBiz 2016 Diapositiva N°9
Tips de modelado: vincular entidades
Relaciones 1 – 1 (igual que 1 – N pero con índice único)
- 10. COPYRIGHT © InovaBiz 2016 Diapositiva N°10
Tips de modelado: vincular entidades
Relaciones N – N (4 formas de modelarlas)
- 14. COPYRIGHT © InovaBiz 2016 Diapositiva N°14
Tips de modelado: Composición
Usar composición cuando:
• No necesito que los ID coincidan entre las tablas padre-hijo.
• Necesito acceder desde el hijo a todos los atributos del padre.
- 17. COPYRIGHT © InovaBiz 2016 Diapositiva N°17
Parámetros dinámicos
En ocasiones, debemos comenzar la programación aún cuando las especificaciones de los servicios
están en revisión, y sabemos que vendrán cambios. Para aislarnos, podemos definir los parámetros
de salida (y eventualmente los de entrada) de forma dinámica.
- 18. COPYRIGHT © InovaBiz 2016 Diapositiva N°18
SQL IN – NOT IN
En ocasiones, necesitamos generar una sentencia not in en GeneXus, dado que no existe una
implementación directa, tenemos dos alternativas
- 20. COPYRIGHT © InovaBiz 2016 Diapositiva N°20
Precondiciones para convertir KB Web a SD
1 – PKs y niveles
•Las claves
primarias en
mobile offline es
obligatorio que
sean simples y
autonumeradas.
•Las
transacciones
deben ser de un
solo nivel.
2 – Activar GAM
•Esto nos
resolverá
muchas
funcionalidades
importantes:
remember login,
seguridad,
navegación.
3- Rediseñar flujo
•Las APPs offline
deben
repensarse
cuidadosamente
para evitar
colpasar el
mecanismo de
sincronización
automático.
- 21. COPYRIGHT © InovaBiz 2016 Diapositiva N°21
Consideraciones para desarrollo SD Offline
Pensar siempre que existe una diferencia entre eventos del servidor y eventos que
ejecutan en el dispositivo. Los eventos que ejecutan en el dispositivo, deben ser
independientes de forma tal de poder ejecutar sin internet.
Pensar en el dispositivo como un mero capturador de datos y marcar la mínima cantidad
de transacciones del modelo como “offline”.
Además, de todas las transacciones “offline”, seleccionar las que se deberán sincronizar
desde y hacia el servidor. Las transacciones cuyos datos solo viajarán de “ida al
servidor”, se deben acotar con condiciones en la BD offline (una condición que no se
cumpla nunca para que nunca baje registros al dispositivo).
- 23. COPYRIGHT © InovaBiz 2016 Diapositiva N°23
Reset de la KB SD
Muy frecuentemente, sobre todo en SD Offline, nos encontramos con que ciertos
objetos autogenerados no se compilan correctamente, en ese caso, debemos borrar
todas las carpetas de la raíz de la KB los archivos con extensión .ari. Luego hacer un
rebuild “all” y una creación de la BD Offline.
- 24. COPYRIGHT © InovaBiz 2016 Diapositiva N°24
Consideraciones para el deploy SD con GAM
Configurar HTTP
Cambiar clave de admin de GAM
Borrar todos los usuarios definidos para pruebas en repositorio GAM
Cuando la webapp es copiada al server de producción, el contenido de la carpeta
gxmetadata debe ser borrado salvo los archivos <main_object>.<plataform>.json
Los webpanels del backend de GAM deben estar inaccesibles desde internet, solo desde
dentro de la red.
Los webpanels GAMExampleRecoverPasswordStep1 y
GAMExampleRecoverPasswordStep2 deben ser editados para reflejar la realidad del
negocio.