Cronología

El Timeline componente muestra filas de varias tablas como una sola lista, la más reciente primero: por defecto las notas de un registro, comunicaciones por portal y otras actividades. Ponlo dentro de un RecordContext y lista las filas sobre ese registro: quién escribió cada uno y cuándo, su cuerpo en texto enriquecido se reduce a unas pocas líneas hasta Mostrar más, y su archivo adjunto para descargar. Lee página a página, con Cargar más para el resto y Actualizar para leerlo de nuevo. La búsqueda funciona como una cuadrícula: el texto coincide desde el inicio de un tema o texto, o cualquier lugar después de un inicio *, y un día o un año, con >, <, >= o <= antes, encuentra las filas de esos días. Con más de una tabla, un menú junto a la búsqueda elige cuál mostrar.

React Blazor

Cronología de un récord

Las notas, mensajes y citas sobre Schmeler and Sons, la cuenta que muestra la demo de la página de detalle de la cuenta. Una de sus notas es interna — su texto no empieza con *WEB* — por lo que no está listada. Elige las tablas que muestra, o acotáralas con Editar filtros (AllowFiltering), en el menú de Filtros, e inicia sesión para guardarlas allí como una vista propia (AllowSavedViews).

Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor
  1. Carmen Stamm
    Updated billing contact
  2. Customer Support
    Q4 business review summary
    Mostrar más
  3. Customer Support
    Delivery schedule
    November delivery schedule.csv
  4. Customer Support
    Re: Question about the November order
    Revised November shipments.pdf
  5. Timothy Blick
    Question about the November order
  6. Timothy Blick
  7. Customer Support
    Renewal kickoff

Qué notas y actividades se muestran

Una nota llega al portal solo cuando su texto comienza por *WEB*, para que el personal pueda llevar notas internas en los registros que ven los clientes. Las llamadas, tareas y otras actividades siguen la misma regla en su descripción, excepto los tipos sin filtrar — comunicaciones del portal, por defecto. El servidor aplica esto a todas las consultas, incluidas las cuadrículas y joins, por lo que ninguna regla de acceso a la tabla puede ampliarla. El portal nunca muestra el prefijo y lo añade a una nota o actividad creada a través del portal. Una nota cuyo título nombre nombre a su autor se Note created on … by Name [contact:id] muestra como escrita por ese contacto. Configurada SecurityOptions.PortalVisibility.Prefix para usar otro prefijo, o para null mostrar cada nota y actividad, y añadir una tabla para UnfilteredActivities mostrar cada actividad. El personal que inicia sesión en el portal como ellos mismos es la excepción: ven cada nota y actividad que sus roles de seguridad les permiten leer, como harían en Dynamics, con su texto almacenado, por lo que añaden ellos mismos el prefijo a una nota destinada al portal.

Los correos no pueden marcarse con el prefijo. El cuerpo de un correo electrónico lo escribe el cliente de correo que lo envió, como un documento HTML completo, así que el prefijo nunca es su primer texto, y ningún correo llega al portal por su prefijo. Sumar email a UnfilteredActivities es la única forma de mostrar correos, y muestra todos los correos que el usuario puede leer en un registro — incluidos los internos.

Comunicaciones por portal

Una comunicación por portal (ppp_portalcommunication) es una actividad en la solución Power Portals Pro para mensajes entre un usuario del portal y el personal. Está destinada al portal, por lo que no necesita prefijo. Su De indica quién la escribió: el contacto del usuario del portal, o el miembro del personal que respondió, con el contacto en To. El mensaje es texto enriquecido y puede llevar un archivo adjunto.

Acceso

La línea de tiempo solo muestra lo que el usuario puede leer: cada tipo de elemento necesita ser leído en su tabla, y un usuario que no puede leer ninguno de los dos no ve ninguna línea temporal. Una nota señala su registro a través objectid de la línea de tiempo y una comunicación por portal a través regardingobjectidde , por lo que la regla habitual permite al usuario leer los elementos sobre los registros a los que puede acceder, con RowsViaParent. Mantén esa consulta entre las columnas que puede leer: la línea de tiempo pide los elementos sobre su registro a través de ella, y se elimina una condición en una columna que un usuario puede no leer, lo que listaría los elementos de cada registro al que accede.

