Compreensão da arquitetura do aplicativo de amostra Ideias do Funcionário

Neste artigo, você aprenderá sobre as coleções e variáveis globais usadas pelo aplicativo Ideias do Funcionário e entenderá como usá-las de forma eficaz. Se você quiser saber mais sobre como instalar e usar o aplicativo de amostra Ideias do Funcionário, acesse Ideias do Funcionário.

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 sobre como instalar e usar o aplicativo de amostra Ideias do Funcionário.

Modelo de arquitetura

O diagrama a seguir ilustra a maneira como os usuários e sistemas interagem com os dados na solução Ideias do Funcionário.

Modelo de arquitetura do aplicativo de exemplo Ideias do Funcionário.

Conectores

Os seguintes conectores são usados no aplicativo Ideias do Funcionário:

  • Microsoft Dataverse - usado para ler e gravar dados no Dataverse.
  • Office 365 Users – usado para ler dados de perfis de usuários do Microsoft 365.

Modelo de dados

O diagrama a seguir explica o modelo de dados usado pelo aplicativo de exemplo Ideias do Funcionário.

Modelo de dados do aplicativo de amostra Ideias do Funcionário.

Nome da tabela Descrição
Campanha de ideia do funcionário Uma campanha é qualquer série de ações ou eventos que visam a atingir um objetivo específico. Detalhes como título, descrição, datas de início e término da campanha, IDs de equipe e canal são armazenados na tabela Campanha de ideia do funcionário. Uma campanha de ideias pode ter várias ideias e perguntas de ideias.
Ideia do funcionário Ideias são pensamentos ou sugestões fornecidas por funcionários para atingir um objetivo específico que é mencionado como parte de uma campanha. Detalhes como título, descrição, campanha relacionada, resultado e contagem de votos são armazenados na tabela Ideia do funcionário. Pode haver vários arquivos e perguntas associadas a uma ideia.
Perguntas da Ideia do Funcionário As perguntas sobre ideias nos ajudam a obter mais informações dos funcionários em relação a uma ideia. Detalhes como instruções, campanha associada, tipo de resposta e valores para a pergunta são armazenados na tabela Perguntas sobre a ideia do funcionário. Cada pergunta sobre a ideia pode ter várias respostas.
Respostas da Ideia do Funcionário As respostas sobre ideias são usadas para obter respostas dos funcionários às perguntas sobre ideias. Detalhes como instruções, ideia associada, pergunta sobre a ideia, sequência, tipo de resposta e valores para a pergunta são armazenados na tabela Respostas sobre ideias do funcionário. Uma resposta só pode ser associada a uma pergunta sobre a ideia.
Imagem da ideia do funcionário As imagens são usadas para entender melhor uma ideia. Os usuários podem adicionar uma imagem de capa para sua ideia. Detalhes como nome, ideia associada e imagem selecionada são armazenados na tabela Imagens de ideias do funcionário. Uma ideia pode ter apenas uma imagem de capa selecionada por vez.
Arquivo da ideia do funcionário Os funcionários podem anexar vários arquivos de apoio que explicam sua ideia de uma maneira melhor. Detalhes como nome do arquivo, o anexo e a ideia associada são armazenados na tabela Arquivo da ideia do funcionário.
Configuração de usuário da ideia do funcionário As configurações do usuário são usadas para armazenar as preferências do usuário relativas à exibição da tela inicial do Power Apps toda vez que ele entrar no aplicativo. Existe um registro para cada usuário.
Configurações da ideia do funcionário As configurações são usadas para armazenar as preferências do usuário relacionadas ao ID da equipe e ao ID do canal usados para notificações.

Coleções

A tabela a seguir lista as coleções usadas pelo aplicativo Ideias do funcionário.

Nome da Coleção Descrição Onde usado
colFileIcons Coleção para armazenar o tipo de arquivo do aplicativo e o ícone. Aplicativo OnStart
colStockImages Coleção para armazenar as imagens padrão usadas no aplicativo. Aplicativo OnStart
colUserSettings Coleção para coletar as configurações do usuário (se houver). Aplicativo OnStart
colocalização coleção de texto localizado com base no idioma do usuário. Aplicativo OnStart
colIdeaStats_Raw Coleções para coletar ideias brutas, para estatísticas com detalhes do proprietário. Aplicativo OnStart
colVotes Coleção para armazenar o número de votos dados a uma ideia Aplicativo OnStart
colIdeas Coleção usada para armazenar ideias de funcionários. Tela Detalhes da campanha
colResponses Coleção usada para armazenar respostas sobre ideias Tela Detalhes da campanha
colFiles Coleção usada para coletar arquivos associados a uma ideia. Propriedade de itens de uma galeria na tela de criação de ideias
colQuestions Coleção para coletar as perguntas sobre a ideia. Propriedade de itens de uma galeria na tela de detalhes da campanha
colQuestionsToDelete Usado para coletar as perguntas a serem excluídas. Propriedade OnClick do botão excluir na tela de detalhes da campanha
colVoteCounter Usado para contar o número de votos recebidos por uma ideia. Aplicativo OnStart
colCdsSampleDataIdeaUsers Coleção Build com proprietário aleatório para ideias, 20% do usuário atual, caso contrário, aleatório. Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento
colSampleDataIdeas Coleção usada para coletar exemplos ativos de ideias de funcionários Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento
colSampleDataUsers Coleção usada para coletar usuários de exemplo. Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento

Variáveis globais

A tabela a seguir lista as coleções usadas pelo aplicativo Ideias do funcionário.

