Hello: On Sat, 18 Apr 2009, Qiang Wei wrote: > Let me explain our situation first. We are currently running cdsware > version 0.71 and it has been running for several years without > problem. Until recently we started a NEW installation of 0.99 on the > same server. Ideally, we want to install 0.99 without any impact on > the current running 0.71. We plan to stop 0.71 only after 0.99 has > been fully tested and all the documents have been migrated from 0.71.
You cannot easily make CDS Invenio v0.7.x and v0.99.y co-exist on the same server. This is because v0.7.1 requires MySQLdb 0.9.2, while v0.99.x requires MySQLdb 1.2.1+, and the two MySQLdb versions cannot easily co-exist inside the same Python version without some kludgy module renaming. Moreover, the two MySQL server versions you are using handle UTF-8 quite differently -- MySQL 4.0 was mostly UTF-8-agnostic, while later MySQL 4.1 versions can handle UTF-8 encoded data well. So CDS Invenio v0.99.0 forces to use properly UTF-8 encoded data, while v0.7.x does note. Hence you most probably have to fix table encodings while you upgrade from MySQL 4.0 to 4.1. This may require a full data dump and load. (Please see the v0.92.1 to v0.99.0 upgrade notes on this: <https://twiki.cern.ch/twiki/bin/view/CDS/InvenioUpgrade#Upgrade_from_0_92_1_to_0_99_0>. If you want, I can publish our old notes on how we exactly upgraded our v0.92.1 instance to v0.99.0 -- the table encoding business may be directly applicable to your situation.) So, in short, I would advise you (i) to revert back to the previous MySQLdb version so that your v0.7.1 instance works fully okay again. (You may perhaps need to revert also to MySQL 4.0 server too, depending on how your DB data are encoded.) After that, (ii) please install Python 2.4 on the same box and configure your v0.99.1 test instance to use Python 2.4 only. (You will have to run a separate instance of Apache too, due to mod_python.) Or, alternatively, (iii) please use another machine for your v0.99.1 tests. If you decide to go for ii, then you will have to be careful in order not to use the same `invenio' Python module name for the two Invenio instances, in order to avoid mutual clash. So you will have to install your second Invenio instance under a different software name -- say `testsite' -- roughly like this: $ tar xvfz cds-invenio-0.99.1.tar.gz $ mv cds-invenio-0.99.1 testsite-0.99.1 $ cd testsite-0.99.1 $ find . -type f -exec perl -pi -e 's,invenio,testsite,g' {} \; $ mv po/cds-invenio.pot po/testsite.pot $ configure --prefix=/opt/testsite --with-python=/usr/bin/python2.4 This will make two or more Invenio instances co-exist without problems on the same machine. Best regards -- Tibor Simko ** CERN Document Server ** <http://cds.cern.ch/>