El usuario de la aplicación del portal también necesita leer ambas tablas en Dataverse. Las notas deben leerse en la tabla de Notas. Dataverse concede a cada tipo de actividad un conjunto de privilegios, por lo que las comunicaciones por el portal están cubiertas por las actividades de lectura que ya tiene el rol de Usuario de la Aplicación Power Portals Pro. Para que los usuarios puedan cambiar o eliminar notas y mensajes, necesita Escribir y Borrar en la tabla de Notas y Eliminar en actividades, que ese rol no cumple.

Escribir mensajes

Un usuario que puede crear comunicaciones en el portal recibe Nuevo mensaje: un asunto, un mensaje en texto enriquecido y un archivo adjunto, sobre el registro en el que está la línea de tiempo, y quien puede crear notas recibe Nota Nueva. CreatableTables Nombra las tablas sobre las que se puede escribir una nueva fila, Notas y comunicaciones por portal por defecto; una nota o mensaje se escribe en su lugar, la fila de otra tabla en un panel lateral. Es una forma propia, guardada aparte de la página que lo rodea. El servidor envía el mensaje desde el usuario, lo que diga la solicitud, por lo que un usuario no puede escribir como otro. Concédelo con acceso a tabla: OwnedBy("from") envía un nuevo mensaje de su autor, y RowsForWriting permite RowsOwnedByContact("from") a los usuarios cambiar y eliminar solo lo que enviaron. Omite Escribir y Eliminar, y el mensaje permanece tal como fue enviado. La línea de tiempo ofrece Editar y Borrar en cada fila que el usuario le permite cambiar o eliminar, y el servidor juzga cada cambio de nuevo cuando llega FormLocation . (React: formLocation) indica dónde se abre la forma de otra tabla: un panel lateral a la derecha, como por defecto, o a la izquierda, un diálogo en el centro, o Inline — en su lugar en la línea de tiempo, mientras se escriben notas y mensajes.

El personal recibe noticias de un nuevo mensaje a través PortalCommunicationOptionsde . Por defecto, está dirigido al propietario del registro del que se refiere, cuando ese propietario es usuario. Puede ir a una cola, a la que el usuario de la aplicación del portal necesita acceso para añadir elementos, o a nadie, dejándolo solo en la línea de tiempo del registro.

Tablas

Las notas y todas las tablas de actividades se registran en el servidor para líneas de tiempo y calendarios, cada uno fechado según lo que piden sus formularios: una cita para su inicio, una tarea o llamada telefónica para su fecha de vencimiento, un correo electrónico o mensaje para cuando fue escrito. Una línea de tiempo lista todas las tablas registradas que el usuario puede leer; nombra las que muestra en Tables. En un registro enumera las filas relacionadas con él y las actividades en las que participa el registro como remitente, destinatario o asistente. El servidor muestra solo las notas y actividades destinadas al portal: aquellas cuyo texto empieza por *WEB*, o todas las que tienen un tipo en UnfilteredActivities. Los correos electrónicos no pueden llevar el prefijo, por lo que solo aparecen cuando email está en esa lista.

React Blazor

Registra una tabla propia con AddMultiTableSource: un título y qué más se muestra, como el texto, su propietario y destinatarios, y la búsqueda al registro que trata una fila. Luego nombra cada control para el que es, con las columnas que ese control necesita: ForTimelines la fecha en que se ordenan sus filas, ForCalendars su inicio y, si los tiene, su columna de fin y de todo el día, ForSearch, y ForMaps su latitud y longitud. Esas columnas siempre se leen, sea cual sea el nombre de la consulta de una vista. Un registro que nombre una columna que la tabla no tiene, o una de tipo incorrecto, detiene el portal al inicio y dice qué está mal. Registrar una tabla de notas o actividad cambia solo lo que el registro nombra. Un registro no concede acceso: cada tabla sigue necesitando acceso de lectura como cualquier tabla.

Próximas filas

