Semi-Automatic patch upgrade

Patch Upgrade Steps......

Web Pages Upgrade......

Tables Update......

Manual update of changed files that aren’t tables or web pages......

Testing of upgraded environment......

Copy new u5x_5_14.2.4 to active u5x_5......

Versions of the patch upgrade kit are constantly updated on ftp server. Check that you have the latest version.

Patch Upgrade Steps

Note:

for ../alephe/apache all steps – backup, copying, update or other – should be done manually. The update of rep_changes in apache files should be done after upgrade process is complete and u5x_5.14.2.4 is switched to u5x_5, on the active u5x_5.

  1. The new version should be placed on the disk as a5x_5.14.2.4 parallel to the active a5x_5.
  2. Make sure you have perl installation .

TO DO

cd ../a5x_5.14.2.4/ patch_upgrade/conv_to_14.2.4

perl test_perl.perl

You should receive a message:

Hello, your perl version is N.NNNNN.

If you receive

perl: Command not found

  • It’s possible you have perl but it’s not in your path, to check type

find / -name perl

  • If perl was found update your path to include it, repeat the perl test.
  • If perl wasn’t found, install it:

Go to Ex Libris FTP server

For login information contact Ex Libris staff.

Go to perl/perl5_005

Download file named quick_install_perl5_005

Read the document and follow instructions.

  1. Create directories u5x_5.14.2.4 (for updating) and u5x_5.backup (for backup) - both parallel to u5x_5. Check if there’s enough disk space to contain two copies of u5x_5 (it’s possible to create the above directories on another disk).
  1. Go to patch upgrade kit:

cd ../a5x_5.14.2.4/ patch_upgrade/conv_to_14.2.4

  1. Create a file that includes all directories located under u5x_5 that contain files that were rep_changed. Use as example file updated_dir_list.template.

TO DO:

cp updated_dir_list.template updated_dir_list

Edit updated_dir_list using VI to include full paths of web pages directories, tables directories for each user library and directories containing other changed files:

  • ../alephe/www_x_lng directories
  • ../alephe/tab
  • ../alephe/aleph_start_505
  • ../alephe/aleph_startup_505
  • ../ alephe/aleph_shutdown_505
  • ../alephe/pc_server_defaults
  • ../alephe/www_server_defaults
  • ../ alephe/unicode
  • ../ lib01/form_lng
  • ../libXX/tab
  • ../libXX/pc_tab
  • ../ libXX/prof_library
  • ../libXX/file_list
  1. Backup directories listed in updated_dir_list

TO DO:

perl run_patch_convert.perl

choose 1

  1. Go to u5x_5.14.2.4 and make sure that all necessary directories and files were copied. Go to u5x_5.backup and make sure that all necessary directories and files were copied.

Note – all changes should be applied in u5x_5.14.2.4 only !!!

  1. Perform section “Web Pages Upgrade” (see detailed steps below).
  2. Perform section “Tables Upgrade” (see detailed steps below).
  3. Perform section “Manual update …” (see detailed steps below).
  4. Run aleph_shutdown_5x5
  5. Copy the directories under u5x_5.14.2.4 to u5x_5 (see detailed steps below).
  6. Move a5x_5 to a5x_5.14.2.y.
  7. Move a5x_5.14.2.4 to a5x_5.
  8. Run aleph_startup_505.
  9. Run the z308 conversion script, upgrade Z63 and Z603 according to “Implementation Notes”.
  10. Perform section “Testing of upgraded environment”.
  11. Recreate indices. If you use adjacency Z97 and Z98 will require 10%-24% additional overall utilized table space. Make sure to increase table initial segment and/or extent if necessary. For detailed explanations refer to 14.2.4_general.doc.

It’s possible to run special script instead of re-running p_manage_27 (see fix 3114)

To execute script, see README in /aleph/a5x_5.14.2.4/patch_upgrade/z101_upgrade

Web Pages Upgrade

  1. Create a list of web files that need to be copied or updated manually:

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 2

Enter your patch number [14.2.1/14.2.2/14.2.3]:

When asked to enter a pass please enter a full absolute path.

old a5x_5/alephe

old u5x_5/alephe

new a5x_5.14.2.4/alephe

Enter u5x_5 creation date in YYYYMMDD format:

The date when u5x_5/alephe was created. It should be identified according to the creation date of the earliest html page in u5x_5/alephe plus additional manual check (consult Ex Libris librarian). This date will be used to identify the files that were updated on u5x_5 only.

Do you have -mabXX files in a5x_5 [Y/N]:

Possible only in German.

If you have web pages in languages other than English you’ll be prompted for every language whether to run a procedure.

The output description:

For every language output files will be created in the directory ../a5x_5.14.2.4/patch_upgrade/conv_to_14.2.2/results/web:

web_to_copy.eng – list of web pages that can be (automatically) copied from new patch (as they weren’t adapted by a client).

