diff --git a/upgrading-ojs-2-to-3/upgrade-guide-ws-id.html b/upgrading-ojs-2-to-3/upgrade-guide-ws-id.html index e76834c1eb62..a213cf34cc15 100644 --- a/upgrading-ojs-2-to-3/upgrade-guide-ws-id.html +++ b/upgrading-ojs-2-to-3/upgrade-guide-ws-id.html @@ -674,11 +674,54 @@ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%220.75%22%20y%3D%220.75%22%20width%3D%2214.5%22%20height%3D%2214.5%22%20fill%3D%22white%22%20stroke%3D%22%2336352F%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E"); } -

OJS 2 to OJS 3 Upgrade Guide

Version 1.2
July 17, 2024
Copyright: Public Knowledge Project
This work is openly licensed via
CC BY-NC-SA

-

This guide provides an overview of best practices for upgrading Open Journal Systems (OJS) version 2.x to version 3.3.0, including troubleshooting guidelines for common upgrade problems. It is intended as a complementary guide to the How to Upgrade and Troubleshooting documentation. Before proceeding, please review this documentation to learn about the OJS upgrade workflow and how to work with your OJS installation.

-

Prerequisites: Backups and Environment

In preparation for the workflow documented below, you will need to complete a full backup of your OJS install before starting. In addition to this initial backup, you will need to take a full backup of your OJS install after each upgrade step has been completed. These backups will allow you to revert your install to a previous version if needed, make required adjustments to your install to fix upgrade errors, and then try the upgrade step again. The How to Upgrade documentation includes detailed instructions for backing up your OJS install. If you need to restore your install to a pre-upgrade version, the OJS config file, database, as well as the private and public files folders will need to be restored from backup.

💡
Important: Always backup your OJS install before trying to upgrade it to a new version.

If an upgrade fails with an error message, times out, or doesn’t full complete, you will need to revert your OJS install to the pre-upgrade version using your backup. After you have reverted your install to the pre-upgrade version, you will need to resolve the upgrade errors, and then try another upgrade attempt. This process may need to be repeated several times until the upgrade completes successfully. An upgrade will be successful if you see the following message: Successfully upgraded to version X.X.X.X

💡
Important: Do not proceed to the next version upgrade if the current upgrade step hasn’t completed successfully. This will lead to a loss of data and will result in errors with subsequent upgrades.

It is recommended that each upgrade step documented below is executed directly on the server via the command-line rather than via the web browser. This will allow you to control and monitor the execution of the OJS upgrade script. To ensure that the upgrade script has adequate memory available and does not time out, the following PHP CLI settings are recommended when running the OJS upgrade script:

php -d memory_limit=-1 tools/upgrade.php upgrade

Prerequisites: OJS Database

Character Encoding and Collation Settings

Before starting, inspect your OJS database and take note of your MySQL character set and collation settings:

SHOW VARIABLES LIKE 'char%';
-SHOW VARIABLES LIKE 'collation%';

The result of the first query will confirm if you are using the latin1 , utf8 or utf8mb4 character set in MySQL. The result of the second query will provide you with information about your MySQL collation settings. Your MySQL connection and collation settings should be consistent with your OJS database character set.

For example, if your OJS database is using the latin1 character set, then you should also be using a compatible collation, e.g. latin1_general_ci or latin1_swedish_ci. Alternatively, if your OJS database is using the legacy utf8 character encoding, then the collation should be utf8_general_ci or utf8_unicode_ci. And if your OJS database is using the newer utf8mb4 character set then you should be using one of the supported collations for this character set, e.g. utf8mb4_general_ci or utf8mb4_0900_ai_ci.

Delete Search Index Data

The OJS search index tables contain a lot of data and this data should be deleted from your OJS database before starting the OJS 2.x upgrade process. This will significantly reduce the size of the OJS database and will reduce the time to execute upgrade steps and to create backups of your OJS install. After the final upgrade step to OJS 3.3.0 has been completed, the search indexes will be rebuilt, which will re-populate the search index tables in your OJS database (no data will be lost).

To delete search index data from your OJS database you will need to connect to your OJS database and execute the following MySQL commands:

TRUNCATE submission_search_objects;
+

Panduan Upgrade OJS 2 ke OJS 3

Versi 1.2
17 Juli 2024
Hak Cipta: Public Knowledge Project
Karya ini dilisensikan secara terbuka melalui
CC BY-NC-SA
Diterjemahkan oleh Maria Lamury dan Dwi Fajar Saputra

+

Panduan ini memberikan best practice untuk melakukan upgrade Open Journal System (OJS) versi 2.x ke versi 3.3.0 (LTS), termasuk pedoman troubleshooting untuk masalah upgrade yang sering terjadi. Panduan ini digunakan sebagai panduan pendukung pada dokumentasi How to Upgrade dan How to Upgrade and Troubleshooting. Sebelum melanjutkan, review dokumentasi ini untuk mempelajari tentang alur kerja upgrade OJS dan cara bekerja dengan instalasi OJS Anda.

+

+ +

Syarat Utama: Pencadangan Data (Backup) dan Perangkat Pendukung

+

Sebagai persiapan untuk alur kerja di bawah ini, Anda harus menyelesaikan keseluruhan proses backup dari instalasi OJS yang telah Anda gunakan di production. Selain backup awal ini, Anda perlu melakukan backup secara menyeluruh dari bagian OJS yang sudah dilakukan instalasi, jika sudah selesai upgrade mohon dapat melakukan backup juga secara bertahap.

+

Kegunaan dari backup pada kasus ini akan memungkinkan Anda dapat mengembalikan instalasi ke versi sebelumnya jika diperlukan (restore), membuat penyesuaian yang diperlukan pada instalasi Anda untuk memperbaiki error upgrade, dan kemudian dapat melakukan upgrade kembali. Dokumentasi How to Upgrade mencakup instruksi detail untuk backup instalasi OJS Anda. Jika Anda perlu memulihkan instalasi Anda ke versi pra-upgrade, file config OJS, database, serta folder files yang berisi berbagai file seperti draft artikel, artikel yang diterbitkan dan lain-lain perlu dikembalikan dari hasil yang sudah di-backup.

+
💡
Penting: Harus selalu ada backup versi production OJS Anda sebelum mencoba upgrade ke versi yang baru.
+Jika upgrade gagal dengan pesan error, atau notifikasi lain sehingga upgrade tidak selesai dengan sepenuhnya, Anda harus mengembalikan instalasi OJS ke versi pra-upgrade menggunakan backup Anda. Setelah Anda mengembalikan instalasi ke versi pra-upgrade, Anda perlu mengatasi error upgrade, lalu mencoba upgrade kembali. Proses ini mungkin perlu diulang beberapa kali (trial error) hingga upgrade berhasil diselesaikan. Upgrade akan berhasil jika Anda melihat pesan berikut: +Successfully upgraded to version X.X.X.X

+
💡
Penting: Jangan lanjutkan ke proses upgrade versi berikutnya jika langkah upgrade saat ini belum berhasil diselesaikan. Hal ini akan menyebabkan hilangnya data dan mengakibatkan error pada upgrade berikutnya.

Disarankan agar setiap langkah upgrade yang didokumentasikan di bawah ini dijalankan langsung pada server melalui command-line, bukan melalui web browser. Ini akan memungkinkan Anda untuk mengontrol dan memantau pelaksanaan kode skrip upgrade OJS. Untuk memastikan bahwa proses upgrade memiliki memori yang memadai dan tidak habis waktu (run time error), pengaturan PHP CLI berikut disarankan saat menjalankan kode skrip upgrade OJS:

php -d memory_limit=-1 tools/upgrade.php upgrade

Syarat Utama: Database OJS

Pengkodean Karakter dan Pengaturan Collation

Sebelum memulai, periksa database OJS Anda dan catat penggunaan karakter MySQL dan pengaturan Collation Anda:

SHOW VARIABLES LIKE 'char%';
+SHOW VARIABLES LIKE 'collation%';
+

