Может ли кто-нибудь подсказать информацию о функции rebake?
Нужно ли это делать после переноса сервера Discourse на новый собственный Linux-сервер?
Может ли кто-нибудь подсказать информацию о функции rebake?
Нужно ли это делать после переноса сервера Discourse на новый собственный Linux-сервер?
Пересборка постов обычно используется для повторной обработки большого объема постов. Например, вы изменили доменное имя. Теперь у вас есть множество постов, содержащих ссылки на другие темы на вашем сайте, и они стали нерабочими.
Поэтому вы используете соответствующую команду процесса пересборки, чтобы заменить старое доменное имя на новое.
Насколько я понимаю, поскольку вы просто переезжаете с одного сервера на другой, пересборка не требуется. Вам нужно будет обновить информацию об IP-адресе, указывающем на ваш сайт, у вашего провайдера доменных имен.
Ссылка ниже должна помочь прояснить вопрос пересборки постов:
Так что ребейкинг — это просто красивое название для поиска и замены?
Нет, вы выполняете поиск и замену (если необходимо), а затем сообщения нужно переобработать, чтобы преобразовать внесённые изменения из сырого формата в готовый, отображаемый вид.
Мне немного трудно понять разницу здесь. И я уверен, что это связано с моим бэкграундом в WordPress/LAMP как администратора и wannabe-вебмастера. Мне не хватает важной базовой информации.
Правильно ли я понимаю (не обязательно технически верно, но с точки зрения конечного пользователя), что поиск и замена изменяет данные на уровне базы данных, но это не становится видимым, пока не выполнена операция rebake?
Что ж, у меня на форуме есть всезнающий ИИ, поэтому я спросил его.
Я ввёл запрос на финском, а затем попросил перевод на английский. Это может привести к некоторым… ошибкам.
—
Функция Поиск и замена, как следует из названия, ищет и заменяет конкретные строки в содержимом форума. Это может быть полезно, например, когда меняется домен сайта, и необходимо обновить все старые доменные имена на новые. Целями для поиска и замены могут быть ссылки, слова, фразы или другие строки.
Термин Rebake относится к процессу повторной обработки постов в Discourse. Rebake происходит, когда посты снова конвертируются из исходного текста (markdown) в финальный формат HTML. Этот процесс учитывает текущие настройки и правила стилизации. Процесс rebake можно запустить с помощью команд, таких как rake posts:rebake.
Примером такой настройки является add_rel_nofollow_to_user_content, которая добавляет атрибут «rel=nofollow» ко всем внешним ссылкам в контенте, созданном пользователями, если только это не внутренние ссылки. Если эта настройка изменена, существующие посты необходимо подвергнуть rebake, чтобы изменения вступили в силу для этих постов.
add_rel_nofollow_to_user_content, они не применятся к существующим постам без выполнения rebake. Применение этих новых настроек к старым постам требует их rebake, чтобы новые правила были учтены.Возможно, я понял немного лучше. Но у меня есть ощущение, что ИИ не рассказал здесь всей правды.
Одна из его функций — это специализированный «поиск и замена». Описание подходит. Некоторые плагины, например плагин для партнерских программ, требуют пересборки (rebake), если вы хотите, чтобы он применился ко всем предыдущим ссылкам на Amazon в публикациях на сайте, которые были опубликованы до установки плагина.
Если ссылка на документацию некорректно или недостаточно ясно описывает функции, команда должна добавить прямое описание.
Команда пересборки используется для X; она отличается от «поиска и замены», так как при замене шаблонов выполняет Y.
Теперь вы меня заинтриговали. Значит, есть встроенная функция «поиск и замена»? И возникает вопрос: если я редактирую публикацию, не происходит ли её переработка, так сказать, заново? Если да, то разве «поиск и замена» не должен работать как «редактирование и сохранение»?
Разве нет?
Иначе ИИ начнет сильно галлюцинировать.
Существует большой риск, что я всё запомнил совершенно неправильно. Прошло уже довольно много времени с тех пор, как я менял домен своего сайта. Но я почти уверен, что делал поиск и замену. Однако есть столь же большой риск, что я путаю вещи из WordPress и Discourse, и/или на самом деле пересобрал сайт, изменив все ссылки на домен.
Существует способ переопределения определённых строк в базе данных через командную строку «remap». Однако в Discourse нет функции с названием «найти и заменить». Так что, думаю, ваш ИИ галлюцинирует и путает ситуацию.
Технически в таблице базы данных posts содержимое поста хранится двумя способами:
raw — это разметка Markdown, введённая пользователем.cooked — это HTML-версия контента, которая отображается на экране.«Выпечка» (baking) поста — это процесс преобразования из raw в cooked. Мы выполняем его каждый раз при создании или редактировании поста, а также при «повторной выпечке» (rebaking).
Одной из задач процесса «выпечки» является генерация оптимизированных версий загруженных изображений. Чтобы сэкономить место, эти оптимизированные версии не включаются в резервные копии. Поэтому, если вы восстановите резервную копию и не выполните повторную выпечку, на вашем сайте будут отображаться битые изображения. Повторная выпечка необходима для регенерации этих оптимизированных изображений. Discourse автоматически позаботится об этом при восстановлении резервной копии.
Я переформулировал свой вопрос для ИИ и спросил, существует ли функция поиска и замены. На это он объяснил, как использовать remap. После этого я получил очень похожий ответ на тот, который вы дали.
Наводящие вопросы — это довольно базовый навык манипулирования ИИ. Но для этого нужно хотя бы немного разбираться в теме.
Но спасибо! Теперь я понял суть и необходимость remap и rebake.
(У нас здесь есть Development и подобные каналы… нам тоже нужна категория 101 по технологиям Discourse
)
Если вы переносите хостинг с discourse.org на собственный сервер, убедитесь, что ваша резервная копия включает загрузки и вложения. Пока вы не отмените аккаунт или не запросите включение загрузок в резервную копию, она будет указывать на загрузки в их бакете S3, которые будут удалены вскоре после закрытия вашего аккаунта.
Да, обычно после восстановления резервной копии необходимо пересобрать сообщения с вложениями, чтобы убедиться, что сообщения в формате Markdown преобразованы в HTML, ссылающийся на изображения на вашем собственном сервере, а не на их сервер.