Nome de Variável Digitar Descrição
gblAppLoaded Boolean Para verificar se o aplicativo está carregado.
gblAppContext Boolean Para verificar o contexto de onde o aplicativo está sendo executado.
gblUserLanguage Texto Para verificar o idioma do usuário conectado
gblParamTeamId Texto Para definir a ID do grupo do Planner.
gblParamChannelId Texto Para definir a ID do canal do Planner.
gblThemeDark Boolean Para verificar se o tema do Teams está definido como Escuro.
gblThemeHiCo Boolean Para verificar se o tema do Teams está definido como Alto Contraste.
gblMobileMode Boolean Para verificar se o tipo de cliente host é Android ou iOS.
gblRecordSettings Registro Para verificar as configurações das equipes para a equipe atual e a ID do canal.
gblRandomizeData Boolean Variável para verificar se os dados devem ser aleatorizados (implica primeira execução na Equipe).
gblRecordUserSettings Registro Variável para usar o registro mais antigo, caso existam vários registros.
gblUserFirstName Texto Variável para definir o nome completo do usuário.
gblDropdownChannel Tabela Para obter os canais de um determinado grupo no Microsoft Teams.
gblPadding Registro Usado para definir valores de preenchimento no aplicativo.
gblMobileWidth Número Usado para definir a largura móvel global.
gblToday Data Variável para definir a data atual como um valor de data/hora.
gblUserRecord Registro Variável para obter o registro do usuário conectado.
gblSettingNotificationChannelId Texto Variável para definir o ID do canal de notificação.
gblSettingTeamId Texto Variável para definir o ID da equipe de notificação.
gblSelectedRecordCampaign Registro Variável para obter o registro da campanha selecionada.
gblRecordCampaignIdea Registro Variável para obter a ideia da campanha selecionada.
gblSelectedRecordCampaign_FormValues Registro Variável para armazenar os valores dos campos da campanha que está sendo adicionada ou editada.
gblAppSetting_inputMobileOnWeb Boolean Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis, executados em desktop.
gblAppSetting_inputMobile Boolean Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis.
gblAppSetting_inputScaleFontsby Número Use esta variável para dimensionar todas as fontes em um valor fixo.
gblAppColors Registro Variável para definir o valor de cor no aplicativo.
gblAppSizes Registro Variável para definir o valor de cor no aplicativo.
gblAppStyles Registro Variável para definir os valores de estilo no aplicativo.
gblAppManager Boolean Para verificar a função da equipe do usuário.

Aplicativo OnStart

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

Coleções OnStart

Coleções usadas durante o OnStart do aplicativo:

Nome da coleção Descrição
colLocalization Coleção de texto localizado com base no idioma do usuário.
colStockImages Coleções de imagens de capa padrão.
colUserSettings Coleção das configurações do usuário da tabela Configurações do usuário do Ideias do Funcionário.
colFileIcons Usado para coletar os ícones de diferentes tipos de arquivo.
colVoteCounter Coleção para contar o número de votos recebidos para uma ideia.
colIdeaStats_Raw Para coletar ideias brutas, para estatísticas com detalhes do proprietário.
colVotes Usado para coletar votos para uma ideia.

Variáveis OnStart

Variáveis usadas durante o OnStart do aplicativo:

Nome da variável Descrição
gblAppLoaded Variável global para verificar se o aplicativo foi carregado completamente.
gblAppContext Variável global para verificar o contexto de onde o aplicativo está sendo executado.
gblUserLanguage Variável global para armazenar o idioma do usuário.
gblParamTeamId Variável global para definir a ID de grupo a partir do Planner.
gblParamChannelId Variável global para definir a ID de canal a partir do Planner.
gblThemeDark Variável global para definir se o Teams está sendo executado com um tema escuro.
blThemeHiCo Variável global para definir se o Teams está sendo executado com um tema de alto contraste.
gblMobileMode Variável global para armazenar se o aplicativo está sendo acessado de um dispositivo móvel.
gblRecordSettings Variável global usada para definir a ID da equipe e do canal para a tabela Configurações de ideias de funcionários.
gblRandomizeData Variável global para verificar se temos que aleatorizar os dados (se esta execução é a primeira execução do aplicativo).
gblRecordUserSettings Variável global para armazenar os registros mais recentes de Configurações do usuário do Ideias do Funcionário para o usuário atual.
gblUserFirstName Variável global para armazenar o nome do usuário.
gblDropdownChannel Variável global para armazenar a lista de canais de um grupo.
gblSettingNotificationChannelId Variável global para armazenar o ID do canal em que as notificações serão postadas.
gblSettingTeamId Variável global para armazenar a ID de equipe.
gblPadding Variável global para definir os valores de preenchimento.
gblMobileWidth Variável global para definir a largura do aplicativo móvel.
gblToday Variável global para armazenar a data do dia atual.
gblUserRecord Variável global para armazenar o registro do usuário atual.