Hasil kueri pertama akan mengkonfirmasi apakah Anda menggunakan kumpulan karakter latin1 , utf8 atau utf8mb4 di MySQL. Hasil kueri kedua akan memberi informasi tentang pengaturan collation MySQL Anda. Koneksi MySQL dan pengaturan collation harus konsisten dengan kumpulan karakter database OJS Anda.

Misalnya, jika database OJS menggunakan kumpulan karakter latin1, maka Anda juga harus menggunakan collation yang kompatibel, misalnya latin1_general_ci atau latin1_swedish_ci. Alternatif lain, jika database OJS Anda menggunakan pengkodean karakter utf8 yang lama, susunannya harus utf8_general_ci atau utf8_unicode_ci. Dan jika database OJS menggunakan kumpulan karakter utf8mb4 yang lebih baru maka Anda harus menggunakan salah satu kumpulan karakter yang didukung untuk kumpulan karakter ini, misalnya. utf8mb4_general_ci atau utf8mb4_0900_ai_ci.

+ +

Hapus Tabel Indeks Pencarian

+

Tabel indeks pencarian OJS berisi banyak data dan data ini harus dihapus dari database OJS Anda sebelum memulai proses upgrade OJS 2.x. Hal ini akan mengurangi ukuran database OJS secara signifikan, mengurangi waktu untuk menjalankan langkah-langkah upgrade dan membuat backup instalasi OJS Anda. Setelah langkah terakhir upgrade ke OJS 3.3.0 selesai, indeks pencarian akan bekerja kembali, yang akan mengisi kembali tabel indeks pencarian pada database OJS Anda (tidak ada data yang akan hilang).

Untuk menghapus data indeks pencarian dari database OJS Anda, Anda perlu terhubung ke database OJS dan menjalankan perintah kueri MySQL berikut:

TRUNCATE submission_search_objects;
 TRUNCATE submission_search_object_keywords;
-TRUNCATE submission_search_keyword_list;

Determine MySQL Engine

OJS 3.3.0 cannot be used with the MySQL MyISAM engine and requires InnoDB database tables. To check if you need to convert your existing MyISAM tables to InnoDB, connect to your OJS database and run the following query, replacing OJS_DBNAME with the name of your OJS database:

SELECT DISTINCT Engine, COUNT(0) FROM information_schema.tables WHERE table_schema = 'OJS_DBNAME'

If the Engine column in the query result includes MyISAM then you will need to convert your MyISAM databases tables to InnoDB using the workflow described in the “Convert MyISAM to InnoDB Tables” section below. Conversely, if the Engine column in the query result includes only the InnoDB engine then no table conversion is needed and you can proceed directly to the section “Grant REFERENCES Privilege”.

Convert MyISAM to InnoDB Tables

This workflow only needs to be completed if you have confirmed that you have one or more MyISAM tables in your OJS database. To convert your OJS 2.x database from MyISAM tables to InnoDB tables you will need to complete the following steps:

  1. Dump your OJS database into a text file, e.g. via mysqldump
  1. Open the database dump text file using a UTF8-compatible text editor, e.g. vi
  1. Replace all MyISAM with InnoDB table definitions in the database dump
  1. Save the updated database dump text file
  1. Import the updated database dump into a new OJS database

The following workflow describes each of the above steps in detail.

First, you will need to generate a database dump for your OJS database and save it to a text file, e.g. ojs_database.sql

Now you can convert all table definitions in the database dump file using a text editor. For example, in the vi text editor you can open your MySQL database dump and execute the following search-and-replace command. The goal is to replace each MyISAM table definition with the InnoDB engine for all MyISAM database tables. You will be prompted to review and confirm each replacement for each table definition.

:%s/ENGINE=MyISAM/ENGINE=InnoDB/gc
💡
Don’t forget to save the updated database dump file.

The next step will be to delete your OJS database in MySQL since it will still contain the legacy MyISAM table definitions. We will then create a new OJS database to receive the updated InnoDB table definitions and import the converted database dump file into the new OJS database.

To delete your existing OJS database and create a new, empty OJS database, the following MySQL commands will need to be executed using a MySQL user account with DROP and CREATE privileges, e.g. either the OJS MySQL user or the MySQL root user.

💡
Important: Ensure that you have a backup of your OJS database before running the MySQL commands below.

