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/>

Reply via email to