Linha do tempo

O Timeline componente mostra linhas de várias tabelas como uma única lista, a mais recente primeiro: por padrão, as notas de um registro, comunicações no portal e outras atividades. Coloque dentro de um RecordContext e ele lista as linhas sobre esse registro: quem escreveu cada um e quando, seu corpo em texto enriquecido cortado para algumas linhas até Mostrar mais, e seu anexo para download. Ele lê uma página de cada vez, com Carregar mais para o restante e Atualizar para ler novamente. A busca funciona como uma grade: o texto corresponde desde o início de um assunto ou texto, ou qualquer lugar após um início *, e um dia ou um ano, com >, <, ou >= <= antes dele, encontra as linhas desses dias. Com mais de uma tabela, um menu ao lado da busca escolhe qual mostrar.

React Blazor

Linha do tempo de um registro

As notas, mensagens e compromissos sobre Schmeler and Sons, a demonstração da conta mostra na página de detalhes da conta. Uma das suas notas é interna — seu texto não começa com *WEB* — então não está listada. Escolha as tabelas que ela mostra, ou restringia-as com filtros de Editar (AllowFiltering), no menu Filtro, e faça login para salvá-las lá como uma visualização sua própria (AllowSavedViews).

Exemplo de reação Exemplo de Blazor React TypeScript Razor
  1. Carmen Stamm
    Updated billing contact
  2. Customer Support
    Q4 business review summary
    Mostrar mais
  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

Quais notas e atividades são mostradas

Uma nota só chega ao portal quando seu texto começa com *WEB*, para que a equipe possa manter anotações internas nos registros que os clientes veem. Ligações telefônicas, tarefas e outras atividades seguem a mesma regra em sua descrição, exceto os tipos não filtrados — comunicações no portal, por padrão. O servidor aplica isso a todas as consultas, incluindo grades e joins, então nenhuma regra de acesso à tabela pode ampliá-la. O portal nunca mostra o prefixo e o adiciona a uma nota ou atividade criada pelo portal. Uma nota cujo título nomeia seu autor é Note created on … by Name [contact:id] mostrada como escrita por esse contato. Configurado SecurityOptions.PortalVisibility.Prefix para usar outro prefixo, ou para null mostrar cada nota e atividade, e adicionar uma tabela para UnfilteredActivities mostrar cada atividade. Funcionários que fizeram login no portal como eles mesmos são exceção: eles veem cada nota e atividade que seus papéis de segurança permitem ler, como fariam no Dynamics, com seu texto armazenado, então adicionam o prefixo eles mesmos a uma nota destinada ao portal.

E-mails não podem ser marcados com o prefixo. O corpo de um e-mail é escrito pelo cliente de e-mail que o enviou, como um documento HTML completo, então o prefixo nunca é seu primeiro texto, e nenhum e-mail chega ao portal pelo prefixo. Adicionar email a UnfilteredActivities é a única forma de mostrar e-mails, e mostra todos os e-mails que o usuário pode ler em um registro — incluindo os internos.

Comunicações por portal

Uma comunicação por portal (ppp_portalcommunication) é uma atividade na solução Power Portals Pro para mensagens entre um usuário do portal e a equipe. Ela é destinada ao portal, portanto não precisa de prefixo. Seu De diz quem a escreveu: o contato do usuário do portal, ou o membro da equipe que respondeu, com o contato em To. A mensagem é em texto enriquecido e pode conter um anexo.

Acesso

A linha do tempo lista apenas o que o usuário pode ler: cada tipo de item precisa ser lido em sua tabela, e um usuário que não consegue ler nenhum dos dois vê nenhuma linha do tempo. Uma nota aponta para seu registro através objectid e uma comunicação por portal através regardingobjectidde , então a regra usual permite que o usuário leia os itens sobre os registros que pode alcançar, com RowsViaParent. Mantenha essa busca entre as colunas que ele pode ler: a linha do tempo pede os itens sobre seu registro através dela, e uma condição em uma coluna que o usuário pode não ler é eliminada, o que listaria os itens de cada registro alcançado.