You will need to replace your database name OJS_DBNAME and character set OJS_DBCHARSET with their actual values:

DROP DATABASE OJS_DBNAME;
-CREATE DATABASE OJS_DBNAME DEFAULT CHARSET 'OJS_DBCHARSET';

Now that you have a new, empty OJS database, you can import your OJS database data using the updated MySQL database dump file that includes the new InnoDB table definitions.

For the MySQL import command below, you will need to replace your database connection settings OJS_DBNAME and OJS_DBUSER, character set setting OJS_DBCHARSET, and database dump filename OJS_DBDUMPFILE with their actual values:

mysql OJS_DBNAME -u OJS_DBUSER -p --default-character-set=OJS_DBCHARSET < OJS_DBDUMPFILE

You will be prompted for the database password for the OJS MySQL user as defined in your OJS config.inc.php file. Depending on the size of your OJS database, the import command may require substantial time to complete, e.g. up to 1 hour or more for very large databases.

Grant REFERENCES Privilege

The OJS database user will need the REFERENCES privilege granted via MySQL in preparation for the upgrade to OJS 3.3.0.

The MySQL command below will need to be executed using a MySQL user account with the GRANT privileges, e.g. the MySQL root user account. You will need to replace OJS_DBNAME, OJS_DBUSER, and OJS_DBPASSWD with the values for your OJS database as defined in config.inc.php:

GRANT REFERENCES ON OJS_DBNAME.* TO OJS_DBUSER@'localhost' IDENTIFIED BY 'OJS_DBPASSWD';

Preparation Checklist

Before proceeding to the first upgrade step, the following tasks should now be completed:

  • Backup OJS 2.x webroot, files folder, public folder, and database
  • Determine OJS database character set and collations settings
  • Delete search index data from the OJS database
  • Ensure all tables are using the InnoDB engine in the OJS database
  • Grant REFERENCES privilege to the OJS database user

First Steps: Getting to OJS 2.4.8-5

If your install is running a version older than OJS 2.4.6 then you will first need to upgrade it to OJS 2.4.6. Versions older than OJS 2.4.6 are missing a required column in the sessions table and the upgrade to OJS 2.4.6 adds this missing column.

If your install is running OJS 2.4.6 or newer, you will need to upgrade it to OJS 2.4.8-5. This upgrade will need to be run using a legacy version of PHP 7.x (PHP 8.x will not work).

Safety Bridge: OJS 3.2.1-5

Once your install is running OJS 2.4.8-5, you are ready to make the jump to OJS 3.2.1-5.

If your journal publishes article cover images, please ensure that you apply this patch to your OJS 3.2.1-5 install if you are deploying it via the release tarball. The patch was added after OJS 3.2.1-5 was released and provides a fix for an OJS 2.x upgrade bug with article cover images.

Before you begin the upgrade to OJS 3.2.1-5, you will need to review your OJS 2.4.8-5 supplementary files.

Supplementary Files: Submission Files or Public Galleys?

In preparation for the OJS 3.2.1-5 upgrade, you will need to decide how supplementary files should be migrated from OJS 2.4.8-5. By default, the OJS 3.2.1-5 upgrade will convert all supplementary files into article galleys that will be accessible to readers via the article landing page.

Depending on how editors and authors have been using supplementary files in OJS 2.x, this conversion to article galleys may not be appropriate or well suited for your journal. For example, some journals running OJS 2.x use supplementary files to store author agreements, competing interest statements, and lists of recommended reviewers — these documents are considered private and are not intended for public access. In OJS 2.x, if a journal disabled the Reading Tools feature then links to supplementary files were excluded from the article landing page.

If you wish to disable the conversion of supplementary files to public galleys during the upgrade to OJS 3.2.1-5, and instead convert supplementary files to private submission files in OJS 3.2.1-5, then you will need to apply a patch to your OJS 3.2.1-5 install before starting the upgrade from OJS 2.4.8-5.

After the upgrade to OJS 3.2.1-5 has been completed, please review a sample of articles that include supplementary files to ensure that these files have been migrated correctly from OJS 2.4.8-5, i.e. to ensure that supplementary files are either publicly visible as article galleys or hidden from public access and stored as private submission files in OJS 3.2.1-5.

