En esta ocasión os voy a mostrar un sencillo truco que utilizo para evitar que los usuarios de mis aplicaciones de Power Apps utilicen una versión diferente a la última publicada. Esta circunstancia ocurre en alunas ocasiones, sobre todo cuando se utiliza la app en un navegador web, ya que se queda en caché una versión anterior de la misma y hay que refrescar (varias veces) la página hasta que se muestra la última versión.
Para evitar este problema, lo que hago es preguntar al comienzo de la aplicación qué versión es la última publicada y validar cuál es la que está usando el usuario. A continuación os muestro cómo realizarlo.
NOTA: Para este post, he utilizado una aplicación de Microsoft Dataverse for Teams, aunque podréis usar cualquier otra.
Creación de una lista de SharePoint de parámetros
Lo primero es contar con un repositorio en donde almacenemos cuál es la última versión publicada que queremos que utilicen nuestros usuarios. Obviamente, ha de ser un lugar al que tengan acceso nuestros usuarios. En mi caso, utilizo una lista de SharePoint.
Dado que para este ejemplo estoy usando Dataverse for Teams, he creado la lista de SharePoint en el propio sitio de SharePoint del Equipo ya que así me aseguro que todos los usuarios tienen acceso a este contenido. Lo único que hay que tener en cuenta es modificar los permisos de la lista para evitar que los usuarios puedan modificar los valores y sólo tengan permisos de lectura. En mi caso, la lista «AppsParameters» quedaría de la siguiente forma:

Y con los siguientes permisos:

Adaptación de la Aplicación de Power Apps
Ahora vayamos a la aplicación de Power Apps para insertar la lógica necesaria.
Agregar el origen de datos
En primer lugar debemos establecer la conexión a nuestra lista de SharePoint. De forma que utilizaremos la opción de «Add data» y buscaremos nuestro sitio de SharePoint y la lista correspondiente (AppParameters).

CREAR ETIQUETA CON LA VERSIÓN DE LA APP
En la ventana inicial de la aplicación incluiremos una Label que llamaremos LblVersionValue y en la que definamos cuál es la versión de la aplicación que estamos utilizando. Será un texto que compararemos con la que hay en nuestra lista de SharePoint. En mi caso, asignamos el valor «1.02» en la propiedad Text de la etiqueta.

Configurar el OnStart
Como queremos que lo primero que haga nuestra aplicación es validar la versión de la app, insertaremos las siguientes fórmulas en la acción OnStart de la App

- Set(_varIsCurrentVersion,false);
Será la variable global que nos indique si el usuario tiene la versión actual o no. Inicialmente indicamos que es false. - Set(_varCurrentVersion,LookUp(AppsParameters As A,A.Title = «TestApp» && A.Param=»Version»).Value);
Es la variable global que almacena el valor de la versión que hay en la lista AppParameters. - If(_varCurrentVersion = LblVersionValue.Text,Set(_varIsCurrentVersion,true));
Condición que establece si el usuario está en la versión correcta o no, comparando la versión de la lista con el texto de la etiqueta de la versión. En caso afirmativo establecerá la variable global _varCurrentVersion como true y, en caso contrario, permanecerá en false.
CREAR MENSAJE DE AVISO
Ahora insertaremos una nueva etiqueta que permita mostrar un mensaje de aviso al usuario cuando su versión de la aplicación no coincida con la que tenemos en nuestra lista de parámetros, por lo que ha de actualizar la aplicación. Por ejemplo, en la propiedad Text de esta etiqueta podríamos poner algo parecido a esto:
- «Por favor, actualice la aplicación para utilizar la versión » & _varCurrentVersion

Además, estableceremos su propiedad Visible de tal forma que se oculte el mensaje si el usuario está en la versión correcta:
- If(_varIsCurrentVersion,false,true)

DESHABILITAR LOS BOTONES
Para evitar que los usuarios utilicen la aplicación si están en una versión incorrecta, deshabilitaremos los botones cuando ocurra esta circunstancia. Para ello, bastará incluir la siguiente fórmula en el DisplayMode de cada uno de ellos:
- If(_varIsCurrentVersion,DisplayMode.Edit,DisplayMode.Disabled)

Probar el Funcionamiento
Si ahora accedemos a nuestra aplicación en Teams con un usuario cuya versión no es la adecuada, podemos ver cómo recibe un mensaje de aviso y no puede interactuar con la aplicación al estar todos los botones deshabilitados.

Y, cuando actualice a la versión correcta, la aplicación se mostrará así:

Como veis, con esta sencilla funcionalidad podemos bloquear el acceso a nuestra app siempre que lo consideremos necesario. Por ejemplo, si estáis realizando alguna labor de configuración, o corrigiendo una incidencia grave y queréis que los usuarios dejen de entrar en la aplicación, podéis cambiar la versión en la lista de parámetros y ningún usuario podrá interactuar con la aplicación hasta que publiquéis la versión con la label correcta (o volváis a cambiar la versión en la lista).
Espero que os haya gustado y os pueda resultar útil en vuestras aplicaciones.
¡Muchas gracias por leerme!