Durante os testes de recuperação de recursos com tabelas customizadas de projeto (sync_resources), foram identificados dois problemas operacionais na descompilação local:
Mudanças Necessárias
1. Fallback de Idioma para Tabelas sem Coluna de Idioma (ex: arquivos)
-
Problema: Tabelas que não possuem coluna de idioma (como
arquivos) geram registros no*Data.jsonsem a chavelanguageoulinguagem_codigo. O descompilador atual descarta esses registros com o avisoRDR_REGISTRO_SEM_LANG, fazendo com que arquivos comoarquivos.jsonnunca sejam criados na recuperação. -
Solução: Na função de resolução de idioma do descompilador (
rdr_resolve_lang()), caso nenhuma das chaves de idioma seja encontrada, retornar o idioma padrão do sistema'pt-br'como fallback, em vez de retornarnull. Isso garante que as tabelas sem idioma de banco sejam salvas na pastaresources/pt-br/do projeto.
2. Estrutura de Pastas de Recursos Físicos (file:<ext>)
-
Problema: Atualmente, recursos dinâmicos gravam seus arquivos físicos (HTML, CSS, MD) jogados diretamente na pasta principal da tabela (ex:
galleries/<id>.html). O padrão de recursos do core do Conn2Flow (como em layouts e páginas) é que cada recurso possua uma pasta própria com seu nome/id contendo os arquivos físicos (ex:galleries/<id>/<id>.htmlegalleries/<id>/<id>.css). -
Solução:
-
No compilador (
atualizacao-dados-recursos.php->processarRegistroDinamico()): -
Alterar o caminho de leitura do arquivo físico para incluir a subpasta do recurso:
$fpath = $filesDir . DIRECTORY_SEPARATOR . $id . DIRECTORY_SEPARATOR . $id . '.' . $ext; -
No descompilador (
recuperacao-dados-recursos.php->rdr_descompilar_registro()): -
Alterar o caminho de gravação do arquivo físico para espelhar a mesma estrutura com subpasta:
$fpath = $filesDir . DIRECTORY_SEPARATOR . $id . DIRECTORY_SEPARATOR . $id . '.' . $ext;
-
Validação
-
Garantir que
php -lpasse nos arquivos modificados. -
Rodar a suíte de testes
composer test. -
Atualizar a suíte de testes
RecuperacaoDadosRecursosTest.phppara validar o fallback de idioma e a estrutura de subpastas por ID dos recursos físicos.