Should I upgrade my project from Cake 1.2.5 to CakePHP 1.3.0? - cakephp

My web project (to be launched in a few months) is currently using CakePHP 1.2.5 / PHP 5.1.6 / MySQL 5.0.77.
From a performance point of view, is it a good idea to upgrade to 1.3?
Will it make it easier to later upgrade to the (PHP5-only) CakePHP 2?

I'd say it depends on when you expect to get your site out the door. 1.3 is currently in alpha status and probably won't be officially stable for a while. While the changes being made between 1.2 and 1.3 shouldn't have a huge impact on the overall stability, the new features being put in might still be buggy. The question is, is there anything in 1.3 that you absolutely need now?
If you want to release your site soon on an unstable version of 1.3, you need to make sure through a lot of testing that the parts you're using are performing as expected. If your project will evolve over time together with 1.3, let's say over the next 6 months or so, and you continuously keep updating, you'll probably be in better shape. For example, I developed a project on the 1.2 beta and there were a few bugs in Set, which tripped me up, but got ironed out 'till the final release.
For a long-term project, I'd prefer the 1.3 branch, while for a near-future release I'd stick with 1.2.5 for now. You can keep an eye on the Migration Guide to avoid API calls that will be deprecated in 1.3, to allow for an easier later upgrade.

I think an upgrade is always a better opition IF you have time to do it. Im not into CataPHP but, i would do any upgraded if i have enough time before the release.

i'd upgrade early situation allows. if you haven't you might want to start using the cakephp/simpletest test to make sure things work just fine.
i took my time upgrading from 1.1 to 1.2 and had a lot of 'fun' going through my codes. :)

Related

Upgrading Angular 2.0.0 to 2.x.x

Currently our application is on the Angular 2.0 version.
How important is it to keep updating it as and when Angular releases a new update?
In the changelog i dont see any breaking changes that need to be addressed immediately going from 2.0.0 to 2.4.2.
So is it necessary to upgrade our application from 2.0.0 to 2.4.2? Or should we just wait till there is another big release?
I would suggest upgrading to newer version of major release when:
You came across the issue/bug which was fixed in newer version.
There's a new feature which will come in handy.
Changes positively affecting performance - e.g. AOT compiler which can be a deal breaker to some people, but it might require some code to be rewritten to make it AOT-friendly.
Angular uses semantic versioning. Going from 2.0.x to 2.0.y means that a bug has been fixed. It's usually a good idea to avoid having bugs. Going from 2.0.y to 2.1.0 means that a new feature is available. You might want or need to benefit from this new feature.
You won't have any breaking change until the next major version, which will be 4.0.0 (there won't be a 3.x version, in order to align angular and its router versions)
As mentioned on this link under Best Practices Section
Best practices
Keep current with the latest Angular library releases. We regularly update our Angular libraries, and these updates may fix security
defects discovered in previous versions. Check the Angular change log
for security-related updates.
Don't modify your copy of Angular. Private, customized versions of Angular tend to fall behind the current version and may not include
important security fixes and enhancements. Instead, share your
Angular improvements with the community and make a pull request.
Avoid Angular APIs marked in the documentation as “Security Risk.”

New Project - Angular 1.4 or 2.0 [duplicate]

This question already has answers here:
New Project - Angular 1.4 or 2.0? [closed]
(2 answers)
Closed 6 years ago.
This is duplicate of
New Project - Angular 1.4 or 2.0? . However thats been asked 6 months back although Angular 2.0 is out now.
We are also about to start the new project with AngularJs with responsive web design to have it compatible with mobile browsers.
Which version ( 2.0 vs 1.4 ) would be recommended considering 2.0 is quite new and things may change or may not. Although I am quite keen to use 2.0 given its new features.
Your expert inputs would be appreciated.
A source for some indicators would be https://splintercode.github.io/is-angular-2-ready/ :)
So no.
On the other hand I've heard from companies clearly working with angular 2 already. Rather smaller ones.
I would compare my project timelines with the one from angular - and consider some delays as well. If your project runs more than 6 months: maybe. Depends on what features you implement and when you do that. UI related features: the later the better.
If that looks suiteable: why not.
But consider issues with the beta software. Some issues might not be easy to identify. For ex. I tried working with the new router and ran into issues with the components and controllers. If I needed that feature (a working routing) tomorrow then angular 2 would not be the best choice.
Beside angular 2 being released, some libraries and tools may need to adopt as well, which will require some time too.
And you can not realistically plan based on announcements. Sometimes features one waits for are just moved into the next release.
So it depends on how much space is for moving work around or delay some tasks. And of course how well your developers are trained to track down arising issues and identify the cause.
If you have a release date already I would not take the risk (speaking today 28th oct 2015). I would rather learn something about the business and then migrate (do a planned migration) once I understood more.
You may ask again tomorrow ;-D
Angular 1.5 is close to release (in Beta now). It will be production ready and have some great new features, like the "component" object.
https://github.com/angular/angular.js/blob/master/CHANGELOG.md
https://toddmotto.com/exploring-the-angular-1-5-component-method/
Start with Angular 1.5, write in TypeScript, follow all the latest best practices and your code will be close to being ready for Angular 2 upgrade.

CakePHP LTS Version Strategy

