Day 4 Design Appian Records Part 1 y Part 2 que aprendiste?

¿Day 4 Design Appian Records Part 1 y Part 2 que aprendiste?

  Discussion posts and replies are publicly visible

  • Appian records – parte 1 

    En esta primera parte, se analizó y presentó la importancia de los Tipos de Registro a la hora de construir nuestra aplicación, y porqué esta misma debe de definirse en torno a estos. 

    Los Tipos de Registro son un tipo de objeto, que nos permitirán trabajar con los datos de la aplicación, permitiendo presentárselos al usuario final, de una forma precisa y ordenada, así como también guardar la información que el usuario haya ingresado. 

    Cabe mencionar que dichos datos los podemos obtener de diversas fuentes, como pueden ser: Bases de datos relacionales, Modelos de Proceso, Sitios Web, SalesForce. Dándonos mucha flexibilidad al poder conectarnos a diferentes recursos. 

    Podemos activar la sincronización, cuando nos conectemos a una Base de Datos Relacional, lo cual nos permitirá guardar en caché una copia de los datos, permitiendo accesar más rápido a estos, dando una mejor experiencia al usuario final. 

    Una vez conectada la fuente de donde obtendremos los datos, podemos aplicar diferentes filtros a estos, como son: 

    Filtros de origen: Permiten filtrar registros provenientes desde su origen, y solo almacenar en la aplicación de Appian los que nos interesan. 

    Filtros predeterminados: Permiten filtrar los datos, una vez que ya están en Tipo de Registros, de igual manera, mostrando solo los necesarios al usuario. 

    Filtros de usuario: Permiten que sea el usuario final el que los aplique, desde la misma interfaz del sitio, pudiendo tener tantos como se desean, y de los campos que más convengan. 

    La opción de Lista de Registros nos permite visualizar los datos en una tabla, para que el usuario pueda acceder al detalle de cada uno de una manera fácil. Podemos crear acciones de lista de registros como Agregar, o acciones relacionadas como Editar y Eliminar. 

    Por último tenemos las reglas de seguridad, que nos permitirán asegurar los registros, para que ciertos usuarios de grupos, usuarios seleccionados y usuarios en registros relacionados, puedan ver y manipular estos registros.  

     

    Appian records – parte 2 

    Una vez que tenemos y conocemos como crear y configurar un Tipo de Registro, así como las diferentes opciones con las que se puede extender las funcionalidades de estos, viene lo que son las relaciones entre Tipos de Registro. 

    Las relaciones son básicamente conectar dos o más Tipos de Registro entre ellos, para extender el guardado de los datos que tengan algo en común. Esto se hace con la opción de Añadir Relación, la cual nos permitirá seleccionar el Tipo de Registro con el que e relacionará, Los campos que en común con los que se establecerá la relación y el tipo de relación, que puede ser: 

    Uno a uno: Un registro del Tipo de Registro A, solo puede tener un registro en común con un registro del Tipo de Registro B. 

    Uno a Muchos: Un registro del Tipo de Registro A, puede tener una relación con uno o más registros en el Tipo de Registro B. 

    Muchos a uno: Un registro del Tipo de Registro B, puede tener una relación con uno o más registros en el Tipo de Registro A. 

    Por último, podemos configurar y/o editar los campos del Tipo de Registro, crear campos de registro personalizados, que nos ayudaran a crear operaciones matemáticas básicas como: Contar, Sumar, Promediar, Máximo, Mínimo” en nuestros datos. 

     PDF

  • Fernando Fernandez Morales

     

    Diseño de registros de Appian, parte 2: relaciones de tipo de registro

    ¿Qué son las Record Type Relationships?

    Establece rápida y fácilmente relaciones entre diferentes tablas y fuentes de datos

    Flexibilidad

    Establecer Record Type Relationships hace que el desarrollo sea rápido y flexible. En lugar de tener que configurar relaciones al principio de una base de datos o más tarde en una vista de base de datos, y luego esperar a que su experto en datos procese las solicitudes de cambio, se puede agregar Record Type Relationships en cualquier punto del desarrollo.

     

    Puede utilizar Record Type Relationships en Expression Rules, Process Models, Interfaces y Record type list

     

    Crear una relación de tipo de registro

    Puedes crear una Record Type Relationship entre 2 Record Types ya existentes o creando uno nuevo.

    Se pueden crear desde un record type en la sección de add relationship

    Se escoge el tipo de relación y los campos en común

    Otra forma de hacerlo es en add source fields seleccionamos relationships  y new relationship, se selecciona el record type a relacionar, el tipo de relaecion y el campo común

    Si se crea desde un nuevo record type se crea la relación después de crear todos los campos

     

    También se pueden usar las relaciones sugeridas por el diseñador de appian.

    Se puede asignar seguridad a los registros relacionados

     

     

     

    Cuadro de búsqueda

    Si se selecciona la opción Mostrar cuadro de búsqueda, el cuadro de búsqueda estará presente. Si no desea que una barra de búsqueda esté disponible, simplemente se desmarca la selección de esa opción.

    Se puede limitar qué campos se buscan. Seleccione el menú desplegable y elija qué campos de registro se incluirán en la búsqueda.

     

    Campos de registro personalizados y datos relacionados

    Suma

    Utilice esta función de agregación para obtener la suma de todos los datos.

    Promedio

    Utilice esta función de agregación para obtener la media.

    Contar

    Utilice esta función de agregación para obtener un recuento de todos los datos de la columna.

    Conteo distinto

    Utilice esta función de agregación para obtener un recuento distinto de los datos.

    Máximo

    Utilice esta función de agregación para obtener el dato más grande.

    Mínimo

    Utilice esta función de agregación para obtener el dato más chico.

     

    Aplicar un filtro a un campo de registro personalizado

    Esta opción es útil si desea proporcionar una comparación en paralelo de datos superpuestos o para comparar los mismos valores en diferentes intervalos de fechas. 

    Para crear un filtro de usuario que contenga opciones dinámicas, debe crear un filtro de usuario basado en expresiones.

    El propósito de un filtro predeterminado es mostrar un subconjunto de registros del origen de datos, según los criterios de filtro.

     

    Datos de registro relacionados con la referencia - Tablas de referencia

     

    Al crear un nuevo tipo de registro, no tiene que guardarlo en una carpeta.

    Usando un filtro de origen, puede crear objetos de tipo de registro separados que solo traerán los datos relacionados con su entidad.

    Creando una nueva interface -> agregar un Ready-only Grid -> agregar el record type -> agregar columnas del otro record type


  • Design Appian Records Part 2: Record Type Relationships

    Introducción a las relaciones de tipo de registro


    Las relaciones de tipo de registros proporcionan una manera mas rápida y fácil de conectarse y hacer referencia a los datos relacionados de la aplicación.

    Se define una única relación entre un tipo de registro a otro.

    • One-To-One (Uno a uno)
    • One-To-Many (Uno a muchos)
    • Many-To-One (Muchos a muchos)

    En Appian se puede establece rápida y fácilmente relaciones entre diferentes tablas y fuentes de datos a través de un tipo de registro. El establecer relaciones de tipo de registro hace que el desarrollo rea rápido y flexible, se pueden agregar relaciones de tipo de registro en cualquier punto del desarrollo sin afectar otras relaciones existentes.

    Modelos de datos con tipos de registro

    Se puede crear tipos de registros entre dos tipos de registro o definir una relación mientras se crea un nuevo tipo de registro.

    La capacidad de agregar datos es particularmente importante para diseñar tablas y gráficos de sus datos. Algunas de las diferentes funciones de agregación que se pueden usar con la plantilla de campos de registro relacionados agregados son:

    • Sum
    • Average
    • Count
    • Distinct Count
    • Maximun
    • Minimum

    Con esta misma plantilla también se pueden aplicar filtros a campos de registro personalizados, para proporcionar una comparación en paralelo de datos superpuestos o comparar los mismos valores en diferentes intervalos de fechas.

    Datos de registro de referencia

    Filtros de usuario con datos relacionados
    En una relacion a muchos a uno se genera en automatico un filtro de usurio, el cual se crea en el campo de registro relacionado utilizado para definir la relación (campo comun) y utiliza el primer campo de texto de clave no principal en el tipo de registro relacionado como opciones de filtro.

    Filtros de usuario basados en expresiones

    Para empezar a usar este filtro se debera crear una variable local, la cual la crearemos usando la funcion "a!localVariables" en la cual toda la expresion se encontrara dentro de esta funcion.

    Filtros de origen de tipo de registro
    Con el uso de un filtro de origen se pueden crear tres obejtos de tipo de registro que solo consultaran los datos relacionados con su entidad.

    Step-By-Setp #6

  • Record Type relationships

     

    Se permite la relacion entre Records Type de forma similar a como funciona una base de datos relacional, puedes establecer relaciones entre distintas tablas y fuentes a través de un Record type.

     

    Las relaciones pueden ser

     

    One to One

     

    One to Many

     

    Many to One

     

    Flexibility

     

    Estas relaciones entre Record Types pueden ser añadidas en cualquier punto del desarrollo sin afectar las relaciones existentes, por lo cual el trabajo puede ser más rápido.

     

    Agreggate Related Record Fields

     

    Los Aggregate Related Record Fields template permiten utilizar las funciones de agregación mediante la creación de un custom record field

    1. Sum
    2. Average
    3. Count
    4. distinct count
    5. maximum
    6. Minimum

    Reference Related Record Data - User Filters

    Cuando definimos una nueva relacion de tipo Many to One un User Filter es automaticamente generado el cual es usado para definir la relacion entre Records

     

    Se puede definir otro tipo de User Filter a traves de una expresion mediante la Opcion Search and User Filters -> New User Filter -> Seleccionamos del radio button la opcion "Expression" y en el Filter expression colocamos nuestra expression.

    Step by Step 6

    PDF

  • Jesús Reyes Hernández

    Relaciones de tipos de registros

    Las relaciones de tipos de registros es una forma fácil y rápida de conectar y consultar los datos relacionados con su aplicación.

    Se definir relaciones de:

    • uno a uno
    • uno a muchos
    • muchas a uno

    Se puede usar una experiencia de low-code para relacionar sus datos de registro, de modo que pueda comenzar a crear sus aplicaciones más rápido.

    Usar datos relacionados

    Puede crear una consulta única al tipo de registro del vehículo para acceder a los datos del vehículo y a los datos de mantenimiento relacionados.

    Flexibilidad

    Establecer relaciones de tipos de registro agiliza y flexibiliza el desarrollo.

    Funciones de agregación

    • suma
    • promedio
    • conteo
    • conteo distinto
    • máximo
    • mínimo

    Filtro de usuarios con datos personalizados

    Siempre que defina una nueva relación muchos a uno, se genera automáticamente un filtro de usuario. Este filtro de usuario se crea en el campo de registros relacionados utilizado para definir la relación, también llamado el campo común, y usa el primer campo de texto clave no primario en el tipo de registro relacionado como opciones de filtro.

    Filtro de usuario basado en expresiones

    Cambie la selección del botón de opción en la parte superior de la pantalla desde Configuración guiada a Expresión.

    Nombre al filtro “Marca”. Estará entonces preparado para escribir la expresión de filtro.

    Para comenzar, necesita crear una variable local con la función a!localVariables().

    Luego, necesita definir una variable local llamada local!vehicleMakes.

    Ahora comenzará a llenar los parámetros para a!queryRecordType().

    Para el parámetro recordType, use recordType!Vehicle.

    Agregue una coma y continúe con la siguiente línea para agregar el parámetro fields. El icono de error desaparecerá después de que actualice el campo en el siguiente paso.

    Puede usar a!aggregationFields() para seleccionar el campo vehicle.make y obtener un conteo de ese campo.

    Agregue el parámetro groupings y una llave.

    Con a!grouping, puede comenzar a escribir la palabra “make”, y Appian le sugerirá el campo de tipo de registro del vehículo, marca.

    También puede crear un alias para este campo con el nombre “make”.

    Agregue una coma después de la llave de cierre.

    Para el parámetro measures de a!aggregationFields(), usará a!measure().

    Para campo, comience a escribir make, y seleccione la referencia del campo de tipo de registro del vehículo, make.

    También podrá ver un conteo de la marca de cada vehículo utilizando la función “CONTAR” Similar al alias anterior, establezca otro alias para esta medida que se llame “count”.

    También se le recomienda que agregue pagingInfo para a!queryRecordType(), de modo que pueda establecer límites en la cantidad de filas que recupera.

    La consulta tiene un índice de inicio de 1. Esto implica que los resultados comenzarán en la página 1.

    Configure el tamaño de lote en 5000.

    Ahora, agregará la función a!recordFilterList().

    Actualice el parámetro name a "Make".

    Para opciones, usará la función a!forEach().

    Los elementos para a!forEach() deberían ser local!vehicleMakes.data

    El parámetro expression usa a!recordFilterListOption()

    Actualice el parámetro id a fv!index

    Actualice name a fv!item.make

    Para el parámetro filter, usará a!queryFilter()

    Actualice los parámetros a!queryFilter()con

    recordType!vehicle.fields.make para field.

    Su operador debería ser "="

    Valor debería ser fv!item.make

    actualice el parámetro dataCount a fv!item.count.

    Hacer referencia a datos de registros relacionados

    Filtros de origen de tipo de registro

    Con un filtro de origen, puede crear tres objetos de tipo de registro separados que solo mostrarán los datos relacionados con su entidad.

    Step-by-step #6

  • Isaac Balam Lira Ramírez

    Design Appian Records Part 2 (Record Type Relationships)

    Record Type Relationships

    Es una forma rápida de referenciar información relacionada entre dos Record Types, es decir puedes referenciar cualquier información en un Record Type proviniendo de otro siempre y cuando sea información que esté relacionada.

    Cuando se establecen relaciones entre Record Types, se genera una conexión del Record Type con el related record Type.

    Las relaciones permitidas entre Record Types es Uno a uno, Uno a muchos y Muchos a uno.

    Importancia de las Relationships

    • Nos permiten concentrar y relacionar información de muchas fuentes en un solo lugar.
    • Cuando queremos obtener información relacionada con un registro basta con hacer query al registro y desde ahí podemos acceder a los datos relacionados.
    • Nos dan mucha flexibilidad ya que podemos hacer cualquier cambio en relaciones o campos de manera sencilla.

    Configurar Relationships

    Crear Relationships

    Data Model Page > Add Relationship > Select Related Record Type > Fill relationship options > Add > Save Changes 

    Además dentro de la sección de Data Model también puedes editar las Relationships.

    Seguridad

    Puedes asignar seguridad de forma que solamente ciertas personas puedan ver los Related Record de un Record Type.

    New Security Rule > Users who can view related records > Create

    Interfaces

    Se pueden mostrar incluso dos Record Types en una sola interfaz y personalizar la barra de busque para que busque en campos relacionados..

    Aggregate Related Record Fields

    Cuando creas una relación Uno a muchos Appian te deja a tu disposición una plantilla para realizar funciones aggregate con el Related Record. Podemos incluso agregar filtros a los Aggregate Custom Related Fields para usar en las operaciones solo los datos deseados. 

    Para añadir este tipo de campos personalizados debemos añadir una columna en la readonly grid y esta sera el campo personalizado que creamos.

    Reference Related Record Data

    Filtros de usuario

    Cuando creas una relación uno a muchos se genera automáticamente un filtro de usuario dicho filtro está basado en la primera columna de texto del Record Type relacionado.

    Expression-Based Filters

    Se pueden crear filtros basados en expresiones,

    Relational Database Reference Table

    Este tipo de tablas guardan cierta información como categorías por ejemplo y cada uno de sus valores. Este tipo de tablas pueden usar Source Filters para crear Category Records provenientes de la misma tabla.

    Step by Step 6

    Step-by-Step # 6

    Step-by-Step # 6

    Step-by-Step # 6

     

  • Lesson Summary

    In this lesson, you learned how to create a new record type object sourced from an existing database and how to generate a database table from within the record type object. You also learned how to enable data sync on a record type so the vehicle data is cached in Appian, and how to configure Appian to skip a failed sync and to use data from the last successful sync instead. Next, you learned how to initially configure the fields you would like to include in the record type. Finally, you learned about the data model overview screen that shows you the current data structure of your record as well as related record types. 

     

     

     

     

    Query a Record Type

    Learning Objectives

    After completing this lesson, you should be able to:

    • Explain how queried record data can be used in your application
    • Query a record type using the Query Editor

     

     

    a!queryRecordType( )

    Before we walk through how to return a single row of data, let’s briefly discuss how else you might use queries in your applications. First, you may be familiar with the function a!queryEntity(). This function queries your database and returns the requested data. In this lesson you will learn about a similar function called a!queryRecordType( ). Instead of querying a database, it looks up and returns data from your record type object. 

    You can use this function to return:

     

    • a list of values for a single record field 
    • a list of records with a subset of the fields
    • aggregate data
    • a single row of data

     

    Query a Record Type

    In this lesson, you will learn how to generate an expression using the query editor. That expression will query the vehicle record type and return a row of data.

    You’ll see this query used for testing, but record data can be used in any interface within an app. Note that this work is being done in the expression rule object and not in the record type.

     

    Lesson Summary

    In this lesson, you learned how to create a new expression rule to pass in a record id and have that expression query the record data to retrieve a single row of data. 

     

    Configure the Record List

    Learning Objectives

    After completing this lesson, you should be able to:

    • Configure a record list
    • Identify additional objects where record data can be displayed

     

    Apply Filters

    Learning Objectives

    After completing this lesson, you should be able to:

    • Apply source filters to your record
    • Apply default filters to your record list
    • Apply user filters to your record list

     

     

    • Lesson Summary
    • In this lesson, you learned how default filters determine which records appear in the record list and views, based on the conditions you specify. Then you learned how to create interactive filters so users can determine which records appear in their record list or grids that use record data. You learned the difference between static and expression-based filters. You also learned how users can save filters and use the search field in a record list. 

    Create Record Views

    Learning Objectives

    After completing this lesson, you should be able to:

    • Define the purpose of a record view
    • Create a record summary view
    • Create and link an interface used to display a record view

     

    Record Actions

    After completing this lesson, you should be able to:

     

    • Contrast a record action and related action
    • Generate a record list action
    • Create a related action

     

    This lesson is all about record actions. There are two types: record list actions and related actions. In this lesson, we’ll go over the differences between the two and have Appian generate each.

    RECORD LIST ACTION

    A record list action is a link to a process model that a user can start directly from the record list. The most common type of action to configure here is for users to create a new record for that record type. For example, we’re going to configure a record list action to add a new vehicle.

    RELATED ACTION

    A related action is also a link to a process model. This differs from a record list action because these process models are started directly from a record view and use data from that record.

     

     

     

     

     

     


     

    Apply Security

    Learning Objectives

    After completing this lesson, you should be able to:

    • Apply security to record type objects, record actions, and records

     

     

    Create Security Rules

    You can create security rules for different users in your application. You will learn how to set up these rules based on 

    • who is part of the rule? 
    • which records they can see?

     

    Note that users must have at least Initiator permissions to the action's underlying process model.

  • En Appian la planificación y diseño efectivo de registros es crucial, para ello debemos considerar los siguientes puntos:

    • Diseñar nuestro modelo de datos enfocado a las necesidades del usuario final, estos deben ser intuitivos, los nombres de
      los campos deben tener descripciones cortas y comprensivas, no debe haber redundancia de información.
    • Aplicar reglas de seguridad a nuestra información, definir que grupos pueden ver nuestros registros.
    • Similar al primer punto descrito, sin embargo, en este punto tratamos específicamente el lado visual, la información
      debe ser presentada al usuario final de forma atractiva, fácil de usar y con los campos necesarios únicamente, para
      este punto es importante apoyarse en íconos, imágenes, etc...
    • Es importante considerar dividir la presentación de nuestra información en múltiples vistas, esto con la finalidad
      de no saturar al usuario con demasiada información en una sola vista, cada vista debe tener la información necesaria
      para conservar uno de los principios de Appian la cuál es la experiencia de usuario, adicionalmente se puede presentar
      la información de múltiples formas como los son grids, KPIs, summaries, etc., ayudando a preservar la experiencia
      de usuario.
    • Apoyarse de otros diseños, es una buena práctica consultar como han lidiado en otros aplicativos para dar solución
      a problemáticas similares respecto a la experiencia de usuario.

    Un registro en Appian es el núcleo principal de las aplicaciones en Appian, suelen denominarse como "Appian record objects"
    estos suelen construirse de manera nativa en Appian u obtenerse de diversas fuentes de datos como:

    • Bases de datos relacionales
    • Web services
    • Integración con aplicativos externos

    Una vez obtengamos nuestros datos podemos establecer relaciones de manera automática, es decir, como lo sugiere Appian, o
    las podemos establecer de manera manual entre entidades, esto representará un cambio inmediato en nuestro data model, para
    temas de performance de las aplicaciones los datos pueden sincronizarse de manera manual o automática, esto guardará, una
    copia de nuestros registros en caché, dentro de los tipos de relación que existen en Appian, tenemos:

    • Relación uno a uno.
    • Relación uno a muchos.
    • Relación muchos a uno.

    La función para consultar información en Appian es "a!queryRecordType()", también pueden hacerse consultas de manera directa
    a nuestra fuente de datos, sin embargo, ese tema se abordará más adelante, dentro de nuestro editor de queries, podemos
    crear nuestras propias consultas para regresar los campos específicos que buscamos (recordar obtener solo lo que necesitemos
    cuando lo necesitemos), podemos emplear funciones de agregado como se haría en casi cualquier lenguaje de consulta estructurado,
    como: SUM, AVG, COUNT, MAX, etc., aplicar funciones de filtrado, ya sea por campo, condición o valor y por último también
    dispondremos en nuestro editor de queries de un limitador de registros y opción de ordenar por campos.

    Para la manipulación de nuestros registros dispondremos de record actions, los cuáles nos permitirán alterar nuestros datos,
    como agregar nuevos, actualizar, borrar, etc., es recomendable aplicar reglas de seguridad a dichos actions,
    adicional a ello podremos crear nuestros propios actions acorde a nuestras necesidades, por ejemplo, updates personalizados,
    es importante recalcar que la función para hacer referencia a valores de un registro utilizar el prefijo "rv!".

  • Sitios y Portales:

    Un  factor super importante para el logro de una experiencia que enganche a los interesados en un sistema son los sitos y portales,

    estos se distiguen:

    • Sitio:; Maneja autenticación
    • Portal: Es del libre acceso

    Determinar cual es el mas adecuado para el usuario es sencillo si atendemos al requerimiento, a la ncesidad específica de tal o cual sitio o portal. Basicamente los portal son libres de acceso y los sitios cuentan con seguridad de acceso y transaccional que asegura al usuario una expenriencia confiable.

    Configurar un sitio implica restringir los accesos al mismo a los usuarios de acuerdo a su perfil, grupo,  este se define de acuerdo a su función dentro del negocio. Estas restricciones de acceso a nivel site implican solo dar acceso a las interfases, procesos, registros, views, listas, buttons, datos que sean necesarios para el cumplimiento de sus funciones.

    Al crear un sitio los pasos que llevaremos para su configuración son:

    • Configurar sus páginas
    • Definir sus capacidades
    • Identificar los elementos que manejará
    • aplicar las mejores prácticas al site, en especial las de seguridad

    Al aplicar el nombres al site debemos cuidar

    • No usar el prefijo de la aplicación 
    • Usar un nombres corto significativo
    • Usar las iniciales con mayúscula
    • El display name se usa como identificador en el site, este se puede editar
    • L web address debe ser única

    Un portal no requiere auténticación, este se usa principalmente para:

    • Revisión de registros públicos
    • Registrarse para un evento
    • Requerir una cuenta
    • Requerir una cita
    • Reportar información

    Permisos en un portal...

    Que un portal sea de libre acceso no implica que no sea seguro

    • Para controlar el acceso se crea una cuenta de servicio la cual permite que el usuario se conecte y a la información seleccionada.
    • Esta cuenta se crea directamente dentro del objeto del portal pero hay que darle acceso en el "all users group"