Entender a arquitetura de aplicativos de exemplo Perspectivas (versão preliminar)

[Este artigo faz parte da documentação de pré-lançamento e está sujeito a alterações.]

Neste artigo, você saberá mais sobre as coleções e variáveis globais usadas pelo aplicativo Perspectivas e entenderá como usá-las de maneira eficaz. Para saber mais sobre como instalar e usar o aplicativo de exemplo Inspeção, acesse Aplicativos de exemplo Perspectivas.

Pré-requisitos

Para entender e usar as informações neste artigo, você precisará saber sobre os diferentes controles, recursos e capacidades dos aplicativos de tela.

Você também precisa saber como instalar e usar o aplicativo de exemplo Perspectivas.

Modelo de arquitetura

O diagrama a seguir ilustra a maneira como os usuários e sistemas interagem com os dados nesta solução.

Modelo de arquitetura do aplicativo de exemplo Perspectivas.

Conectores

O aplicativo Perspectivas usa os conectores a seguir

  • Microsoft Dataverse para ler e gravar dados nas tabelas do Dataverse.

  • Usuários do Office 365 para ler dados do perfil do usuário

Modelo de Dados

O diagrama a seguir explica o modelo de dados usado pelo aplicativo de exemplo Perspectivas.

Modelo de dados do aplicativo de exemplo Perspectivas.

Tabelas

As tabelas a seguir são usadas no aplicativo Perspectivas.

Nome da tabela Descrição
Discussão (MSFT_Discussion) A tabela Discussão contém Tópicos de Discussão, Contagem de Respostas e Contagem de votos a favor para cada discussão. Esta tabela está relacionada às tabelas Resposta à Discussão, Votos a Favor da Resposta à Discussão e Tópicos de Discussão.
Resposta à Discussão (MSFT_DiscussionResponse) A tabela Resposta à Discussão contém a resposta do usuário à discussão e a contagem de votos a favor relativos à resposta. Esta tabela tem uma relação com a tabela Votos a Favor da Resposta à Discussão.
Votos a Favor da Resposta à Discussão (MSFT_DiscussionResponseUpvote) A tabela Votos a Favor da Resposta à Discussão contém votos a favor da resposta do usuário para discussões ativas.
Tópico de Discussão (MSFT_DiscussionTopic) A tabela Tópicos de Discussão contém tópicos de discussão junto com imagens de capa, ícones de capa e cores de capa relacionadas ao tópico.
Votos a favor da Discussão (MSFT_DiscussionUpvote) A tabela Votos a favor da Discussão contém votos do usuário relativos a discussões e resposta.
Configuração do Usuário da Discussão (MSFT_DiscussionUserSetting) A tabela Configurações do Usuário de Discussão armazena as preferências do usuário relativas à exibição da tela inicial do Power Apps sempre que eles entram no aplicativo.
Configuração do Aplicativo da Discussão (MSFT_DiscussionAppSetting) A tabela Configuração do Aplicativo da Discussão armazena a ID da equipe original.

Coleções

As coleções a seguir são usadas no aplicativo Perspectivas.

Nome da coleção Descrição Onde usado
colLocalization Usado para criar uma Coleção de Localização com base no Idioma do Usuário. Propriedade OnStart do aplicativo
colUserSettings Usado para coletar o registro do Dataverse de Configurações do Usuário, se houver. Propriedade OnStart do aplicativo
colStockIcons Coleção de ícones de capa do painel em estoque. Todas
colStockImages Coleção de imagens de capa do painel em estoque. Todas
colTopicCoverColors Coleção de cores de capa do tópico. Todas
colGroupedResponsesByDiscussion coleção de respostas agrupadas por tópico de discussão. Todas
colDiscussionResponses coleção de respostas à discussão. Todas
colMostEngagingDiscussions coleção de discussão com número de respostas. Todas
colCharWidth Coleção de larguras para cada caractere usado para rótulos de largura automática. Tópicos
colAppSettings Confira as configurações do aplicativo para verificar a ID da equipe em que o aplicativo foi instalado originalmente. Todas

Variáveis globais

As tabelas a seguir são as variáveis globais usadas no aplicativo Perspectivas.

