Batch Editing 관련 참고자료 및 대량 레코드 반출시 유의사항
CSV Export 플러그인으로 레코드 반출 후 수정한 목록을 오메카의 Internal id를 기준으로 목록을 업데이트하는 과정이 모두 들어 있습니다.
https://osasf.net/uploads/FileUpload/d6/1a5221030aab00c83dfb6a689dd20b.pdf
오메카에서 처음 csv import를 통해 목록 입수시 Identifier 메타 없이 목록을 입수하는 경우 입수는 잘 되지만 이후 기존의 입수된 목록을 벌크로 업데이트하려면 기준이 되는 유일 식별자가 없어서 업데이트를 하기 힘든 경우가 발생합니다.
이 경우 오메카에 등록된 레코드의 Internal id 값만 알고 있으면 이를 기준으로 기존 목록을 업데이트할 수 있습니다. Internal id 값은 CSV Export 플러그인을 사용해서 확인할 수 있습니다.
단, 반출되는 csv 레코드가 수만 건 이상 되는 경우 반출이 불가능 할 수 있습니다.
이 경우엔 다음과 같은 조치를 하면 대용량 레코드 반출이 가능해집니다. 하지만 아래의 방법은 시스템에 부하를 줄 수 있는 관계로 꼭 필요한 경우에만 일시적으로 적용한 후 다시 원상태로 돌려놓는 것이 효율적입니다.
아래 설정 수정 중 수치값은 운영 서버의 스펙에 맞게 별도 조정해야 합니다. 임의 적용시 서버가 다운될 수도 있습니다.
1. PHP 환경 설정 수정하기
$ vi /etc/php.ini
아래와 같이 수정한 후 저장
;php 파일 업로드 최대용량
upload_max_filesize = 200M
;post 방식 파일 업로드시 전송 가능한 최대용량
post_max_size = 500M
;PHP 스크립트 실행시간 변경(기본은 30)
max_execution_time = 3000
;PHP 파일 업로드 실행시간 변경(기본은 60. 무제한은 -1. 1G 이상의 대용량 전송이 많은 경우에만 무제한 설정)
max_input_time = 6000
; PHP 메모리 사용량 조정
memory_limit = 1024M
php.ini 파일 저장 후엔 반드시 웹서버(apache 등)를 재시작해야 적용됩니다.
2. Omeka의 환경 설정 수정하기
vi /오메카경로/application/config/config.ini
아래와 같이 수정한 후 저장. 앞의 세미콜론(;) 표시는 주석 처리임. 주석 처리가 없는 라인만 실행.
jobs.dispatcher.default = "Omeka_Job_Dispatcher_Adapter_Synchronous"
;jobs.dispatcher.longRunning = "Omeka_Job_Dispatcher_Adapter_BackgroundProcess"
jobs.dispatcher.longRunning = "Omeka_Job_Dispatcher_Adapter_Synchronous"