martes, 11 de junio de 2024

Beneficios de Crear Entornos de Desarrollo y Producción en Power Apps

En el mundo del desarrollo de aplicaciones empresariales, la flexibilidad y la eficiencia son clave para el éxito. Microsoft Power Apps, parte de la suite de Power Platform, ofrece una solución robusta para crear aplicaciones personalizadas que mejoran los procesos empresariales y aumentan la productividad. Una de las mejores prácticas en el desarrollo con Power Apps es la creación de entornos de desarrollo y producción separados. A continuación, exploraremos los beneficios de esta estrategia y cómo los planes empresariales de Office 365 cubren estos entornos, siempre que no se utilicen conectores premium.





Beneficios de Crear Entornos de Desarrollo y Producción

  1. Separación de Desarrollo y Producción:

    • La separación de entornos permite a los desarrolladores trabajar en nuevas características y realizar pruebas sin afectar la versión en producción. Esto garantiza que los usuarios finales no experimenten interrupciones ni errores mientras se realizan mejoras o ajustes en la aplicación.
  2. Mejora en la Calidad del Código:

    • Los entornos de desarrollo proporcionan un espacio seguro para probar nuevas funcionalidades, identificar y corregir errores antes de implementar cambios en el entorno de producción. Esto resulta en una aplicación más estable y confiable para los usuarios finales.
  3. Facilita la Colaboración:

    • Tener entornos separados permite que diferentes equipos trabajen en paralelo. Los desarrolladores pueden trabajar en nuevas funcionalidades mientras los equipos de calidad y pruebas se enfocan en la validación y pruebas de regresión, mejorando así la eficiencia del desarrollo.
  4. Control de Versiones:

    • Los entornos separados permiten una mejor gestión de versiones. Las nuevas versiones de la aplicación pueden ser probadas exhaustivamente en el entorno de desarrollo antes de ser desplegadas en producción, reduciendo el riesgo de problemas post-implementación.
  5. Pruebas y Capacitación:

    • Los entornos de desarrollo pueden ser utilizados para realizar pruebas de usuario y capacitaciones sin afectar el entorno de producción. Esto es esencial para asegurar que los usuarios estén cómodos con las nuevas funcionalidades antes de que sean lanzadas oficialmente.

Planes Empresariales de Office 365 y Power Apps

Microsoft ofrece una variedad de planes empresariales de Office 365 que incluyen el uso de Power Apps, lo que permite a las organizaciones aprovechar estas herramientas sin necesidad de costos adicionales. Estos planes incluyen:

  • Office 365 E1:

    • Ideal para empresas que necesitan aplicaciones de Office y servicios en la nube sin aplicaciones de escritorio. Incluye Power Apps (sin conectores premium) y permite la creación de aplicaciones simples utilizando datos almacenados en servicios de Office 365 como SharePoint y OneDrive.
  • Office 365 E3:

    • Este plan ofrece aplicaciones de Office completas, servicios en la nube avanzados y herramientas de colaboración. Incluye Power Apps y permite la creación de aplicaciones más complejas, siempre que no se utilicen conectores premium.
  • Office 365 E5:

    • El plan más completo de Office 365, que incluye todas las características de E3, junto con herramientas de seguridad avanzada y análisis. También incluye Power Apps con las mismas restricciones en cuanto a conectores premium.

Es importante destacar que, mientras no se utilicen conectores premium, los usuarios pueden aprovechar completamente Power Apps para crear y desplegar aplicaciones dentro de su organización. Los conectores estándar permiten integrarse con servicios como SharePoint, OneDrive, y otros servicios de Office 365, proporcionando una solución poderosa y asequible para las empresas.

Conclusión

Crear entornos de desarrollo y producción separados en Power Apps es una práctica recomendada que ofrece numerosos beneficios, desde la mejora de la calidad del código hasta la facilitación de la colaboración entre equipos. Además, con los planes empresariales de Office 365, las organizaciones pueden utilizar Power Apps de manera eficiente y rentable, siempre que se mantengan dentro de los conectores estándar. Esto permite a las empresas innovar y mejorar sus procesos sin incurrir en costos adicionales significativos.

Referencias:

https://download.microsoft.com/download/9/5/6/9568EFD0-403D-4AE4-95F0-7FACA2CCB2E4/Power%20Platform%20Licensing%20Guide%20February%202024.pdf

https://learn.microsoft.com/ 