Nome de Variável Digitar Descrição Tela
gblAppLoaded Boolean Para verificar se o Aplicativo está carregado. OnStart
gblUserLanguage Texto Para verificar o Idioma do Usuário conectado. OnStart
gblThemeDark Boolean Para verificar se o tema do Teams está definido como Escuro. OnStart
gblThemeHiCo Boolean Para verificar se o tema do Teams está definido como Alto Contraste. OnStart
gblMobileMode Boolean Configurar o valor como verdadeiro se o cliente host for Android ou iOS. OnStart
gblIsManager Boolean Variável global a ser armazenada se o usuário atual for um gerente. OnStart
gblTeamsTabContext Boolean OnStart
gblIsHostClientWeb Boolean OnStart
gblAppSetting_inputMobileOnWeb Boolean Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis, executados em desktop. OnStart
gblAppSetting_inputScaleFontsByCui Número Use esta variável para dimensionar todas as fontes em um valor fixo. OnStart
gblCurrUserEmail Texto Buscar a ID de email do usuário atual. OnStart
gblCurrUser Registro Buscar o registro do usuário atual. OnStart
gblAppSetting_inputMobile Boolean Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis. OnStart
gblFirstRun Boolean Variável para verificar se o aplicativo está sendo executado pela primeira vez após a instalação. OnStart
gblRecordUserSettings Registro Variável para usar o registro mais antigo, caso existam vários registros. OnStart
gblCurrentTeamId Texto variável global para armazenar a ID da equipe atual. OnStart
gblIsOriginalInstallTeam Texto Se a ID da equipe de instalação original for igual à ID da equipe instalada atualmente. confirme a equipe atual igual à equipe de instalação original. OnStart
gblIsAdmin Boolean Se a equipe atual for igual à equipe original, o usuário atual será o proprietário da equipe. OnStart
gblAppColors Registro Variável para definir o valor de Cor no aplicativo. OnStart
gblAppSizes Registro Variável para definir os valores de tamanho no aplicativo. OnStart
gblOrginialInstallTeamId Texto variável global para armazenar a ID da equipe atual. OnStart
gblAppStyles Registro Variável para definir os valores de Estilo no aplicativo. OnStart
gblDisplayWarning Boolean Variável para ocultar e mostrar a mensagem de aviso ao excluir a inspeção. OnStart

Detalhes da execução do OnStart

  1. Quando um usuário acessa o aplicativo, gblAppLoaded é definida como falsa. O código de idioma do usuário é armazenado em gblUserLanguage, com English - US como o padrão.

  2. O idioma do usuário é então usado para coletar o texto localizado usado em todo o aplicativo (por exemplo, rótulo e texto do botão) em colLocalization.

  3. Os detalhes do usuário da tabela Configurações do Usuário são coletados em colUserSettings. Se não houver registros, um novo registro de configuração do usuário será criado. Isso, por sua vez, controla a visibilidade da caixa de diálogo inicial. Se houver vários registros de configurações do usuário do projeto, o registro mais antigo será selecionado e armazenado na variável gblRecordUserSettings.

Aplicativo OnStart

Esta seção explica as coleções, variáveis e detalhes de execução usados quando o aplicativo inicia.

Coleções OnStart

As coleções a seguir são usadas quando o aplicativo inicia

Nome da coleção Descrição
colUserSettings Coleção das configurações do usuário da tabela Configurações do usuário de inspeção da área.
colLocalization Coleção de texto localizado com base no idioma do usuário.
colAppSettings Confira as configurações do aplicativo para verificar a ID da equipe em que o aplicativo foi instalado originalmente.

Variáveis OnStart

Nome da variável Descrição
gblFirstRun Variável para verificar se o aplicativo está sendo executado pela primeira vez após a instalação.
gblAppLoaded Variável global para verificar se o aplicativo foi carregado completamente.
gblUserLanguage Variável global para armazenar o idioma do usuário.
gblRecordUserSettings Variável global para armazenar os registros de configurações do usuário do projeto mais recentes para o usuário atual.
gblOriginialInstalledTeamId Variável global para armazenar a ID da equipe original instalada.
gblCurrentTeamId Variável global para armazenar a ID da equipe atual.
gblIsOriginialInstallTeam Se a ID da equipe de instalação original for igual à ID da equipe instalada atualmente. confirme a equipe atual igual à equipe de instalação original.
gblIsAdmin Se a equipe atual for igual à equipe original, o usuário atual será o proprietário da equipe.
gblIsManager Variável global a ser armazenada se o usuário atual for um gerente.
locNavigationTimer Se o cronômetro de navegação tiver sido definido como verdadeiro após o intervalo de tempo, as configurações e tamanhos do aplicativo serão atualizados.
gblAppSetting_inputMobileOnWeb Variável global para dimensionar fontes para dispositivos móveis
gblAppSetting_inputMobile Variável global para dimensionar fontes para dispositivos móveis
gblAppSetting_inputScaleFontsBy Variável global para dimensionar todas as fontes em um valor fixo.
gblThemeDark Variável global para armazenamento se o Teams estiver sendo executado no modo escuro.
gblThemeContrast Variável global para armazenamento se o Teams estiver sendo executado no modo de contraste.
gblAppColors Variável para definir o valor da cor na variável global do aplicativo para definir o valor da cor no aplicativo.
gblAppSizes Variável para definir o valor do tamanho na variável global do aplicativo para armazenar os tamanhos do aplicativo para o aplicativo móvel na Web.
gblAppStyles Variável para definir os valores de estilo na variável global do aplicativo para definir os valores de estilo no aplicativo.
locShowPowerAppsPrompt Variável local para indicar se o usuário definiu a preferência para ver o prompt do Power Apps como sim ou não.
locShowFirstRun A variável local para indicar a execução atual do aplicativo é a primeira execução para o usuário.