web_to_update.eng - list of web pages that have to be updated manually.

web_new.eng - list of new web pages, that will be copied (automatically) from new patch.

web_done.eng – list of web pages that shouldn’t be updated because the rep_change has already been implemented.

web_errors.eng – should be empty, if not check.

  1. Check that the output files were created under results/web/
  2. To have files listed in web_new.lng and web_to_copy.lng be copied from new patch to u5x_5.14.2.4:

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 3

  1. Update files listed in web_to_update.lng manually according to “Implementation Notes patch 14.2.4” document.

If you wish to sort the files by directory location and by rep_change number, use sort.

TO DO:

sort +0.N1 -0.N2 +0.N3 -0.N4 web_to_update.eng > web_to_update.eng_sort

N1 N2 – positions of directory

N3 N4 – positions for fix number

(Count positions starting from 0)

E.g. if the file’s structure:

14.2.1 001278 /aleph1/u52_5/alephe/www_b_eng/b-acq-02-01-hier

14.2.1 001320 /aleph1/u52_5/alephe/www_a_eng/bor-info

Execute the following command:

sort +0.37 -0.45 +0.8 -0.13 web_to_update.eng > web_to_update.sort

**Please note: in case there were few changes done on the file, the latest rep_change number will appear in web_to_update.lng . In case of multiple languages web pages make sure to update the file for every language.

  1. Go over web_done.lng – check if these files were indeed updated on your version, if not update them manually.
  2. Go over web_errors.lng, check the errors, update files manually if needed.
  3. Repeat steps 4-6 ??? 3-6 to every language you have.

Tables Upgrade

  1. Create a file of full paths of your tab directories from the template filed lib_tab_map_usm.template ( for USMARC) or lib_tab_map_uni.template ( for UNIMARC).

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

cp lib_tab_map_usm.template lib_tab_map (for USMARC)

cp lib_tab_map_uni.template lib_tab_map (for UNIMARC)

Edit the file lib_tab_map using VI according to describe below.

In file lib_tab_map we define 2 things:

  • to which library every fix should be applied.
  • Full paths of demo libraries, user libraries and new patch of demo libraries.

Fixes are reported under $alephe_tab, usmXX, uniXX or exuXX, where XX = 01, 10, 20, 30, 50 or 60. If you have additional libraries, e.g. lib02, lib11, lib52 etc, they should be updated as well with fixes from one of the above libraries. Depending on your library you need either usmXX or uniXX changes; American clients need exuXX changes as well.

The lib_tab_map structure is as follows:

first column – fix key, aleph for $alephe_tab, usmXX or uniXX for libraries’ tables

second column - full path of aleph library root directory under a5x_5

third column - full path of user library root directory under u5x_5

fourth column - full path of new patch aleph library root directory under a5x_5.14.2.4

For every library in lib01-09 you should create a line with reference to usm01 (or uni01),

i.e. usm01 - as first column, path of usm01 under a5x_5 as second column, path of usm01 under a5x_5.14.2.4 as fourth column.

For every library in lib10-19 you should create a line with reference to usm10 (or uni10).

For every library in lib20-29 you should create a line with reference to usm20 (or uni20).

For every library in lib30-39 you should create a line with reference to usm30 (or uni30).

For every library in lib50-59 you should create a line with reference to usm50 (or uni50).

For every library in lib60-69 you should create a line with reference to usm60 (or uni60).

Same should be done for exuXX if necessary.

  1. Create a list of tables that need to be copied or updated manually:

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 4

Enter your patch number [14.2.1/14.2.2/14.2.3]:

If you have tables in languages other than English enter language 3-letter code

(e.g. ger/chz ):

If you keep a version of the language sensitive tables in other language customized on a5x_5 and u5x_5, enter your language code, for these tables to be compared. If you don’t keep a customized version of these tables on a5x_5, automatic comparison is not relevant for language sensitive tables and should always be updated manually. Currently only GER is supported.

The output description:

The output files will be created in the directory ../a5x_5.14.2.4/patch_upgrade/conv_to_14.2.2/results/tab:

tabs_to_copy – list of tables that can be copied from new patch (as they weren’t customized by a client).

tabs_to_update - list of tables that have to be updated manually.

tabs_new - list of new tables, will be copied from new patch.

tabs_done – list of tables that shouldn’t be updated because of receiving a rep_change.

tabs_errors – list of the tables that were changed in new patch but are none of the above, usually this will include fixes for libraries irrelevant to the user, i.e. for usmXX users it will include rep_changes for uniXX and exuXX – then nothing should be done, in any other case tables should be updated manually.

  1. Check that the output files were created under results/tab/
  2. To have files listed in tabs_new and tabs_to_copy be copied from new patch to u5x_5.14.2.4:

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 5

  1. Tables in tabs_to_update – part of them can be updated automatically, to run automatic update:

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 6

