• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Updating CodeIgniter 1.7.3 to CodeIgniter 3.1.7

#1
I am trying to upgrade from CI version 1.7.3 to CI Version 3.1.7. The problem I have is for some unknown reason the User Guide for 3.1.7 DOES NOT even mention upgrading from version 1.7.3 to version 2.0-let alone upgrading from 1.7.3 to version 3.1.7. How can I get a list of changes made from version 1.7.3 to 3.1.7, IF codeigniter's own user's guide does not even MENTION my version?

I do remember reading something about changing CI version 1.7.2 to version 1.7.3, but then, I am not sure if that means I should follow the upgrade steps for 1.7.2?

So, if I am to follow the steps to upgrade from 1.7.2 to 2.0 then what was the point of upgrading to 1.7.3 to begin with? Any ideas would be greatly appreciated.

Thanks in advance!
Reply

#2
The oldest CI version in our code repository is 2.0.3, from Jan 2011.
The last version from the CI1.x version, according to the changelog, was 1.7.2, from Sept 2009.

We don't have a record of CI 1.7.3 in our repo, though I do see references to it when googling.
It would appear that CI1.7.3 was not officially released. The "CI1.7.3 references" I found searching would appear to be part of CI2.0.0, and they seem to suggest that there was an unofficial packaging incorporating some of them.
There are some stackoverflow and other (not recognized) threads about "1.7.3", but I don't know how much faith to put into them.

Given the age of your codebase, it might be better to look at rewriting it in CI3 directly, rather than proceeding through each of the versions since then.
Reply

#3
Thank you for your response,

Oh no! That would be a absolute NIGHTMARE! Is a rewrite really the best option? As it sits right now, I would need to rewrite/reconfigure around some 45 files to do a "clean code" rewrite as my site is VERY complex and "code heavy". Is there really no other alternative?

Thank you you again!
Reply

#4
CI3 is not necessarily backwards-compatible with CI2, and I suspect that much of your code will need to be modified, albeit not necessarily rewritten. Most affected would be the classes, IMHO, namely controllers, models and libraries, and then the configuration.

I suspect that the [upgrade from 2.2 to 3.0](https://www.codeigniter.com/user_guide/i...e_300.html) instructions would cover most of the changes needed. Take a look before despairing Smile
Reply

#5
Thank you for your post. I am a little confused about something though. If I am to follow the upgrading guide how does one get a copy of the previous "system" folders for the earlier versions of CI as outlined in the Upgrade Guide as per the

"Step 1: Update your CodeIgniter files.
Replace all files and directories in your “system” folder except your application folder."

So, without access to the next version from 1.7.3 to version say 2.0.0's "system"/(kernel) dir how is anyone supposed to even know if their changes were done correctly? Not only that-As I mentioned above, its your guide's #1 step to upgrading in the 3.1.7 User's Guide!

Don't you see how that can be confusing to mention replacing something there is no KNOWN repository linked to? YET you are supposed to do that Step 1"?

Please explain... Thank you again!
Reply

#6
Of course that's step 1, you need to update the framework files ... What else did you expect it to be? Smile

Look, none of us (the current maintainers) have had anything to do with CodeIgniter pre-2.0.3. I am the longest-serving current member of the project and my very first contribution was a bugfix that landed in 2.0.4 (and I did that as a random contributor, not as a project member of any kind).
If it wasn't all hosted on GitHub since 2.0.3, we wouldn't have downloads even for 2.0.x ... Prior to GitHub, all I know is they've used BitBucket for CVS, and the official downloads were on EllisLab's servers. Whether they didn't/couldn't migrate tags between BitBucket and GitHub, or if there were tags at all - I don't know.

Even if that wasn't the case though, you still couldn't blame anybody for this ... 1.7.x is a PHP4-era version tree. If you tried, you probably wouldn't be able to compile PHP 4 today either, so why would anybody make a conscious effort to preserve software that depends on it?
And on top of that, you're looking for such archives so that you can upgrade from a version that was supposedly in development at an unknown point between 7 and 9 years ago, but was never released. I mean, you were probably tasked with reviving a dead project, and I feel for you, but maintaining software up to date is a responsibility that's been neglected for the better part of a decade somewhere on your end - that's not on us.

That being said, you don't need literally every release since then - there's only 3 of them missing, all minor patch releases from the same version tree. Just download 2.0.3 and do all the steps from 2.0.0-2 together with it, it's not that many. Similarly, you can go the same way from 2.0.3 to 2.0.latest, then 2.1.0 to 2.1.latest, etc.

But given that 1.7.3 was never released, that may all be futile. It's an unknown dev version - you may have changes within it that were later reverted or refactored, undocumented changes. If that's the case, nothing will help you, even if I were to provide you with all releases since 1.0.0.
Reply

#7
While I respect your opinion, You are WAY OFF on a few things and clearly misinterpreted and/or misread what I was asking.

First, I don't know how this became me blaming anyone, PERIOD. That was not AT ALL what I was doing.

I was simply asking where were the system folder file versions your user guide mentions using to patch this old version with-STARTING in VERSION 2.0.0?

Secondly, if no one on here had anything to do with CI til version 2.0.3 then I was asking could ANYONE point me where I could try to locate them? How you misconstrued that as "blaming anyone" I'll never know. Whether or not it was based on PHP 4 notwithstanding.

Third, I have no idea where you got the idea I WAS asking for versions PRIOR to 1.7? I HAD NOT mentioned anything about needing ANY file prior to 1.7 just version 2.0.0. Where that came from I'll never know either.

Fourth, As far as this being a failure to update the software on my end: I don't think anyone who was or is running version 1.7 on any project would ever have thought that a version CI would ever NOT BE backwards compatible. As version 2.0 appears to be the VERY FIRST time that has ever happened since CI's and PHPs original inception. However, I do take full responsibility for not paying closer attention to the updates to notice when we were told backwards compatibility would end. I assure you, had I of known backwards compatibility was ending I would have updated every time a official new release was issued.
So, yes I was negligent and ignorant in thinking ALL CI releases would be backwards compatible and just require some copy and pasting of files and then done. I am all too aware of that now. So yes that is my oversight.

Lastly, with all that said-I will try using 2.03 and updating from 2.0.0 through 2.2.and progress from there.

Worst case will have to re-code from the ground up...

Thank you anyway.
Reply

#8
(01-29-2018, 05:10 AM)Josh1985 Wrote: While I respect your opinion, You are WAY OFF on a few things and clearly misinterpreted and/or misread what I was asking.

First, I don't know how this became me blaming anyone, PERIOD. That was not AT ALL what I was doing.

I wasn't necessarily saying that you're personally blaming anyone, but the following does give that impression:

(01-29-2018, 01:36 AM)Josh1985 Wrote: So, without access to the next version from 1.7.3 to version say 2.0.0's "system"/(kernel) dir how is anyone supposed to even know if their changes were done correctly? Not only that-As I mentioned above, its your guide's #1 step to upgrading in the 3.1.7 User's Guide!

I mean, you might be blaming us for having a sub-par/conflcting user guide, or you might not. But it certainly sounds rather aggressive, and you've been randomly emphasising words with CAPS from your very first post, which (in case you're not aware) is commonly used to represent SCREAMING, so ...