Final Step: OJS 3.3.0

Once you have successfully upgraded to OJS 3.2.1-5 then you can upgrade to the latest OJS 3.3.0 release, which includes long-term support from PKP.

In general, the upgrade from OJS 3.2.1 to OJS 3.3.0 should finish relatively quickly since there are no updates to the OJS private files folder where submission files and galley files are stored.

Rebuild Search Index

Since we deleted the OJS search index data before starting the upgrade workflow, we now need to rebuild the search index via the following PHP command, executed in the OJS webroot folder:

php tools/rebuildSearchIndex.php

Troubleshooting Common Problems

Plugin Version Errors

  • Problem: The last step in the upgrade, addPluginVersions, will fail if there is a plugin in the OJS plugins folder that is out of sync with the plugin version in the database. If the plugin version in the plugins folder is older than the plugin version recorded in the database, the OJS upgrade script will return a “Cannot Downgrade Plugin” error.
  • Solution: Since updating plugin versions is the last step in the OJS upgrade script, the above error indicates that OJS has completed the upgrade with the exception of final plugin version checks. At this stage you can proceed in one of two ways:
    1. Manually update the OJS versions table and insert a new row for the OJS 3.3.0 version, ensuring that you mark this version of OJS as the current version. This will manually finalize the upgrade to OJS 3.3.0.

      You can do this by running the following two MySQL queries:
      UPDATE versions SET current = '0' WHERE product = ‘ojs2’;

      In the MySQL query below, please adjust the four OJS version parameters to match the actual version that you are upgrading to. The query below assumes OJS 3.3.0-17.

      INSERT INTO versions VALUES ('3', '3', '0', '17', now(), '1', 'core', 'ojs2', '', '0', '1');

      After the versions table has been manually updated, you can delete the specific plugin that caused the error from the OJS plugins folder and then manually re-install the plugin as Journal Manager via the OJS Plugin Gallery. In addition, all other plugins marked as available for upgrade in the Plugin Gallery should be upgraded via the Plugin Gallery to the latest plugin version compatible with OJS 3.3.0.

    1. Alternatively, you can delete the specific plugin that caused the error from the OJS plugins folder, roll back your install to OJS 3.2.1 using your pre-upgrade backup, and re-run the upgrade to 3.3.0. Depending on how many plugins are causing upgrade errors, you may need to repeat this step multiple times. After the upgrade to OJS 3.3.0 has successfully completed, you will need to manually install all plugins that were deleted from the OJS plugins folder as Journal Manager via the OJS Plugin Gallery. In addition, all other plugins marked as available for upgrade in the Plugin Gallery should be upgraded to the latest version compatible with OJS 3.3.0.

Null Review Round IDs

  • Problem: The upgrade from OJS 3.2.1 to OJS 3.3.0 fails due to null review_round_ids in the review_assignments table.
  • Solution: First, roll back your install to OJS 3.2.1 using your pre-upgrade backup. Once the database has been restored, run the following UPDATE query in MySQL to manually set review_round_id in the review_assignments table:
    UPDATE review_assignments, review_rounds SET review_assignments.review_round_id = review_rounds.review_round_id WHERE review_assignments.submission_id = review_rounds.submission_id AND review_assignments.round = review_rounds.round;

    Following the above UPDATE, you can check if there are any remaining null review_round_id columns remaining via the following SELECT query:

    SELECT * FROM review_assignments WHERE review_round_id IS NULL;

    If the above query returns one or more rows then you will need to inspect each row manually and determine whether the row corresponds to any valid submissions in your OJS install. If they do not, then the null rows can be deleted from the review_assignmentstable.

TinyMCE

  • Problem: Occasionally the TinyMCE plugin may not be installed or enabled after the upgrade. This leads to “API Key Missing” notification errors when viewing the OJS 3.x dashboard, as well as broken input and settings forms.
  • Solution: In OJS 3.x, as Journal Manager enable the TinyMCE plugin via Settings > Website > Plugins.