Tela Sobre

Esta seção explica as coleções e detalhes de execução usados na tela Sobre

Coleções da tela Sobre

A coleção a seguir é usada na tela Sobre.

Nome da coleção Descrição
colLocalization Coleção de texto localizado com base no idioma do usuário.

Variáveis da tela Sobre

Nenhuma variável

Tela de tópico

Localizar tópico

Esta seção explica coleções, variáveis globais e detalhes de execução usados ao localizar o tópico de discussão. Nenhuma coleção está envolvida na localização do processo de tópico de discussão.

Localizar variáveis de tópico

Variáveis usadas pela tela de tópico:

Nome da variável Descrição
locSelectedTopic Variável local para armazenar o tópico selecionado.

Localizar detalhes da execução do tópico

  1. Na pesquisa do tópico de discussão da barra de pesquisa, o aplicativo buscará o resultado correspondente do Dataverse em ordem crescente

  2. Na seleção do tópico de discussão, locSelectedTopic está definido como o tópico de discussão selecionado. Navegue até 'Tela de discussão'

Adicionar tela de tópico

Adicionar um novo tópico

Esta seção explica coleções, variáveis globais e detalhes de execução usados ao adicionar um novo tópico.

Adicionar coleções de tópicos

Coleções usadas pela nova tela adicionar tópico:

Nome da coleção Descrição
colLocalization Coleção de texto localizado com base no idioma do usuário.
colTopicCoverColors Coleção de cores de capa do tópico.
colStockIcons Coleção de ícones de estoque.
colStockImages Coleção de imagens de estoque.

Adicionar variáveis de tópico

Variáveis usadas pela tela Adicionar tópico:

Nome da variável Descrição
locDefaultBoardCoverColor Variável local para determinar a cor padrão da capa do painel.
locDefaultBoardCoverIcon Variável local para determinar o ícone padrão da capa do painel.

Adicionar detalhes da execução do tópico

  1. Na seleção do botão Adicionar Tópico, formulário Tela de Tópico, navegue até a tela Adicionar tópico

  2. Assim que as informações necessárias forem preenchidas, o botão Salvar será habilitado.

  3. Quando o botão Salvar for selecionado, o tópico será criado.

Tela Editar tópico

Editar tópico

Esta seção explica coleções, variáveis globais e detalhes de execução usados ao editar um tópico.

Editar coleções de tópicos

Coleções usadas pela nova tela editar tópico:

Nome da coleção Descrição
colLocalization Coleção de texto localizado com base no idioma do usuário.
colTopicCoverColors Coleção de cores de capa do tópico.
colStockIcons Coleção de ícones de estoque.
colStockImages Coleção de imagens de estoque.

Editar variáveis de tópico

Variáveis usadas pela tela Editar tópico:

Nome da variável Descrição
locSelectedTopic Variável local para armazenar o tópico selecionado.
locSelectedBoardColor Variável local para armazenar o cor de painel selecionada.
locCoverImageSelected Variável local para armazenar a imagem de capa selecionada.
locCustomImageSelected Variável local para armazenar a imagem personalizada selecionada.
locDefaultBoardCoverColor Variável local para determinar a cor padrão da capa do painel.
locDeleteTopicWarning Variável local para controlar a visibilidade da caixa de diálogo de exclusão.

Editar e excluir detalhes de execução do tópico

  1. Na seleção do botão Editar na tela Discussão, a variável local locSelectedTopic será atualizada com o contexto de tópicos atuais e a tela navegará para a tela Editar tópico.

  2. O campo de registro existente será preenchido a partir da variável locSelectedTopic. como tópico, descrição, cobertura de tópico.

  3. O usuário pode fazer atualização em um tópico, como tópico, descrição, cobertura do tópico na tela Editar tópico

  4. Depois de atualizar informações nos campos necessários, o usuário seleciona o botão Salvar. salvar processo usará variáveis locCoverImageSelected, locCustomImageSelected para verificar se a imagem da capa e a imagem personalizada estão selecionadas ou não.

  5. Se o usuário selecionar o botão Excluir, aparecerá um diálogo para pedir confirmação. A visibilidade desse diálogo é controlada usando locDeleteTopicWarning.

  6. O usuário precisa marcar a caixa de seleção Eu entendo para ativar o botão Excluir.

  7. Quando o botão Excluir for selecionado, o tópico atual do Dataverse será excluído.

  8. Assim que o processo de exclusão for concluído, o aplicativo navegará para a tela do tópico.