Detalhes da execução do OnStart

  1. Quando um usuário carrega o aplicativo, a variável gblAppLoaded é definida como falsa. O código de idioma do usuário é armazenado na variável 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. O tema do Teams do usuário é verificado para ver se o tema é padrão, escuro ou de alto contraste. As variáveis gblThemeDark e gblThemeHiCo são definidas apropriadamente.

  4. As variáveis gblParamTeamId e gblParamChannelId são usadas para obter o ID do grupo e o ID do canal dos parâmetros.

  5. O ID da equipe e o ID do canal são obtidos na tabela de configurações Ideia do funcionário e armazenados na variável gblRecordSettings.

  6. A variável gblRandomizeData verifica se o aplicativo está sendo executado pela primeira vez para aleatorizar os dados.

  7. Os detalhes do usuário da tabela Configurações do Ideias do Funcionário são coletados usando coleção colUserSettings. Se não houver registros, um novo registro de configurações do usuário será criado na tabela Configurações do usuário do Ideias do Funcionário.

  8. Se existirem vários registros de configurações do usuário, o registro de configurações mais antigo é selecionado e armazenado na variável gblRecordUserSettings.

  9. Os valores de preenchimento global para o aplicativo e a largura móvel são definidos usando as variáveis gblPadding e gblMobileWidth respectivamente.

  10. As imagens de banco de imagens e cores de capa são coletadas nas coleções colStockImages e colProjectCoverColors respectivamente. A coleção colProjectCoverColors tem dois conjuntos de 14 cores. Para cada base, existem duas cores. Uma para o tema padrão e outra para o tema escuro. Por exemplo, #F4B9B9 é o modo padrão equivalente a #791818.

  11. Assim que todas as informações necessárias forem definidas e coletadas, o valor da variável gblAppLoaded muda para verdadeiro.

Tela de apresentação

Esta seção explica a experiência de primeira execução, coleções relevantes, variáveis e detalhes de execução do aplicativo.

Coleções de experiência de primeira execução

A experiência de primeira execução do aplicativo não usa nenhuma coleção.

Variáveis de experiência de primeira execução

Variáveis usadas quando o aplicativo é executado pela primeira vez:

Nome da variável Descrição
locShowModal Variável local usada para controlar a visibilidade do contêiner de configuração da caixa de diálogo.
locShowSetup Variável local usada para controlar a visibilidade da caixa de diálogo de configuração.
locShowPowerAppsPrompt Variável local para indicar mostrar ou ocultar a tela inicial.

Detalhes da experiência de primeira execução

  1. Quando a tela do projeto é exibida, uma caixa de diálogo pop-up aparecerá se o valor da variável locShowModal for verdadeiro. Se for falso, o aplicativo continuará carregando a tela Resumo da campanha.

  2. A variável locShowModal é definida (verdadeira/falsa) dependendo dos registros de configuração do projeto que são criados quando o aplicativo é executado pela primeira vez. Quando o usuário conclui a experiência de primeira execução, o aplicativo cria um registro de configuração do usuário do Ideias do Funcionário.

  3. Durante a primeira execução, o aplicativo mostra a tela inicial com base na variável booleana locShowPowerAppsPrompt.

  4. A variável locShowPowerAppsPrompt é definida (verdadeira/falsa) com base na configuração do projeto que é criada durante a primeira execução.

  5. Se o usuário marcar a caixa de seleção "Não mostrar novamente", "Exibir Splash (Power Apps)" será definido como "Não" no registro de configurações do projeto. Esta ação define a variável locShowPowerAppsPrompt como falsa na próxima execução e oculta a tela inicial.

Tela de resumo

Esta seção explica as coleções, variáveis e detalhes de execução da tela de resumo do aplicativo.

Coleções da tela de resumo

Coleções usadas pela tela de resumo:

Nome da coleção Descrição
colIdeaStats_Raw Coleção para coletar ideias brutas, para estatísticas com detalhes do proprietário.

Variáveis da tela de resumo

Variáveis usadas pela tela de resumo:

Nome da variável Descrição
gblAppManager Variável global para verifica se o usuário tem o privilégio de gerenciar o aplicativo.

Detalhes de execução da tela de resumo

  1. O placar de líderes do resumo da campanha é exibido na tela de resumo da campanha. A tela também mostra a lista dos principais colaboradores da semana e das principais ideias da semana.

  2. Os principais contribuidores da semana são listados na galeria galCampaignStatsTopContributors, o número total de ideias e as colunas de ideias por proprietário são obtidos na coleção colIdeaStats_Raw. Os três principais colaboradores com o número de ideias também são exibidos em ordem decrescente.

  3. As melhores ideias da semana são listadas na galeria galCampaignStatsTopIdeas. As ideias para as quais a contagem de votos não está em branco são obtidas na coleção colIdeaStats_Raw, e as três principais ideias com o número de votos recebidos são exibidas em ordem decrescente.

  4. Se o usuário conectado tiver a função de equipe, a galeria galCampaignSummary exibirá a lista de Ativos, Expirados, Não Iniciados e todas as Campanhas em ordem decrescente (data de início da campanha) que podem ser controlados usando um campo suspenso.

  5. É possível pesquisar campanhas usando a barra de pesquisa por nome e descrição da campanha.

  6. A visibilidade do botão Adicionar campanha é controlada pela variável global gblAppManager. Uma nova campanha pode ser criada usando o botão Adicionar campanha.

Tela de detalhes da campanha

Esta seção explica as coleções, variáveis e detalhes de execução da tela de resumo da campanha.

Coleções da tela de detalhes da campanha

Coleções usadas pela tela de detalhes da campanha:

Nome da coleção Descrição
colIdeas Coleção para coletar ideias para a campanha selecionada.
colVoteCounter Coleção para contar o número de votos recebidos para uma ideia.
colVotes Coleção para coletar votos para uma ideia.

Variáveis da tela de detalhes da campanha

Variáveis usadas pela tela de detalhes da campanha:

Nome da variável Descrição
gblAppManager Variável global para verificar se o usuário tem privilégios de gerenciador de aplicativos.
gblRecordCampaignIdea Variável global para obter as ideias para uma campanha selecionada.
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro).
locVisibleCampaignView Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica que a campanha só pode ser visualizada se o valor for verdadeiro).
locVisibleCampaignCreate Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma nova campanha existente pode ser criada se o valor for verdadeiro).
locVisibleCampaignIdea Variável local para controlar a propriedade visível do contêiner conCampaignDetailsIdeas (indica que uma ideia pode ser visualizada, mas não editada)
locVisibleIdeaCommands Variável local usada para controlar a visibilidade do botão Excluir de ideia (galIdeaCommands).
locSortGalCampaignDetailNav Variável local usada para classificar a galeria galCampaignDetailNav.

Detalhes de execução da tela de detalhes da campanha

  1. A galeria galCampaignDetailNav exibe a lista de campanhas classificadas em ordem alfabética e também pode ser pesquisada com base no nome da campanha.

  2. As campanhas também podem ser classificadas com base no nome da campanha. Selecionar a imagem de classificação atualiza a variável locSortGalCampaignDetailNav que ordena as campanhas em ordem crescente/decrescente.

  3. O botão Adicionar campanha permite que o usuário adicione uma nova campanha.

  4. Selecionar qualquer uma das campanhas define a variável gblSelectedRecordCampaign para a campanha selecionada.

  5. As ideias para a campanha selecionada (variável gblSelectedRecordCampaign) são filtradas a partir da tabela do Ideias do Funcionário e coletados na coleção colIdeas.

  6. O deslocamento de voto temporário é substituído na coleção colVoteCounter pelo valor real.

  7. O contêiner conCampaignDetailCard exibe o nome, a descrição, as datas de duração da campanha, a imagem da capa e o número de dias para o início, término ou expiração dela.

  8. A galeria galCampaignDetailsIdeas lista as ideias disponíveis (coleção colIdeas) para a campanha selecionada. As ideias podem ser classificadas com base em uma seleção suspensa. As opções disponíveis são "Mais recentes", "Mais antigas" e "Mais votadas".

  9. Os usuários podem votar em uma ideia selecionando o botão Curtir.

  10. Selecionar o botão Curtir pela primeira vez adiciona a ideia à coleção colVotes e aumenta o valor na coleção colVoteCounter em 1.

  11. Remover a curtida da ideia remove-a da coleção colVotes e diminui o valor na coleção colVoteCounter em 1.

  12. Selecionar o botão Enviar uma ideia permite ao usuário criar uma nova ideia para a campanha selecionada.

  13. Selecionar o botão Editar permite ao usuário editar a campanha selecionada.

  14. Selecionar botão Voltar leva o usuário de volta para a tela de resumo da campanha.

Adicionar uma campanha de ideias

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao adicionar uma campanha de ideia.

Coleções usadas ao adicionar uma campanha de ideia

As seguintes coleções são usadas quando você adiciona uma campanha de ideia:

Nome da coleção Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.
colStockImages Usado para coletar imagens de capa de ações.
colQuestionsToDelete Usado para coletar as perguntas excluídas ao adicionar/editar uma campanha.
colIdeas Usado para coletar ideias para uma campanha específica.

Variáveis usadas ao adicionar uma campanha de ideia

As seguintes variáveis são usadas quando você adiciona uma campanha de ideia:

Nome da variável Descrição
locBlockUserInput Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo durante a tentativa de salvar.
locVisibleCampaignCreate Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica se uma nova campanha existente pode ser criada se o valor for verdadeiro).
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica se uma campanha existente pode ser editada se o valor for verdadeiro).
locVisibleCampaignView Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica se a campanha só pode ser visualizada se o valor for verdadeiro).
locVisibleCampaignIdea Variável local para controlar a propriedade visível do contêiner conCampaignDetailsIdeas (indica que uma ideia pode ser visualizada, mas não editada).
locCreateNewCampaign Usado para controlar a visibilidade do contêiner conCampaignUpsert.
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha atualmente no contexto.
gblSelectedRecordCampaign_FormValues Variável global para armazenar os valores dos campos da campanha que é adicionada ou editada.
locSelectedStockImage Variável local para verificar se uma imagem padrão foi selecionada ou não.
locFormRecordCampaignPatch Variável local para armazenar o registro da campanha que está sendo atualizado.
locShowCampaignFormErrors Variável local que controla a visibilidade da mensagem de erro a ser mostrada caso haja algum campo ausente.
gblParamTeamId Variável global para definir a ID de grupo a partir do Planner.
gblParamChannelId Variável global para definir a ID de canal a partir do Planner.

