1- INTRODUCCION

1.1 Qué es Appsheet?

AppSheet proporciona una plataforma de desarrollo sin código para software de aplicación, que permite a los usuarios crear aplicaciones móviles, de tableta y web utilizando fuentes de datos como Google Drive, DropBox, Office 365 y otras plataformas de bases de datos y hojas de cálculo basadas en la nube. La plataforma se puede utilizar para un amplio conjunto de casos de uso empresarial, incluida la gestión de proyectos, la gestión de las relaciones con los clientes, las inspecciones de campo y los informes personalizados.

2- TRABAJANDO CON DATOS

2.1 Tipos de fuentes de datos

Las aplicaciones AppSheet se pueden utilizar para recopilar, editar y analizar sus datos, que siempre permanecen alojados en su propia fuente de datos. La forma más eficaz de comenzar es compilar desde una hoja de Google, una hoja de cálculo de Excel alojada en la nube o desde un servidor SQL (ideal para escalar usuarios y niveles de actividad).

2.2 Conexión de fuentes de datos

En este Curso nos centraremos en la Conexión entre Google Sheets y AppSheet, ambos productos de Google, a la fecha.

En el ejemplo siguiente veremos cómo conectar una hoja de Google Sheets denominada Tareas con AppSheet. Ver minuto 2:40

2.3 Agregar tablas

Para agregar tablas al proyecto, ir a Data, luego New Table, seleccionar la fuente de datos y finalmente la hoja (tabla) específica. Ver 11:32 del siguiente video:

2.4 Configuración de permisos de tabla

Una vez en AppSheet, se puede modificar el nivel de permisos de acceso al dato, en Data, seleccionar la tabla, y luego seleccionar la opción de Updates, Adds, Deletes o Read Only en la parte de «Are updates allowed?» segun se pretenda que la tabla sea Actualizable, Agregable, Borrable o de solo-lectura.

2.5 Creación de Relaciones entre Tablas

Introduciremos en esta parte un concepto crucial del manejo de bases de datos que es la creación de Relaciones.

El concepto se refiere a que un registro de una tabla principal puede estar asociado a varios registros de otra tabla (secundaria). Por ejemplo, un ALUMNO puede realizar varias MARCACIONES en su asistencia a lo largo del mes.

O un PEDIDO puede tener varios PRODUCTOS en su carrito, etc.

Para llevar a cabo dicha relación de tablas es necesario observar primero las tablas u operaciones y definir cuál es la tabla principal. Luego ajustar de forma a que una columna de la tabla principal tiene que estar incluida en la tabla secundaria.

En este ejemplo del vídeo, minuto 12:35, vemos cómo hacemos la relación entre las tablas CLIENTES y LAVADOS, en una app de LAVADERO. Dicha relación se hace estructurando en Google Sheets que la columna CLIENTE esté incluida en la tabla LAVADOS, es decir un CLIENTE puede tener varios LAVADOS.

Luego, en AppSheet al ajustar el tipo de columnas, que veremos a continuación, pondremos en la tabla LAVADOS a la columna CLIENTE del tipo Ref y en Source Table asignaremos la tabla principal, que es la tabla CLIENTES.

Veamos (12:35):

2.6 Establecer tipos de columnas

Las aplicaciones de AppSheet están ‘basadas en datos’, lo que significa que las características y la funcionalidad dependen de los tipos de datos en su fuente de datos. Por ejemplo, para tomar fotografías o recolectar firmas, será necesario definir columnas dedicadas a imágenes y firmas en su tabla de datos.

Una capa de inteligencia de aprendizaje automático en AppSheet Editor ayudará a determinar los tipos de datos en cada una de sus columnas, pero luego depende de usted finalizar y personalizar.

Ver tiempo 04:54 del siguiente video, donde se hacen los ajustes de las columnas de acuerdo al tipo de dato a registrar:

2.7 Tipos de columnas: fechas y horas

Cuando necesitamos registrar información de Fechas y Horas, es necesario ajustar las columnas a los tipos Date y Time, respectivamente. Por ejemplo, cuando queremos registrar la Asistencia del personal como podemos ver en el ajuste de columnas a la tabla ASISTENCIA en el video siguiente (03:37):