viernes, 7 de junio de 2024

Buenas Prácticas para la Estructura de Datos en SharePoint para Aplicaciones en PowerApps

 Introducción:

En el desarrollo de aplicaciones en PowerApps utilizando SharePoint como backend, es fundamental entender y aplicar buenas prácticas de estructura de datos. Aunque muchas de estas prácticas se derivan de conceptos de bases de datos relacionales, SharePoint requiere enfoques específicos debido a su naturaleza y manejo de datos.

 

1. Comprendiendo SharePoint como Fuente de Datos:

 

SharePoint almacena datos en listas y bibliotecas, cada una adecuada para diferentes tipos de datos y usos.

Las listas son ideales para datos estructurados, mientras que las bibliotecas se usan para documentos y archivos.

 

2. Principios Básicos de Modelado de Datos Relacionales:

 

Normalización: En bases de datos relacionales, la normalización es clave para evitar redundancias y asegurar la integridad referencial.

Sin embargo, en SharePoint, la normalización puede ser contraproducente debido a las limitaciones en las consultas y el rendimiento.

 

3. Diseño de Listas y Bibliotecas en SharePoint:

 

Diseña listas con columnas personalizadas para capturar los datos necesarios.

Utiliza tipos de contenido y metadatos para organizar y categorizar la información de manera eficiente.

4. Relaciones y Lookup Columns:

 

En lugar de utilizar columnas de búsqueda tradicionales (lookup columns) para crear relaciones entre listas, considera almacenar tanto el código como el nombre de la referencia directamente en la tabla de transacciones.

Este enfoque, aunque desnormalizado, mejora el rendimiento y facilita el manejo de datos históricos.

 

5. Manejo del Estado y Actualizaciones en PowerApps:

 

PowerApps permite manejar datos de SharePoint de manera eficiente, pero es crucial mantener la consistencia del estado.

Usa colecciones en memoria para manejar el estado de elementos pendientes de actualización y asegurarte de que los usuarios estén al tanto de que sus solicitudes están siendo procesadas.

 

6. Optimización y Buenas Prácticas:

 

Indexa columnas utilizadas frecuentemente en filtros y búsquedas para mejorar el rendimiento.

Limita el número de elementos en las listas para evitar problemas de rendimiento.

Utiliza fórmulas eficientes y minimiza la cantidad de consultas en PowerApps.

 

7. Preparación para Reportes Eficientes:

 

Diseña listas que ya contengan la información necesaria para generar reportes.

Actualiza estas listas con cada operación para que, al momento de generar un reporte, sea posible hacerlo de manera rápida y eficiente a través de una exportación de CSV.

Este enfoque asegura que los reportes se generen de forma inmediata y sin demoras en el procesamiento de información.

 

8. Consistencia en Tipos de Datos y Nombres de Columnas:

 

Mantén el tipo de dato y el nombre de las columnas exactamente igual en todas las listas que hagan referencia a esos datos.

Asegúrate de que, si una columna es numérica en una lista, sea numérica en todas las listas que la referencien, y lo mismo para texto y otros tipos de datos.

Esto facilita el desarrollo de software y evita conversiones innecesarias, garantizando coherencia y precisión en el manejo de datos.

 

9. Evitar Valores Predeterminados y Campos Obligatorios:

 

No utilices los valores predeterminados de las columnas de SharePoint, ya que esto puede ser contraproducente en los flujos de Power Automate.

Evita configurar campos como obligatorios a nivel de lista en SharePoint.

Maneja la captura de los campos obligatorios a nivel de la aplicación en Power Apps para evitar problemas en los flujos y asegurar que los valores no se actualicen involuntariamente.





Conclusión:

Aplicar estas buenas prácticas garantiza que tus aplicaciones en PowerApps sean robustas, escalables y fáciles de mantener.

La combinación de prácticas específicas para SharePoint y un enfoque práctico en el manejo de datos asegurará el éxito de tus aplicaciones.


Método Indirecto de Actualización para Power Apps y SharePoint Online

 

En este post, quiero compartir un enfoque eficiente y seguro para gestionar actualizaciones en listas de SharePoint Online desde Power Apps, al que llamo el método indirecto de actualización. Este método permite realizar actualizaciones y eliminaciones en listas maestras sin otorgar permisos directos de edición a los usuarios, incrementando así la seguridad y el control sobre los datos.

