Plugin de Registro de Tempo

:information_source: Resumo Permite o registro de tempo no Discourse
:hammer_and_wrench: Link do Repositório \u003chttps://github.com/communiteq/discourse-time-registration\u003e
:open_book: Guia de Instalação Como instalar plugins no Discourse

Registro de Tempo do Discourse

Discourse Time Registration é uma solução leve e integrada de rastreamento de tempo para o Discourse. Ele permite que os usuários rastreiem o tempo gasto em tópicos específicos, tornando-o ideal para equipes de suporte, freelancers ou gerenciamento de projetos internos onde a cobrança ou a contabilidade de tempo é necessária diretamente no contexto da discussão.

Principais Recursos

  • Dois Modos de Rastreamento:
    • Cronômetro (Stopwatch): Inicie um cronômetro ao começar a trabalhar em um tópico e pare-o quando terminar.
    • Entrada Manual: Registre uma duração específica (ex: “1 hora” ou “15 minutos”) instantaneamente se o trabalho já estiver concluído.
  • Integração com Tópicos: Os registros de tempo aparecem como publicações de “pequena ação” no fluxo do tópico (ex: “Usuário trabalhou em Correção de Bug por 01:30), mantendo o histórico de trabalho visível ao lado da conversa.
  • Cronômetro Global: Um indicador de cronômetro ativo aparece no cabeçalho do site, permitindo que os usuários naveguem pelo fórum enquanto o relógio está correndo e parem o cronômetro de qualquer lugar.
  • Arredondamento Inteligente: Regras de arredondamento configuráveis (ex: arredondar para o quarto de hora mais próximo) para automatizar os cálculos de faturamento.
  • Painel de Relatórios: Uma interface dedicada para consultar dados de tempo.

Como Funciona

Rastreando o Tempo

Um registro de tempo está sempre vinculado a um tópico.

Ao visualizar um tópico, os usuários com permissão verão um botão Registro de Tempo (ícone de relógio) no cabeçalho superior direito. Clicar nele abre uma janela modal onde eles podem:

  1. Iniciar Cronômetro: Inicia um contador em tempo real.
  2. Registrar Tempo: Permite inserir uma duração manual (ex: “30” para minutos ou “1:30” para horas/minutos) e uma descrição imediatamente.

Quando um cronômetro é parado, o usuário é solicitado a inserir uma descrição do trabalho realizado.

image

Isso cria uma pequena publicação de ação no tópico registrando o usuário, a descrição e a duração final.

image

Editando Registros

Erros acontecem. Usuários (ou Administradores) podem editar as publicações de registro de tempo existentes para corrigir a descrição ou a duração. Basta passar o mouse sobre a publicação de pequena ação e um lápis aparecerá. O sistema atualiza o registro e os dados do relatório automaticamente.

image

Relatórios

O plugin inclui um abrangente Relatório de Registro de Tempo (acessível através da Barra Lateral).

  • Filtros: Filtre por Intervalo de Datas, Categoria e Usuário específico.
  • Dados: Exibe uma tabela com o Tópico, Categoria (ou “Mensagem Pessoal”), Usuário, Descrição, Duração e Data.
  • Totais: Calcula automaticamente o tempo total gasto com base nos filtros atuais.

image

Configurações

Nome Descrição
time registration groups os grupos que podem realizar o registro de tempo
time registration rounding interval arredondar o tempo registrado para X minutos
time registration round up at arredondar para cima a partir de onde

Exemplo:

  • intervalo de arredondamento: 10, arredondar para cima a partir de: 1 –\u003e 12 se torna 20
  • intervalo de arredondamento: 15, arredondar para cima a partir de: 7.5 –\u003e 22 se torna 15, 23 se torna 30
23 curtidas

Meu Deus. Eu estava pensando em algo assim NA SEMANA PASSADA porque na minha instância eu pago a equipe com base na quantidade de trabalho que eles dedicam. Corrija-me se estiver errado, mas isso funcionaria idealmente para o SWAPD, não é?

1 curtida

Tecnicamente, um PM é um tópico.

Note que isso é autorrelato, e as pessoas que registram o tempo podem editar o tempo que gastam.
Se houver confiança, funcionará.

2 curtidas

Adorei isto! No entanto, estou vendo o seguinte no Console das Ferramentas do Desenvolvedor do Chrome:

[PLUGIN discourse-time-registration] Aviso de Depreciação: Definir classes de conector via registerConnectorClass está obsoleto. Consulte https://meta.discourse.org/t/32727 para padrões mais modernos. [id de depreciação: discourse.register-connector-class-legacy]
a	@	deprecated.js:62
p	@	plugin-connectors.js:23
registerConnectorClass	@	plugin-api.gjs:1087
(anonymous)	@	time-registration-route.js:9
eH	@	plugin-api.gjs:3238
initialize	@	api.js:21
(anonymous)	@	app.js:265
(anonymous)	@	index.js:379
e.each	@	index.js:183
e.walk	@	index.js:112
e.each	@	index.js:59
e.topsort	@	index.js:65
_runInitializer	@	index.js:392
runInstanceInitializers	@	index.js:377
_bootSync	@	instance.js:116
didBecomeReady	@	index.js:784
invoke	@	index.js:262
flush	@	index.js:180
flush	@	index.js:334
_end	@	index.js:762
(anonymous)	@	index.js:499
Promise.then		
(anonymous)	@	index.js:18
flush	@	index.js:29
_scheduleAutorun	@	index.js:928
_ensureInstance	@	index.js:919
schedule	@	index.js:618
f	@	index.js:343
waitForDOMReady	@	index.js:512
init	@	index.js:412
_	@	core.js:97
create	@	core.js:599
(anonymous)	@	start-app.js:18
await in (anonymous)		
(anonymous)	@	discourse-boot.js:13
(anonymous)	@	discourse-boot.js:1

Por favor, me ajude a corrigir isso.

2 curtidas

Obrigado por relatar isso! Foi resolvido.

E agora também é possível alterar a data de um registro usando a função ‘editar’.

2 curtidas

Fiz mais algumas pequenas atualizações. Uma delas é que o plugin estava acidentalmente ativado por padrão. Se você estiver usando o plugin, deverá reativá-lo manualmente (apenas desta vez) após a atualização.

3 curtidas