2.8 Tipos de columna: listas y menús desplegables

En ocasiones necesitamos seleccionar los valores desde una lista , de donde se pueda elegir un solo valor o varios, en cuyos casos se utilizan respectivamente los tipos de Columna ENUM y ENUMLIST.

En el video siguiente podemos apreciar el uso del primer tipo citado (ver 06:28):

2.9 Tipos de columna: contenido, medios y firmas

En esta sección veremos ejemplos de como almacenar eficientemente la información relacionada a Imagenes (Image), archivos (File), Videos (Video); Dibujos (Drawing) y Firma (Signature) y correo eletrónico (Email).

  • En este video (04:08)se aprecia el uso del tipo de Columna Image. Cabe señalar que en la hoja de cálculo asociada se guardan estos valores como enlaces con el formato NombreApp_Images/ca49c2d6.IMAGEN.154644.png

donde: NombreApp_Images es el nombre de la carpeta que se crea y donde se almacenan las imagenes cargadas mediante la aplicación, y la cadena que sigue ( ca49c2d6.IMAGEN.154644.png ) es el nombre del archivo.

En este video (ver 05:44) vemos el ajuste de columnas de manera a almacenar archivos (File) y videos (Video) :

En este video vemos el uso de columnas para Dibujos (Drawing) y Firma (Signature).

3- DEFINICIÓN DE LAS VISTAS DE LA APLICACIÓN.

3.1 Vistas de aplicaciones de posicionamiento y etiquetado

Las vistas de la aplicación se pueden colocar en 5 posiciones diferentes a lo largo del pie de página de la aplicación, en el menú superior izquierdo de la aplicación o como una ‘referencia’ a la que solo se puede acceder haciendo clic en otra vista, o incrustada en una vista de panel.

Para cada vista, seleccione un icono relevante para ayudar a los usuarios a encontrar rápidamente el contenido apropiado.

Se puede elegir la posición de la vista desde la opcion Position (left most, left, center, right, right most, menu o ref)

3.2 Tipos de vista

Las vistas de la aplicación constan de uno de los siguientes tipos de vista, cada uno con propiedades y configuraciones definidas por la tabla de datos conectada en la que se basa la vista:

Calendar (Calendario)

Deck (Plataforma)

Table (Mesa)

Gallery (Galería)

Detail (Detalle)

Map (Mapa)

Chart (Gráfico)

Dashboard (Panel)

Form (Formulario)

3.3 Vista de Calendario

En este video (ver 22:52) se muestra cómo se ajusta una vista Calendario, teniendo en cuenta los campos Fecha y hora (inicio y fin).

3.4 Vista de Mapas

En este video (ver 14:53) se muestra cómo se ajusta una vista de MAPAS, teniendo en cuenta la Columna de Mapa (que tiene que ser una columna del tipo LatLong).

3.5 Tipos de mapas XY

Los tipos de mapas XY aprovechan la vista de mapa, pero en lugar de que Google Maps sea el fondo predeterminado, se puede especificar una imagen de fondo personalizada. Luego, los puntos se pueden trazar en ese fondo personalizado con coordenadas X, Y que son relativas al ancho y alto de la imagen. Por ejemplo, un valor XY de 50,50 colocaría el punto en el centro exacto de la imagen, sin importar la resolución de la imagen.

Ver el siguiente el video (ver 05:07) donde se inserta una planta arquitectónica de fondo.

3.6 Vistas de Tabla

En este video de ejemplo, se muestra la conversión de una Vista del tipo Deck a Table (Tabla). Notar que es posible agrupar por una columna, ordenar por columna, y tambien seleccionar las columnas a mostrar, con el orden personalizado. (ver 05:30)

3.7 Vistas de galería

En ocasiones necesitamos visualizar rápidamente las imagenes asociadas a un registro, optimizando el espacio de la vista. Para ese efecto se utiliza la Vista del tipo Gallery (Galería).

Veamos un ejemplo, con este video, en el minuto 06:40.