Una línea de tiempo lista sus filas más recientes primero, desde ahora hacia atrás. Upcoming (React: upcoming) empieza con antelación, así que lo que viene aparece primero bajo su propio encabezado, y Ascending (React: ascending) lista las filas a partir de ahora, lo más pronto posible: consulta Elementos próximos. Para dibujar las filas de una tabla a tu manera, o escribirlas en formas propias, consulta Renderizado Personalizado.

React Blazor

Opiniones

Da las vistas de la línea de tiempo para elegir, ya que una cuadrícula tiene: las propias de Dataverse en ViewIds, como Mis llamadas telefónicas o Todas las actividades, vistas de varias tablas en MultiTableViewIds, y vistas propias en CustomViewDefinitions, nombrando DefaultViewId la que aparece primero. Con dos o más, un selector de vistas ocupa el lugar del encabezado. Una vista de activitypointer Dataverse de lista de cada tabla de actividad registrada, y en un registro una vista lista las filas sobre el registro que deja pasar. Con (React: allowSavedViews), un usuario iniciado sesión puede guardar las tablas que muestra la línea de tiempo como una vista propia, ofrecida junto a AllowSavedViews la tuya, y elegir su vista predeterminada y ocultar las que no usa, desde el menú de Filtro: ver Vistas guardadas.

Una vista de tus propias lista filas de una o más tablas. Asigna a una tabla una consulta FetchXML, y sus filtros y uniones deciden qué filas se muestran, para que una vista pueda acceder a filas archivadas contra otros registros, como las llamadas telefónicas con los contactos de una cuenta; configura FilterByRecord para false que las consultas de la vista decidan por sí mismas. La línea de tiempo lee sus propias columnas en su propio orden, por lo que las columnas y órdenes de una consulta no importan. El usuario debe ser capaz de leer cada columna que un filtro prueba: se elimina una condición en una columna que el usuario no puede leer.

React Blazor

Solo notas, dos a la vez

Elige qué tablas están listadas, cuántos elementos añade cada página, si aparece el cuadro de búsqueda y qué tamaño crece la lista antes de que se desplace.

Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor
  1. Customer Support
    Q4 business review summary
    Mostrar más
  2. Customer Support
    Delivery schedule
    November delivery schedule.csv
Reaccionar Blazor

Timeline Clase

Parámetros

