Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Bugfixes to 1.2.6

Developers
noamik
2013-04-30
2013-04-30
  • noamik
    noamik
    2013-04-30

    Hi Eric,

    I wanted to ask if 2.0 was based on 1.2.6 code-wise or if it is a complete rewrite. At my company we just went through a pretty painful upgrade all the way from 0.55.1 all the way up to 1.2.6
    During the process I wrote a lot of patches to the upgrade scripts (unfortunately we only upgraded files and permissions, so we didn't fix any issue with the other modules, if there are any), fixed some issues in 1.2.6 and added a recent files module, since we needed that feature.

    While I would happily share our findings, I would not want to waste time on something no one needs. Please just drop me a note if you feel that providing our patches would make sense to you.

    Thanks a lot for your great work,
    Michael

     
    Last edit: noamik 2013-04-30
  • Eric Lawman
    Eric Lawman
    2013-04-30

    The upgrade from 1.2.6 to 2.0 was not nearly as big as the jump from 0.5x to 1.0, at least not from the API side. There were some database mods. The auth tables were renamed to something more descriptive, notification tables were added, and some docmgr object tweaks were made. To see the extent of the database mods, you can look in the install/classes/dbupgrade/sql-upgrade-20 directory in DocMGR 2.0. There were some significant authentication mods, at least in how the underlying layer functions. We support stronger encryption for password storage, read-only support for LDAP, and now sync all accounts to the actual database for normal operation. The rest of the API was largely untouched with the exception of code cleanup and performance improvements.

    Most of the changes are client-side. The interface was completely rewritten from the ground up. It still uses the module setup as before, but the interface is built using custom interface tools which function with DOM, javascript and CSS.

    I have done many successful upgrades from 1.2.6 to 2.0 using only the stock installer (other people may disagree?). I also test this upgrade path with every release. I did find a minor bug where an error is thrown even though the upgrade is successful, but that will be addressed in 2.1 which will be out very soon. 2.1 makes some significant client-side security improvements, so you may want to wait for that release before taking the plunge.

    So, while 2.x still has some settling down to do, once you decide to try it I believe it will be much easier than your upgrade from 0.5x to 1.x. An easy upgrade path was a priority for me when I wrote it.

    As for your patches, I haven't really had any requests for additional patches. I believe the people that tried that upgrade were able to get it to work one way or the other (there were a few I worked with here and there). But, I'll keep you in mind in case anyone comes asking.

    I hope that helps!

    Eric

     
  • noamik
    noamik
    2013-04-30

    In this case I doubt they went through it. For example we discovered a bug in the upgrade process that would give any user who had view permissions on 0.55 edit permissions on 1.2.6. The bitmask was offset by one stop, I guess you get what that results in :-D

    As for the 2.x-version: I don't think we will do the upgrade anytime soon. Atm we are pretty happy with the 1.2.6
    So I guess we meet in the forums again by 2015 ;-)

    I'll take a look into the 2.x's source code and see if you fixed the database connector issues. The 1.2.6 had trouble delivering some of our files due to filenames like: "Test's best è â.doc" because of the use of "addslashes()" instead of mysql_real_/psql_escape_string(). If you still have "addslashes()" for anything database related in the 2.x-code, you might want to take a look. Postgresql is ignoring escaped strings with slashes now (they had announced this step for quite some time) ...