Estou com uma dúvida, estou desenvolvendo um website onde o usuário tem a possibilidade de alterar configurações, cor de fonte, cor de fundo, logo, etc…
Minha grande dúvida é de como fazer isso, uma vez que ao exportar meu WAR, ele vai com uma configuração padrão, no entanto, caso o servidor pare e reinicie o tomcat, essas configurações se perder pelo tomcat usar o WAR que não sofreu alteração.
Modele umas tabelas para persistir essas configurações, e, quando o usuário acessar o sistema, carregue essas informações e aplique nas telas quando forem abertas.
Pois então, a aplicação é feita em struts2 + jsp + jquery + jqueryui.
Pensei em armazenar essas infos em css + properties mesmo. Inclusive já escrevi uma lógica de alteração desses arquivos, mas caio na explicação dada em meu primeiro post.
Quanto a armazenar informações em banco, eu cheguei a pensar, no entanto, ficaria mais complicado para uma vez que estou ajustando tudo em estilo CSS e alterando as tags definidas lá dentro, fica tudo bem automático e sem ter que ficar adicionando “s:properties” para tudo quanto é lado dentro do meu JSP nem ficar carregando objeto em inputs hidden.
A opção de usar os próprios arquivos é a melhor forma de fazer? É banco?
não tenho idéia da arquitetura do seu software, mas acredito que a melhor forma seja armazenando no database e tornando a rederização das telas dinâmicas, da forma como você fez eu imagino que quando um novo usuário da aplicação surgir uma nova configuração em um arquivo property tera de ser feita. Eu não sei como esta a estrutura que montou mas penso que assim acabaria impactando até mesmo em restartar a aplicação para o reconhecimento das propriedades do novo usuário. Quando você deixa isso no databse eu penso que as modificações do layout podem ser alteradas em runtime nem mesmo um logout sera necessário visto que em um simples request a página já seria renderizada com as novas configurações, poderia até mesmo ter telas de configuração do layout deixando isso para o cliente escolher, poderia adotar um layout default para todos eu penso que assim é melhor e mais dinâmico, abraços.