Хотя я, очевидно, не могу ответить, как именно это реализовано на 37Signals, это мои мысли:
Поскольку доска записи поддерживает редактирование, сохранение уценки в отформатированном виде будет означать, что всякий раз, когда кто-то будет редактировать уценку, вам придется возвращать отформатированный HTML-код в уценку. Я очень сомневаюсь, что это было бы хорошим идеалом, хотя можно утверждать, что если отношение редактирования к редактированию очень мало, выигрыш в производительности (так как вам не нужно преобразовывать уценку в HTML) сохранения отформатированной уценки было бы огромным преимуществом. Вы также можете выбрать для использования обе версии в базе данных или только отформатированную версию в кэше.
Поскольку доски для записи могут стать довольно большими, вы, вероятно, сохраните diff (см. 3.) каждой версии вместе с полной последней версией. Таким образом, при отображении панели записи вы можете взять полную последнюю версию, и вам не придется собирать ее из diff-файлов, и в то же время вы экономите место, не сохраняя каждую ревизию в полной форме.
Вы можете использовать diff , это то, что делается в vcs ', как svn и git, diff дает вам разницу между двумя текстовыми файлами: какие символы были изменены, вставлены и удален.