Closed GabrielDViana closed 7 years ago
Olá @GabrielDViana,
Não está sendo possível sequer mandar a checklists pelo fato de as perguntas da checklists como um todo passarem do limite de 4000 caracteres.
Como está sendo feito o armazenamento da checklist na postagem? Caso todo o conteúdo textual da checklist seja salvo, existem formas de otimização para armazenar somente as respostas (por exemplo), evitando o estouro do limite de 4000 caracteres. A aplicação então escreveria/leria as respostas de acordo com um modelo pré-estabelecido pelo cliente. Essa é apenas uma sugestão, visto que o problema reportado é sobre falta de espaço para conteúdo textual. Na medida do possível esse limite pode ser estendido, mas apenas se realmente for a solução mais adequada.
e anexar imagens (no caso, mandaríamos essas imagens convertidas em base64, o que gera um grade string)
O metamodelo conta com um endpoint específico para upload de arquivos como conteúdo de uma postagem, documentado nesse link e testável via API do Swagger. Utilizando este serviço, arquivos de até 4mb são enviados diretamente pela requisição de forma mais prática.
Aguardo feedback das respostas.
[]'s
Como está sendo feito o armazenamento da checklist na postagem?
As perguntas e suas respectivas respostas e por serem muito grandes, uma checklist ultrapassa 4000 caracteres. Exemplo:
{question: 'De maneira geral, os cardápios são bem elaborados?', answer: false},
{question: 'De maneira geral, os cardápios são bem aceitos pelos alunos?', answer: false },
{question: 'De maneira geral, os cardápios são bem elaborados?', answer: false },
{question: 'O cardápio fica exposto para os alunos e comunidade', answer: false},
{question: 'A escola recebe doação de alimentos?', answer: false}
Obs: Essa é apenas uma pequena parte do que um checklist representa, pois são muitas perguntas.
Utilizando este serviço, arquivos de até 4mb são enviados diretamente pela requisição de forma mais prática.
O problema, é que os conselheiros tem que enviar mais de um arquivo, então a opção seria, mandar mais arquivos na seção de conteúdo binário, ou que o JSON recebesse um array com imagens em base64.
As perguntas e suas respectivas respostas e por serem muito grandes, uma checklist ultrapassa 4000 caracteres.
Qual seria o motivo de guardar toda a pergunta por extenso no conteúdo? Acredito que repetir as perguntas pra toda checklist de todos os conselheiros geraria uma redundância desnecessária no banco. Outros aplicativos que já utilizaram a Nuvem Cívica e continham interações desse gênero mantinham uma tabela simples (do lado do cliente ou salva na própria nuvem) que identificava as perguntas possíveis e seus códigos de identificação, economizando muito espaço no momento da gravação. Algo do tipo:
Q001 : 'De maneira geral, os cardápios são bem elaborados?',
Q002 : 'De maneira geral, os cardápios são bem aceitos pelos alunos?'
...
Q00N : 'Texto da pergunta N'
Dessa forma, ao registrar as respostas de uma checklist, o formato seria o seguinte:
{"question": "Q001", "answer": false},
{"question": "Q002", "answer": 5},
{"question": "Q003", "answer": "Excelente"},
Essa abordagem otimiza o armazenamento das respostas tanto em espaço quanto em banda consumida para o envio das informações.
O problema, é que os conselheiros tem que enviar mais de um arquivo
Realmente a requisição de envio de conteúdo binário permite que apenas 1 arquivo seja atrelado ao conteúdo. Essa limitação permite uma melhor classificação e organização dos dados salvos no banco. Porém, dentro de uma postagem, podem ser cadastrados N conteúdos de acordo com a necessidade, permitindo então anexar vários arquivos à postagem.
Peço que tentem seguir as sugestões acima. Aguardo feedback.
[]'s
Fechando esta issue. Caso ocorra algum problema ou possível dúvida sobre o assunto, favor reabrir.
A aplicação Ajuda Conselheiro, tem como requisito preencher checklists (para relatórios) e anexar imagens (no caso, mandaríamos essas imagens convertidas em base64, o que gera um grade string) à essas checklists. Não está sendo possível sequer mandar a checklists pelo fato de as perguntas da checklists como um todo passarem do limite de 4000 caracteres.