Detalhes de execução ao adicionar uma campanha de ideia

  1. Uma nova campanha pode ser adicionada selecionando o botão Adicionar campanha na tela Resumo da campanha.

  2. Selecionar o botão Adicionar campanha define as variáveis locVisibleCampaignCreate, locVisibleCampaignEdit e locVisibleCampaignIdea como falsas. As variáveis locVisibleCampaignView, locCreateNewCampaign e locBlockUserInput como verdadeiras. E vai para a tela Detalhes da campanha.

  3. A a galeria galCampaignDetailNav é desativada com base nos valores das variáveis locVisibleCampaignView, locVisibleCampaignIdea e locCreateNewIdea.

  4. O nome da campanha, a descrição e as datas de início/término da campanha fazem parte do recipiente conCampaignForm, no qual os detalhes podem ser preenchidos.

  5. A galeria galCampaignEditQuestions exibe a lista de perguntas de ideias armazenadas na coleção colQuestions.

  6. A galeria galQuestionResponseRating exibe os valores de classificação disponíveis para uma pergunta.

  7. A galeria galCampaignQuestionResponseType exibe os tipos de resposta disponíveis para perguntas.

  8. O botão Adicionar só será habilitado se todos os campos estiverem preenchidos, incluindo as datas de início/término da campanha. As coleções colQuestionsToDelete e colQuestions serão verificadas se novas perguntas forem adicionadas ou excluídas.

  9. Selecionar o botão Adicionar cria um novo registro de campanha e atualiza todos os campos inseridos na tabela Campanhas da ideia do funcionário.

  10. Se novas perguntas forem adicionadas, elas serão atualizadas na coleção colQuestions e na tabela Perguntas sobre a ideia do funcionário.

  11. Se novas perguntas forem excluídas, elas serão excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.

  12. Se a opção Postar no canal for selecionada, uma mensagem será postada no canal com base nas informações armazenadas nas variáveis gblParamChannelId e gblParamTeamId.

  13. As ideias para a campanha criada são coletadas na coleção colIdeas.

  14. Os valores das variáveis locVisibleCampaignEdit, locVisibleCampaignView, locVisibleCampaignCreate, locCreateNewCampaign, locShowCampaignFormErrors e locVisibleCampaignIdeaSubmitted são definidos como falsos.

  15. A tela de envio da campanha fica visível e uma mensagem de confirmação é exibida para o usuário.

Editar uma campanha de ideias

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao editar uma campanha de ideia.

Coleções usadas ao editar uma campanha de ideia

As seguintes coleções são usadas quando você edita uma campanha de ideia:

Nome da coleção Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.
colStockImages Coleções de imagens de capa padrão.
colQuestionsToDelete Usado para coletar as perguntas excluídas ao adicionar ou editar uma campanha.
colIdeas Usado para coletar ideias para uma campanha específica.

Variáveis usadas ao editar uma campanha de ideia

As seguintes variáveis são usadas quando você editar uma campanha de ideia:

Nome das variáveis Descrição
locBlockUserInput Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo.
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha no contexto atual.
gblSelectedRecordCampaign_FormValues Variável global para armazenar os valores dos campos da campanha que está sendo adicionada ou editada.
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro).
locFormRecordCampaign Variável local para armazenar o registro da campanha que está sendo editado.

Detalhes de execução ao editar uma campanha de ideia

  1. A lista de campanhas existentes é mostrada na galeria galCampaignSummary. Selecionar qualquer uma das campanhas define a variável gblSelectedRecordCampaign como a campanha selecionada, e o usuário é levado à página de detalhes da campanha.

  2. Selecionar o botão Editar obtém os detalhes da campanha (como título e descrição) usando a variável gblSelectedRecordCampaign e as perguntas sobre a ideia da coleção colQuestions.

  3. O valor da variável locVisibleCampaignEdit é definido como verdadeiro, tornando o contêiner conCampaignUpsert visível.

  4. Os detalhes necessários podem ser atualizados e salvos. O botão Salvar só será habilitado se todos os campos estiverem preenchidos, incluindo as datas de início/término da campanha. As coleções colQuestionsToDelete e colQuestions serão verificadas se novas perguntas forem adicionadas ou excluídas.

  5. Ao selecionar o botão Salvar, todos os campos atualizados são salvos na tabela Campanhas da ideia do funcionário (a variável gblSelectedRecordCampaign contém o registro de campanha editado).

  6. A coleção colQuestions e a tabela Perguntas sobre a ideia do funcionário são atualizadas para as perguntas adicionadas/editadas.

  7. As perguntas excluídas são excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.

  8. O valor da variável locVisibleCampaignView é definido como verdadeiro, exibindo o contêiner conCampaignUpsert.

Duplicar uma campanha de ideia

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao duplicar uma campanha de ideia

Coleções usadas ao duplicar uma campanha de ideia

As seguintes coleções são usadas quando você duplica uma campanha de ideia:

Nome das coleções Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.
colQuestionsToDelete Usado para coletar as perguntas excluídas durante o processo de edição.
colIdeas Usado para coletar ideias para uma campanha específica.
colStockImages Coleções de imagens de capa padrão.

Variáveis usadas ao duplicar uma campanha de ideia

As seguintes variáveis são usadas quando você duplica uma campanha de ideia:

Nome da variável Descrição
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha no contexto atual.
gblSelectedRecordCampaign_FormValues Variável global para armazenar os valores dos campos da campanha que está sendo adicionada ou editada.
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro).
locVisibleCampaignView Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica que a campanha só pode ser visualizada se o valor for verdadeiro).
locVisibleCampaignCreate Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma nova campanha existente pode ser criada se o valor for verdadeiro).
locBlockUserInput Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo.

