Есть у нас некое web-приложение. Помимо прочего в нем есть различные отчеты, которые печатаются так-же с помощью браузера (в будущем планируем и PDF прикрутить).
Сейчас это обычный генератор HTML таблиц либо HTML страниц по шаблону.
Хочется узнать/почитать про светлые пути реализации следующих задач в отчетах:
1. Некоторые отчеты должны иметь возможность брендироваться.
2. Некоторые отчеты должны "кастомизироваться": добавляться какие либо примечания, двигаться элементы, меняться шрифты и размеры.
3. При этом отчеты должны быть обновляемыми. Т.е. если мы исправляем баги или добавляем какой-либо функционал - это должно исправиться/добавиться у всех клиентов, не нарушая, по-возможности, их "кастомизацию".
4. Задача со звездочкой. Чтобы продвинутые пользователи могли делать свои отчеты.
Подскажите пути или что почитать на эту тему.
Прошу обратить внимание на то, что нужен путь, а не готовое решение, но комментарии вроде "А вот у ХХХ это продумано и удобно сделано" будут очень полезны.
Спасибо.
Просто не надо хранить html, храните данные, например в json в файлах или в mysql. И имейте HTML шаблон, который используется динамически при отображении данных. Доделали шаблон - все поменялось.
Так и есть. Но это не решает всех проблем. Если пользователь поправит "глючный" отчет, то при следующем обновлении мы или баг не исправим, или затрем изменения пользователя.
Т.е. вы предлагаете "кастомизацию" тоже хранить в базе?
Например, логотип и название компании при формировании отчета брать из базы, а сам HTML-шаблон пользователю не давать редактировать?