27
сообщения в задаче и, пока ни кто не написал в нее, отдавать одну
версию всем сотрудникам, а другую – контрагенту.
2. Списки задач, в которых перечислены задачи, доступные
пользователю. Эти списки разные у сотрудников, кроме
управляющих и помощников управляющих – они видят все задачи в
системе. Можно было бы смело отдавать управляющим из кэша
общий список.
3. Различные отчеты, которые строят управляющие – эти страницы
быстро теряют актуальность и нужны всего нескольким
сотрудникам. С учетом решения выделить для приложения
несколько бек-эндов, возможности сохранять отчеты и того, что они
строятся не часто, эти страницы будут просто строиться заново
каждый раз.
Но есть обстоятельство, не позволяющее использовать общий кэш для
любой из приведенных сущностей без внесения изменений в приложение.
Перед каждой задачей в списке находятся цифры, означающие количество
сообщений, не просмотренных сотрудником. Цифра уникальна для каждого
из пользователей. Также и в задаче – на фоне абсолютно идентичного
содержимого сообщения, которые пользователь не видел ранее, помечаются
как новые. Существуют технологии, позволяющие избавиться от этого,
например, отдавать пользователю страницу со скриптом, который после ее
загрузки будет получать все эти метки[42]. Разделяемый между
пользователями кэш сильно уменьшил бы нагрузку на бек-энд и увеличил бы
скорость, но внесение подобных изменений противоречит условию «не
вносить изменений в приложение», поэтому все же страницы будут
кэшироваться индивидуально. Если модифицировать приложение,
необходимо будет получать с сервера сперва основное содержимое, а затем с
помощью дополнительного ajax запроса загружать на сформированную
страницу уникальные для пользователя блоки[42] (например, упомянутые
выше цифры).