Detalhes de execução ao duplicar uma campanha de ideia

  1. Uma campanha pode ser duplicada usando o botão Duplicar na tela de detalhes da campanha.

  2. Selecionar o botão Duplicado define a variável gblSelectedRecordCampaign_FormValues com os detalhes da campanha que está sendo duplicada (como título, descrição, datas de início/término). A imagem da capa é definida como em branco. O título da campanha recém-criada é anexado por (1).

  3. O valor da variável locVisibleCampaignCreate é atualizado como verdadeiro, exibindo o contêiner conCampaignUpsert.

  4. O usuário pode fazer mais alterações na campanha recém-criada e selecionar o botão Adicionar campanha.

  5. Ao selecionar o botão Adicionar campanha, todos os campos atualizados são salvos na tabela Campanhas da ideia do funcionário (a variável gblSelectedRecordCampaign contém o registro de campanha editado).

  6. As perguntas recém adicionadas/editadas serão atualizadas na coleção colQuestions e na tabela Perguntas sobre a ideia do funcionário.

  7. As perguntas excluídas são excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.

  8. A tela de envio da campanha fica visível e uma mensagem de confirmação é exibida.

  9. Selecionar botão Cancelar leva o usuário de volta para a tela Resumo da campanha.

Excluir uma campanha de ideia

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao excluir uma campanha de ideia.

Coleções usadas ao excluir uma campanha de ideia

As seguintes coleções são usadas quando você exclui uma campanha de ideia:

Nome das coleções Descrição
colIdeas Usado para coletar ideias para uma campanha específica.

Variáveis usadas ao excluir uma campanha de ideia

As seguintes variáveis são usadas quando você excluir uma campanha de ideia:

Nome das coleções Descrição
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha no contexto atual.
locVisibleDialog Variável local para controlar a visibilidade do segundo plano da caixa de diálogo.
locVisibleDialogDelete Variável local para controlar a visibilidade da caixa de diálogo de exclusão.

Detalhes de execução ao excluir uma campanha de ideia

  1. Uma campanha pode ser excluída usando o botão Excluir na tela de detalhes da campanha.

  2. Selecionar o botão Excluir atualiza os valores das variáveis locVisibleDialog e locVisibleDialogDelete como verdadeiro exibindo o contêiner conConfirmDelete (caixa de diálogo de confirmação de exclusão).

  3. O usuário deve marcar a caixa de seleção Eu entendo para prosseguir com a exclusão da campanha.

  4. Ao selecionar o botão Excluir, a campanha selecionada é removida da tabela Campanha de ideias do funcionário e as ideias relacionadas são removidas da tabela Ideias do funcionário.

  5. A variável gblSelectedRecordCampaign é definida como a primeira campanha na galeria galCampaignDetailNav, e as ideias para a campanha relevante são obtidas na coleção colIdeas exibindo os detalhes da primeira campanha.

Adicionar uma pergunta sobre a ideia

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao adicionar uma pergunta sobre a ideia.

Coleções usadas ao adicionar uma pergunta sobre a ideia

As seguintes coleções são usadas quando você adicionar uma pergunta sobre a ideia:

Nome das coleções Descrição
colQuestions Usado para coletar perguntas sobre a ideia.

Variáveis usadas ao adicionar uma pergunta sobre a ideia

As seguintes variáveis são usadas quando você adicionar uma pergunta sobre a ideia:

Nome da variável Descrição
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro).
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha no contexto atual.

Detalhes de execução ao adicionar uma pergunta sobre a ideia

  1. Novas perguntas sobre a ideia podem ser adicionadas enquanto uma campanha está sendo editada.

  2. Selecionar o botão + Adicionar pergunta adiciona uma nova entrada na coleção colQuestions. O valor do campo Instruções é definido como "*NEW QUESTION*". O tipo de resposta padrão é definido como Classificação (tipo de resposta de ideias do funcionário) com os valores "Alto" e "Baixo".

  3. A pergunta recém-adicionada é exibida no final da lista.

  4. Selecionar o botão Salvar atualiza a pergunta recém-adicionada à tabela Perguntas sobre a ideia do funcionário.

Excluir uma pergunta sobre a ideia

Esta seção explica as coleções, variáveis usadas e detalhes de execução ao excluir uma pergunta sobre a ideia.

Coleções usadas ao excluir uma pergunta sobre a ideia

As seguintes coleções são usadas quando você exclui uma pergunta sobre a ideia:

Nome das coleções Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.
colQuestionsToDelete Usado para coletar as perguntas excluídas ao adicionar/excluir uma campanha.

Variáveis usadas ao excluir uma pergunta sobre ideia

Excluir uma pergunta sobre ideia não usa variáveis.

Detalhes de execução ao excluir uma pergunta sobre a ideia

  1. As perguntas existentes sobre a ideia podem ser excluídas enquanto uma campanha está sendo editada.

  2. Selecionar Excluir remove a pergunta da coleção colQuestions e adiciona a questão excluída à coleção colQuestionsToDelete.

  3. A pergunta excluída também é removida da galeria galCampaignEditQuestions.

  4. Selecionar Salvar remove a pergunta excluída da tabela Perguntas sobre a ideia do funcionário.

Alterar a ordem das perguntas sobre a ideia

Esta seção explica as coleções e variáveis usadas e detalhes de execução ao alterar a ordem das perguntas de ideia quando você adicionar/editar uma campanha de ideia.

Coleções usadas ao alterar a ordem das perguntas sobre a ideia

As seguintes coleções são usadas quando você altera a ordem das perguntas sobre a ideia:

Nome das coleções Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.

Variáveis usadas ao alterar a ordem das perguntas sobre a ideia

As seguintes variáveis são usadas quando você adicionar uma pergunta sobre a ideia:

Nome da variável Descrição
locSequenceCurrent Variável local para definir o número de sequência atual da pergunta.
locSequenceNew Variável local para definir o novo número de sequência atual da pergunta.

