Los tipos de actividad de la línea de tiempo están en fase beta y pronto estarán disponibles en Veinte 2.34. La
API puede evolucionar mientras aprendemos de los casos de uso de los desarrolladores.
Eventos explícitos y automáticos
Añadeemit cuando Veenty debería crear este tipo automáticamente. emit.on soporta created, updated, deleted, restored, linked, y unlinked, mientras que emit.objectUniversalIdentifier identifica el objeto fuente. Sólo un tipo efectivo puede manejar la misma clave de emisión—on, objeto y opcional a través de la relación—en un espacio de trabajo.
Sin emit.throughh, el evento está escrito en la línea de tiempo del registro fuente. Para aficionarlo a registros relacionados, establezca emit.throughh. elationFieldUniversalIdentifier a una relación directa de muchos-a-uno o a una relación de unión uno-a-muchos en el objeto fuente. Las relaciones morfológicas se dirigen a cada miembro de su grupo morfológico, por lo que una sola declaración puede centrarse en varios tipos de objetos.
Para una relación directa, crear o restaurar el registro fuente produce linked, eliminándolo produce unlinked, y reapuntando la relación produce unlinked en el objetivo anterior más linked en el nuevo objetivo. Otras actualizaciones de código fuente no producen eventos de enlace. Este es el contrato utilizado por los archivos adjuntos, cuyo objetivo es una relación directa con la morfa.
Para una relación de juncción, universalSettings.junctionTargetFieldUniversalIdentifier identifica la relación del objeto de unión con el objetivo. Crear o eliminar una fila de unión produce linked o unlinked. Reapuntando a cualquiera de los lados de un registro de junction también produce un evento de enlace; las actualizaciones a campos de junction no relacionados no lo hacen.
Los eventos linked y unlinked requieren emit.throughh, porque su disparador es un cambio en la relación directa o de unión configurada.
Por ejemplo, este es el mismo contrato genérico utilizado por notas, tareas, mensajes y eventos del calendario:
actualizado a través de cada actualización de fuente. Establece emit.through.triggerFieldUniversalIdentifiers cuando solo los cambios a los campos de origen seleccionados deben aparecer en las líneas de tiempo de destino.
Omita emit para un evento de dominio explícito que tu función lógica se crea. Esto evita producir tanto una fila de auditoría automática como una fila explícita para la misma operación.
createTimelineActivity(). El código de la aplicación utiliza identificadores universales estables; Veinte resuelve los identificadores de metadatos específicos de la instalación.
Procesamiento personalizado
Sin un componente frontal, Veinte renderiza una fila genérica nativa de los metadatos de tipo etiqueta, icono y objeto enlazado. Esto funciona para objetos estándar y personalizados sin un renderizador específico de objetos. Para detalles personalizados, establezcafrontComponentUniversalIdentifier en un componente frontal propiedad de la misma aplicación:
useTimelineActivityId() desde twenty-sdk/front-component para leer el ID de la fila y obtener cualquier dato que su presentación necesite. Devuelve null cuando el componente es renderizado fuera de una fila de cronología.
Reemplazar la presentación de otra aplicación
Una aplicación posee contratos de cronología automáticos para sus propios objetos. Para personalizar un evento en un objeto propiedad de otra aplicación, declare explícitamente el tipo existente conreplacesTimelineActivityTypeUniversalIdentifier:
emit, porque reemplaza una ranura de emisión automática existente en lugar de un tipo explícito. El tipo referenciado debe pertenecer a la aplicación del objeto objetivo y describir la misma acción y ruta. Eliminar la aplicación de sobre-escritura restaura el tipo base; eliminar el tipo base desactiva la anulación.
Superposición y silenciamiento del espacio de trabajo
Los administradores del espacio de trabajo pueden cambiar la presentación de un tipo o silenciar sus eventos automáticos y explícitos sin bifurcar la aplicación. Usa la mutación de la API de metadatosupdateTimelineActivityType con el ID de tipo específico de la instalación:
label e icon se almacenan como espacios de trabajo sobrescritos, por lo que las actualizaciones posteriores de la aplicación no sobreescriben las opciones del administrador. Establece isActive en false para detener la emisión automática y rechazar nuevos eventos explícitos de ese tipo. Las filas existentes siguen siendo visibles.
Restaurar los valores predeterminados de la aplicación, incluyendo el estado activo, con:
Campos de configuración
Veinte instantáneas capturan identidad semántica y presentaciones duraderas cuando se crea un evento. Las filas históricas mantienen su acción original y su objeto significado. Mientras el tipo está instalado, su actual etiqueta traducida, icono y componente frontal renderizan en vivo; después de desinstalar, la instantánea mantiene el registro legible. La resolución utiliza el identificador universal, así que la presentación también sobrevive a reinstalar la aplicación.