Backlog Unificado
Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.
Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Especificações Disponíveis (fora da fila pendente)
- BK-136
- BK-137
- BK-138
- BK-147
- BK-148
- BK-149
- BK-150
- BK-151
- BK-156
- BK-158
- BK-159
- BK-160
- BK-161
- BK-162
- BK-163
- BK-164
- BK-165
- BK-166
- BK-170
- BK-171
- BK-172
- BK-177
- BK-183
- BK-186
- BK-187
- BK-189
- BK-190
- BK-191
- BK-192
- BK-193
- BK-195
- BK-196
- BK-197
- BK-198
- BK-199
- BK-201
- BK-205
- BK-207
- BK-208
- BK-209
- BK-210
- BK-211
- BK-212
- BK-213
- BK-214
- BK-215
- BK-216
- BK-217
- BK-218
- BK-219
- BK-220
- BK-221
- BK-229
- BK-230
- BK-231
- BK-232
- BK-233
- BK-234
- BK-235
- BK-236
- BK-239
- BK-240
- BK-241
- BK-242
- BK-243
- BK-244
- BK-245
- BK-246
- BK-248
- BK-249
- BK-250
- BK-251
- BK-252
- BK-253
- BK-254
- BK-255
- BK-256
- BK-257
- BK-258
- BK-259
- BK-260
- BK-261
- BK-262
- BK-263
- BK-264
- BK-265
- BK-266
- BK-267
- BK-268
- BK-269
- BK-270
- BK-271
- BK-272
- BK-275
- BK-276
- BK-277
- BK-278
- BK-279
- BK-280
- BK-295
- BK-313
Detalhe do BK Selecionado
BK-199 · Heranca de imagem e migracao Admin -> BOT em pecas/eventos
Contexto
- Em
https://rionoteatro.com.br/eventos.phpapareceu 404 para: /img/sem-imagem.jpg/arquivos/pecas/1076/large/capavanfurlanettiemrelatosdeviagem.png- A peca
1076(Van Furlanetti em RELATOS DE VIAGEM) veio de sugestao do BOT/Sympla e ficou comtb_fotosapontando para uma capa inexistente em disco. - Havia tambem a suspeita de que a migracao
admin -> botantes acessivel ao admin tinha sumido da UI do catalogo.
Sintomas
- listagem publica quebrava imagem com 404 em
eventos.php - fallback
/img/sem-imagem.jpgnao existia fisicamente no projeto pecas.id=1076tinhatb_fotos.fot_titulo = capavanfurlanettiemrelatosdeviagem.png, mas sem pasta/arquivo em/arquivos/pecas/1076- a listagem atual de
admin/modulos/pecas/index.phpmostra apenas o badgeAdminna colunaProdutor, sem acao de conversao por clique
Evidencias confirmadas
pecas.id=1076origem = 'bot'id_produtor = 50929imagem = ''antes da correcao emergencialtb_fotos- havia registro capa para
1076, mas sem arquivo correspondente em disco bot_pecas_sugestoes- a sugestao vinculada a
1076ainda preservavadados_json.imagem_url = https://images.sympla.com.br/677f28917106b-xs.jpg - o helper
baixarFotoExternaEvento()ja existia emadmin/modulos/eventos/action.php, mas nao era chamado porcriarEventoConciliacaoBot()
Leitura tecnica atual
- A funcionalidade versionada de migrar/reativar para BOT existe hoje no fluxo de conciliacao, nao na listagem de
pecas. - Fonte atual da migracao versionada:
admin/modulos/eventos/conciliacao.phpadmin/modulos/eventos/action.php- Evidencia documental:
BK-165registra que o Sympla voltou a expor a opcao de manter Admin ou migrar para BOTBK-183registramanter_admin,manter_produtoreconverter_botcomo implementados- A listagem atual
admin/modulos/pecas/index.phpnao exibe controle equivalente na colunaProdutor - A quebra de imagem nao era um unico bug:
- havia inferencia fragil de pasta (
largevsmedia) na vitrine publica - havia fallback morto (
/img/sem-imagem.jpg) - havia criacao BOT sem publicacao local obrigatoria da imagem externa
Commits e trilha historica
3572cd90a·BK-165: fix feed path and restore sympla reconciliation flow- restaurou em
admin/modulos/eventos/conciliacao.phpa opcao de manter Admin ou migrar para BOT a3e0f2417·chore(repo): audita branches antigas e resgata pendencias uteis- ampliou
admin/modulos/eventos/action.phpcommodo_reativar,converter_bot, bloqueio por temporada eobterIdProdutorBotEventosAction() 481ad13ba·fix(roteamento): somente eventos admin usam layout peca- simplificou a exibicao da coluna
Produtoremadmin/modulos/pecas/index.php - na versao atual dessa tela, o badge
Adminficou apenas informativo, sem acao por clique
Correcoes aplicadas nesta rodada
eventos.php- passou a resolver a imagem do card por existencia fisica real em
/largee/media, em vez de inferir cegamente pela origem - fallback morto trocado por
/img/logo_2023.png teatro.php- mesma blindagem de resolucao real de imagem para cards
evento.php- fallback principal trocado de
/img/sem-imagem.jpgpara/img/logo_2023.png admin/modulos/eventos/action.phpcriarEventoConciliacaoBot()agora chamabaixarFotoExternaEvento()quando houverimagem_urlna sugestao- reparo emergencial do caso atual
1076 - imagem Sympla baixada e publicada em:
/arquivos/pecas/1076/large/van-furlanetti-em-relatos-de-viagemrionoteatro.jpg/arquivos/pecas/1076/media/van-furlanetti-em-relatos-de-viagemrionoteatro.jpgtb_fotos.fot_tituloatualizadopecas.imagematualizado para o path local publicado
Como refazer rapido se sobrescreverem
- Sintoma tipico:
tb_fotosaponta uma capa- mas
/arquivos/pecas/{id}/large|media/nao tem o arquivo - e a sugestao ainda tem
dados_json.imagem_url - Ponto canonico para nao depender de URL externa dinamica:
admin/modulos/eventos/action.php- funcao
baixarFotoExternaEvento() - a criacao via bot precisa chamar essa funcao logo depois de criar a peca
Trecho aplicado em criarEventoConciliacaoBot():
```php
if ($imagem !== '') {
$meta_foto_externa = array();
baixarFotoExternaEvento($obj_sql, $novo_id, $meta_foto_externa, $imagem);
}
```
Trecho de blindagem da vitrine publica:
```php
$pastas = !empty($row['id_produtor']) ? array('large', 'media') : array('media', 'large');
foreach ($pastas as $pasta_foto) {
$src_foto = "/arquivos/pecas/" . $evento_id . "/" . $pasta_foto . "/" . $capa;
if (is_file(__DIR__ . $src_foto)) {
return $src_foto;
}
}
```
Regra pratica:
- nao inferir pasta de imagem so por
origemouid_produtor - verificar existencia fisica real
- nao usar
/img/sem-imagem.jpg, porque esse asset nao existe no projeto atual - usar um fallback vivo, hoje
/img/logo_2023.png
Validacoes executadas
php -l eventos.phpphp -l teatro.phpphp -l evento.phpphp -l admin/modulos/eventos/action.phpcurl -I https://rionoteatro.com.br/arquivos/pecas/1076/large/van-furlanetti-em-relatos-de-viagemrionoteatro.jpg- retorno
200 curl https://rionoteatro.com.br/eventos.php- a listagem passou a renderizar
1076com o novo JPG local
Pontos em aberto
- Confirmar se a UI por clique na coluna
Produtordeve ser reexposta especificamente emadmin/modulos/pecas/index.php, ou se a decisao canonica passa a ser concentrar essa operacao apenas na conciliacao - Se a acao voltar para
pecas/index.php, ela deve reutilizar a mesma regra de negocio deconverter_botja existente emadmin/modulos/eventos/action.php, nao criar regra paralela
Proximo passo recomendado
- Reexpor em
admin/modulos/pecas/index.phpuma acao explicita e documentada paraAdmin -> BOT, consumindo a mesma regra de negocio canonica da conciliacao - registrar no changelog final qual passa a ser a tela oficial para essa operacao
- evoluir depois a mesma trilha para permitir transferencia explicita tambem para cliente/produtor cadastrado, sem criar regra paralela ao fluxo atual
Criterio de aceite
- nenhuma peca/evento BOT deve gerar 404 por capa ausente quando existir
imagem_urlcapturada - fallback publico nao deve apontar para asset inexistente
- a regra canonica de conversao
admin -> botdeve ficar visivel e documentada em uma unica trilha operacional