-
Introducción, pequeños ejemplos de SherpaBots. Iniciación a los conceptos básicos para entender la formación.
Aquí veremos varios elementos básicos de SherpaBots para ir familiarizándonos con ellos.
-
Tema 1 - Uploads
Un Upload es un proceso mediante el cual se puede cargar a un servidor archivos de excel y texto. La carga se configura de manera que los datos se integran en una tabla dentro de una base de datos. De esta manera se puede validar la información, ajustar los formatos y facilitar la integración de datos en uno o varios sistemas.
-
Tema 2 - Modulooper 1
En este tema vamos a ver cómo visualizar la información en un Sherpaexcel
-
Tema 3 - Modulooper 2
Ahora vamos a ver cómo funciona "de verdad" la app Modulooper, la verdadera magia de SherpaBots.
-
Tema 4 - Modifica Configuración Upload
Este tema se centra en comprender en profundidad cómo se configura un Upload, mediante el moduform MODIFICA CONFIGURACION UPLOAD. Además, también veremos en qué tablas se configuran.
-
Tema 5 - SherpaExcel
Este tema redondea el "viaje del dato" con la descarga de datos. Ahora que podemos subirlos, validarlos, visualizarlos y, ahora, los descargaremos en un Excel formulado para poder analizarlos.
-
Tema 6 - Modifica Configuración SherpaExcel
En este tema vamos a ver como acabar de configurar un SquareExcel. Una vez creado, como hemos visto en el tema anterior, necesitaremos rellenar una serie de parámetros en la plantilla del bloque CONFIGURACION SQUAREEXCEL que encontraremos en la aplicación Configuración SherpaBots.
-
Tema 7 - CREAR APP
En este tema, como su propio nombre indica vamos a crear una Aplicación en SherpaBots. Primero veremos los distintos tipos que pueden existir (Standard, Custom). Veremos y crearemos una app Custom.
-
Tema 8 - APP STANDARD
En este tema vamos a ver cómo crear un App Standard. Para ello veremos una serie de ejemplos de aplicaciones similares.
-
Tema 9 - Moduforms
En este tema, vamos a aprender a hacer Moduforms. Primero, veremos un par de ejemplos de Moduforms en diferentes aplicaciones de SherpaBots y después veremos cómo generar uno. La generación de un Moduform tiene dos partes: 1. Pensar qué acción queremos realizar y generar los campos del formulario que vamos a necesitar. 2. Tendremos que configurar el modulooper asociado a este Moduform para que realice una (o varias) acciones con la información recabada en los campos del formulario (Moduform) De esta manera, podremos recoger información a través de un formulario y con ella realizar acciones en base de datos, mandar mails, comprobar cosas, borrar, añadir o modificar datos.
-
Tema 10 - Miscelánea
Este es el último tema de esta formación básica de SherpaBots. Todavía quedan muchos conceptos por aprender pero lo básico lo has recorrido a lo largo de estos 10 temas... Ahora solo queda practicar, practicar y practicar. En este tema verás una serie de conceptos que no encajaban en otros temas y que completan los huecos de la formación. - Tipos de eventos de Modulooper que no hemos visto - Documentación - Cómo plantear un desarrollo - Generación de accesos - Tablas básicas de Sherpa/Square.
3. Tablas importantes
Llegamos a uno de los últimos puntos de la formación de SherpaBots… Una vez hemos llegado hasta aquí podemos realizar prácticamente todo. Ahora, vamos a ver una serie de tablas que son importantes para definir los procesos y cómo éstos se almacenan en tablas.
Estas tablas estarán habitualmente guardadas en la base de datos del core de SherpaBots que son: square, squareexcel, documentacion, uploads.
6.1 uploads.uploads_head
Empezamos por el principio, los Uploads. La primera parte de carga de información viene a través de los Uploads. Bien, cuando configuramos una carga gracias al moduform del bloque CREAR UPLOAD. Una de las dos tablas que se rellena es uploads.uploads_head.
Esta tabla tiene esta forma:
Aquí existe una línea por cada hoja de cada upload. Nos indica la fila de inicio (STARTROW) y fila final (ENDROW) la base de datos y tabla vestíbulo. Separador y delimitado en caso de los uploads csv y txt. El nombre y mail de la responsable.
6.2 uploads.uploads
Esta segunda tabla define cada campo que se recoge de los Uploads.
Así existen tantas líneas como campos recogidos para cada hoja de cada upload.
Veamos el ejemplo del Upload del Template Penguins of the world.
Vemos que existe un campo ORIGEN que siempre tiene un valor fijo, que es el nombre del Upload.
A continuación vemos, como se relaciona el nombre del campo con la columna, y su respectiva hoja.
También veremos si se ha definido algún valor fijo, fixrow, mandatory o headcheck.
6.3 square.apps_responsables_area
Ahora empezamos con una serie de tablas donde se configuran áreas-apps-bloques-campos de los bloques.
Esta primera square.apps_responsables_area es donde se inserta una línea cuando creamos un área.
Tendremos el nombre del área y el responsable que indicamos en el moduform del bloque CREAR ÁREA.
6.4 square.apps_list
Esta tabla tendrá las características que definen una app:
Aquí se relaciona el nombre de la app, con el logo, la url, la descripción, el área y si está o no activo. También veremos la orientación de la app (V=Vertical, H=horizontal).
6.6 square.sitrees (bloques)
Esta es una de las estrellas de la corona. En square.sitrees se definen los bloques.
Aquí vemos el nombre del bloque y la relación con el área. También se correlaciona el nombre_square con el nombre_area lo que nos da la oportunidad de mapear bloques en función del área. Lo veremos en el punto 6.8
6.7 square.sitrees_extended
Esta tabla define lo que conocemos como atributos de los bloques. De los diversos tipos de bloques (Uploads, Moduforms, Plantilla, etc) necesitamos definir una serie de cosas.
Por ejemplo veamos la definición de un bloque tipo Upload:
Aquí vemos una serie de líneas típicas de la definición de un Bloque “Upload”.
Vemos el nombre de la app, el nombre que se asigna al bloque en el área de esa app (en este caso app Upload Center tiene de área “UPLOADS”.).
En todos los bloques tenemos los campos:
- MODULOOPER, define el valor (el nombre) del modulooper que ejecuta ese proceso, normalmente tendrá el mismo nombre que el bloque a excepción de aquellos que tengan un modulooper común para todos los bloques; es el caso de las apps standadard con plantilla donde cada bloque ejecuta el modulooper común de la app.
- UPLOAD, define este bloque como de tipo UPLOAD, es decir que el fichero cargado se leerá y se ejecutará el modulooper asociado.
- UPLOADER, define el uploader, que no podemos modificar ni necesitamos saber ahora.
- UPLOADFILE, es el campo tipo fichero que cargará el fichero que necesitamos.
Además tendremos, normalmente el campo TEXTAREA que nos servirá para introducir un comentario sobre el fichero que estamos cargando.
Ahora miremos cómo se definen los atributos de un bloque independiente que ejecuta un moduform, por ejemplo el de CREAR AREA.
Tenemos los tres básicos: MODULOOPER, UPLOADER y TEXTAREA.
Además también tendremos los campos del moduform, que en este caso son solo dos: CAMPO01, CAMPO02, que nos indica lo que pone en la etiqueta, el valor (SELECT/Placeholder) y el tipo. También veremos el orden, si es obligatorio (Required).
Otro ejemplo de bloque sería el bloque de una app standard con plantilla.
Aquí vemos que en una app standard con plantilla como es PENGUINS OF THE WORLD tenemos el campo NOMBRE_AREA vacío ya que los bloques tienen todos la misma definición. Es una definición muy similar a la del bloque “Upload”.
Vemos los campos: UPLOAD, UPLOADFILE, MODULOOPER, TEXTAREA, pero además vemos también una línea extra campo TEMPLATE que nos indica en el valor la url donde se descargará la plantilla desde el botón plantilla. Que es donde se vincula con SquareExcel que es donde se guardan todas las plantillas con el nombre TEMPLATE NombreApp.
Ahora veamos cómo se define un bloque de SquareExcel:
Aquí vemos la app, con el nombre área, también tendremos VERSION, AREA, TABLASITES y RESPONSABLE.
De esta manera tenemos el recorrido de cómo se relaciona todo.
- ÁREA se define en square.apps_responsables_area
- APP square.apps_list (que vincula APP y AREA)
- BLOQUE square.sitrees(que vincula ÁREA y BLOQUE)
- ATRIBUTOS DEL BLOQUE square.sitrees_extended (que vincula APP con BLOQUE con campos del moduform)
6.8 Relación de nombres de área entre áreas (NOMBRE_AREA, NOMBRE_SQUARE)
Ahora veamos cómo se puede vincular un nombre de un área con otro nombre de otro área.
Lo mejor, un ejemplo práctico.
En SherpaBots ocurre que tenemos áreas que tienen una relación de Bloques que llamamos Unidades de gestión que se llaman diferente en función del área al que pertenezcan a veces un bloque de RRHH tiene otro asociado en OPEX o en FINANZAS.
Por ejemplo, tenemos una unidad de gestion “DHL SAN FERNANDO BRIGHTSTAR” que en cada una de las “grandes” áreas tiene un nombre diferente.
En el área de RRHH se llama “DHL SAN FERNANDO BRIGHTSTAR”
en el área de FINANZAS “SAN FERNANDO TECNOLOGÍA”
y en el área de OPEX “SAN FERNANDO ALMACEN”
Esto significa que gracias a esta tabla podemos vincular una unidad de gestión a varias áreas cuyos nombres sean diferentes.
Así por ejemplo, puede darse que en una empresa tengamos la gestión de varios departamentos que usan distintas nomenclaturas para las mismas unidades de gestión, como acabamos de ver en el ejemplo. Para distinguir usamos el nombre_square que será común y nos permite mapear con los distintos nombres asignados en las diferentes áreas.
6.4 square.listas
Esta tabla ya la hemos visto de pasada a lo largo de la formación, con una copia en la base de datos formacion_ml que simulaba esta tabla.
Aquí vemos un ejemplo muy útil cuando queremos traducir valores de meses a nombres o viceversa.
Esta tabla se alimenta de la carga SQUARE LISTAS de Upload Center:
Donde primero habrá que descargarse la plantilla, luego podremo ver ahí lo que hay y si necesitamos introducir algún listado, rellenarlo al final :
Indicaremos el nombre de la lista, la etiqueta y el valor, a modo de mapeo.
Guardamos el documento y lo volveremos a subir, de esa manera tendremos lo datos en la tabla, para poder utilizarlos como queramos.
6.7 square.tracking
Esta tabla tiene el tracking o histórico de todos los bloques de carga y ejecución de square.
Veremos la app desde la que se hace la carga, el usuario y la fecha que realiza la carga. El nombre del archivo, la versión si hay. El centro hace referencia al bloque desde el que se hace, cuando finaliza la carga si hay comentario y luego versiones, adjuntos, tags y actualización del template.
Esta información nos puede servir para rastrear errores y ver actualizaciones de templates en relación a la carga. También si la versión cargada es correcta o recuperar archivos más antiguos que no salen en los históricos.
y así acaba la formación de SherpaBots…
Todavía nos quedan muchos conceptos para aprender pero el pack básico ya lo tenemos.
Si has llegado hasta aquí…
mi más sincera