Skip to main content

DevTools

O plugin DevTools (devtools) reúne, em uma única tela, um conjunto de ferramentas voltadas exclusivamente ao desenvolvimento e manutenção do ACCELERO: geração de licenças, geração de código (classes e plugins), geração de bundles JS/CSS e preloads, e conferência do dicionário de traduções.

Ferramenta interna de desenvolvimento

Esta é uma ferramenta de uso interno da IONGRADE, destinada à equipe de desenvolvimento. Ela não faz parte do produto entregue ao cliente e não deve ser exposta a operadores. O acesso à tela e às ações (gerar/aplicar licença, gerar código, regenerar bundles) afeta diretamente o funcionamento da instância — use apenas em ambientes controlados e com conhecimento do que cada ferramenta faz.

Disponibilidade

Recurso disponibilizado como plugin (devtools), instalado e habilitado pela equipe técnica da IONGRADE apenas em ambientes de desenvolvimento ou manutenção. Não há dicionário de tradução nem rótulos voltados ao cliente — toda a interface é em linguagem de desenvolvimento.

Compatibilidade

Versão atual do plugin: 0.0.14 — compatível com ACCELERO 2.16.0, 2.16.1, 2.16.2 e 2.16.3 (conforme manifest.json).


O que o plugin faz

Com o plugin ativo, um item DevTools é adicionado ao menu (ícone Linux) apontando para /devtools. A tela inicial apresenta cinco cartões, cada um abrindo uma ferramenta:

FerramentaO que faz
License generatorMonta, visualiza e aplica localmente a licença da instância (quantitativos, recursos e módulos)
Class generatorGera o código-base de uma entidade (classe base/concreta, views de list/edit, permissões e rotas) a partir de uma tabela do banco
Plugin generatorEmpacota uma pasta de plugin em um .zip criptografado pronto para distribuição
Bundles & preloadsRegenera os bundles de JS/CSS e os scripts de preload da aplicação
DictionaryAponta traduções faltantes e órfãs nos idiomas adicionais e exporta o dicionário em CSV
TODO: Adicionar Screenshot

Tela inicial do DevTools (/devtools) com os cinco cartões: License generator, Class generator, Plugin generator, Bundles & preloads, Dictionary.


License generator

Caminho de acesso: DevTools > License generator (/devtools/licensegenerator)

Ferramenta para montar a licença da instância. A tela é pré-carregada com a licença atual da instalação (facility, quantitativos e módulos ativos) e organizada em seções colapsáveis.

TODO: Adicionar Screenshot

Tela do License generator com as seções Geral, Quantitativos e Módulos expandidas.

Seção Geral

CampoDescrição
FacilityIdentificador da instalação. Compõe a chave de criptografia da licença
VersãoPlano da licença: starter, plus, platinum, showroom ou eco

Seção Quantitativos

Define os limites numéricos da instância, agrupados em:

  • Geral — Operadores, Operadores simultâneos, Categorias, Faixas horárias, Cartões ativos, Logs, Storage.
  • Controladores — Controladores, Indium.
  • Recursos — Campos configuráveis, DirectPass, AutoTeller.
  • Integrações — MorphoWave, ZKTeco, Beward, Hikvision, Hikvision LPR, Dahua, ControlID.

Seção Módulos

Liga/desliga os módulos da instância, agrupados em Geral, Aplicativos / sistemas, Recursos, Avançado e Integrações. Exemplos de módulos: Offline / on-premises, ECO, Default, QRCode, UniqLogin, Família, AppToHome, QI Solution, Telegram, Veículos, Passes, Créditos, Dupla custódia, Escorts, Multi-tenant, Synapsis, API, Custom CSS, I/O, entre outros.

A lista de módulos acompanha o ACCELERO

Os módulos exibidos refletem os módulos suportados pela versão do ACCELERO. Consulte o núcleo (plugins/accelero) quando precisar confirmar o efeito de um módulo específico.

Botões

BotãoFunção
Pegar licença stringGera e exibe a string criptografada da licença montada, sem aplicá-la. Útil para copiar e usar em outro ambiente
Deploy localAplica a licença gerada diretamente na instância atual (grava na configuração license e limpa o cache de configuração)
"Deploy local" altera a instância em uso

O botão Deploy local sobrescreve a licença vigente da instalação atual. A ação roda no contexto do usuário de desenvolvimento (ACCELERO_DEV_USER). Confirme o ambiente antes de aplicar.

Detalhe de implementação

A string da licença é gerada cifrando os dados com a chave derivada de facility + salt geral da instância. A licença inclui um bloco hash com data de geração, facility, hostname e um nonce aleatório.


Class generator

Caminho de acesso: DevTools > Class generator (/devtools/classgenerator)

Gera o esqueleto de código de uma nova entidade a partir de uma tabela existente no banco. A ferramenta lê a estrutura da tabela e produz os artefatos padrão do ACCELERO.

TODO: Adicionar Screenshot

Tela do Class generator com os campos de entrada e os blocos de saída gerados (Classe base, Classe concreta, HTML de list, HTML de edit, Permissões, Routes).

Campos de entrada

CampoDescrição
TabelaNome da tabela do banco usada como base da entidade
ClassnameNome da classe a ser gerada
Class aliasAlias da classe
PrefixPrefixo dos campos/arquivos gerados
PKeyChave primária da entidade
Deploy base pathCaminho-base onde os arquivos serão gravados ao fazer deploy de um artefato

Saídas geradas

Ao clicar em Gerar classe, a ferramenta produz, em blocos colapsáveis:

BlocoConteúdo
Classe baseClasse ...Base.php com getters/setters e validações
Classe concretaClasse concreta que estende a base
HTML de listView de listagem (...List.view.html)
HTML de editView de edição (...Edit.view.html)
PermissõesQuery SQL de permissões da entidade
RoutesArquivo de rotas da entidade

Cada bloco tem uma ação de deploy que grava o respectivo artefato no Deploy base path informado (a classe base em src/..., as views em views/, as rotas em config/routes/).

Deploy grava arquivos no servidor

As ações de deploy do Class generator escrevem arquivos diretamente no caminho informado. Use apenas em ambiente de desenvolvimento e confira o Deploy base path.


Plugin generator

Caminho de acesso: DevTools > Plugin generator (/devtools/plugingenerator)

Empacota uma pasta de plugin em um arquivo .zip criptografado pronto para distribuição/instalação.

TODO: Adicionar Screenshot

Tela do Plugin generator com os campos Nome do plugin e Path e o link de download gerado.

CampoDescrição
Nome do pluginNome usado no pacote gerado
PathCaminho no servidor da pasta do plugin a ser empacotada

Ao gerar, a ferramenta:

  1. Percorre os arquivos da pasta (ignorando .git).
  2. Lê a version do manifest.json do plugin para nomear o arquivo (<nome>_v<versão>.zip).
  3. Cifra o .zip com a chave de criptografia de plugins do ACCELERO.
  4. Retorna um link Download para o pacote final.

Bundles & preloads

Caminho de acesso: DevTools > Bundles & preloads (/devtools/bundles)

Regenera os artefatos estáticos da aplicação.

TODO: Adicionar Screenshot

Tela de Bundle generator com os botões Gerar bundles JS/CSS e Gerar preload scripts.

BotãoFunção
Gerar bundles JS/CSSRegera os bundles de JavaScript e CSS, atualiza a assinatura MD5 do carregador de bundles e o dicionário JS (idiomas pt_BR e en_US). Roda em segundo plano e notifica o usuário ("Bundles gerados!") ao concluir
Gerar preload scriptsRegera os scripts de preload da aplicação
Execução assíncrona

A geração de bundles JS/CSS é disparada como job assíncrono — a tela retorna imediatamente e a conclusão chega por notificação ao operador que disparou a ação.


Dictionary

Caminho de acesso: DevTools > Dictionary (/devtools/dictionarychecker)

Verifica a consistência das traduções nos idiomas adicionais — por padrão en_US e it_IT — comparando-os com o dicionário de referência pt_BR.

TODO: Adicionar Screenshot

Tela do Dictionary checker com as seções Missing translations e Dangling translations e o botão de exportação do CSV.

SeçãoConteúdo
Missing translationsTokens existentes no pt_BR mas sem tradução no idioma adicional (lista token + texto pt_BR; mostra "ALL GOOD!" quando não há pendências)
Dangling translationsTraduções órfãs — presentes no idioma adicional mas sem token correspondente no pt_BR

Exportação CSV

A ferramenta gera um arquivo accelero_dictionary.csv com as colunas dos idiomas pt_BR, en_US e it_IT, para revisão ou tradução em massa.


Casos de uso

Aplicar uma licença em ambiente de desenvolvimento

  1. Acesse DevTools > License generator.
  2. Ajuste Facility, Versão, quantitativos e módulos desejados.
  3. Clique em Pegar licença string para copiar a chave, ou em Deploy local para aplicar na instância atual.

Gerar o esqueleto de uma nova entidade

  1. Crie a tabela no banco.
  2. Em DevTools > Class generator, informe Tabela, Classname, Class alias, Prefix, PKey e Deploy base path.
  3. Clique em Gerar classe e revise os blocos gerados.
  4. Faça o deploy de cada artefato (classe, views, rotas) para o caminho do projeto.

Empacotar um plugin para distribuição

  1. Em DevTools > Plugin generator, informe Nome do plugin e Path da pasta do plugin.
  2. Gere o pacote e use o link Download — o .zip já sai criptografado e versionado pelo manifest.json.

Conferir traduções antes de um release

  1. Acesse DevTools > Dictionary.
  2. Resolva os tokens listados em Missing translations e remova as entradas órfãs de Dangling translations.
  3. Exporte o CSV para tradução em massa, se necessário.

Boas práticas

  • Ambiente correto: use o DevTools apenas em ambientes de desenvolvimento/manutenção. Deploy local (licença) e os deploys do Class generator alteram a instância e o sistema de arquivos.
  • Confira o Path/Deploy base path: as ferramentas de geração de código e de plugin escrevem arquivos no caminho informado — um path errado pode sobrescrever arquivos.
  • Regere bundles após alterar JS/CSS: mudanças em assets só refletem após Gerar bundles JS/CSS; lembre que a ação roda em segundo plano.
  • Não exponha ao cliente: mantenha o plugin desinstalado/desabilitado em instâncias de produção entregues a clientes.

Troubleshooting

O item DevTools não aparece no menu

Possíveis causas:

  • Plugin devtools não instalado ou não habilitado.
  • Versão do ACCELERO fora da faixa de compatibilidade (2.16.02.16.3).

Solução: confirme a instalação do plugin e a versão do ACCELERO.

Alterações de JS/CSS não refletem na interface

Possíveis causas:

  • Bundles não foram regerados após a alteração.

Solução: acesse DevTools > Bundles & preloads, clique em Gerar bundles JS/CSS e aguarde a notificação "Bundles gerados!".

Deploy de classe/plugin falha

Possíveis causas:

  • Deploy base path / Path inexistente ou sem permissão de escrita.

Solução: verifique se o diretório existe e tem permissão de escrita pelo processo do ACCELERO.


Integração com outros módulos


Próximos Passos