The CakePHP community has frequent minor release cycles. Can anyone suggest a strategy for selecting an LTS version - specifically a minor version.
Or would the best strategy be to upgrade as frequently as the minor versions are released?
We can assume that the 2.x and 3.x branches get updates for the next few years (i'm not sure, but i think even 1.3 still get security updates if leaks are found)...
So your choice is between 2.x and 3.x where 3.x is cleaner/faster and easier extendible in form of 3th party libraries and 2.x is more wide spread(plugins, tutorials,... ). I would definitely recommend you to go with 3.x due to a higher php version(it's sooo much faster).
Cakephp releases in minor versions (3.0.x) are bug and security fixes. So if you select:
"require": {
"cakephp/cakephp": "3.0.*"
}
you should be just fine for the next few years.
If you than feel like a feature is missing which is present in a newer 3.x release you can always find a migration guide for the newest version in the cookbook: http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html as you can see from 2.x to 3.x there are a lot of breaking changes and an update is most likely really time consuming.
In comparison a update from 2.x to 2.6 is less complex as there are primary smaller feature improvements, renaming of functions and stuff like that: http://book.cakephp.org/2.0/en/appendices/2-6-migration-guide.html
CakePHP 3.0.x is the most current branch of CakePHP and if you're starting out with Cake is the best place to start (CakePHP 2.6.x is still being supported for the foreseeable future, but will eventually get dropped).
The recommended way of installing CakePHP is using Composer. If you want to install the current stable release then you want the following in your composer.json file:-
"require": {
"cakephp/cakephp": "3.0.*"
}
This will insure that every time you do a composer update you'll only get bug fixes and minor changes that shouldn't break your app. Ideally you want to ensure your app is bug free so it is a good idea to periodically update Cake with these minor version changes.
When CakePHP 3.1.x is released in the future it is likely to introduce new features that have the potentially to break an app's existing functionality. In this case upgrading needs to be done with caution. You will easily be able to update by modifying your Composer requirement, but the app will need thorough testing. This can potentially be time consuming, so unless you really need the new features is unnecessary.
I would highly recommend CakePHP 3.x if you are starting a new project. However, I was just at the CakePHP Conference in New York and the CakePHP Core Developers indicated they would be supporting 2.x for 2-3 years. That time period greatly hinges upon the community to some degree, they are not just going to stop supporting 2.x. any time soon. They are actually going to backport some of the 3.x features into 2.x. They tentatively plan to Release CakePHP 2.7 and CakePHP 3.1 sometime this summer.
I would also ask have you been using 2.x and what is your comfort level with CakePHP? Depends on the size of the project. I haven't made the jump to 3.x yet, haven't had a new project to try it on yet. I have a ton of code for 2.x like bake scripts and plugins that I have customized, so for profitability on a project I still might consider using 2.x.
There will be some learning with CakePHP 3.x especially if you are coming from 2.x, the ORM is awesome, but it much different than 2.x. So you have to weigh your options. They mentioned tools for upgrading from 2.x to 3.x that might help if you start with 2.x and jump to 3.x later. I don't think at this point I would do that, that is more for people upgrading from 2.x to 3.x. that have existing 2.x projects. I would pick a version and run with it.
The the other answers suggest use composer to install CakePHP. I started using composer about 8 months ago with CakePHP 2.x and love it. With CakePHP 3.x, I recommend using composer, like this if it is installed globally: composer create-project --prefer-dist cakephp/app [app_name]

What are the differences between i18n and l10n in AngularJS 1.3, 1.4 and 2?

I have an AngularJS application written using AngularJS 1.4. We need to adapt this to work with different languages and of course sometime in the future we need to move to AngularJS 2.0.
Has anyone out there used the i18n and l10n features of both AngularJS 1.4 and 2? From what I understand 1.4 adds new features over 1.3 but I cannot find any information on what has changed :-(
What I would like to know is if there are some big differences. Big enough that we should wait until AngularJS 2.0 before starting internationalization.
Please do not close this question. Yes I know it may not fit exactly as a perfect question but I am pretty sure there are developers out there who are asking the same question as me.
Since AngularJS 2.0 will be a whole rewrite I don't think it is a good idea to rely on being able to migrate from previous versions. Moreover, it is not going to be released soon and even version 1.4 is not stable yet.
You should be always using the latest stable version. However, there is an official thread about migrating.
If you want to learn about specific changes e.g. l10n and i18n have a look at the changelog.

is it safe to write a new application in angularjs 1.2?

We want to convert our web app to angularjs, the problem is we need to support IE8 so only option is to stick with angularjs version 1.2. The question is it safe to go with this version? As 1.3 is already out and soon version 2.0 will be there too, so in near future (like 8-12 months) if we dropped IE8 support and then want to migrate to 1.3 or even 2 how much effort it will be?
Migration from Angular 1.2 to 1.3 is far more easier as compared to moving to Angular 2.0
There is even a migration guide to migrate from 1.2 to 1.3. So migrating would be possible to 1.3 or 1.4 or 1.x.
There is a bit of paradigm shift when it comes to Angular 2.0. The migration path is still not clear and we even don't know whether one is possible.
Update: This video from ngconf 2015, gives some useful insight into how build today with 1.3, that makes transition easy.

Resources