Было бы полезно, если бы скрипт импорта phpBB3 мог брать эти комментарии и присваивать их в качестве альтернативного текста к соответствующему изображению, чтобы они отображались при наведении курсора на изображение в Discourse.
Ах! Так как я ничего не знаю о Ruby on Rails — и я запрашиваю улучшение скрипта импорта phpBB — я хотел бы также запросить дополнительное улучшение, как описано здесь. Было бы полезно, если бы при сообщении скриптом об ошибке даты/времени для поста он также указывал phpBB post_id для целей отладки.
Не совсем понятно, как выполнить то, что вы просите, но я потратил несколько минут и не нашел удовлетворительного решения, которое выглядело бы реализуемым.
В записи загрузки нет места для подписи, и я не вижу очевидного способа вернуться от загрузки… Возможно, можно было бы сохранить комментарий как имя файла, а затем каким-то образом позже извлечь его в качестве подписи. Да. Это, пожалуй, лучшее, что можно сделать: закодировать подпись в имени файла, чтобы она отображалась при наведении курсора и так далее. Если хотите, вы можете затем сделать что-то еще, например, найти файлы с именами, включающими подпись, и каким-то образом вставить её в HTML.
Честно говоря, я ничего не знаю о RoR или даже о PostgreSQL. Но когда вы размечаете изображение с помощью альтернативного текста, он сохраняется в базе данных PostgreSQL в ассоциации с этим изображением. Что именно в скрипте импорта препятствует этому присвоению? Конечно, комментарий доступен в MySQL.
Спасибо! Хотите ли вы фильтровать задания по типу MIME? (Я не смог прикрепить комментарий phpBB к файлу .mp4; хотя я смог прикрепить его к .gif, он не отображался при наведении курсора.)
Это может быть полезно, но я разработал новый способ добавления комментария непосредственно в исходный текст поста. Считаю, что так безопаснее обрабатывать все типы файлов.
Не могли бы вы протестировать эти изменения на вашем наборе данных? Я тестировал локально, но хотел бы получить ваши отзывы, прежде чем двигаться дальше с PR.
Я с радостью протестирую, но… Мне нужно ли очищать тестовую среду и начинать заново? Claude.ai провел меня через процесс установки, я новичок в Docker, и даже так в процессе возникло множество ошибок.
Если вы сможете описать способ, как мне легко протестировать, я с радостью попробую.
Отличная работа! Я посмотрел код, но ничего не нашёл.
Да. Вам потребуется полностью очистить базу данных и запустить процесс снова. Импортёр пропускает уже импортированные данные, поэтому для проверки придётся импортировать всё заново. Хотя, похоже, всё должно сработать!
Окей — в целом вложения всё ещё на месте, как и база данных MySQL. Это заняло несколько часов, но я попросил Клода помочь мне разобраться и сообщу о результатах.
Конечно, я могу вам помочь. Менять установку не нужно. Простой способ:
Сделайте резервную копию вашего сайта и сохраните её в надёжном месте. Это защитит вас от потери данных.
Сбросьте ваш сайт:
# Войдите в контейнер сайта
cd /var/discourse
./launcher enter <your-container-name>
# Сброс базы данных
bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate
bundle exec rake db:seed
# Выйдите из контейнера
exit
# Пересоберите контейнер, чтобы убедиться, что всё на месте
./launcher rebuild <your-container-name>
Измените файлы с новым кодом. Вы можете использовать текстовый редактор CLI или открыть контейнер через SSH в вашем любимом текстовом редакторе.
Настройте файл settings.yml и запустите импортёр снова.
Чтобы вернуться к предыдущему состоянию, просто восстановите резервную копию, которую вы сделали в начале:
./launcher enter <your-container-name>
discourse enable restore
discourse restore <your-backup-filename>
Ага! Кстати, не сложно ли модифицировать скрипт так, чтобы он сообщал phpBB post_id обрабатываемого сообщения при обнаружении проблемы с датой/временем?
Это тоже сработает. В качестве альтернативы вы можете настроить container.yml на использование моего репозитория и ветки, а затем выполнить пересборку.