If you have few libraries with different codes (e.g. xxx01, yyy01, zzz01), you have to run automatic update separately for every code.

When there’s no automatic routine for a particular table you’ll receive the message:

“No automatic changes for ..”, these tables will be written to the file tabs_manual_update (located under results/tab/). Otherwise you’ll be asked about each table whether you want to update it automatically, if not you’ll be able to update it immediately using vi and return to the automatic process, choosing “N” on “Update … manually now (using vi)” will add the table to the file tabs_manual_update as well . (Note: If you enter vi, but not apply changes the table won’t be written to tabs_manual_update file and you have to remember to update it later).

If you have few libraries with different codes (e.g. xxx01, yyy01, zzz01), then tabs_manual_update table will be created per every library code.

  1. Manually update files listed in results/tab/tabs_manual_update according to “Implementation Notes patch 14.2.4” document.
  2. Go over tabs_done – check if these files were indeed updated on your version, if not update them manually.
  3. Go over tabs_errors, check the errors, update files manually if needed.

Manual update of changed files that aren’t tables or web pages

Manually update the following files under u5x_5.14.2.4 according to “Implementation Notes patch 14.2.4” document:

  • ../alephe/aleph_start_505
  • ../alephe/aleph_startup_505
  • ../alephe/aleph_shutdown_505
  • ../alephe/pc_server_defaults
  • ../alephe/www_server_defaults
  • ../alephe/apache/*
  • ../alephe/unicode/*
  • ../lib01/form_lng
  • ../libXX/prof_library
  • ../libXX/file_list

Testing of upgraded environment

You may test upgraded environment u5x_5.14.2.4 (WWW OPAC) before copying it to u5x_5 using parallel server.

Create aleph_start_505.test and aleph_start_505.private.test (if you have it) and define full a5x_5.14.2.4 and u5x_5.14.2.4 paths here.

TO DO:

cd ../u5x_5.14.2.4/alephe

cp aleph_start_505 aleph_start_505.test

cp aleph_start_505.private aleph_start_505.private.test

In aleph_start_505.test define the all setenv for a5x_5.14.2.4 and u5x_5.14.2.4

E.g. if a5x_5.14.2.4 and u5x_5.14.2.4 are located in /aleph, therefore aleph_start_505.test should be:

setenv ALEPH_MOUNT /aleph

setenv USER_MOUNT /aleph

setenv LAST_PATCH_NUMBER 4

setenv usm01_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm09_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm10_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm11_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm12_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm19_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm20_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm30_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm50_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv usm60_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv vir00_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv vir01_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv swt01_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv ext01_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv ext02_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv ext03_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv ext04_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv ORACLE_CONF /aleph1/ora_aleph

setenv aleph_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv alephm_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv alephe_dev /aleph/u52_5.14.2.4

setenv alephe_synch_dev ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4

setenv TMPDIR ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4/tmp

setenv TMPMEDIA ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4/tmpmedia

setenv LOGDIR ${ALEPH_MOUNT}/a5${VERSION_NUMBER}_5.14.2

.4/log

setenv httpd_root /aleph/u52_5.14.2.4/alephe/apache

if (-f $alephe_dev/alephe/aleph_start_505.private.test) then

source $alephe_dev/alephe/aleph_start_505.private.test

setenv aleph_utf $alephe_dev/alephe

aleph_start_505.private.test should be :

setenv lib01_dev /aleph/u52_5.14.2.4

setenv lib50_dev /aleph/u52_5.14.2.4

setenv lib60_dev /aleph/u52_5.14.2.4

setenv lib10_dev /aleph/u52_5.14.2.4

setenv lib11_dev /aleph/u52_5.14.2.4

setenv lib20_dev /aleph/u52_5.14.2.4

setenv lib30_dev /aleph/u52_5.14.2.4

Copy created files to /u52_5.14.2.04/alephe and activate them by the following command:

source aleph_start_505.test

cp $aleph_proc/www_server www_server.test

vi www_server.test

Change “source /etc/aleph_start_$ALEPH_VERSION” to “source aleph_start_505.test”

Run your own www server in order to check WEB functionality

TO DO:

ap

www_server.test xxxx xxxx stdout

If you receive a Z63 ORACLE-error, please, contact Ex Libris.

Connect by xxxx to your WEB browser and run a test

Copy new u5x_5_14.2.4 to active u5x_5

TO DO:

cd /aleph/a5x_5.14.2.4/patch_upgrade/conv_to_14.2.4

perl run_patch_convert.perl

choose 7

Please note : the script DOES NOT copy the following files :

aleph_start_505

aleph_startup_505

aleph_shutdown_505

pc_server_defaults

www_server_defaults

All changes for above files should be done in u5x_5

Note: Later version of this document will include a section describing changes to be made on a production server, after putting the test configuration.