> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-pt/kilo-iot-server/rules-engine/edit-locks-and-team-handoffs.md).

# Bloqueios de Edição

Bloqueios de edição por regra no Kilo IoT Server — bloqueio automático, heartbeat e tempo limite evitam sobrescritas durante a transferência.

Quando várias pessoas gerem regras de automatização, a plataforma evita sobrescritas acidentais através de bloqueios de edição por regra, comportamento de gravação automática e fluxos de passagem de responsabilidade claros.

## Como funciona o bloqueio

Cada regra tem o seu próprio bloqueio de edição. Quando muda para **edição** modo — seja ao clicar em Editar na lista de Regras ou ao mudar o seletor de modo — a plataforma adquire um bloqueio nessa regra.

Enquanto uma regra está bloqueada:

* Ninguém mais a pode editar
* Os outros veem um ícone de bloqueio junto ao nome da regra na lista de Regras, com uma dica de ferramenta a mostrar quem detém o bloqueio e quando expira
* Os botões Editar, Duplicar e Eliminar são desativados para os outros utilizadores

Um utilizador pode manter bloqueios em várias regras em simultâneo. Cada bloqueio é independente.

## Expiração do bloqueio e indicador da interface

O bloqueio tem uma hora de expiração, que é mostrada na dica de ferramenta no ícone de bloqueio na lista de Regras. A plataforma prolonga o bloqueio automaticamente enquanto está a editar ativamente (através de um heartbeat periódico). Se deixar de interagir com o editor durante um período prolongado, começa o fluxo de inatividade (ver abaixo).

## Tempo limite de inatividade

Se estiver inativo no editor durante vários minutos, aparece uma caixa de diálogo:

> **"A regra será fechada em 5 minutos"** "Continue a editar para repor o temporizador."

Tem duas opções:

* **Continuar** — Repon o temporizador de inatividade e mantém a sua sessão de edição ativa
* **Guardar e sair** — Guarda o seu trabalho atual, liberta o bloqueio e volta à lista de Regras

Se não responder e o temporizador terminar, a plataforma guarda o seu trabalho atual como uma nova versão (com o tipo de gravação "session\_timeout"), liberta o bloqueio e fecha o editor.

## Gravação automática

Enquanto está a editar, a plataforma guarda automaticamente o seu trabalho em intervalos regulares. O estado da gravação é mostrado no cabeçalho:

* **A gravar...** — Uma gravação está em curso
* **Guardado** — As suas alterações mais recentes foram persistidas
* **A gravação automática falhou** — Algo correu mal. Aparece uma caixa de diálogo que oferece a opção de **Tentar novamente** ou ir **Voltar à regra**

Cada gravação automática cria ou atualiza uma entrada de versão no histórico. O tipo de gravação registado depende de como a gravação foi acionada (manual, automática, desconexão, etc.).

## Sair do editor

Quando navega para fora do editor — ao clicar na seta para trás, mudar para o modo de Visualização ou fechar o separador do navegador — a plataforma pede-lhe confirmação se houver alterações não guardadas:

> **"Tem a certeza de que quer desbloquear a regra?"** "As alterações não guardadas serão perdidas."

Opções:

* **Cancelar** — Permanecer no editor
* **Desbloquear** — Libertar o bloqueio e sair.

Nos fluxos normais de saída, o editor tenta persistir o estado BPMN mais recente antes de libertar o bloqueio. Isso significa que mudar para o modo de Visualização, usar o botão de voltar ou sair da rota de edição não elimina simplesmente o estado atual do diagrama. A caixa de diálogo de aviso continua a ser conservadora, por isso não a deve considerar um substituto para gravações deliberadas antes de alterações importantes.

Se fechar o navegador ou perder a ligação inesperadamente, a plataforma tenta um fluxo de gravação e desbloqueio de última oportunidade. Quando bem-sucedido, o estado mais recente é preservado como uma versão com o tipo de gravação **desconexão**.

## Desbloqueio forçado (proprietários da organização)

Se uma regra estiver bloqueada e o utilizador que a bloqueou não estiver disponível, **os proprietários da organização** podem desbloqueá-la à força.

Na lista de Regras:

1. Encontre a regra bloqueada (identificada pelo ícone de bloqueio)
2. Clique no ícone de bloqueio (clicável apenas para proprietários da organização)
3. Aparece uma caixa de diálogo de confirmação:

> **"Desbloquear regra"** "A regra \\"\[rule name]\\" está atualmente a ser editada por outro colaborador. Tem a certeza de que quer desbloqueá-la? Quaisquer alterações não guardadas feitas pelo outro utilizador serão perdidas."

4. Clique em **Desbloquear** para libertar o bloqueio

O utilizador que estava a editar verá uma notificação:

> **"O proprietário da organização desbloqueou a regra"** "Tente aceder novamente à regra ou contacte o proprietário da organização."

O desbloqueio forçado não garante a preservação das edições em memória do outro utilizador. Liberta o bloqueio imediatamente, por isso use-o apenas quando a passagem de responsabilidade não puder esperar.

## Quando outro utilizador está a editar

Se tentar editar uma regra que está bloqueada por outra pessoa, aparece uma caixa de diálogo:

> **"A regra está em modo de edição"** "\[User name] começou a editar a regra às \[time]. A regra fica fechada durante a edição de outro utilizador."

Clique em **Ir para regras** para voltar à lista de Regras e aguardar que o bloqueio seja libertado.

## Limpeza de bloqueios em segundo plano

Se um bloqueio expirar sem ser explicitamente libertado (por exemplo, o navegador do utilizador falhou e o sinal de desconexão não foi recebido), um processo em segundo plano deteta o bloqueio expirado, guarda o último estado conhecido como uma nova versão (com o tipo de gravação "lock\_cleanup") e liberta o bloqueio.

## Melhores práticas para passagens de responsabilidade da equipa

* **Mantenha as sessões de edição curtas.** O bloqueio impede que outras pessoas trabalhem na regra enquanto o mantém.
* **Utilize o menu de ações para duplicar** se quiser experimentar sem bloquear a regra original.
* **Dê nomes às suas versões** depois de alterações importantes para que os membros da equipa possam identificar o que mudou. Ver [Histórico de Versões e Restauro](/kilo-docs-pt/kilo-iot-server/rules-engine/version-history-and-restore.md).
* **Comunique com a sua equipa** antes de desbloquear à força — o outro utilizador pode ainda estar a trabalhar a partir de outro dispositivo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-pt/kilo-iot-server/rules-engine/edit-locks-and-team-handoffs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
