Banyak pengelola jurnal (Journal Manager) menghadapi kendala besar ketika memperbarui sistem dari OJS 2 ke OJS 3.4. Seringkali, proses migrasi database utama melewatkan beberapa nomor terbitan (issue) atau naskah lama sehingga artikel tersebut tidak muncul pada website baru. Oleh karena itu, pengelola jurnal harus mencari cara cepat untuk memindahkan artikel yang tertinggal tersebut.
Jika menginput naskah satu per satu melalui fitur QuickSubmit, Anda tentu akan menghabiskan banyak waktu dan tenaga. Oleh sebab itu, solusi paling efektif adalah mengekspor data terbitan dari OJS 2 ke dalam berkas XML. Selanjutnya, Anda dapat mengonversi struktur skema XML tersebut ke standar Native XML OJS 3.4 agar sistem dapat memproses naskah beserta seluruh berkas PDF aslinya secara otomatis.
Artikel ini menyajikan panduan teknis langkah demi langkah yang ringkas. Selain itu, panduan ini juga memuat solusi praktis untuk menyelesaikan berbagai kendala teknis pada server yang menjalankan PHP 8.2 maupun PHP 8.3.
Langkah 1: Mengekspor Issue dari OJS 2
Sebagai langkah awal, Anda perlu mengambil data terbitan beserta berkas PDF naskah dari instalasi OJS 2 lama:
- Pertama, masuk ke sistem OJS 2 menggunakan akun berwenang Journal Manager.
- Kemudian, buka menu Journal Manager > Import/Export Data > pilih Issues XML Plugin.
- Setelah itu, buka tab Export Issues, beri tanda centang pada terbitan yang ingin Anda pindahkan, lalu klik tombol Export.
- Akhirnya, simpan berkas XML hasil unduhan (misalnya:
issues.xml) ke komputer lokal Anda. Berkas ini sudah menyimpan metadata naskah serta berkas fisik PDF dalam bentuk pengkodean Base64.
Langkah 2: Mengonversi Skema XML Menggunakan Python
Perlu Anda ketahui bahwa skema XML pada OJS 2 (issue.xsd) memiliki perbedaan struktur yang mendasar jika Anda bandingkan dengan OJS 3.4 (native.xsd). Selain itu, OJS 3.4 menerapkan konsep penerbitan berbasis versi (versioned publication) serta menjalankan validasi skema yang sangat ketat.
Oleh karena itu, Anda membutuhkan alat bantu otomatis untuk mengubah struktur data tersebut. Dalam hal ini, Anda dapat memanfaatkan script Python yang telah dirancang khusus agar kompatibel dengan OJS 3.4 dan PHP 8.3.
Tautan Repositori Script:
Unduh kode sumber script konverter Python melalui repositori GitHub berikut:
GitHub: OJS 2 to OJS 3.4 Issue Converter Script
Selanjutnya, jalankan script tersebut melalui command prompt atau terminal komputer Anda:
python convert_issue_ojs2_to_ojs34.py issues.xml issues_ojs34.xml
Dengan menjalankan script ini, sistem akan memformat ulang struktur judul, abstrak, data penulis, nomor halaman, tautan DOI, hingga struktur berkas PDF Base64. Akibatnya, berkas XML baru tersebut dapat memenuhi seluruh kriteria validasi OJS 3.4.
Langkah 3: Poin Kritis dan Penanganan Kendala (Troubleshooting)
Meskipun proses konversi berjalan otomatis, OJS 3.4 memiliki beberapa aturan ketat yang wajib Anda perhatikan agar proses impor tidak mengalami kegagalan:
- Relasi Foreign Key Penulis (
primary_contact_id = 0):
Pada OJS 3.4, elemen<publication>wajib mencantumkan atributprimary_contact_idyang merujuk secara valid ke ID salah satu penulis naskah. Jika Anda mengosongkan atribut ini, MySQL akan menolak data tersebut karena melanggar aturan integritas database (Integrity constraint violation). Namun, script Python di atas sudah otomatis mengatasi masalah ini. - Atribut yang Dilarang pada Skema Baru:
Selain masalah relasi penulis, elemen<embed>pada OJS 3.4 tidak boleh memuat atributfilename. Di samping itu, elemen<publication>juga dilarang memuat atributlocale. Oleh karena itu, script konversi langsung memindahkan nama berkas ke dalam elemen<name>tersendiri. - Kendala Fatal Error 500 saat Membuka Berkas PDF (
Galley.php:160 getDisplayName() on null):
Faktor penting lainnya berkaitan dengan format bahasa. OJS 3.4 menerapkan standar kode bahasa IETF BCP 47 sehingga sistem mengubah kode lama sepertien_USmenjadien. Jika berkas XML masih membawa kodeen_US, OJS akan mengalami crash saat menampilkan tombol unduh PDF. Beruntung, script konversi telah menormalkan seluruh parameter bahasa ini secara otomatis.
Langkah 4: Mengimpor Berkas XML ke OJS 3.4
Setelah berkas XML siap, Anda dapat langsung mengimpor data tersebut ke OJS 3.4 dengan langkah-langkah berikut:
- Pertama-tama, masuk ke panel dashboard OJS 3.4 sebagai Administrator atau Journal Manager.
- Selanjutnya, buka menu Tools > Import/Export > pilih Native XML Plugin.
- Kemudian, buka tab Import, lalu unggah berkas hasil konversi (
issues_ojs34.xml). - Setelah itu, klik tombol Import untuk memulai proses pengolahan data.
- Akhirnya, sistem akan memvalidasi data, menyimpan naskah ke database, menyusun daftar isi terbitan, serta mengekstrak berkas biner PDF langsung ke direktori penyimpanan server.
Langkah 5: Penyesuaian Database Pasca-Impor (Opsional)
Terkadang, naskah telah berhasil masuk ke database tetapi judulnya belum tampil pada halaman publikasi. Selain itu, Anda mungkin menjumpai kendala saat mengakses berkas PDF. Jika Anda mengalami kendala tersebut, Anda dapat mengeksekusi instruksi SQL berikut melalui phpMyAdmin:
1. Menautkan Naskah ke Publikasi Aktif
Jalankan query ini jika sistem menampilkan notifikasi “The submission’s current publication is missing”:
UPDATE submissions s
JOIN publications p ON s.submission_id = p.submission_id
SET s.current_publication_id = p.publication_id
WHERE s.submission_id BETWEEN [ID_AWAL] AND [ID_AKHIR];
Catatan Penting:
Ganti [ID_AWAL] dan [ID_AKHIR] dengan rentang nomor ID naskah yang muncul pada laporan impor OJS Anda (sebagai contoh: BETWEEN 25043 AND 25052). Selain itu, perlu Anda ingat bahwa angka ID ini bertambah secara otomatis (auto-increment) sehingga nilainya akan berbeda pada setiap instalasi jurnal tergantung jumlah naskah yang telah tersimpan sebelumnya.
2. Menormalkan Kode Bahasa ke Standar OJS 3.4
Sementara itu, gunakan query berikut apabila website memunculkan Error 500 saat Anda mengeklik tombol galley PDF:
UPDATE publication_galleys SET locale = 'en' WHERE locale = 'en_US';
UPDATE publication_galley_settings SET locale = 'en' WHERE locale = 'en_US';
UPDATE submissions SET locale = 'en' WHERE locale = 'en_US';
UPDATE submission_settings SET locale = 'en' WHERE locale = 'en_US';
UPDATE publication_settings SET locale = 'en' WHERE locale = 'en_US';
UPDATE author_settings SET locale = 'en' WHERE locale = 'en_US';
UPDATE submission_files SET locale = 'en' WHERE locale = 'en_US';
UPDATE submission_file_settings SET locale = 'en' WHERE locale = 'en_US';
Kesimpulan
Kesimpulannya, Anda tidak perlu memindahkan terbitan jurnal dari OJS 2 ke OJS 3.4 secara manual satu per satu. Dengan memanfaatkan plugin ekspor XML dan mengubah formatnya menggunakan script Python, Anda dapat memigrasikan puluhan artikel beserta berkas PDF secara instan. Selain menghemat waktu, metode ini juga menjaga keutuhan metadata serta memastikan seluruh tautan artikel tetap berfungsi dengan sempurna.