Language Settings

  • Problem: Occasionally a journal will not upgrade/migrate it’s installed language settings (UI settings, submission languages, metadata language settings). In OJS 3.x, this can be seen if you load the dashboard as Journal Manager or Editor — many tabs will be missing input and settings forms.
  • Solution: In OJS 3.x, as Journal Manager enable all journal languages via Settings > Journal.

Database Character Encoding Issues

  • Problem: The OJS database includes a mix of Latin1 and UTF8 tables or Latin1 tables with UTF8 data that result in display errors with accented characters on the journal homepage, article pages, or in search results.

MySQL Foreign Key Errors

  • Problem: MySQL queries fail with foreign key errors.
  • Solution: OJS 3.3.0 requires InnoDB database tables. If your MySQL database is using MyISAM tables, you will need to convert these to InnoDB before running the upgrade to OJS 3.3.0. Please see the “Convert MyISAM to InnoDB Tables” section for additional information.

MySQL Privilege Errors

  • Problem: MySQL queries fail with reference permission errors.
  • Solution: The OJS database user account will need the REFERENCES privilege granted in preparation for the upgrade from 3.2.1 to 3.3.0. Please see the “Grant REFERENCES Privilege” section for additional information.

Additional Resources

If you encounter problems that are not covered by this guide, you can find additional resolution suggestions via the PKP Forum, which are contributed by the global OJS user community and PKP staff. If your forum search does not produce any relevant results, please consider posting your question and error report.

+TRUNCATE submission_search_keyword_list;

+

Tentukan Mesin MySQL

+

OJS 3.3.0 tidak dapat digunakan dengan mesin MySQL MyISAM dan memerlukan tabel database InnoDB. Untuk memeriksa apakah Anda perlu meng-konversi tabel MyISAM yang ada ke InnoDB, sambungkan ke database OJS Anda dan jalankan kueri berikut, ganti OJS_DBNAME dengan nama database OJS Anda:

+
SELECT DISTINCT Engine, COUNT(0) FROM information_schema.tables WHERE table_schema = 'OJS_DBNAME'
+

Jika kolom Engine dalam hasil kueri menyertakan MyISAM maka Anda perlu meng-konversi tabel database MyISAM ke InnoDB menggunakan alur kerja yang dijelaskan di bagian "Convert MyISAM to InnoDB Tables" di bawah. Sebaliknya, jika kolom Engine pada hasil kueri hanya menyertakan mesin InnoDB maka tidak diperlukan konversi tabel dan Anda dapat langsung melanjutkan ke bagian "Grant REFERENCES Privilege".

Konversi Tabel MyISAM ke InnoDB

+

Alur kerja ini hanya perlu diselesaikan jika Anda telah meng-konfirmasi bahwa Anda memiliki satu atau lebih tabel MyISAM pada database OJS Anda. Untuk meng-konversi database OJS 2.x Anda dari tabel MyISAM ke tabel InnoDB, Anda perlu menyelesaikan langkah-langkah berikut:

+
  1. Export database OJS ke dalam file teks, mis. melalui mysqldump
+
  1. Buka file teks dump database menggunakan text editor yang kompatibel dengan UTF8, misalnya vi, nano atau vi.
  1. Ganti semua MyISAM dengan definisi tabel InnoDB pada dump database
+
  1. Simpan text file dump database yang terbaru
+
  1. Impor dump database yang terbaru ke database OJS yang baru
+

Alur kerja berikut menjelaskan setiap langkah di atas secara lebih detail.

Pertama, Anda perlu membuat dump database untuk database OJS dan menyimpannya ke text file, misalnya ojs_database.sql

+

Sekarang Anda dapat meng-konversi semua definisi tabel dalam file dump database menggunakan text editor. Misalnya, pada text editor vi Anda dapat membuka dump database MySQL dan menjalankan perintah search-and-replace berikut. Tujuannya adalah untuk mengganti setiap definisi tabel MyISAM dengan mesin InnoDB untuk semua tabel database MyISAM. Anda akan diminta untuk me-review dan meng-konfirmasi setiap penggantian untuk setiap definisi tabel.

:%s/ENGINE=MyISAM/ENGINE=InnoDB/gc
+
💡
Jangan lupa untuk menyimpan file dump database yang telah diperbarui.
+