¿En qué consiste el método indirecto de actualización?

El método indirecto de actualización se basa en utilizar listas intermedias para manejar las operaciones de agregar, actualizar y eliminar elementos en una lista maestra. La estructura básica incluye:

  1. Lista Maestra: La lista principal en SharePoint donde se almacenan los datos definitivos. Los usuarios tienen permisos de solo lectura.
  2. Lista de Actualizaciones: Una lista donde los usuarios pueden agregar elementos que representan solicitudes de actualización. Los usuarios tienen permisos para agregar elementos.
  3. Lista de Eliminaciones: Una lista separada donde los usuarios pueden agregar elementos que representan solicitudes de eliminación. Los usuarios tienen permisos para agregar elementos.

Proceso de Funcionamiento

  1. Agregar Elementos: Los usuarios pueden agregar nuevos elementos directamente en la Lista de Actualizaciones. Un flujo de Power Automate se dispara al detectar un nuevo elemento, procesando la solicitud y actualizando la Lista Maestra en consecuencia.
  2. Actualizar Elementos: Similar al proceso de agregar, los usuarios realizan cambios en los elementos de la Lista de Actualizaciones. El flujo de Power Automate detecta las modificaciones y aplica las actualizaciones en la Lista Maestra.
  3. Eliminar Elementos: Los usuarios agregan un elemento en la Lista de Eliminaciones indicando cuál debe ser eliminado. El flujo de Power Automate toma esta solicitud y elimina el elemento correspondiente en la Lista Maestra.

Manejo de Estados en Power Apps

Un aspecto crucial al implementar este método en Power Apps es manejar la latencia en la ejecución de los flujos de Power Automate, ya que los eventos en SharePoint no se disparan de forma inmediata. Para asegurar que los usuarios sean conscientes de que sus solicitudes están en proceso, es necesario manejar colecciones en memoria dentro de Power Apps. Estas colecciones indican que el estado de algún elemento agregado o eliminado está pendiente de actualizarse.

De esta manera, cuando un usuario realiza una acción, Power Apps agrega el elemento a una colección que marca dicho elemento como pendiente. Así, el usuario puede ver que su solicitud se está procesando, aunque el flujo de Power Automate todavía no haya completado la operación en la Lista Maestra.

Beneficios del Método Indirecto

  1. Seguridad Mejorada: Al restringir los permisos de la Lista Maestra a solo lectura, evitamos que los usuarios modifiquen o eliminen datos críticos directamente.
  2. Control de Acceso: Los usuarios solo pueden agregar elementos a las listas intermedias, evitando la necesidad de permisos de edición directa en la Lista Maestra.
  3. Automatización: Los flujos de Power Automate gestionan automáticamente las operaciones en la Lista Maestra basándose en los eventos disparados por las listas intermedias.
  4. Simplicidad en Power Apps: La aplicación Power Apps solo necesita conectarse a las listas intermedias, simplificando la configuración y reduciendo el riesgo de errores en la manipulación de la Lista Maestra.

Implementación del Método

  1. Crear Listas en SharePoint Online:
    • Lista Maestra
    • Lista de Actualizaciones
    • Lista de Eliminaciones
  2. Configurar Permisos:
    • Lista Maestra: Permisos de solo lectura para los usuarios.
    • Listas de Actualizaciones y Eliminaciones: Permisos para agregar elementos.
  3. Desarrollar Flujos en Power Automate:
    • Flujo para procesar nuevas adiciones y actualizaciones desde la Lista de Actualizaciones a la Lista Maestra.
    • Flujo para manejar eliminaciones desde la Lista de Eliminaciones a la Lista Maestra.
  4. Configurar Colecciones en Power Apps:
    • Crear y manejar colecciones en memoria para indicar el estado de los elementos pendientes de actualizarse o eliminarse, asegurando que los usuarios sepan que sus solicitudes están en proceso.

Conclusión

El método indirecto de actualización para Power Apps y SharePoint Online es una estrategia poderosa para mejorar la seguridad y el control en la gestión de datos. Al implementar listas intermedias y automatizar las operaciones con flujos de Power Automate, podemos asegurar que solo se realicen cambios autorizados en la Lista Maestra, manteniendo la integridad y la seguridad de nuestros datos. Además, el manejo de colecciones en Power Apps proporciona una experiencia de usuario fluida, informando a los usuarios sobre el estado de sus solicitudes.