-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUPGRADE
144 lines (103 loc) · 5.68 KB
/
UPGRADE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Upgrading an OMP Installation
-----------------------------
Note: backing up your current data files and database is strongly recommended
prior to upgrading OMP.
If you are using PHP Safe Mode, please ensure that the max_execution_time
directive in your php.ini configuration file is set to a high limit. If this
or any other time limit (e.g. Apache's "Timeout" directive) is reached and
the upgrade process is interrupted, manual intervention will be required.
Upgrading to the latest version of OMP involves two steps:
- Obtaining the latest OMP code
- Upgrading the OMP database
It is highly recommended that you also review the release notes (docs/RELEASE)
and other documentation in the docs directory before performing an upgrade.
Obtaining the latest OMP code
-----------------------------
The OMP source code is available in two forms: a complete stand-alone
package, and from read-only github access.
1. Full Package
It is also possible to upgrade by downloading the complete package for the
latest release of OMP:
- Download and decompress the package from the OMP web site
- Make a copy of the config.inc.php provided in the new package
- Move or copy the following files and directories from your current OMP
installation:
- config.inc.php
- public/
- Your uploaded files directory ("files_dir" in config.inc.php), if it
resides within your OMP directory
- Replace the current OMP directory with the new OMP directory, moving the
old one to a safe location as a backup
- Be sure to review the Configuration Changes section of the release notes
in docs/release-notes/README-(version) for all versions between your
original version and the new version. You may need to manually add
new items to your config.inc.php file.
Patching or updating from github is the recommended approach if you have made
local modifications to the system.
2. git
If your instance of OMP was checked out from github (see docs/README-GIT),
you can update the OMP code using a git client.
To update the OMP code from a git check-out, run the following command from
your OMP directory:
$ git rebase --onto <new-release-tag> <previous-release-tag>
This assumes that you have made local changes and committed them on top of
the old release tag. The command will take your custom changes and apply
them on top of the new release. This may cause merge conflicts which have to
be resolved in the usual way, e.g. using a merge tool like kdiff3.
"TAG" should be replaced with the git tag corresponding to the new release.
OMP release version tags are of the form "ojs-MAJOR_MINOR_REVSION-BUILD".
For example, the tag for the initial release of OMP 1.0 is "ojs-1_0_0-0".
Consult the README of the latest OMP package or the OMP web site for the
tag corresponding to the latest available OMP release.
Note that attempting to update to an unreleased version (e.g., using the HEAD
tag to obtain the bleeding-edge OMP code) is not recommended for anyone other
than OMP or third-party developers; using experimental code on a production
deployment is strongly discouraged and will not be supported in any way by
the OMP team.
Applying the Latest Recommended Patches
---------------------------------------
The Public Knowledge Project development team maintains a publicly-available
list of recommended patches for each release. These will add no new
functionality and will typically consist of small, easy-to-read patches for
specific issues. A Recommended Patches list for your version of OMP can be
found on the PKP development wiki:
<http://pkp.sfu.ca/wiki/index.php/OMP_Recommended_Patches>
Regardless of the method you used to download and apply the official system
files, you will also want to review the list of recommended patches specific
to your OMP version, and apply as necessary.
To apply a recommended patch, open the bug report and download the attached
patch file(s). (Note that bug reports can quite often include a number of
patches, some relevant to the application (ie. OMP) and version you are
running, and some not. Ensure that you download all and only the patches
specific to your application and version.) For each patch you download,
first attempt a dry-run application of the patch, to ensure that it applies
cleanly:
$ patch -p1 --dry-run < PATCH_FILE
If the patch applies cleanly, then run the following command, which will
actually apply the patch:
$ patch -p1 < PATCH_FILE
"PATCH_FILE" should be replaced with the path to the patch file that was
downloaded, e.g. "1234-omp.patch".
Upgrading the OMP database
--------------------------
After obtaining the latest OMP code, an additional script must be run to
complete the upgrade process by upgrading the OMP database and potentially
executing additional upgrade code.
This script can be executed from the command-line or via the OMP web interface.
1. Command-line
If you have the CLI version of PHP installed (e.g., /usr/bin/php), you can
upgrade the database as follows:
- Edit config.inc.php and change "installed = On" to "installed = Off"
- Run the following command from the OJS directory (not including the $):
$ php tools/upgrade.php upgrade
- Re-edit config.inc.php and change "installed = Off" back to
"installed = On"
2. Web
If you do not have the PHP CLI installed, you can also upgrade by running a
web-based script. To do so:
- Edit config.inc.php and change "installed = On" to "installed = Off"
- Open a web browser to your OMP site; you should be redirected to the
installation and upgrade page
- Select the "Upgrade" link and follow the on-screen instructions
- Re-edit config.inc.php and change "installed = Off" back to
"installed = On"