Plugin Camera Upload para o Adminer

O Adminer é uma aplicação web que permite a administração de um banco de dados. Devido a sua flexibilidade, ela pode ser customizada, o que permite que seja usada não só por administradores, mas também por usuários comuns para consultar e atualizar informações cadastrais.
 
Criar CRUD‘s é uma tarefa que nenhum desenvolvedor gosta de fazer. É uma atividade repetitiva e que consome tempo. Em alguns casos, o Adminer pode ser considerado como uma alternativa para resolver esse problema, pois ele funciona como um “gerador automático de CRUDs“. As interfaces geradas por ele, permitem:
 

  • Visualização em formato tabela
  • Abertura do registro em formato formulário
  • Edição de múltiplos registros simultâneamente
  • Campos de múltipla escolha baseados em tabelas auxiliares
  • Validação dos dados de entrada
  • Correção automática de valores
  • Upload de arquivos
  • Captura e envio de imagens
  • Importação/Exportação dos dados em .csv
  • Apresentação de pop-ups com informações sobre o preenchimento dos campos
  • Pesquisa de registros: =, >, <, texto e Regex
  • Pesquisas complexas envolvendo múltiplos operadores e campos
  • Criação e armazenamento de visões customizadas
  •  
    O desenvolvedor da ferramenta, Jakub Vrana, conseguiu a proeza de não só criar um excelente front-end pra banco de dados, mas também fez ele “caber” em um único arquivo .php com pouco mais de 300kb. Para colocar em produção, basta “temificar” a interface com um arquivo adminer.css, criar um pequeno index.php que aponte para o arquivo compilado e pronto. A aplicação já pode ser posta em produção. (A sintaxe para o index.php está no link adiante)
     
    Em um servidor Nginx/PHP7 com opCache e HTTP/2, as respostas são muito rápidas, algo em torno de 0,03s.
     
    Os principais métodos estão todos dentro de uma mesma classe, que evidentemente podem ser sobrecarregados, permitindo assim que quase tudo seja customizado mantendo os fontes originais. Essas customizações estão em dezenas de plugins disponíveis para a ferramenta: https://www.adminer.org/en/plugins/
     
    Outro aspecto interessante, é que através de um engenhoso esquema de reflexão, você pode ter inúmeras sobrecargas de um mesmo método. Funciona assim: Se o método sobrecarregado pelo plugin devolver null, então a plataforma chama o mesmo método sobrecarregado pelo outro plugin e assim sucessivamente. Se todos devolverem null, então o sistema executa o método original (parent). Isso permite que inúmeros plugins possam conviver juntos, mesmo que sobrecarreguem o mesmo método. Se o método sobrecarregado originalmente não devolver nada, então a sua sobrecarga no plugin deve devolver “false”.
     
    Caso seja necessário fazer uma customização muito específica, basta editar os fontes e depois compilar novamente a aplicação. Essa “compilação” é feita por um script .php executado localmente que minifica, zipa e agrupa todos os .php e .js em um único arquivo .php.
     
    Quem faz isso é o compile.php, cuja sequência de execução se parece com essa:
     
     

    C: 
    cd C:\caminho\completo\ate\a\pastadestino\do\arquivocompilado\ 
    C:\caminho\completo\ate\php.exe c:\Caminho\completo\ate\adminer\compile.php mysql pt-br 
    

     
     
    Essas customizações permitem liberar apenas as features que os usuários podem ver ou então adicionar funcionalidades que extrapolam as de um simples cliente de banco de dados e o transformam em uma aplicação web completa. A versão completa permite a administração do banco de dados. A versão “light”, que se chama “editor” não possui as funcionalidades de administração do banco. Ele funciona como um gerador automático de CRUDs para usuários comuns.
     
     
    Exemplos de customização através de plugins:
     
     
    Se a sua necessidade é armazenar arquivos, é possível, através de um plugin, transformar todo campo que termine com “_anexo” (isso é customizável) em uma interface para upload de arquivos, que permanecem com o nome original.
     
    Anexos
     
    Utilize os comentários dos campos do próprio banco de dados como dicas de preenchimento para o usuário, quando ele passar o mouse sobre o nome dos campos.
     
    Trate as entradas incorretas. Se o usuário entrar com ” 1.000,00 ” é possivel aplicar um regex e converter a entrada no formato correto “1000.00” antes, internamente, construir o comando SQL.
     
    Se a sua necessidade é controlar a entrega de correspondências, onde seja necessário registrar a foto da encomenda, basta adicionar outro plugin. Todos os campos que terminem com “_foto” (também customizável) se transformam em uma interface de captura e envio de imagens.
     
    Camera Upload
     
    Este plugin que captura e envia imagens, foi a nossa contribuição para a plataforma. As atualizações estão disponíveis no Github:
     
    https://github.com/margenn/adminer-camera-upload-plugin
     
    O link para o projeto Adminer é este: https://www.adminer.org/

    Fale conosco

    Utilize o formulário ao lado

    Gren 2024