Langkah selanjutnya adalah menghapus database OJS Anda di MySQL karena masih berisi table definition MyISAM yang lama. Kita kemudian akan membuat database OJS baru untuk menerima tabel definition InnoDB yang diperbarui dan melakukan import file dump database yang dikonversi ke database OJS yang baru.

+

Untuk menghapus database OJS yang ada dan membuat database OJS baru yang kosong, perintah MySQL berikut perlu dijalankan menggunakan akun pengguna MySQL dengan hak Istimewa (privilege) DROP dan CREATE, misalnya. baik pengguna OJS MySQL atau pengguna root MySQL.

💡
Penting: Pastikan Anda memiliki backup database OJS Anda sebelum menjalankan perintah MySQL di bawah ini.

Anda perlu mengganti nama database OJS_DBNAME dan character set OJS_DBCHARSET dengan yang sebenarnya, contoh kueri yang digunakan:

DROP DATABASE OJS_DBNAME;
+CREATE DATABASE OJS_DBNAME DEFAULT CHARSET 'OJS_DBCHARSET';
+

Sekarang Anda memiliki database OJS baru yang kosong, Anda dapat meng-import data pada database OJS menggunakan file dump database MySQL yang diperbarui termasuk table definitions InnoDB yang baru.

+

Untuk perintah impor MySQL di bawah ini, Anda perlu mengganti pengaturan koneksi database OJS_DBNAME dan OJS_DBUSER, pengaturan character set OJS_DBCHARSET, dan nama file dump database OJS_DBDUMPFILE dengan nilai sebenarnya:

+
mysql OJS_DBNAME -u OJS_DBUSER -p --default-character-set=OJS_DBCHARSET < OJS_DBDUMPFILE

Anda akan diminta password database untuk pengguna OJS MySQL seperti yang ditentukan dalam file OJS config.inc.php pada line database Anda. Hal ini tergantung pada ukuran database OJS Anda, perintah import mungkin memerlukan waktu yang lama untuk selesai, misalnya. hingga 1 jam atau lebih untuk database yang sangat besar.

+ +

Berikan REFERENCE Hak Istimewa (Privilege)

Pengguna database OJS akan memerlukan hak Istimewa (privilege) REFERENCES yang diberikan melalui MySQL sebagai persiapan untuk upgrade ke OJS 3.3.0.

+

Perintah MySQL di bawah ini perlu dijalankan dengan menggunakan akun pengguna MySQL dengan hak Istimewa (privilege) GRANT, misalnya. akun pengguna root MySQL. Anda perlu mengganti OJS_DBNAME, OJS_DBUSER, dan OJS_DBPASSWD dengan nilai untuk database OJS Anda seperti yang ditentukan di config.inc.php:

GRANT REFERENCES ON OJS_DBNAME.* TO OJS_DBUSER@'localhost' IDENTIFIED BY 'OJS_DBPASSWD';
+

Tahapan Persiapan

+

Sebelum melanjutkan ke langkah upgrade yang pertama, hal-hal berikut harus diselesaikan terlebih dahulu:

+

Langkah Pertama: Masuk ke OJS 2.4.8-5

Jika instalasi Anda menjalankan versi yang lebih lama dari OJS 2.4.6 maka Anda harus melakukan upgrade terlebih dahulu ke OJS 2.4.6. Versi yang lebih lama dari OJS tersebut tidak memiliki kolom wajib pada tabel sessions dan upgrade ke OJS 2.4.6 akan menambahkan kolom yang belum tersedia ini.

Jika instalasi Anda menjalankan OJS 2.4.6 atau versi yang lebih baru, Anda perlu melakukan upgrade ke OJS 2.4.8-5. Upgrade ini perlu dijalankan menggunakan versi lama PHP 7.x (PHP 8.x tidak akan berfungsi)

Skenario 1 versi yang direkomendasikan: OJS 3.2.1-5

Setelah instalasi Anda menjalankan OJS 2.4.8-5, Anda siap untuk beralih ke OJS 3.2.1-5.

