PC SOFT
DEPOT EN LIGNE
POUR  WINDEVWEBDEV ET  WINDEV MOBILE

FILEMANAGER
Publié par Boller
dans la catégorie Outils
Nouveautés



Description
# ?? Manual Oficial - Filemanager_V15.1 Multilíngue (WINDEV / WEBDEV / WINDEV Mobile)

**Data de emissão:** 03/07/2025
**Versão:** 15.1 - Multilíngue com suporte a Firebird
**Plataformas:** WINDEV, WEBDEV, WINDEV Mobile

---

## ?? Índice

1. Introdução
2. Justificativa
3. Objetivos
4. Motivação e Comunidade
5. Estrutura da Classe Filemanager
- 5.1 Conexão com o Banco
- 5.2 Comparação de Estrutura
- 5.3 Geração do Plano de Alteração
- 5.4 Backup Seguro
- 5.5 Execução de Alterações
- 5.6 Logs de Auditoria
- 5.7 Notificações por Email
- 5.8 Templates de Email
- 5.9 Suporte Multibanco
- 5.10 Suporte Multilíngue
6. Conclusão

---

## 1. ?? Introdução

O `Filemanager_V15.1` é uma classe escrita em WLanguage (WINDEV/WEBDEV/Mobile) que automatiza a comparação da análise (modelo) com o banco de dados físico. Ela permite gerar alterações seguras, criar backups, executar modificações e enviar notificações detalhadas para a equipe de desenvolvimento ou DBA.

---

## 2. ?? Justificativa

Ambientes de desenvolvimento WX costumam sofrer com divergências entre a estrutura da análise e a estrutura real do banco de dados. Esta classe foi criada para resolver esse problema com:

- Segurança nas alterações
- Compatibilidade com múltiplos bancos (inclusive Firebird)
- Transparência e rastreabilidade
- Apoio à governança de dados
- Suporte multilíngue para uso internacional

---

## 3. ?? Objetivos

- Criar uma ferramenta **genérica, robusta e segura** para manutenção da estrutura de bancos de dados a partir da análise do WINDEV.
- Reduzir tempo de manutenção e evitar erros humanos.
- Engajar a **comunidade WX global** a colaborar com sugestões, melhorias e testes reais da classe.
- Tornar essa classe uma referência oficial e comunitária para projetos profissionais.

---

## 4. ?? Como ela deve funcionar:

Para que a classe Filemanager funcione 100% de forma robusta, confiável e escalável no ecossistema WX (WINDEV, WEBDEV e WINDEV Mobile), ela deve atender a um conjunto de requisitos fundamentais divididos em funcionalidades obrigatórias, recursos avançados e infraestrutura complementar.

A seguir está uma lista completa de como ela deve funcionar e quais recursos devem existir para ser considerada uma versão “FULL OK”:

?

? 4.1. Funcionamento Esperado da Classe Filemanager

A classe deve permitir:
1. Comparar automaticamente a estrutura da análise WINDEV com a estrutura real do banco de dados.
2. Gerar um plano de alterações, ordenado e seguro.
3. Realizar backups automáticos antes de qualquer alteração destrutiva.
4. Aplicar as alterações usando comandos SQL compatíveis com o banco conectado.
5. Gravar logs detalhados de tudo que foi feito (data/hora, estação, comando, status).
6. Enviar notificações por e-mail com resumo das alterações ou erros.
7. Funcionar em múltiplos bancos de dados.
8. Ser multilíngue e adaptável para projetos internacionais.

?

?? 4.2. Recursos Essenciais para a Versão 100%

Categoria Recurso Status
?? Conexão Autoidentificação do tipo de banco (fm_sDbType) ?
?? Comparação Leitura da análise vs banco com HList ?
?? Geração de plano Ordenação por prioridade: criação > alteração > remoção ?
??? Backup Criação de cópia da tabela com verificação de integridade ?
??? Execução Transações seguras (HDébutTransaction, HAnnuleTransaction) ?
?? Log Gravação em tabela Filemanager_Log com IP e estação ?
?? Email Notificações em HTML por SMTP e/ou API REST (SendGrid etc.) ?
?? Multilíngue fm_Translate() com suporte EN, PT, ES, FR ?
?? Personalização Templates HTML de e-mail separados por status ?
?? Modularidade Cada bloco separado como PROCÉDURE PRIVÉ reutilizável ?
?? Reentrância Pode ser chamada múltiplas vezes sem sobrescrever nada ?


?

?? 4.3. Recursos Avançados Desejáveis para Versão FULL OK

Categoria Recurso Status
?? Empacotamento Exportação automática de script SQL gerado ??
?? GUI Interface gráfica (form WINDEV) para rodar sem código ??
?? Nuvem Exportar logs em tempo real para banco externo (PostgreSQL) ??
?? Segurança Log com hash do SQL + assinatura digital ??
?? Suporte adicional Firebird ?, MongoDB ??, MariaDB ?, Amazon Aurora ?? ??
?? Testes automatizados Classe de teste com plano de alterações simuladas ??
?? Histórico Tabela com histórico de versões de estrutura por tabela ??
?? Comparação externa Comparar análise com dump SQL externo (importado via arquivo) ??


?

?? 4.4. Lógica de Funcionamento Ideal (Workflow)

