Hola!
No es ninguna novedad que los developers y los usuarios de negocios hablamos lenguajes diferentes. Es por esto, que en algunas ocasiones pedir a un usuario de negocio que actualice un archivo de configuración puede no ser una buena idea. Me ha sucedido que al compartir archivos [.json], [.config] o [.xml], estos usuarios no saben que herramienta utilizar para editar los valores, y también sucede que un formato de texto plano, suele no ser intuitivo para ellos.
Es por eso que hace un tiempo, tomé un enfoque diferente: decidí adaptarme a sus herramientas. En pocas palabras el modelo de trabajo con estos archivos es el siguiente
- Business Users: Microsoft Excel
- Developers: Json
Y como estamos en una época donde [Serverless] es la premisa, me desafié a mí mismo, para ver si podía hacerlo sin tocar una línea de código. Para esto utilice como base Microsoft Flow integrando los servicios de OneDrive, Excel e interactuando con peticiones HTTP.
Lo primero fue crear una hoja de cálculo con información a compartir, en este caso un listado de usuarios, cuentas de email y twitter.
Luego almacene el archivo de Excel en OneDrive y compartir acceso con el usuario de Negocio que la editara.
El Flow para consultar la información, se dispara con una petición HTTP Request, luego se lee la información de Excel desde OneDrive y se retorna la misma en una HTTP Response.
El único paso donde se requiere una configuración especial es en la creación del Response, ya que utilizo una Expression del tipo String para crear el response con la información completa de las filas de Excel.
Pues bien, al guardar el Flow, el mismo crea la Url donde podemos invocar al mismo. Como explique en un post anterior, podemos utilizar Postman para probar este tipo de Flows, en este caso un simple HTTP POST Request y ya tenemos nuestra información en formato Json.
A partir de ahora, en nuestra hoja Excel ahora veremos una nueva columna llamada [__PowerAppsId__] que es la que utiliza Flow para tener un Track de los accesos y el trabajo con esta hoja de cálculo. Es importante explicar a nuestros usuarios que esta columna no debe ser modificada. Si por ejemplo agregamos una nueva columna y más información al archivo Excel podremos ver algo similar a la siguiente imagen.
Si realizamos una nueva petición, podremos ver que el Response incluye los nuevos campos y los nuevos registros.
Pues bien, como solución ZERO CODE para compartir y editar información de con usuarios de negocios, me parece que esto es suficiente.
Happy Coding!
Saludos @ Toronto
El Bruno
References
Tools
- Postman, home page
My posts on Logic Apps
- Working with Visual Studio 2017 and Logic Apps
- Let’s create our first Logic App in Azure
- Logic Apps, Introduction and main differences with Microsoft Flow
My posts on Flow
- Check your Apps health in Azure using Application Insights and Microsoft Flow
How To iterate through collections of elements (Excel, Sharepoint, Cognitive Services and more…)Trigger a Flow associated to an item in a #SharePoint list - New input options when using Flow Button: list of choices
- Working with Expressions
- Export and Import Flow definitions with advanced options
- How To emulate a Button for a Flow using a Browser
- Advanced options to work with an HTTP Action in Microsoft Flow, Headers, Authentication and more
- Working with Variables in Microsoft Flow
- Handle exceptions, errors, timeouts and more in a Microsoft Flow definition
- Buttons Widgets in iOS and Android
- New action definition to use Computer Vision APIs from Microsoft Cognitive Services
- Schedule a Flow execution, recurrence supported!
- “Save as ” and interaction with physical buttons FLIC and BTTN
- Email Sentiment Analysis on a PowerBI dashboard, and Flow
- Support for Team coauthoring and sharing
- Calling a Flow from a C# ConsoleApp
- Push Notification Support
- How to review a Flow process
- How to invoke a Flow from an external app using HTTP Request