[Loris-dev] advice on updating system

Dave MacFarlane dave.macfarlane at mcin.ca
Tue Oct 23 14:27:11 EDT 2018


Hi Garry,

Since you're upgrading from such an old version, since it's such an old
version you're likely to encounter problems at some step of the way. You
should ensure that you have a staging server to your upgrades on before
doing them on production. It would be a good idea to back up your server
with a recent dump of your production database before trying to ensure that
you don't encounter any upgrade errors related to the data when doing it on
production.

I've added some notes/answers to your more specific questions below.

On Tue, Oct 23, 2018 at 1:29 PM Cardillo, Garry <cardillo at med.umich.edu>
wrote:

> Hello All,
>
>
> We are currently on Loris version 14.12.1 and are planning on updating our
> system.  I would appreciate any insight anyone can provide.
>
>
> I understand we will have to upgrade to each patch and release in order,
> to get up to the current release.  We have a lot of custom development in
> our system done by another programmer who is no longer here.  We were not
> using any versioning software and documentation is limited.
>
>
>
It's never too late to start. It would be a good idea to start using
version control (at least for your project directory) before starting the
upgrade.

> Referencing this page
> https://github.com/aces/Loris/wiki/Updating-your-LORIS:
>
>
> Update your LORIS in a few steps:
>
>
>    - Download the new release codebase
>    <https://github.com/aces/Loris/releases>. Be careful of overwriting
>    any custom code modifications
>    <https://github.com/aces/Loris/wiki/Code-Customization> that you may
>    have added - you'll want to merge these with the code updates.  *What
>    is the best way to do this?  I have compared our install with the codebase
>    for 14.12.1 and have identified all files which differ, and which are in
>    our install only.  What is the best way to merge the code? *
>
> You likely need to do a diff of your changes against the 14.12.1 version
and then manually merge the changes into the upgraded version (in your
project/libraries directory) after each upgrade.


>    - Run composer install --no-dev and then composer dump-autoload to
>    update dependencies and re-generate the autoload.php file * Am I
>    simply running theses two commands on command line, or do additional steps
>    need to be taken to update dependencies and re-generate autoload.php?*
>
>
You should only need to run "composer install --no-dev" (but it'll have to
be done after each release upgrade before testing.)


>    - Apply the MySQL release-upgrade patch found in the
>    SQL/Release_patches
>    <https://github.com/aces/Loris/tree/master/SQL/Release_patches> directory.
>    Carefully note modifications to data columns and data type definitions
>    - Check your project/ directory for code that may be overriding
>    <https://github.com/aces/Loris/wiki/Code-Customization> the main Loris
>    codebase - these files may need updating to work with the release codebase.
>    Note that as of 16.0 release, custom module support has changed
>    - Review *all* Release Notes <https://github.com/aces/Loris/releases> for
>    every release since your last version, including minor releases --
>    especially those in the section specifically for Existing Projects. Follow
>    carefully the recommended steps for existing projects
>
> *To preserve custom modification we have in modules, libraries and
> templates, would the best course of action be to create directories in
> /project/modules, /project/libraries, and /project/templates and copy
> everything to those directories?  Will that work okay with the Loris
> override functionality?*
>
>
> Any module that's overwritten should be (completely) moved to
project/modules. Any libraries or templates should go into the other
directories, but only the things that are modified should be put there.
Putting absolutely everything there would effectively be the same as not
upgrading the files at all and may lead to issues with your code being out
of sync with the database schema.

> *Also, is it correct that if we are on 14.12.1, the upgrade order would be
> as follows:*
>
> *15.04, 15.10, 15.10.1, 15.10.2, 16.0.0, 16.0.1, 16.0.2, 16.1.0, 16.1.1,
> 16.1.3, 17.0.0, 17.0.1, 17.0.2, 17.0.3, 17.0.4, 17.0.5, 17.0.6, 18.0.0,
> 18.0.1, 18.0.2, 18.0.3, 18.0.4, 18.0.5, 19.0.0, 19.0.1, 19.0.2, 19.1,
> 19.1.1, 19.1.2, 20.0.0, 20.0.1?*
>
>
The bugfix releases (the one where the last digit of the three changes)
don't need to be done, so it should be:

*15.04, 15.10, 15.10.2, 16.0.2, 16.1.3,  17.0.6,  18.0.5, 19.0.2, 19.1.2,
20.0.1*

(Assuming you take the highest bugfix release of each minor release so that
you have the bugfixes when testing. The upgrade procedure should be the
same as what's documented for the ".0" version of the minor release no
matter which bugfix release you're upgrading to. )

> *Also, we are running everything from the same machine (mysql, php, loris,
> apache).  Mysql ver 14.14 distrib 5.6.35 **, php ver 5.5.9, apache/2.4.7,
> ubuntu 14.04.  Are there any considerations that need to be taken in
> regards to these versions?*
>
>
> One of the releases will mandate upgrading to PHP7 but I can't remember
exactly which one (it should say in that release's release notes,
hopefully.) The apache version should be fine. Officially the later
versions of LORIS require MySQL 5.7, but unofficially I don't foresee any
issues with 5.6 going up to 20.0 (but future versions might use features
that require > 5.7)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.bic.mni.mcgill.ca/pipermail/loris-dev/attachments/20181023/69955495/attachment-0001.html>


More information about the Loris-dev mailing list