최근에 학술 발표 자료의 PDF 파일을 업로드하고 있습니다(마침 계절 기후 예보에 관한 이 토픽에).
제가 사용하는 파일 이름 규칙은 다음과 같습니다:
0000-leadauthor-[etal-]title-title-title.pdf
이 부분은 잘 되고 있습니다. 그런데 제1저자의 이름을 잘못 적었다는 것을 발견했습니다. 그러나 수정된 파일 이름으로 동일한 파일을 업로드하려고 하면, Discourse가 파일 내용이 동일하다는 것을 감지합니다(여기서 어떤 해싱 과정이 이루어지는 것 같습니다). 그리고 파일 이름은 그대로(아직도 잘못된 상태로) 유지된 채로 원래 파일에 대한 참조를 제공합니다.
제 우회 방법은 다음과 같은 설정을 1(기본값은 48입니다)로 변경하고, 마크업에서 모든 참조를 제거한 후, 결과적으로 파일이 삭제되기를 기다리는 것입니다:
Settings > Files > clean orphan uploads grace period hours
또한 이 특정 매개변수를 0으로 설정하는 것도 시도해 보았지만, 작동하지 않는 것 같습니다. 이 경우, 툴팁을 다음과 같이 수정하는 것이 더 좋을 것입니다: “유예 기간을 비활성화하려면 0으로 설정하십시오”. 또는 상황에 맞게: “즉시 효과를 적용하려면 0으로 설정하십시오”.
이러한 유지보수 작업이 얼마나 자주 실행되는지 알 수 없습니다. 시간 단위로 실행되는 것이라고 가정하고 있었지만, 하루에 한 번인 걸까요? 이 정보도 알면 유용할 것 같습니다.
이 파일 이름 변경 과정을 더 빠르게 수행하는 방법에 대한 도움을 주시면 감사하겠습니다! 우회 방법은 있지만, 다소 번거롭고 느립니다.
루비를 잘 알지는 못하지만, 그 부분도 0이 1을 의미하는 것처럼 보입니다. 아마 매개변수 tip에도 “0 값은 1로 해석됩니다.” 또는 이와 유사한 문구를 추가하는 것이 좋을 것 같습니다. 특히 다른 맥락에서 0은 비활성화를 의미하는 특수한 값을 가지는 경우가 많기 때문입니다. @neounix 감사합니다.
제가 하려던 건 그게 아니었어요. leadauthor 문자열은 파일 이름의 일부일 뿐이었거든요. 하지만 파일 이름을 수정했을 때(스페인 학계의 가족 이름 명명 규칙에 대한 제 이해가 매우 제한적이기 때문이었죠) 이름이 바뀐 파일을 업로드하려고 했더니, Discourse가 매니페스트에 동일한 파일이 있음을 감지하고 원래 대상과 파일 이름으로 교체해 버렸어요. 이게 일종의 기능이라고 볼 수도 있겠죠? 사이트 데이터베이스에서 해당 파일을 완전히 제거한 후에야 수정된 파일 이름의 파일을 업로드할 수 있었습니다. @pfaffman 님의 도움과 관심에 진심으로 감사드립니다.
저의 인스턴스에서 테스트해 본 결과, [filename.pdf|attachment](upload://filehash.pdf)의 파일 이름을 변경하면 게시글에는 filename.pdf로 표시되지만, 다운로드 시에는 여전히 원래 파일 이름으로 저장됩니다. 아마도 그가 원하는 것도 같은 것 같습니다. 다운로드할 때 사용되는 파일 이름을 변경하는 것 말이죠.