Spree version Up-gradation from 1.1 to 2.1 - Issues && Best Practice - ruby-on-rails

Can any one teach/guide me the best approach for upgradation of spree 1.1 to 2.1 version If any one have idea?
Actually I am looking to upgrade spree version from 1.1 to 2.1 where I am getting the more dependency errors why because I have used more spree extentions which are supportable to spree 1.1.
I am looking for compatible version of these extensions with spree 2.1.
I don't find any below extentions compatible versions with Spree 2.1.
spree_essentials
spree_essentials_blog
spree_essentials_cms
spree_social
spree_address_book
As per my review, Its big deal to upgrade spree along with above extensions..
Please any one share me your idea on it If you thought/find any compatible version of above extensions with latest spree 2.1 ver.
I am eagerly waiting for your reply/help.
Thanks In Advance.

One important thing is to upgrade to each major/minor release along the way. In your case you'll need to go:
1.1 -> 1.2 -> 1.3 -> 2.0 -> 2.1
You can upgrade to the latest patch release for each minor version, or upgrade to the 'x-x-stable branch on Spree's github (for example 1-2-stable).
Then you're correct that you're going to have to deal with all of the customizations that you've made. 2.1 is a very new release. It also makes a significant change moving from Rails 3.2.x to Rails 4.x. You'll need to follow a Rails 3->4 migration guide for your application in order to get your application working in Rails 4 (outside of Spree).
Because Spree 2.1 is so new, and you have to upgrade each release along the way, I'd probably recommend that you stop at 2.0 for now. You're more likely to find extensions that work with 2.0. Remember to check Github forks for people who have already upgraded the support Spree version of those extensions.

Related

Grails upgrade from 1.3 to 2.4

I have a legacy grails app running on 1.3 on Java 6 with tomcat 6.
We need to upgrade to java 8 on tomcat 8.
Is it possible to upgrade grails version from 1.3 to 2.4.5.
Lot of compilation issues and some of the holder classes are missing.
Please suggest.
The easiest way we've found to upgrade between incompatible versions of Grails is to create a new application in the new version, and migrate the services/controllers/src directories into the new application.
You will need to keep in mind various changes (like the Holders classes you mentioned, which are now part of Holders in grails.util.Holders, iirc). Also, you'll probably need to upgrade any plugins you use to newer 2.4.x-compatible versions as well (specifically spring-security, etc.)
It's not an easy task, but it can be done. We've migrated from 1.x to 2.x before, and from 2.2 to 2.4, and we're currently migrating to 3.x. BTW, since you're migrating, perhaps moving to 3.x would be a better move?
Good luck!

Suggestions required to convert ruby 1.8.x to 4.1 version

I have developed application on rails 1.8.7 three years back. Now i would like to convert it to latest version of rails.
Can you suggest steps to convert to latest version ?
As Pavan already said, you probably mean Rails 4.1. Was your application developed with Rails 3.2? If so, check out this upgrade guide: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 You should upgrade from 3.2 to 4.0 first and then use the advantages of 4.1.
Of course, a decent test coverage helps you to reduce time spent on debugging and error finding.
Also you need to upgrade your Ruby version to at least 1.9.2 (2.1.0 is better). This should not introduce any errors to your code.
edit:
If you are absolutely sure you have Rails 1.2.5, it will actually be too old to upgrade it. You need to upgrade it to every major version and see if everything is stable. I assume the effort to reimplement it in Rails 4 directly is not much larger.

which version of rails should I use for a new project

I have been working with rails 2.3.5. I am gonna start a new project on rails. Should i continue using the earlier version or should i hop on to rails > 3 ? If so which is the more stable version?
It is better to use rails 3.0.x version as these days lot of new plugins(like active_reload) are targeted only for 3.x version.
3.1.x have lot of cool features(like asset pipeline, saas integration, coffescript integration, etc), but its still a release candidate and I faced some issues while using it. I guess we have to wait for the stable 3.1.x release.
I have been using 3.0.7 for a while and found it to be very stable.
3.0.10 is recently released and you can easily upgrade to it from 3.0.7 any time you want in the future.
If you are stuck to 2.x version you will be missing cool features like mentioned here: http://net.tutsplus.com/tutorials/ruby/5-awesome-new-rails-3-features/
For a new project, I would use Rails 3.1 or for a bit more stability, 3.0.7. There are some noticeable differences compared to 2.3, but it will be supported for longer and most development of new gems and documentation are being written for Rails 3.
You should definitely NOT use 2.3 and earlier.
The Rails framework is improving at a steady pace and if there is a downside to that is that it can be a pain to upgrade from version to version, especially as regards to major version changes which introduce tons of backward incompatibilities.
Why then would you want to put yourself in the hole at the get go.
Another issue is how ready and mature is the ecosystem (ruby, popular gem packages, etc.). This leads you to consider whether you should start with 3.0.10 or 3.1 release candidate.
It turns out the great majority of gems working with Rails 3.0 is also working fine with Rails 3.1.
The little downside is that 3.1 is still in release candidate status but it's all but ready for final release and that should come within a matter of days or maximum a couple weeks (as of today Aug. 25, '11).
I would strongly recommend you start all new apps with 3.1. That's what I'm doing.

Compatibility of Rails 2.3.8 with 3.0.1

Does all Rails 2.3.8 projects are compatible with Rails 3.0.1 and vice versa or both must be different?
If they are different means not compatible then is there any tool available which can help me convert a project made in 3.0.1 into 2.3.8 or have to do it manually?
Rails 3.0 is not backward compatible with Rails 2.3.x. Likewise, in order to upgrade a Rails 2.3 project to Rails 3.0 you might need to apply some changes.
Generally speaking, Rails 3.0 is a major version upgrade and contains several new features. You cannot simply change the underlying framework version because the two releases have several differences.
The rails_upgrade Gem can help you upgrading your Rails 2.3 project to Rails 3. I also wrote an article about making your Rails 2.3 project more Rails 3 oriented in order to have an easier transition.

Simple Question: Is Rails 2.3.4 backward compatible with Rails 2.3.2?

A client is indicating that the Rails version I have installed on my Ubuntu servers (2.3.4) is not backward-compatible with the older Version 2.3.2.
I want to know if that is true or not before I attempt to install the older Rails.
the beauty of rubygems. just install both versions and have them specify which version in their environment file problem solved who cares if its compatible or not
New features are never backward compatible.
Well, it is possible that you are using features that are only available on version 2.3.4 , and therefore they're not on version 2.3.2.
Check its changelog to see the differences.
Upgrading between even minor Rails versions often causes problems with old apps.
That said, 2.3.4 is the current recommended stable version so it would probably be worth biting the bullet and getting the 2.3.2 app running on it. Probably won't take very long, if you've got a decent test suite.
There are also a few of bugs that are introduced. Like this one I found involving named scopes using includes. That was introduced in 2.3.3 and wasn't fixed in 2.3.4
2.3.2 => 2.3.4 has been the most painless upgrade so far for us (large app with lots of legacy, rails 1.x code).
The only major issues we had were with after_initialize vs exists?.
It all varies app by app. If you are hosting a client's app, then you should provide gems of all rails versions (they will happily sit side by side (90% of the time)).

Resources