Tela de discussão

Adicionar uma nova discussão

Esta seção explica coleções, variáveis globais e detalhes de execução usados ao adicionar uma nova discussão.

Coleções de discussão

Coleções usadas pela nova tela adicionar discussão:

Nome da coleção Descrição
colSelectedTopicDiscussions Coleta de informações de discussão selecionadas.
colLocalization Coleção de texto localizado com base no idioma do usuário.

Variáveis de discussão

Variáveis usadas pela tela Adicionar discussão:

Nome da variável Descrição
locSelectedTopic Variável local que armazena o tópico selecionado.
locSelectedDiscussion Variável local contendo a discussão selecionada pelo usuário.

Detalhes de execução da discussão

  1. Na seleção do botão Nova discussão da tela Discussão, a tela navegará para a tela Nova Discussão

  2. Assim que as informações necessárias forem preenchidas, o botão Salvar será habilitado.

  3. Quando o botão Salvar for selecionado, a variável local locSelectedDiscussion será atualizada com os campos de discussão atuais e o registro Discussão será criado no Dataverse em relação ao tópico.

Tela de resposta

Response

Esta seção explica coleções, variáveis globais e detalhes de execução usados na tela de resposta.

Coleções de resposta

Coleções usadas pela nova tela adicionar tópico:

Nome da coleção Descrição
colSelectedTopicDiscussions Coleta de informações de discussão selecionadas.
colLocalization Coleção de texto localizado com base no idioma do usuário.

Variáveis de resposta

Variáveis usadas na tela de resposta:

Nome da variável Descrição
locAddResponse Variável local para determinar se o diálogo de resposta deve ser usado para adicionar uma nova resposta.
locEditResponse Variável local para determinar se o diálogo de resposta deve ser usado para editar uma resposta existente.
locSelectedDiscussion Variável local contendo a discussão selecionada pelo usuário.
locEditDiscussion Variável local para determinar se o diálogo de resposta deve ser usado para editar uma discussão existente.
locAddDiscussion Variável local para determinar se o diálogo de resposta deve ser usado para adicionar uma nova discussão.
locFetchDiscussion Variável local para determinar se a nova tela de discussão precisa ser usada para buscar uma nova discussão.
locNavFromTopic Variável local para determinar se o usuário navegou da tela de tópico ou da tela de discussão.
locScreenReaderAnnounceText Variável local para iniciar o anúncio do leitor de tela.
locResponseCreatedByUserSetting Variável local para armazenar o registro de definição de usuário de discussão do usuário que criou a resposta.
locDeleteResponse Variável local para determinar se o diálogo de resposta deve ser usado para excluir uma resposta existente.

Adicionar detalhes da execução da resposta

  1. Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.

  2. Quando o usuário seleciona o botão Adicionar Resposta, valor da variável local locAddResponse é definido como Verdadeiro e o pop-up Adicionar uma resposta é aberto

  3. locEditResponse é a variável local que é usada para identificar se é uma nova resposta ou se é preciso editar uma resposta existente.

  4. Depois que o usuário adicionar o texto de resposta na descrição do pop-up, o botão Adicionar será ativado.

  5. Depois que o usuário selecionar o botão Adicionar, a resposta será adicionada na discussão

Editar detalhes da execução da resposta

  1. O usuário pode selecionar qualquer discussão na tela de discussão. Após a discussão ser selecionada na tela de discussão, ela será navegada para a tela de resposta.

  2. Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.

  3. locEditResponse é a variável local que é usada para identificar se é uma nova resposta ou se é preciso editar uma resposta existente

  4. Ao selecionar o ícone de edição, o usuário pode editar apenas as respostas dele.

  5. Ao selecionar o ícone de edição, a janela pop-up será aberta com o texto de resposta existente.

  6. Após o usuário atualizar em resposta, o botão Atualizar será ativado e a resposta será atualizada no Dataverse.

Excluir detalhes da execução da resposta

  1. O usuário pode selecionar qualquer discussão na tela de discussão. Após a discussão ser selecionada na tela de discussão, ela será navegada para a tela de resposta.

  2. Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.

  3. Ao selecionar o ícone Excluir, o usuário pode excluir apenas as respostas dele.

  4. Se o usuário selecionar o botão Excluir, aparecerá um diálogo para pedir confirmação. A visibilidade desse diálogo é controlada usando locDeleteResponse.

  5. O usuário precisa marcar a caixa de seleção Eu entendo para ativar o botão Excluir.

  6. Quando o botão Excluir for selecionado, a resposta atual do Dataverse será excluída.

Consulte também