O usuário da aplicação do portal também precisa ser lido em ambas as tabelas no Dataverse. As notas precisam ser lidas na tabela de Notas. O Dataverse concede a todo tipo de atividade um conjunto de privilégios, então as comunicações do portal são cobertas pelas atividades de leitura que o papel de Usuário do Power Portals Pro já possui. Para que os usuários possam alterar ou excluir notas e mensagens, é necessário Escrever e Excluir na tabela de Notas e Excluir nas atividades, o que essa função não é válida.

Escrevendo mensagens

Um usuário que pode criar comunicações por portal recebe Nova mensagem: um assunto, uma mensagem em texto enriquecido e um anexo, sobre o registro em que a linha do tempo está, e quem pode criar notas recebe Nova nota. CreatableTables nomeia as tabelas das quais uma nova linha pode ser escrita, notas e comunicações por portal por padrão; uma nota ou mensagem é escrita no lugar, a linha de outra tabela em um painel lateral. É uma forma própria, salva separadamente da página ao redor. O servidor envia a mensagem do usuário, seja qual for o pedido dito, então um usuário não pode escrever como outro. Conceda acesso a tabela: OwnedBy("from") envia uma nova mensagem do autor e RowsForWriting RowsOwnedByContact("from") permite aos usuários alterar e excluir apenas o que enviaram. Deixe de fora Escrever e Deletar, e a mensagem permanece como foi enviada. A linha do tempo oferece Editar e Deletar em cada linha que o acesso do usuário permite alterar ou excluir, e o servidor julga cada alteração novamente quando ela chega. FormLocation (Reagir: formLocation) diz onde o formulário de outra tabela se abre: um painel lateral à direita, como por padrão, ou à esquerda, um diálogo no centro, ou Inline — no lugar na linha do tempo, enquanto notas e mensagens são escritas.

A equipe ouve de uma nova mensagem por PortalCommunicationOptionsmeio de . Por padrão, ela é endereçada ao proprietário do registro sobre o qual se refere, quando esse proprietário é usuário. Ela pode ir para uma fila, à qual o usuário do portal precisa acessar para adicionar itens, ou para ninguém, deixando-a apenas na linha do tempo do registro.

Tabelas

Notas e todas as tabelas de atividades são registradas no servidor para linhas do tempo e calendários, cada um datado pelo que seus formulários pedem: um compromisso no início, uma tarefa ou ligação telefônica na data de vencimento, um e-mail ou mensagem até quando foi escrito. Uma linha do tempo lista todas as tabelas registradas que o usuário pode ler; nomeie as que ela mostra em Tables. Em um registro, ele lista as linhas sobre ele e as atividades das quais o registro participa como remetente, destinatário ou participante. O servidor mostra apenas as notas e atividades destinadas ao portal: aquelas cujo texto começa com *WEB*, ou todas de um tipo em UnfilteredActivities. E-mails não podem carregar o prefixo, então eles aparecem apenas quando email está nessa lista.

React Blazor

Registre uma tabela própria com AddMultiTableSource: um título e o que mais é mostrado, como o texto, seu proprietário e destinatários, e a consulta ao registro sobre a qual uma linha é referida. Depois, nomeie cada controle para o qual ele é, com as colunas que o controle precisa: ForTimelines a data pela qual suas linhas são ordenadas, ForCalendars seu início e, se tiver, sua coluna final e o dia todo, ForSearch, e ForMaps sua latitude e longitude. Essas colunas são sempre lidas, independentemente dos nomes da consulta da visualização. Um registro que nomeia uma coluna que a tabela não tem, ou uma do tipo errado, para o portal na inicialização e diz o que está errado. Registrar uma tabela de notas ou atividade novamente muda apenas o que o registro nomeia. Um registro não concede acesso: cada tabela ainda precisa de acesso de leitura como qualquer tabela.

Próximas carreiras

Uma linha do tempo lista suas linhas mais recentes primeiro, daqui para frente. Upcoming (Reagir: upcoming) começa essa linha antes, então o que vem aparece primeiro sob seu próprio título, e Ascending (Reagir: ascending) lista as linhas a partir de agora, o mais rápido primeiro: veja Itens Futuros. Para desenhar as linhas de uma tabela do seu jeito, ou escrevê-las em formas suas, veja Renderização Personalizada.