Jika jurnal Anda menerbitkan gambar sampul artikel, pastikan Anda menerapkan patch ini pada instalasi OJS 3.2.1-5 Anda, jika Anda menerapkannya melalui the release tarball. Patch ini ditambahkan setelah OJS 3.2.1-5 dirilis dan memberikan perbaikan untuk bug upgrade OJS 2.x di dalam issue berkaitan dengan gambar sampul artikel.

Sebelum Anda memulai upgrade ke OJS 3.2.1-5, Anda perlu me-review file tambahan OJS 2.4.8-5 Anda.

File Tambahan: Submission Files atau Public Galleys?

Pastikan Kembali isi dari folder files, apakah terdapat file tambahan yang berisi file submission atau public galleys?

+

Dalam persiapan untuk upgrade OJS 3.2.1-5, Anda perlu memutuskan bagaimana file tambahan (supplement files) harus dimigrasi dari OJS 2.4.8-5. Secara default, upgrade OJS 3.2.1-5 akan mengubah semua file tambahan menjadi artikel galleys yang dapat diakses oleh pembaca melalui landing page artikel.

+

Hal ini tergantung bagaimana editor dan penulis menggunakan file tambahan di OJS 2.x, konversi ke artikel galleys ini mungkin tidak sesuai atau cocok untuk jurnal Anda. Misalnya, beberapa jurnal yang menjalankan OJS 2.x menggunakan file tambahan untuk menyimpan Letter of Agreement (LOA), copyright transfer form, dan lain-lain — dokumen-dokumen ini dianggap pribadi dan tidak diberikan untuk akses publik. Pada OJS 2.x, jika jurnal me-nonaktifkan fitur Reading Tools, maka link ke file tambahan akan dikeluarkan dari landing page artikel.

+

Jika Anda ingin me-nonaktifkan konversi file tambahan ke public galleys selama proses upgrade ke OJS 3.2.1-5, dan sebagai gantinya meng-konversi file tambahan menjadi file private submission di OJS 3.2.1-5, maka Anda perlu apply a patch pada instalasi OJS tersebut sebelum memulai upgrade dari OJS 2.4.8-5.

+

Setelah upgrade ke OJS 3.2.1-5 selesai, harap review contoh artikel yang termasuk file tambahan untuk memastikan bahwa file ini telah dimigrasi dengan benar dari OJS 2.4.8-5, untuk memastikan bahwa file tambahan bersifat publik terlihat sebagai artikel galleys atau dibatasi dari akses publik dan disimpan sebagai file private submission pada OJS 3.2.1-5.

+

Langkah Terakhir: OJS 3.3.0

+

Setelah Anda berhasil melakukan upgrade ke OJS 3.2.1-5 maka Anda dapat melakukan upgrade ke OJS 3.3.0 terbaru yang sudah termasuk long-term support dari PKP.

+

Secara umum, upgrade dari OJS 3.2.1 ke OJS 3.3.0 akan selesai lebih cepat karena tidak ada update pada folder private files OJS dimana file submission dan file galley disimpan.

+

Pembangunan Ulang Indeks Pencarian

Karena kita sudah menghapus data indeks pencarian OJS sebelum memulai alur kerja upgrade, sekarang kita perlu menjalankan kembali indeks pencarian melalui perintah PHP berikut, yang dijalankan di folder OJS sebagai peran root access:

php tools/rebuildSearchIndex.php

Mengatasi Masalah Umum

Error Versi Plugin

Notifikasi Null Review Round ID

TinyMCE

Pengaturan Bahasa

Masalah Pengkodean Karakter Database

Error Foreign Key MySQL

Error Hak Istimewa (privilege) MySQL

Sumber Informasi tambahan

Jika Anda menemukan permasalahan yang tidak tercakup dalam panduan ini, Anda dapat mencari jawaban dan mendapatkan saran untuk menyelesaikan masalah Anda melalui PKP Forum yang disampaikan oleh komunitas pengguna OJS global dan staf PKP. Jika Anda tidak mendapatkan hasil pencarian yang Anda inginkan, kirimkan pertanyaan dan laporkan permasalahan Anda ke forum tersebut.

\ No newline at end of file