1. fm_Connecter()
2. fm_ObtenirTablesAnalyse()
3. fm_ComparerAnalyseAvecBase()
4. fm_GénérerPlanAltération()
5. PARA cada alteração:
- fm_CréerBackupTable()
- fm_AppliquerPlanAltération()
- fm_GraverLogBD()
6. fm_EnvoyerEmailNotification()
7. fim!


?

?? 4.5. Infraestrutura Necessária para Funcionar 100%

Componente Requisitos
Ambiente Análise atualizada no projeto
Tabelas Tabela de log (Filemanager_Log) criada ou auto-criada
E-mail Configuração de SMTP ou API
Variáveis Configuração do fm_sDbType, fm_sLang, fm_sSMTPServer etc.
Banco Conexão válida e permissão para executar DDL (CREATE/ALTER)
Segurança Transação habilitada e controle de rollback ativo


?

? 4.6. Como Saber se Está 100%

A classe está 100% funcional quando:

? Nenhum comando executa fora da transação.
? Toda alteração é previamente registrada em log.
? Todas alterações críticas têm backup.
? Suporte multilíngue está ativo via fm_Translate.
? Email é enviado em caso de sucesso ou erro.
? O sistema suporta todos os bancos que você usa.
? Código é reutilizável, portátil e testável.
? Alterações não afetam dados em produção sem controle.
? A comunidade pode revisar, adaptar e evoluir livremente.

?

?? A classe Filemanager é uma ferramenta estratégica para o ecossistema WX.
Para ser considerada 100%, ela precisa unir:
• Robustez técnica
• Facilidade de uso
• Segurança nas operações
• Compatibilidade real com os bancos usados
• Multilinguismo
• Participação ativa da comunidade

Se você é desenvolvedor WX, junte-se à evolução da classe e ajude a criar a versão FULL OK. Vamos juntos padronizar a forma como lidamos com alterações de estrutura nos bancos!

---

## 5. ?? Estrutura da Classe Filemanager (Bloco a Bloco)

### 5.1 ?? Conexão com o Banco
- Método: `Connecter()`
- Detecta o banco atual e armazena o tipo (`fm_sDbType`)
- Define a base para todos os comandos compatíveis com o SGBD

### 5.2 ?? Comparação de Estrutura
- Método: `fm_ComparerAnalyseAvecBase()`
- Compara campos, índices e tabelas
- Resultado classificado: Criar / Alterar / Remover / Inalterado

### 5.3 ?? Geração do Plano de Alteração
- Método: `fm_GénérerPlanAltération()`
- Prioriza as ações necessárias para atualização da estrutura
- Garante segurança e ordenação lógica

### 5.4 ??? Backup Seguro
- Método: `fm_CréerBackupTable()`
- Cria backup de qualquer tabela antes da alteração
- Verifica integridade por contagem de registros

### 5.5 ??? Execução Segura de Alterações
- Método: `fm_AppliquerPlanAltération()`
- Usa transações (`HDébutTransaction`)
- Aplica comandos com segurança total
- Permite rollback automático

### 5.6 ?? Logs de Auditoria
- Método: `fm_GraverLogBD()`
- Registra cada comando SQL, status, origem, IP e horário
- Cria a tabela de log automaticamente

### 5.7 ?? Notificações por Email
- Método: `fm_EnvoyerEmailNotification()`
- Envia resumo das alterações ou erros para o DBA
- Permite personalizar remetente e templates

### 5.8 ?? Templates de Email
- Métodos: `fm_GerarTemplateEmailSucesso()` e `fm_GerarTemplateEmailErro()`
- Layout visual com ícones e status
- Totalmente customizável

### 5.9 ?? Suporte Multibanco
- Usa `SELON fm_sDbType` para adaptar comandos SQL
- Compatível com:
- MySQL, PostgreSQL, SQL Server, Oracle
- SQLite, DB2, Teradata, AS400, **Firebird**

### 5.10 ?? Suporte Multilíngue
- Método: `fm_Translate(sMessageID)`
- Usa `SWITCH CASE` baseado na variável `fm_sLang`
- Suporte atual: ???? EN, ???? PT, ???? ES, ???? FR

---

## 6. ? Conclusão

Esta classe representa o **ponto de partida para uma plataforma comunitária de sincronização de bancos WX**. Seu uso permite:

- Atualizações automatizadas
- Redução de erros humanos
- Registro total das ações
- Uso internacional com multilínguas
- Inclusão de bancos como Firebird

### ? Vamos unir os desenvolvedores de WINDEV, WEBDEV e WINDEV Mobile
> Para evoluir juntos essa classe, torná-la mais completa e criar a versão definitiva "FULL OK" com suporte global, auditável e seguro.

--

Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PC SOFT no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Avis des utilisateurs
(Pour noter la ressource, cliquez sur Ecrire un avis)
Vous devez d'abord
pour pouvoir poster un avis
Bertin - Zen-Project
Merci
Boller
A versao 16 deve renomear a coluna velha e copiar para a nova coluna
num segundo momento mudar pra drop true
e limpar o banco dos campos velhos _OLD_DataHora
A PROPOS
EVALUATION :
51(1)
TELECHARGEMENTS :
68
PUBLIÉE :
04 juillet 2025
VERSION :
30
CONCERNE :
WINDEV, WEBDEV, WINDEV Mobile
Version minimale : 30
TAILLE :
10,9 Ko