Должен ли я реализовывать "черновики" контента в своем приложении?
Только вы можете ответить на ваш вопрос в зависимости от требований вашего клиента.
Что удерживаетданные во время их редактирования и как управлять входами пользователей / выходами из системы / тайм-аутами сеансов / переходом от редактируемого содержимого?
Я бы порекомендовал регулярно отправлять запросы AJAX на серверный скрипт,свяжет черновик с текущим вошедшим пользователем и редактируемой записью и сохранит ее в хранилище данных.Пока данные редактируются, они хранятся в клиентском браузере (обычно внутри элемента HTML <form>
с полями ввода).
Когда пользователь отправляет данные, они больше не рассматриваются как черновики, и вы можете удалить их.соответствующую запись в черновой таблице и сохраните окончательную редакцию.Когда пользователь переходит на страницу, на которой реализована черновая функциональность, вы можете проверить в базе данных, существует ли черновик для редактируемого содержимого, и автоматически предварительно заполнить значения формы.
Одним из недостатков этого подхода является то, чтоесли пользовательский сеанс истекает, вы больше не сможете сохранять черновики через регулярные промежутки времени, поскольку вы не сможете связать его с пользователем.С другой стороны, вы можете использовать сеансы со скользящим сроком действия, и из-за запросов AJAX, отправляемых через регулярные промежутки времени (меньшие, чем время ожидания сеанса), сеанс не истекает до тех пор, пока пользователь не редактирует страницу.хранение черновика на клиенте.Здесь вы можете рассмотреть возможность использования постоянных файлов cookie или поддержки браузером HTML5 клиентского хранилища .