Ojs migration from old version to latest version 3.0.0

I want to migrate ojs 2.3.4 to latest release 3.0.0.
plz explain in detail.



Why some of the folders are not in ojs-3.0.0, example, people folder is not in the templates folder.
RegistrationForm.inc.php file is not in the classes/user/form folder. There are some files & folders changed or missing from the previous versions of ojs.

The 3.x release of OJS is a substantial re-write of the codebase. Many core files have been moved or renamed.

When upgrading, be sure not to mix the old 2.4.x code with the new 3.x code.

if we don’t mix 2.4.x code with the new 3.x code, then how we can migrate 2.3.x code to 3.x code?

Note that you can’t upgrade directly from 2.3.x to 3.x. Upgrade are only supported from 2.4.x to 3.x.

If you have a 2.4.x codebase, you’ll want to perform the upgrade either alongside it, or move it to a backup location, and put the fresh copy of the 3.x code in it’s place.

For example:

  1. Backup your 2.4.x database (mysqldump -u myuser -p --databases=myojsdb).
  2. Backup your 2.4.x uploaded files (tar -czvf /tmp/files_dir.tgz /path/to/private/ojs_files/).
  3. Backup your 2.4.x source code files (tar -czvf /tmp/ojs_source.tgz /path/to/webserver/ojs/).
  4. Create a new install of OJS3 alongside your original OJS install (tar -xzvf ojs-3.0.0.tar.gz -C /path/to/webserver/ojs3/)
  5. Copy the public files from 2.4.x to 3.x (sudo cp -rp /path/to/webserver/ojs/public/* /path/to/webserver/ojs3/public/).
  6. Edit your config.inc.php file to align with your previous configuration, plus note any new parameters.
  7. Run the upgrade.php script.
  8. Swap the installation directories - move the old OJS2 source to a temporary directory and move the new OJS3 source to where your OJS2 source was. (mv /path/to/webserver/ojs /path/to/webserver/ojs-old; mv /path/to/webserver/ojs3 /path/to/webserver/ojs)

You should now have an upgrade of OJS2 to OJS3, with a clean codebase and minimal downtime, and with backups in case anything goes wrong.

thnx for the reply…1 thing I want to ask-

Is ojs customization & journal management are same or not? plz explain

Can you clarify your question? OJS customization could mean setting up (configuring) the journal as the journal manager, or it could me customizing the code (development) to implement local functionality.

I simply want to say customization means to enhance our website or journal as per the requirements and journal management means to manage the journal.
example, we can change the header, background color & fonts, add the navigatiion links or add the new navigation bar item.

these things are common to both customization & journal management?

In OJS, the Journal Manager role is responsible for the setup of the journal, including changing the header, the CSS, and the navigation links.

If for you “journal management” means more in terms of evaluating submissions, assigning reviewers, copyediting, etc., then this is the responsibility of the Editorial roles.

ok. plz explain ojs customization in detail.

See the “Five Step Setup Process” in the documentation, especially “Step 5: The Look”.

Dear ctgraham,

We have taken OJS2 backup on our server and it is of 150 gb. This has backup for all the 10 journals we have with us. We need to migrate 2.4.x to 3.x. I have a quick question. Do you think we can download the back-up files from the server and store in our local system and then migrate from that back-up files to a freshly installed OJS3? I don’t want our main site to have downtime, so is it possible to migrate from backup file stored in local system to OJS3?

Also the server space is very low now. So I am afraid if we do this on server we might end of with incomplete installation?

Yes, a backup which includes the following will allow you to build a fresh copy of OJS, either at the current version, or a later version:

  • The OJS database
  • The OJS private files (files_dir)
  • The OJS public files (“public”)
  • The config.inc.php

You can copy this backup to a new VM, either with the source code from 2.4.x, or with the source code from 3.x to have a new copy of OJS. Be sure to run the upgrade script if changing versions.

You will probably need to schedule a bit of downtime during the actual upgrade, but this can be on the order of minutes or an hour or so, depending on the size of the installation. You can practice this upgrade on another machine in advance to understand the time needed. If you have limited space on your production server (not enough for another full copy of OJS) this additional development server is strongly recommended. With limited space, you can upgrade in place, rather than upgrading a swapping in a copy, but if something goes wrong you will need to restore from backup, and this will take extra time.