Detalhes de execução ao alterar a ordem das perguntas sobre a ideia

  1. A sequência das perguntas sobre a ideia pode ser atualizada usando as setas para cima e para baixo disponíveis ao lado das perguntas.

  2. A seta para cima é desativada para a primeira pergunta e a seta para baixo é desativada para a última pergunta na galeria (o modo de exibição é controlado pelo valor do campo msft_sequence).

  3. As perguntas na coleção colQuestions são reorganizadas comparando os valores das variáveis locSequenceCurrent e locSequenceNew.

Alterar o tipo de resposta para a pergunta

Esta seção explica as coleções e variáveis usadas e detalhes de execução ao alterar o tipo de resposta das perguntas sobre a ideia quando você adicionar/editar uma campanha de ideia.

Coleções usadas ao alterar o tipo de resposta das perguntas sobre a ideia

As seguintes coleções são usadas quando você altera o tipo de resposta das perguntas sobre a ideia:

Nome das coleções Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.

Variáveis usadas ao alterar o tipo de resposta das perguntas sobre a ideia

Alterar o tipo de resposta das perguntas sobre a ideia não usa variáveis.

Detalhes de execução ao alterar o tipo de resposta das perguntas sobre a ideia

  1. Os tipos de resposta disponíveis para perguntas são exibidos como parte da galeria galCampaignQuestionResponseType.

  2. A propriedade visível da galeria galQuestionResponseRating é controlada pelo tipo de resposta selecionado na galeria galCampaignQuestionResponseType comparando os valores das variáveis locSequenceCurrent e locSequenceNew.

  3. Para o tipo de resposta de Classificação, uma lista de números é mostrada; sendo o mais baixo é 1 e o mais alto 5.

  4. Para o tipo de resposta Texto, um botão de alternância com as opções Longa e Curta é exibido.

Enviar uma nova ideia

Esta seção explica as coleções e variáveis usadas e os detalhes de execução ao enviar uma nova ideia.

Coleções usadas ao enviar uma nova ideia

As seguintes coleções são usadas ao enviar uma nova ideia:

Nome das coleções Descrição
colQuestions Usado para coletar as perguntas sobre a ideia.
colResponses Usado para coletar respostas para as perguntas sobre a ideia.
colFiles Usado para coletar os arquivos associados a uma ideia.

Variáveis usadas ao enviar uma nova ideia

As seguintes variáveis são usadas ao enviar uma nova ideia:

Nome da variável Descrição
gblSelectedRecordCampaign Variável global para armazenar o registro da campanha no contexto atual.
locVisibleCampaignIdea Variável local usada para controlar a visibilidade da tela de detalhes da ideia.
locCreateNewIdea Variável local usada para controlar a visibilidade da tela de detalhes da ideia.
locFormRecordIdea Variável local usada para armazenar o registro de ideia que está sendo criado.
gblParamTeamId Variável para armazenar o ID do grupo do planejador.
gblParamChannelId Variável para armazenar o ID do canal do planejador.

Detalhes de execução ao enviar uma nova ideia

  1. Uma nova ideia pode ser enviada na tela de detalhes da campanha.

  2. Usando o botão Envie uma ideia, as perguntas sobre a ideia para a campanha selecionada (gblSelectedRecordCampaign) são coletadas na coleção colQuestions.

  3. A coleção colResponses é usada para coletar as respostas da ideia, e para todas as perguntas sobre a ideia presentes na coleção colQuestions, as respostas são coletadas na coleção colResponses.

  4. A coleção colFiles é apagada e as variáveis locCreateNewIdea e locVisibleCampaignIdea são definidas como verdadeiras.

  5. Os valores das variáveis locVisibleCampaignIdea e locCreateNewIdea são definidos como verdadeiros, exibindo os contêineres conCampaignIdeaPane e conIdeaImage.

  6. A galeria galIdeaResponses exibe os campos que devem ser preenchidos para salvar a ideia.

  7. Usar a imagem Novo arquivo permite que os usuários adicionem arquivos relacionados.

  8. Os arquivos adicionados para uma ideia são exibidos como parte da galeria galIdeaFiles cuja propriedade de itens está definida como a coleção colFiles. O ícone do arquivo correspondente é exibido (armazenado na coleção colFileIcons).

  9. A opção Excluir remove o arquivo anexado da coleção colFiles.

  10. Configurar o controle de alternância Compartilhar no canal como "Ligado" posta uma mensagem no canal sobre a criação da ideia.

  11. Voltar leva o usuário de volta para a tela de resumo da campanha. Cancelar exibe os detalhes da campanha.

  12. Salvar é habilitado quando colResponses não está em branco. Selecionar Enviar ideia faz com que dados nas coleções colResponses e colFiles sejam atualizados na tabela de Respostas para a ideia do funcionário, e se a opção Compartilhar no canal for definida como "Sim", com base nos valores das variáveis gblParamTeamId e gblParamChannelId coletadas no início do app, é feita uma postagem no canal.

  13. Os dados de colFiles, colIdeas e colResponses são atualizados para as tabelas Arquivos da ideia do funcionário, Ideias do funcionário e Respostas para a ideia do funcionário, respectivamente.

  14. O valor da variável locVisibleCampaignIdeaSubmitted é definida como verdadeira exibindo o contêiner conIdeaSubmtted (mensagem de Ideia enviada).

  15. Voltar para a Lista de Ideias define a variável locVisibleCampaignView como verdadeira e exibe os detalhes da campanha.

Excluir uma ideia

Esta seção explica as coleções e variáveis usadas e os detalhes de execução ao excluir uma ideia.

Coleções usadas ao excluir uma ideia