React Blazor

Opiniões

Forneça as visualizações da linha do tempo para escolher, pois uma grade tem: as próprias do Dataverse em ViewIds, como Minhas Ligações Telefonicas ou Todas as Atividades, vistas de várias tabelas em MultiTableViewIds, e vistas suas próprias em CustomViewDefinitions, nomeando DefaultViewId a que é mostrada primeiro. Com duas ou mais, um seletor de visualização ocupa o lugar do título. Uma visualização do Dataverse lista activitypointer cada tabela de atividades registradas, e em um registro uma visualização lista as linhas sobre o registro que ela deixa passar. Com (Reagir: allowSavedViews), um usuário logado pode salvar as tabelas que a linha do tempo mostra como uma visualização própria, oferecida ao lado da AllowSavedViews sua, e escolher sua visão padrão e esconder as que não usar, no menu Filtro: veja Visualizações Salvas.

Uma visualização da sua própria lista linhas de uma ou mais tabelas. Dê a uma tabela uma consulta FetchXML, e seus filtros e joins decidem quais linhas aparecem, para que uma visualização possa alcançar linhas arquivadas contra outros registros, como as ligações telefônicas com contatos de uma conta; definida FilterByRecord para false que as consultas da visualização decidam por si mesmas. A linha do tempo lê suas próprias colunas em sua própria ordem, então as colunas e ordens da consulta não importam. O usuário deve ser capaz de ler cada coluna que um filtro testa: uma condição em uma coluna que o usuário pode não ler é descartada.

React Blazor

Apenas notas, duas de cada vez

Escolha quais tabelas estão listadas, quantos itens cada página adiciona, se a caixa de busca é mostrada e qual a altura da lista cresce antes de rolar.

Exemplo de reação Exemplo de Blazor React TypeScript Razor
  1. Customer Support
    Q4 business review summary
    Mostrar mais
  2. Customer Support
    Delivery schedule
    November delivery schedule.csv
React Blazor

Timeline Classe

Parâmetros

