Upgrade Procedure for old versions

Hello friends,
after some time I am back to Zenphoto. The reason: the galleries which I installed for my friends and left to their responsibility where flooded by spam. So I had to do something ;=)

I started to update one of these installtations by reading the upgrade instructions and I found that all of you developers are not clear what has to be done.

It is suggested to update version by version, but nobody can clarify which versions are essential, which are not. The old-version-archive shows at least 14 releases from version 1.1.7 (where I had to start) to version 1.4.2

and here my first pledge:
please name your archive zips with leading zeros, so they will be listed descendant in the correct way (try to identify version 1.4 in the impressive list of 1.4-versions!)

but the real pain is that there is no real information which versions are relevant. In my naive attempt I thought it is enough to go the secont-digit-steps (1.1.7 => 1.2 => 1.3 => 1.4)
But that was naive because you guys don't stick to the standards of release numbers (notice: important changes go to the first level, minor but important changes to the second digits etc.)
So I ended up in a total chaos. My expectation, that database changes are integrated in 1.2, 1.3 and 1.4 was wrong, I had to go back, install some minor releases ... everything was try and error.

And that is not good!

How I ended up?
At last I got a version 1.4 (after 14 hours of try and error, my FTP-client counted more than 21000 transferred files!!!), but, for one reason, one database table (pages) was missing. I could not identify which release created that table.
So I installed zenphoto on a local server, exported that table and imported that SQL into the database at the server.

I think, this experience shows that there are some rules ignored or some standards not held.

And I fear that I have to do the same with the second installation as well. (Don't tell me that these guys should update regularly... they are standard users, they just want to use the system .. until they got flooded by comment spam)

So I have one, no two big whishes:

1)
why not offer SQL-procedures for the necesary updates of the databases?
Whenever you change the structure of the database, please offer the relevant SQL.
Who (in a situation like I was) would mind to run 3 or 4 SQL-statements? Nobody ...

If you offer that, it would be easy to upgrade to the newest version and prepare the database tables for that version. That is is a common practice and it could save a lot of despair...

2) please stick to a transparent version structure:

"1.1.1.1" like "major.minor.revision" or so
(database changes are major versions!)

as described in wikipedia: "The standard GNU version numbering scheme is major.minor.revision,"

so, now I feel better, I had the strong need to tell you my experience of the last 2 days

Cheers, Connie

Comments

  • acrylian Administrator, Developer
    Good that you feel better now..;-) Sorry that you had trouble. I did successfully upgrade very ancient 1.0.8.2 versions to 1.4.x directly without any issues. Setup actually does all the database changes for you. Btw, the "pages" table was added with the 1.2.6 (I believe) release by the Zenpage CMS plugin (then being optional and now it is should be created by default).

    As to the version numbers I see the point but I will leave the answer to our chief developer later today. (Regarding version numbers you should also talk to the Firefox team, that is nuts...;-)).
  • Hallo,

    "I did successfully upgrade very ancient 1.0.8.2 versions to 1.4.x directly without any issues"

    well this sounds good, but when you read all the forums, there are suggestions not to do it that way, but step by step ...

    I will try a direct upgrade with the second site, for all means I have backup of files and database ;=)
  • acrylian Administrator, Developer
    Yes, but these forum suggestions are also older (our install/upgrade is the place for the actual infos. We or specifically my colleague has greatly improve the setup script constantly and is still doing it. We just cannot test upgrades from all possible releases due to lacking resources.

    We recommend indeed frequent updates so you don't skip that many. Especially if you use a custom theme with custom functionality you might run into issues as things naturally change (the object model for example).

    The sites I upgraded were quite plain ones (no comments etc). Backuping before doing so is of course standard anyway we don't really need to talk about...;-)

    Regardless, we appreciate any feedback.
  • as described in wikipedia: "The standard GNU version numbering scheme is major.minor.revision,"
    You forgot to quote
    Again, in these examples, the definition of what constitutes a "major" as opposed to a "minor" change is entirely arbitrary and up to the author, as is what defines a "build", or how a "revision" differs from a "minor" change.
  • still my quest for a rational versioning number system is profound and justified even when I do not discuss all versionizing philosophies ;=(

    the fact that I, as a veteran in software (25 years of software support) and web applications (18 years of net practice) run into such a dilemma because of unclear versions / upgrade informations shows that your system is not helpful ...
  • still my quest for a rational versioning number system is profound and justified
    Well, that is a mouth full. I suppose you are the authority on this. (Oh, sorry, you did say that, didn't you.)

    Then you really must realize that Wikipedia is simply an compostit of opinions by the people who bother to edit the articles and not an authority on anything.

    I am impressed with your 25 years of sowfware support. Does that trump 46 years? Surely with all your experiece you are well aware that if you do not revisit software in 14 releases (almost four years, BTW) significant changes will have occurred even if no significant change was made in any individual release.

    As to which releases would be significant. None. But of course there might be bugs in the softare (you probably realize that as well with all your experinece) so any particular upgrade paring may not work. We simply do not have the resources to test all these possible permutations, so if someone stays out of touch with the changes they may experience some difficulty getting current.

    BTW, since you are a software developer you can probably find all those SQL statements needed to upgrade the database. They are quite will documented in the setup script that actually does the migrations. With all your skills and experince I am surprised this missed you.
  • thank you for this lesson, I am quite impressed.

    Yes, next time I will study 17 updates for trying to find ALTER TABLES etc.

    Maybe you did not read that I had to do this upgrades because users of your application were lost. It is not because I did not care for upgrades of any application that I am using.
    I tried to help.

    If I am lost I think I may contribute a quest for a better documentation.

    But after this lesson which you gave me I am so impressed that I retire to pencil and paper, leaving you alone and not molesting you anymore.
  • acrylian Administrator, Developer
    My colleage replied with some irony as you really forced that with your former answer listing your experience... (as they say "What goes around, comes around.") Really no need to be offended. We use our version numbers since Zenphoto was started (actually before we even came on board). You indeed are the first to complain about that...

    As my colleage said, it is up to every developer how to use what version numbers (Tell Mozilla! They now even use major version numbers for bug fix releases as does Google with Chrome). I am sorry, I have to agree to my colleague that after skipping 17 release you cannot expect everything to work without possible issues. (again, as said I was able to!). I doubt that that will work with any other CMS.

    The setup script contains all necessary sql query and they are even listed with version numbers. See /zp-core/setup.php starting around line 1548.
    If I am lost I think I may contribute a quest for a better documentation.
    Contributions are always welcome, so we look forward to this.
Sign In or Register to comment.