As seguintes coleções são usadas quando você exclui uma ideia:

Nome das coleções Descrição
colResponses Usado para coletar respostas para a ideia.
colFiles Usado para coletar arquivos associados a uma ideia.

Variáveis usadas ao excluir uma ideia

As seguintes variáveis são usadas ao excluir uma ideia:

Nome da variável Descrição
locVisibleIdeaCommands Variável local usada para controlar a visibilidade do botão de exclusão de ideia (galIdeaCommands).
gblRecordCampaignIdea Variável global para armazenar o registro de ideia da campanha no contexto atual.
locVisibleCampaignIdea Variável local usada para controlar a visibilidade dos detalhes da ideia.
locVisibleDialog Variável local para controlar a visibilidade do segundo plano da caixa de diálogo.
locVisibleDialogDelete Variável local para controlar a visibilidade da caixa de diálogo de exclusão.
locVisibleCampaignEdit Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro).

Detalhes de execução ao excluir uma ideia

  1. Selecionando qualquer uma das ideias da galeria galCampaignDetailsIdeas define a variável gblRecordCampaignIdea como a ideia selecionada, e os detalhes correspondentes armazenados em colResponses e colFiles são exibidos.

  2. O valor da variável locVisibleCampaignIdea definida como verdadeira exibe os detalhes da ideia.

  3. O usuário pode excluir o registro de ideia selecionada usando o ícone Mais ao lado do botão de votar. Esta ação mostra o botão de exclusão com base no valor da variável locVisibleIdeaCommands.

  4. Excluir define os valores das variáveis locVisibleDialog e locVisibleDialogDelete como verdadeiro exibindo o contêiner conConfirmDelete (caixa de diálogo de Confirmação de exclusão).

  5. O usuário deve marcar a caixa de seleção Eu entendo para continuar com a exclusão da campanha.

  6. Quando o botão Excluir é selecionado, a campanha selecionada é removida da tabela Campanha de ideias do funcionário e as ideias relacionadas são removidas da tabela Ideias do funcionário e a coleção colIdeas é atualizada.

  7. O valor da variável locVisibleCampaignView é definido como verdadeiro, exibindo os detalhes da campanha.

Tela Configurações

Esta seção explica as coleções e variáveis usadas, bem como os detalhes de execução da tela de configurações ao editar a configuração do aplicativo.

Coleções da tela de configurações

A tela de configurações usa as seguintes coleções:

Nome das coleções Descrição
colIdeaStats_Raw Usado para coletar ideias brutas para estatísticas com detalhes do proprietário.

Variáveis da tela de configurações

A tela de configurações usa as seguintes variáveis:

Nome da variável Descrição
locBlockUserInput Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo.
gblRecordSettings Variável global usada para definir a ID da equipe e do canal para a tabela Configurações de ideias de funcionários.
gblSettingNotificationChannelId Variável global para armazenar o ID do Canal em que as notificações serão postadas.
gblDropdownChannel Variável global para armazenar a lista de canais de um grupo.

Detalhes de execução da tela de configurações

  1. Os usuários têm a possibilidade de atualizar se apenas os proprietários das equipes poderão adicionar campanhas e selecionar o canal onde as mensagens serão postadas.

  2. A lista de canais na lista suspensa são da variável gblDropdownChannel.

  3. O botão Salvar é habilitado quando o valor suspenso selecionado ou o valor restrito do proprietário da equipe é diferente do valor armazenado na variável gblRecordSettings (que é definido no início do aplicativo).

  4. Salvar atualiza os detalhes na tabela Configurações da ideia do funcionário e leva o usuário à tela Resumo da campanha. O valor da variável locBlockUserInput é definida como verdadeira, certificando-se de que o usuário não faça nenhuma atualização adicional enquanto o salvamento está em andamento.

  5. Cancelar leva o usuário de volta para a tela anterior.

Tela Sobre

Esta seção explica as coleções e variáveis usadas e os detalhes de execução da tela de configurações.

Coleções da tela Sobre

A tela Sobre não usa nenhuma coleção.

Variáveis da tela Sobre

A tela Sobre não usa nenhuma variável.

Detalhes de execução da tela Sobre

  1. Botão Personalize usando o Power Apps no recipiente conHeader_About abre o Power Apps no Microsoft Teams.

  2. A galeria galAbout_HelpLinks armazena os links de ajuda.

  3. O botão Saiba como personalizar este aplicativo leva você a um link externo que explica como fazer personalizações no aplicativo.

  4. O botão Envie suas ideias leva você a um link externo onde ideias podem ser publicadas para o aplicativo.

  5. O botão Engage with community leva você para a página da Comunidade do Power Apps.

  6. O recipiente conAbout_AppVideo contém o link do vídeo que fornece uma visão geral do aplicativo.

  7. A galeria galAbout_OtherApps contém os links para outros Power Apps na loja do Teams.

  8. O botão Exibir aplicativo leva você para a página do aplicativo na loja de aplicativos do Microsoft Teams.

  9. O botão Visão geral do aplicativo leva você ao vídeo de visão geral do aplicativo.

  10. conAbout_Version fornece informações sobre o controle de versão do aplicativo.

Consulte também

Personalizar o aplicativo de ideias do funcionário
Aplicativo de exemplo Ideias de funcionários
Usar aplicativos de exemplo da loja do Microsoft Teams
Personalizar aplicativos de exemplo instalados da store do Teams
Perguntas frequentes (FAQs) sobre aplicativos de exemplo