Nome
Tipo
Padrão
Descrição
AllowFilteringbool
False
Quando true, o menu Filtro oferece os filtros da visualização para mudar, como os de uma grade does — uma aba para cada tabela mostrada: condições em suas colunas, aninhadas em grupos e relacionadas tabelas para filtrar, sobre as colunas e tabelas que o usuário pode ler. As mudanças duram enquanto o A linha do tempo mostra a visualização, e um usuário que salva visualizações pode mantê-las como uma visualização própria. Não oferecido para uma visualização de várias tabelas mantidas no Dataverse, que o servidor lê pelo seu ID. O padrão é false: o usuário pode remover todos os filtros que a visualização possui, o que um A visualização destinada a restringir as linhas de uma página pode não ser necessária.
AllowSavedViewsbool
False
Permita aos usuários logados salvar as tabelas que a linha do tempo mostra como visualizações próprias, oferecidas na O seletor de visualizações ao lado das páginas, e escolha a visualização padrão deles e esconda as visualizações que não usam. Uma visualização salva em uma linha do tempo ou um calendário com não Timeline.SavedViewsKey é oferecida em ambas. Desligado por padrão. Precisa das tabelas multi-tabela da solução Power Portals Pro Core; uma tabela interna o usuário também precisa do papel de segurança Power Portals Pro Saved Views .
AllowSearchbool
True
Mostra uma caixa de busca sobre as colunas das linhas, o que também leva um dia ou um ano — com >, <, >= ou <= antes dela, como em uma grade — entre os dias Começam as linhas. O padrão é true.
Ascendingbool
False
Lista as linhas mais antigas primeiro, a partir de agora. Padrão para false: mais novo primeiro, de agora de volta.
ChildContentRenderFragment?
Os modelos e formulários da página para suas tabelas: MultiTableTemplate e MultiTableForm.
CreatableTablesIEnumerable<string>?
As tabelas que um usuário pode escrever uma nova linha a partir da linha do tempo, aquelas que ele pode criar. Padrões para Notas e comunicações por portal, que precisam do registro da linha do tempo.
CustomViewDefinitionsList<MultiTableViewDefinition>?
Vistas definidas no código, listadas por último: cada uma mostra linhas de uma ou mais tabelas.
DefaultTablesIEnumerable<string>?
As tabelas mostradas inicialmente quando a linha do tempo mostra todas as tabelas — sem uma visão própria: as outras O usuário pode ler são oferecidos no menu da tabela, desativado. Padrões para notas, e-mails e comunicações por portal. Sem nenhuma delas para mostrar, todas as mesas são.
DefaultViewIdGuid?
A vista mostrada primeiro. Sem set, ou não entre as vistas, é a primeira.
FilterByRecordbool
True
Mostra apenas as linhas ao redor do registro da forma ao redor, quando Timeline.Regarding Não nomeia nenhum. Defina para false uma linha do tempo cujas opiniões decidem por si mesmas quais linhas aparecem, onde quer que estejam colocadas. Padrão para true.
FormLocationTimelineFormLocation
Right
Onde a forma de uma linha se abre, para criá-la ou alterá-la: um painel lateral à direita ou à esquerda, um diálogo no centro, ou no local na linha do tempo, enquanto notas e mensagens são escritas. Notas e mensagens sem um formato de páginas são escritas no local onde quer que os formulários sejam abertos. Padrão para TimelineFormLocation.Right.
MatchPartiesbool?
Seja para atividades das quais o registro participa — como remetente, destinatário ou participante — mostre ao lado Essas sobre isso. Desajuste, cada configuração da mesa, senão a do servidor.
MaxHeightstring?
A lista de itens mais alta cresce, como um comprimento CSS (480px, 50vh). Depois disso, o A lista rola, enquanto o cabeçalho, a busca e a nova mensagem permanecem na visão. Desdefinido, ele cresce com seus itens.
MultiTableViewIdsIEnumerable<Guid>?
Visualizações de várias tabelas para escolher, por id: registradas no AddMultiTableView, ou mantido no Dataverse (ppp_multitableview). Listado após Timeline.ViewIds.
PageSizeint
10
Quantos itens são mostrados no início e adicionados por cada 'Carregar mais'. O padrão é 10.
RecordTableRecord?
O registro cuja linha do tempo é essa, em cascata pela forma ao redor.
RegardingTableRecordReference?
O registro cujas linhas mostram — aquelas sobre ele, e as atividades em que participa. Unset, o registro da forma ao redor (ver Timeline.FilterByRecord); com nenhum, em cada linha o assistir aos programas.
SavedViewsKeystring?
Nomeia essa linha do tempo entre as linhas do tempo, então as visualizações salvas nela e o padrão do usuário e Visões ocultas são suas. Sem uma, ela compartilha suas visões com cada linha do tempo e calendário que não tem nenhuma. Letras, dígitos, -, _ e ..
SeriesMultiTableSeries?
Como os compromissos recorrentes aparecem. Desajustado, a configuração de cada mesa.
ShowRecordLinksbool
True
Se o título de um item faz link para a página do registro, registrado no AddRecordPage. Padrão true; uma tabela sem página não mostra link.
SignInUrlstring
Account/Login
Quando um usuário que não está logado é enviado para fazer login, pelo menu das visualizações salvas, que pergunta eles para primeiro; eles retornam a esta página. Padrão para Conta/Login.
TablesIEnumerable<string>?
As tabelas mostradas, por nome lógico: cada uma precisa ser registrada no AddMultiTableSource, como Notas e tabelas de atividades são por padrão. Desconfigurado, cada tabela registrada que a visualização lê.
Titlestring?
O título. O nome da visualização é padrão, ou 'Linha do tempo'; um seletor de visualização ocupa seu lugar.
UpcomingTimeSpan?
Quão adiante a linha do tempo começa, então o que está por vir aparece acima do resto por si só Cabeçalho: dois dias mostra as próximas duas linhas primeiro. Desajustado, começa agora.
ViewIdsIEnumerable<Guid>?
Visualizações do Dataverse para escolher, por id — 'Meus E-mails', 'Todas as Atividades' — cada uma uma vista de um tabela registrada, ou de activitypointer, lida como cada tabela de atividades. Com views, a a linha do tempo mostra eles no lugar de cada tabela, com um seletor de visualização quando há duas ou mais.
ViewSortViewSort
NameAscending
A ordem das visualizações no seletor. Padrão para ViewSort.NameAscending, como a de uma grade e de um calendário.
Nome: AllowFiltering
Tipo: bool
Padrão: False
Descrição: Quando true, o menu Filtro oferece os filtros da visualização para mudar, como os de uma grade does — uma aba para cada tabela mostrada: condições em suas colunas, aninhadas em grupos e relacionadas tabelas para filtrar, sobre as colunas e tabelas que o usuário pode ler. As mudanças duram enquanto o A linha do tempo mostra a visualização, e um usuário que salva visualizações pode mantê-las como uma visualização própria. Não oferecido para uma visualização de várias tabelas mantidas no Dataverse, que o servidor lê pelo seu ID. O padrão é false: o usuário pode remover todos os filtros que a visualização possui, o que um A visualização destinada a restringir as linhas de uma página pode não ser necessária.
Nome: AllowSavedViews
Tipo: bool
Padrão: False
Descrição: Permita aos usuários logados salvar as tabelas que a linha do tempo mostra como visualizações próprias, oferecidas na O seletor de visualizações ao lado das páginas, e escolha a visualização padrão deles e esconda as visualizações que não usam. Uma visualização salva em uma linha do tempo ou um calendário com não Timeline.SavedViewsKey é oferecida em ambas. Desligado por padrão. Precisa das tabelas multi-tabela da solução Power Portals Pro Core; uma tabela interna o usuário também precisa do papel de segurança Power Portals Pro Saved Views .
Nome: AllowSearch
Tipo: bool
Padrão: True
Descrição: Mostra uma caixa de busca sobre as colunas das linhas, o que também leva um dia ou um ano — com >, <, >= ou <= antes dela, como em uma grade — entre os dias Começam as linhas. O padrão é true.
Nome: Ascending
Tipo: bool
Padrão: False
Descrição: Lista as linhas mais antigas primeiro, a partir de agora. Padrão para false: mais novo primeiro, de agora de volta.
Nome: ChildContent
Tipo: RenderFragment?
Descrição: Os modelos e formulários da página para suas tabelas: MultiTableTemplate e MultiTableForm.
Nome: CreatableTables
Tipo: IEnumerable<string>?
Descrição: As tabelas que um usuário pode escrever uma nova linha a partir da linha do tempo, aquelas que ele pode criar. Padrões para Notas e comunicações por portal, que precisam do registro da linha do tempo.
Nome: CustomViewDefinitions
Tipo: List<MultiTableViewDefinition>?
Descrição: Vistas definidas no código, listadas por último: cada uma mostra linhas de uma ou mais tabelas.
Nome: DefaultTables
Tipo: IEnumerable<string>?
Descrição: As tabelas mostradas inicialmente quando a linha do tempo mostra todas as tabelas — sem uma visão própria: as outras O usuário pode ler são oferecidos no menu da tabela, desativado. Padrões para notas, e-mails e comunicações por portal. Sem nenhuma delas para mostrar, todas as mesas são.
Nome: DefaultViewId
Tipo: Guid?
Descrição: A vista mostrada primeiro. Sem set, ou não entre as vistas, é a primeira.
Nome: FilterByRecord
Tipo: bool
Padrão: True
Descrição: Mostra apenas as linhas ao redor do registro da forma ao redor, quando Timeline.Regarding Não nomeia nenhum. Defina para false uma linha do tempo cujas opiniões decidem por si mesmas quais linhas aparecem, onde quer que estejam colocadas. Padrão para true.
Nome: FormLocation
Tipo: TimelineFormLocation
Padrão: Right
Descrição: Onde a forma de uma linha se abre, para criá-la ou alterá-la: um painel lateral à direita ou à esquerda, um diálogo no centro, ou no local na linha do tempo, enquanto notas e mensagens são escritas. Notas e mensagens sem um formato de páginas são escritas no local onde quer que os formulários sejam abertos. Padrão para TimelineFormLocation.Right.
Nome: MatchParties
Tipo: bool?
Descrição: Seja para atividades das quais o registro participa — como remetente, destinatário ou participante — mostre ao lado Essas sobre isso. Desajuste, cada configuração da mesa, senão a do servidor.
Nome: MaxHeight
Tipo: string?
Descrição: A lista de itens mais alta cresce, como um comprimento CSS (480px, 50vh). Depois disso, o A lista rola, enquanto o cabeçalho, a busca e a nova mensagem permanecem na visão. Desdefinido, ele cresce com seus itens.
Nome: MultiTableViewIds
Tipo: IEnumerable<Guid>?
Descrição: Visualizações de várias tabelas para escolher, por id: registradas no AddMultiTableView, ou mantido no Dataverse (ppp_multitableview). Listado após Timeline.ViewIds.
Nome: PageSize
Tipo: int
Padrão: 10
Descrição: Quantos itens são mostrados no início e adicionados por cada 'Carregar mais'. O padrão é 10.
Nome: Record
Tipo: TableRecord?
Descrição: O registro cuja linha do tempo é essa, em cascata pela forma ao redor.
Nome: Regarding
Tipo: TableRecordReference?
Descrição: O registro cujas linhas mostram — aquelas sobre ele, e as atividades em que participa. Unset, o registro da forma ao redor (ver Timeline.FilterByRecord); com nenhum, em cada linha o assistir aos programas.
Nome: SavedViewsKey
Tipo: string?
Descrição: Nomeia essa linha do tempo entre as linhas do tempo, então as visualizações salvas nela e o padrão do usuário e Visões ocultas são suas. Sem uma, ela compartilha suas visões com cada linha do tempo e calendário que não tem nenhuma. Letras, dígitos, -, _ e ..
Nome: Series
Tipo: MultiTableSeries?
Descrição: Como os compromissos recorrentes aparecem. Desajustado, a configuração de cada mesa.
Nome: ShowRecordLinks
Tipo: bool
Padrão: True
Descrição: Se o título de um item faz link para a página do registro, registrado no AddRecordPage. Padrão true; uma tabela sem página não mostra link.
Nome: SignInUrl
Tipo: string
Padrão: Account/Login
Descrição: Quando um usuário que não está logado é enviado para fazer login, pelo menu das visualizações salvas, que pergunta eles para primeiro; eles retornam a esta página. Padrão para Conta/Login.
Nome: Tables
Tipo: IEnumerable<string>?
Descrição: As tabelas mostradas, por nome lógico: cada uma precisa ser registrada no AddMultiTableSource, como Notas e tabelas de atividades são por padrão. Desconfigurado, cada tabela registrada que a visualização lê.
Nome: Title
Tipo: string?
Descrição: O título. O nome da visualização é padrão, ou 'Linha do tempo'; um seletor de visualização ocupa seu lugar.
Nome: Upcoming
Tipo: TimeSpan?
Descrição: Quão adiante a linha do tempo começa, então o que está por vir aparece acima do resto por si só Cabeçalho: dois dias mostra as próximas duas linhas primeiro. Desajustado, começa agora.
Nome: ViewIds
Tipo: IEnumerable<Guid>?
Descrição: Visualizações do Dataverse para escolher, por id — 'Meus E-mails', 'Todas as Atividades' — cada uma uma vista de um tabela registrada, ou de activitypointer, lida como cada tabela de atividades. Com views, a a linha do tempo mostra eles no lugar de cada tabela, com um seletor de visualização quando há duas ou mais.
Nome: ViewSort
Tipo: ViewSort
Padrão: NameAscending
Descrição: A ordem das visualizações no seletor. Padrão para ViewSort.NameAscending, como a de uma grade e de um calendário.