Nombre
Tipo
Default
Descripción
AllowFilteringbool
False
Cuando true, el menú Filtro ofrece los filtros de la vista para cambiar, como los de una cuadrícula does — una pestaña para cada tabla mostrada: condiciones en sus columnas, anidadas en grupos y relacionadas las tablas para filtrar, sobre las columnas y tablas que el usuario puede leer. Los cambios duran mientras el La línea de tiempo muestra la vista, y un usuario que guarda las vistas puede conservarlas como una vista propia. No ofrecía una vista de varias tablas guardadas en Dataverse, que el servidor lee por su ID. Por defecto es false: el usuario puede eliminar todos los filtros que tenga la vista, que un La vista destinada a estrechar las filas de una página puede que no quiera.
AllowSavedViewsbool
False
Permite a los usuarios que inician sesión guardar las tablas que muestra la línea de tiempo como vistas propias, ofrecidas en la Selector de vistas junto a las páginas, elige su vista predeterminada y oculta las vistas que no usan. Se ofrece una vista guardada en una línea de tiempo o un calendario sin Timeline.SavedViewsKey ninguna en ambas. Apagado por defecto. Necesita las tablas multi-tabla de la solución Power Portals Pro Core; una el usuario también necesita el rol de seguridad Power Portals Pro Vistas Guardadas .
AllowSearchbool
True
Muestra un cuadro de búsqueda sobre las columnas de búsqueda de las filas, lo que también tarda un día o un año — con >, <, >= o <= antes de él, como en una cuadrícula — entre los días Empiezan las filas. Por defecto se establece en true.
Ascendingbool
False
Lista primero las filas más antiguas, a partir de ahora. Por defecto es false: más nuevo primero, desde ahora atrás.
ChildContentRenderFragment?
Las plantillas y formularios de la página para sus tablas: MultiTableTemplate y MultiTableForm.
CreatableTablesIEnumerable<string>?
Las tablas que un usuario puede escribir una nueva fila desde la línea de tiempo, aquellas que puede crear. Por defecto a notas y comunicaciones por portales, que necesitan el registro de la línea temporal.
CustomViewDefinitionsList<MultiTableViewDefinition>?
Vistas definidas en código, listadas al final: cada una muestra filas de una o más tablas.
DefaultTablesIEnumerable<string>?
Las tablas que se muestran al principio, cuando la línea temporal muestra cada tabla — sin vista propia: las demás El usuario puede leer se ofrece en el menú de la tabla, desactivado. Valores predeterminados para notas, correos electrónicos y Comunicaciones por portales. Sin ninguna de ellas para mostrar, todas las mesas lo hacen.
DefaultViewIdGuid?
La vista mostrada primero. No colocada, o no entre las vistas, es la primera.
FilterByRecordbool
True
Muestra solo las filas alrededor del registro de la forma circundante, cuando Timeline.Regarding No nombra a ninguno. Ponlo para false una línea temporal cuyas opiniones deciden por sí mismas qué filas se muestran, dondequiera que se coloque. Por defecto se muestra true.
FormLocationTimelineFormLocation
Right
Donde se abre la forma de una fila, para crearla o cambiarla: un panel lateral a la derecha o a la izquierda, un diálogo en el centro, o en el lugar de la línea de tiempo, mientras se escriben notas y mensajes. Notas y Los mensajes sin forma de las páginas se escriben en su lugar donde se abren los formularios. Por defecto TimelineFormLocation.Right.
MatchPartiesbool?
Ya sea que participe el registro en actividades — como remitente, destinatario o asistente — muéstrese al lado Esos que lo rodean. Descolocado, la configuración de cada mesa, si no, la del servidor.
MaxHeightstring?
La lista de elementos más alta crece, como longitud CSS (480px, 50vh). Más allá de ella, La lista se desplaza, mientras el encabezado, la búsqueda y el mensaje nuevo permanecen a la vista. Sin ajustar, crece con sus objetos.
MultiTableViewIdsIEnumerable<Guid>?
Vistas de varias tablas para elegir, por id: registrado en AddMultiTableView, o conservado en Dataverse (ppp_multitableview). Listado después Timeline.ViewIdsde .
PageSizeint
10
Cuántos elementos se muestran al principio y se añaden cada uno 'Cargar más'. Por defecto es 10.
RecordTableRecord?
El registro cuya línea temporal es esta en cascada, en cascada por la forma circundante.
RegardingTableRecordReference?
El registro cuyas filas muestran — las que lo rodean, y las actividades en las que participa. Unset, el registro de la forma circundante (véase Timeline.FilterByRecord); con ninguno, cada fila el Ver programas.
SavedViewsKeystring?
Nombra esta línea temporal entre las líneas temporales, así que las vistas guardadas en ella y las predeterminadas del usuario y Las vistas ocultas son propias. Sin una, comparte sus vistas con cada línea temporal y calendario que no tiene ninguna. Letras, dígitos, -, _ y ..
SeriesMultiTableSeries?
Cómo se muestran las citas recurrentes. Descolocado, la disposición de cada mesa.
ShowRecordLinksbool
True
Si el título de un elemento enlaza con la página de su registro, registrado en AddRecordPage. Por defecto true; una tabla sin página no muestra enlace.
SignInUrlstring
Account/Login
Cuando un usuario que no está conectado es enviado a iniciar sesión, desde el menú de vistas guardadas, que pide Ellos a primero; vuelven a esta página. Por defecto se asigna a Cuenta/Inicio de sesión.
TablesIEnumerable<string>?
Las tablas que se muestran, por nombre lógico: cada una necesita registrarse en AddMultiTableSource, como Las notas y las tablas de actividad son por defecto. Sin ajustar, en cada tabla registrada se lee la vista.
Titlestring?
El encabezado. Por defecto se indica el nombre de la vista, o 'Timeline'; un selector de vistas ocupa su lugar.
UpcomingTimeSpan?
Lo lejos que empieza la línea temporal, así que lo que viene se ve por encima del resto por sí solo Encabezamiento: Dos días muestra primero las filas de los dos días siguientes. Sin ajuste, empieza ahora.
ViewIdsIEnumerable<Guid>?
Vistas de Dataverse para elegir, por id — 'Mis correos', 'Todas las actividades' — cada una una vista de una tabla registrada, o de activitypointer, se lee como cada tabla de actividad. Con vistas, la La línea temporal los muestra en lugar de cada mesa, con un selector de vistas cuando hay dos o más.
ViewSortViewSort
NameAscending
El orden de las vistas en el selector. Por defecto es ViewSort.NameAscending, como el de una cuadrícula y un calendario.
Nombre: AllowFiltering
Tipo: bool
Default: False
Descripción: Cuando true, el menú Filtro ofrece los filtros de la vista para cambiar, como los de una cuadrícula does — una pestaña para cada tabla mostrada: condiciones en sus columnas, anidadas en grupos y relacionadas las tablas para filtrar, sobre las columnas y tablas que el usuario puede leer. Los cambios duran mientras el La línea de tiempo muestra la vista, y un usuario que guarda las vistas puede conservarlas como una vista propia. No ofrecía una vista de varias tablas guardadas en Dataverse, que el servidor lee por su ID. Por defecto es false: el usuario puede eliminar todos los filtros que tenga la vista, que un La vista destinada a estrechar las filas de una página puede que no quiera.
Nombre: AllowSavedViews
Tipo: bool
Default: False
Descripción: Permite a los usuarios que inician sesión guardar las tablas que muestra la línea de tiempo como vistas propias, ofrecidas en la Selector de vistas junto a las páginas, elige su vista predeterminada y oculta las vistas que no usan. Se ofrece una vista guardada en una línea de tiempo o un calendario sin Timeline.SavedViewsKey ninguna en ambas. Apagado por defecto. Necesita las tablas multi-tabla de la solución Power Portals Pro Core; una el usuario también necesita el rol de seguridad Power Portals Pro Vistas Guardadas .
Nombre: AllowSearch
Tipo: bool
Default: True
Descripción: Muestra un cuadro de búsqueda sobre las columnas de búsqueda de las filas, lo que también tarda un día o un año — con >, <, >= o <= antes de él, como en una cuadrícula — entre los días Empiezan las filas. Por defecto se establece en true.
Nombre: Ascending
Tipo: bool
Default: False
Descripción: Lista primero las filas más antiguas, a partir de ahora. Por defecto es false: más nuevo primero, desde ahora atrás.
Nombre: ChildContent
Tipo: RenderFragment?
Descripción: Las plantillas y formularios de la página para sus tablas: MultiTableTemplate y MultiTableForm.
Nombre: CreatableTables
Tipo: IEnumerable<string>?
Descripción: Las tablas que un usuario puede escribir una nueva fila desde la línea de tiempo, aquellas que puede crear. Por defecto a notas y comunicaciones por portales, que necesitan el registro de la línea temporal.
Nombre: CustomViewDefinitions
Tipo: List<MultiTableViewDefinition>?
Descripción: Vistas definidas en código, listadas al final: cada una muestra filas de una o más tablas.
Nombre: DefaultTables
Tipo: IEnumerable<string>?
Descripción: Las tablas que se muestran al principio, cuando la línea temporal muestra cada tabla — sin vista propia: las demás El usuario puede leer se ofrece en el menú de la tabla, desactivado. Valores predeterminados para notas, correos electrónicos y Comunicaciones por portales. Sin ninguna de ellas para mostrar, todas las mesas lo hacen.
Nombre: DefaultViewId
Tipo: Guid?
Descripción: La vista mostrada primero. No colocada, o no entre las vistas, es la primera.
Nombre: FilterByRecord
Tipo: bool
Default: True
Descripción: Muestra solo las filas alrededor del registro de la forma circundante, cuando Timeline.Regarding No nombra a ninguno. Ponlo para false una línea temporal cuyas opiniones deciden por sí mismas qué filas se muestran, dondequiera que se coloque. Por defecto se muestra true.
Nombre: FormLocation
Tipo: TimelineFormLocation
Default: Right
Descripción: Donde se abre la forma de una fila, para crearla o cambiarla: un panel lateral a la derecha o a la izquierda, un diálogo en el centro, o en el lugar de la línea de tiempo, mientras se escriben notas y mensajes. Notas y Los mensajes sin forma de las páginas se escriben en su lugar donde se abren los formularios. Por defecto TimelineFormLocation.Right.
Nombre: MatchParties
Tipo: bool?
Descripción: Ya sea que participe el registro en actividades — como remitente, destinatario o asistente — muéstrese al lado Esos que lo rodean. Descolocado, la configuración de cada mesa, si no, la del servidor.
Nombre: MaxHeight
Tipo: string?
Descripción: La lista de elementos más alta crece, como longitud CSS (480px, 50vh). Más allá de ella, La lista se desplaza, mientras el encabezado, la búsqueda y el mensaje nuevo permanecen a la vista. Sin ajustar, crece con sus objetos.
Nombre: MultiTableViewIds
Tipo: IEnumerable<Guid>?
Descripción: Vistas de varias tablas para elegir, por id: registrado en AddMultiTableView, o conservado en Dataverse (ppp_multitableview). Listado después Timeline.ViewIdsde .
Nombre: PageSize
Tipo: int
Default: 10
Descripción: Cuántos elementos se muestran al principio y se añaden cada uno 'Cargar más'. Por defecto es 10.
Nombre: Record
Tipo: TableRecord?
Descripción: El registro cuya línea temporal es esta en cascada, en cascada por la forma circundante.
Nombre: Regarding
Tipo: TableRecordReference?
Descripción: El registro cuyas filas muestran — las que lo rodean, y las actividades en las que participa. Unset, el registro de la forma circundante (véase Timeline.FilterByRecord); con ninguno, cada fila el Ver programas.
Nombre: SavedViewsKey
Tipo: string?
Descripción: Nombra esta línea temporal entre las líneas temporales, así que las vistas guardadas en ella y las predeterminadas del usuario y Las vistas ocultas son propias. Sin una, comparte sus vistas con cada línea temporal y calendario que no tiene ninguna. Letras, dígitos, -, _ y ..
Nombre: Series
Tipo: MultiTableSeries?
Descripción: Cómo se muestran las citas recurrentes. Descolocado, la disposición de cada mesa.
Nombre: ShowRecordLinks
Tipo: bool
Default: True
Descripción: Si el título de un elemento enlaza con la página de su registro, registrado en AddRecordPage. Por defecto true; una tabla sin página no muestra enlace.
Nombre: SignInUrl
Tipo: string
Default: Account/Login
Descripción: Cuando un usuario que no está conectado es enviado a iniciar sesión, desde el menú de vistas guardadas, que pide Ellos a primero; vuelven a esta página. Por defecto se asigna a Cuenta/Inicio de sesión.
Nombre: Tables
Tipo: IEnumerable<string>?
Descripción: Las tablas que se muestran, por nombre lógico: cada una necesita registrarse en AddMultiTableSource, como Las notas y las tablas de actividad son por defecto. Sin ajustar, en cada tabla registrada se lee la vista.
Nombre: Title
Tipo: string?
Descripción: El encabezado. Por defecto se indica el nombre de la vista, o 'Timeline'; un selector de vistas ocupa su lugar.
Nombre: Upcoming
Tipo: TimeSpan?
Descripción: Lo lejos que empieza la línea temporal, así que lo que viene se ve por encima del resto por sí solo Encabezamiento: Dos días muestra primero las filas de los dos días siguientes. Sin ajuste, empieza ahora.
Nombre: ViewIds
Tipo: IEnumerable<Guid>?
Descripción: Vistas de Dataverse para elegir, por id — 'Mis correos', 'Todas las actividades' — cada una una vista de una tabla registrada, o de activitypointer, se lee como cada tabla de actividad. Con vistas, la La línea temporal los muestra en lugar de cada mesa, con un selector de vistas cuando hay dos o más.
Nombre: ViewSort
Tipo: ViewSort
Default: NameAscending
Descripción: El orden de las vistas en el selector. Por defecto es ViewSort.NameAscending, como el de una cuadrícula y un calendario.