3.8 Vistas de gráficos

También es posible representar una tabla de registros en forma gráfica con la opción de Vista Chart (Gráficos). Se puede elegir el tipo de gráfico que mas se ajusta, conforme al tipo de información.

En este ejemplo, vemos una aplicación de Registro de Peso, donde tenemos representando el peso medido, en el tiempo, con unos gráficos del tipo Histograma. Ver 15:45

3.9 Vistas de Panel (Tablero)

Las vistas del panel contienen una colección de otras vistas creadas en la aplicación y se utilizan mejor en tabletas o en la versión de aplicación web de las aplicaciones en un navegador.

Al habilitar el ‘Modo interactivo’ en una Vista de panel, las vistas basadas en la misma tabla, o que están relacionadas entre sí, se actualizarán automáticamente a medida que el usuario de la aplicación seleccione las entradas.

En el video de ejemplo, se muestran dinámicamente los diferentes Consumos de Frutas en el tiempo, conforme se selecciona el tipo de Fruta (ver 12:10 cuando se crea el Dashboard -Panel).

4- COMPORTAMIENTOS Y AUTOMATIZACIÓN

4.1 Introducción a los comportamientos de las aplicaciones

El uso de las aplicaciones se ven favorecidas por las Acciones y Automatizaciones.

a- Las acciones se pueden usar para cambiar datos, vincular a otras vistas dentro de su aplicación, así como vincular a recursos externos como otras aplicaciones móviles en su dispositivo o sitios web externos.

b- Las Automatizaciones permiten realizar procedimientos automáticos (procesos) como ser:

  1. Enviar aviso por email a los usuarios avisando de que su producto llegó.
  2. Crear un archivo en PDF.
  3. Cambiar el estado de una columna al cambiar el estado de otra, en otra tabla.

Veremos en los siguientes ejemplos las aplicaciones de cada caso.

4.2 Creación de Acciones

En este video de ejemplo, en el minuto 11:54 se crea una Acción simple que permite cambiar el Estado de una Tarea.

4.3 Automatización con BOTS.

Actualmente es posible automatizar tareas en AppSheet con el uso de BOTS. El esquema de funcionamiento en general es:

– Una vez que ocurre un evento (como ser un cambio de Estado a «Listo») se generan PROCESOS automáticamente, como las citadas anteriormente. Estos procesos pueden constar de uno o varios PASOS (denominados STEPS) de acuerdo a la lógica que se busca.

4.4 Ejemplo de Automatización con BOTS: Personalización de correos electrónicos y PDF generados

En el ejemplo siguiente se tiene un ejemplo simple.

Cuando el estado de un pedido se cambia -mediante una ACCION- a «Listo» se lanza el BOT que lo que hace es:

  • Crear un archivo en PDF con un nombre único (que es definido por el usuario).
  • Asignar la ruta de creación del archivo citado en una columna Documento de la tabla Pedidos.

Veamos el video, minuto 12:34 :

5- SEGURIDAD DE LAS APLICACIONES

5.1 Entendiendo la seguridad de las Apps

Hay varias secciones de la pestaña Seguridad donde se pueden realizar personalizaciones a la configuración de seguridad de la aplicación. Se pueden solicitar los inicios de sesión de los usuarios visitando la sección Require Sign-In. Los filtros de seguridad y los grupos de dominio de la pestaña Integración de dominios se pueden utilizar para controlar el acceso de los usuarios.

La seguridad de AppSheet se basa en:

Autenticación: le permite identificar de manera confiable a los usuarios de su aplicación.

Control de acceso a la aplicación: le permite controlar quién puede ejecutar su aplicación.

Control de acceso a datos: le permite controlar qué datos ve cada usuario.

Auditoría: le permite monitorear el uso de la aplicación.

5.2 Requerir el inicio de sesión del usuario

Para mantener la seguridad de las aplicaciones y restringir el acceso a terceros se debe ir a la pestaña Security y luego tildar Require User Sigin. De esa forma se mantiene el control de los usuarios que pueden utilizar la app.