(01-29-2018, 05:10 AM)Josh1985 Wrote: I was simply asking where were the system folder file versions your user guide mentions using to patch this old version with-STARTING in VERSION 2.0.0?

See, again with the "your user guide". When you say "your", that refers to a particular person or group, which makes it personal.

(01-29-2018, 05:10 AM)Josh1985 Wrote: Secondly, if no one on here had anything to do with CI til version 2.0.3 then I was asking could ANYONE point me where I could try to locate them? How you misconstrued that as "blaming anyone" I'll never know.  Whether or not it was based on PHP 4 notwithstanding.

I'm not stupid, I know what you were asking. What I was explaining with that is that because you are working with something based on PHP 4, it is unreasonable to even try to look for those old packages. You'd be wasting your time with that.

(01-29-2018, 05:10 AM)Josh1985 Wrote: Third, I have no idea where you got the idea I WAS asking for versions PRIOR to 1.7? I HAD NOT mentioned anything about needing ANY file prior to 1.7 just version 2.0.0. Where that came from I'll never know either.

Really? You'll even take literally that one silly, obvious exaggeration that I made at the end? It was supposed to underline the ridiculousness of your situation.

Quite ironic for you to do that, given how rattled you are by the possibility of someone misinterpreting you.

(01-29-2018, 05:10 AM)Josh1985 Wrote: Fourth, As far as this being a failure to update the software on my end: I don't think anyone who was or is running version 1.7 on any project would ever have thought that a version CI would ever NOT BE backwards compatible. As version 2.0 appears to be the VERY FIRST time that has ever happened since CI's and PHPs original inception.
However, I do take full responsibility for not paying closer attention to the updates to notice when we were told backwards compatibility would end. I assure you, had I of known backwards compatibility was ending I would have updated every time a official new release was issued.
So, yes I was negligent and ignorant in thinking ALL CI releases would be backwards compatible and just require some copy and pasting of files and then done. I am all too aware of that now. So yes that is my oversight.

A new major version (as in 2.x as opposed to 1.x) is not fully backwards-compatible ... what a shocker. Honestly, you might be the only person who didn't see that one coming. The entire point of having a major.minor.patch version scheme is to know when to expect breaking changes.

I have to say though, slacking upgrades because you think they'd all be BC is the most ridiculous thing I've read in a long time. 99% of people do it for the opposite reason - they're scared of BC breaks.

The reason why you should do regular updates is to receive bug fixes and, more importantly, security patches. If you don't do a single update (of either CI, PHP or other dependencies) in years, your application is guaranteed to have vulnerabilities.

Good luck.
Reply

#9
Mods please close my thread. This is no longer helpful
Reply

#10
Dude, I AM the mods.

Stop being so resentful, everything I've told you is for your own good.
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.