phpBB에서는 업로드된 첨부 파일에 댓글을 추가할 수 있습니다:
이러한 댓글은 게시물의 이미지 아래에 표시됩니다:
phpBB3 가져오기 스크립트가 이러한 댓글을 가져와서 해당 이미지와 짝을 이루는 이미지의 대체 텍스트(alt text)로 지정할 수 있다면, Discourse에서 마우스를 이미지 위에 올리면 해당 텍스트가 표시되므로 유용할 것입니다.
감사합니다.
Dan
아! Ruby on Rails에 대해 전혀 알지 못하며, phpBB 가져오기 스크립트에 대한 기능 추가를 요청하는 중이므로 여기에 설명된 바와 같이 추가적인 기능 개선을 요청하고 싶습니다. 스크립트가 게시물의 날짜/시간 오류를 보고할 때, 디버깅을 위해 phpBB의 post_id도 함께 보고되면 유용할 것입니다.
감사합니다
Dan
요청하신 내용을 어떻게 구현해야 할지 바로 명확하지 않지만, 몇 분간 살펴본 결과 만족스럽고 실현 가능한 해결책이 잘 보이지 않습니다.
업로드 기록에 캡션을 저장할 곳이 없으며, 업로드에서 역추적하는 명확한 방법도 보이지 않습니다. … 가능한 방법 중 하나는 주석을 파일명으로 입력한 뒤 나중에 다시 캡션으로 추출하는 것입니다. 네, 그게 가장 좋은 방법일 것입니다. 캡션을 파일명으로 인코딩하면 마우스를 올렸을 때(마우스오버)와 같은 상황에서 표시되게 할 수 있습니다. 원하신다면, 캡션을 포함한 파일명을 가져와서 HTML에 somehow(어떻게든) 삽입하는 등 다른 방법도 시도해 볼 수 있습니다.
조금 까다로워 보이지만, 이 메서드를 수정하면 성공할 수 있을 것입니다:
다음과 같은 코드를:
text.gsub!(attachment_regexp) do
index = $1.to_i
real_filename = $2
unreferenced_attachments[index] = nil
attachments.fetch(index, real_filename)
end
다음과 같이 변경해야 합니다:
text.gsub!(attachment_regexp) do
index = $1.to_i
description = $2.strip
unreferenced_attachments[index] = nil
url = attachments.fetch(index, description)
""
end
이것은 어디를 수정해야 하는지 보여주기 위한 테스트되지 않은 예시일 뿐입니다. 틀렸을 수도 있습니다.
시간이 나면 내일 실제 해결책이 담긴 PR을 열 수 있을 것입니다. ![]()
감사합니다! MIME 유형에 따라 작업을 자격 증명(qualify)하고 싶으신가요? (저는 .mp4 파일에 phpBB 주석을 첨부할 수 없었습니다. .gif 파일에는 첨부할 수 있었지만, 마우스를 올리면(hover) 표시되지 않았습니다.)
이 방식이 유용할 수 있지만, 저는 게시물의 원본(raw)에 주석을 직접 추가하는 새로운 방법을 작업했습니다. 이 방식이 모든 유형의 파일을 처리하는 데 더 안전하다고 생각합니다.
이 변경 사항들을 사용자의 데이터셋으로 테스트해 주실 수 있을까요? 로컬에서는 테스트해 보았지만, PR을 진행하기 전에 피드백을 듣고 싶습니다.
테스트를 해보고 싶은데… 테스트 환경을 초기화하고 처음부터 다시 해야 하나요? Claude.ai가 설치 과정을 안내해 주었지만, 저는 도커 초보자라 설치가 진행되는 동안에도 오류가 꽤 많았습니다.
편하게 테스트할 수 있는 방법을 알려주시면, 기꺼이 시도해 보겠습니다.
잘하셨네요! 코드를 살펴보았지만 해당 부분을 찾을 수 없었습니다.
네. 데이터베이스를 지우고 다시 실행해야 합니다. 가져오기(importer)는 이미 가져온 데이터를 건너뛰기 때문에, 테스트하려면 모든 데이터를 다시 가져와야 합니다. 그래도 작동할 것 같습니다!
좋아요 - 첨부 파일과 MySQL 데이터베이스는 그대로 유지되어 있습니다. 실행하는 데 몇 시간이 걸렸지만, Claude에게 과정을 설명해 달라고 하고 결과를 보고하겠습니다.
네, 도와드릴 수 있습니다. 설치를 변경할 필요는 없습니다. 가장 쉬운 방법입니다:
# 사이트 컨테이너에 진입
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>
이전 상태로 돌아가려면 처음에 만든 백업을 복원하면 됩니다:
./launcher enter <your-container-name>
discourse enable restore
discourse restore <your-backup-filename>
오! 그거 좋네요. 그런데 이 기회에 날짜/시간 문제가 보고될 때 처리 중인 phpBB post_id도 함께 보고되도록 스크립트를 수정하는 게 어렵지 않을까요?
쉽겠네요! 로지
와 산책하러 나온 후에 바로 시도해 볼게요.
기존의 gsub를 사용하여 여기에 추가하고 있습니다:
확인해 주셔서 감사합니다. 덕분에 phpbb에도 존재하는 참조되지 않은 첨부 파일(unreferenced attachments)을 고려하지 않았다는 점을 깨달았습니다:
좋아요, 백업이 진행 중입니다. 시간이 좀 걸릴 것 같습니다…
수정해야 하나요? 제 git 저장소의 파일 스크립트 경로로 docker cp를 실행하는 것만으로도 되지 않을까요?
그렇게 하셔도 됩니다. 또는 container.yml을 제 저장소와 브랜치를 사용하도록 설정한 뒤 다시 빌드할 수도 있습니다.
음, 잘 안 됐네요.
reset_log.txt (16.6 KB)
discourse 사용자로 명령을 실행해야 할 수 있습니다:
su discourse
또는
su discourse -c “bundle exec rake db:drop”
아, 실수했습니다. 초보자의 실수였네요. 스레드를 닫을 의도는 아니었고, 그냥 그 문제가 해결되었다는 걸 확인하려고 했을 뿐입니다.
"해결된 것 같다"고 했죠. 아직 db:drop이 완료되길 기다리고 있습니다. 계속 진행해야겠네요…
여전히 아무 반응이 없습니다.
reset_log2.txt|첨부파일 (1.7 KB)