5.3 Filtrar datos con ‘filtros de seguridad’

En ocasiones es necesario añadir filtros a qué tipo de información puede ser visible para ciertos usuarios.

Por ejemplo, si se requiere restringir el acceso en una tabla dada, a ciertos usuarios, entonces se debe ir a Security, Security Filters, elegir la tabla en cuestión y Security filter, donde se introducirá la condición que filtrará las filas visibles para ciertos usuarios. Generalmente esto se hace poniendo como condición [EMAIL] = USEREMAIL(), donde:

[EMAIL] : es la columna de la tabla que servirá como comparación.

USEREMAIL() : es el email de sesión del usuario dado.

SLICES

Un enfoque simliar al descrito en el párrafo anterior se logra con el uso de SLICES, donde es posible filtrar del mismo modo señalado una tabla dada, pero con menor capa de seguridad que el caso anterior (puesto que la tabla fuente sigue sin filtrar como si se logra con los filtros de seguridad)

Para crear un SLICE:, se deber ir a Data, Slices y New Slice.

Luego en ese punto se debe seleccionar el nombre del Slice, La tabla fuente, finalmente introducir la Condición que hará filtrar la tabla, de acuerdo al interés.

Un ejemplo del uso de SLICES se ve en este video (ver 26:38) donde se filtra la información de la tabla ENVIOS de acuerdo al valor de la columna ESTADO (en este ejemplo, se crean cuatro SLICES, de acuerdo a sus 4 estados posibles)

6- ADMINISTRAR Y PUBLICAR APLICACIONES

6.1 Implementación de aplicaciones

Cuando una aplicación prototipo está lista para compartirse con un grupo inicial de usuarios, se puede ejecutar una verificación de implementación para garantizar que la aplicación funcione como se esperaba.

Visite Mange> Deploy

Una vez que se ha ejecutado la verificación de implementación, el editor identificará las advertencias o errores que pueden necesitar ser corregidos antes de continuar con la implementación y compartir con los usuarios.

6.2 Invitación de usuarios

Visite la sección de Users para enviar invitaciones a los usuarios de la aplicación.

Envíe invitaciones a usuarios individuales de la aplicación con mensajes personales que incluyan contexto sobre qué esperar en la aplicación. La invitación por correo electrónico que reciban contendrá un enlace para continuar con el proceso de instalación de la aplicación.

En este punto, es posible dar roles a los usuarios invitados, por ejemplo, el rol de User o Admin, por citar.

Ejemplo: al usuario fabiojpalacios@gmail.comse le puede asignar uno de los roles disponibles.

Cabe señalar que como User solo puede usar la app, para visualizar la app como usuario final.

Sin embargo, como Admin puede a su vez tener sub roles diferentes: usar la app, ver la definición de la app (pero sin modificar), y editar la definición de la app (esto es, el usuario invitado podria volverse co-autor de la app. Ojo con esto!)

7- FUNCIONES EN APPSHEET

AppSheet cuenta con numerosas funciones incorporadas.

En este apartado veremos un par de ellas, por considerarlas las más importantes.

7.1 LOOKUP()

La función LOOKUP() viene a ser el equivalente de BUSCARV en Excel por ejemplo. Es decir permite buscar un valor dado, en otra tabla comparando una columna que guarda el mismo tipo de informacion, y obtener de esa forma el valor de otra columna de la tabla citada.

La sintaxis es:

LOOKUP( valor-buscado , tabla a buscar , columna afectada , columna de interés )

Para verlo claramente, dejo este sencillo video donde de acuerdo a la SITUACION de peso de una persona, se -en otra tabla -busca la imagen que corresponde a ese peso.

Ver tiempo 13:25.

7.2 SELECT()

La función SELECT() se utiliza para obtener el valor de columna de una tabla dada (o valores) de acuerdo a una condición. Se suele usar mucho para búsquedas en general y tambien para alimentar listas desplegables filtradas.

Un ejemplo de utilización lo tenemos en este vídeo, en 06:07:

Por admin

×

Powered by WhatsApp Chat

× ¿Cómo puedo ayudarte?