[ 
https://issues.apache.org/jira/browse/AMBARI-26060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17838931#comment-17838931
 ] 

vanshuhassija commented on AMBARI-26060:
----------------------------------------

At the time of writing this, ambari-web is using version: v1.0.pre which is a 
very old version of the stack. The framework has evolved a lot since then. The 
current stable version is 5.7.0
To upgrade it to the latest version it would require effort and it needs to be 
done with an incremental approach. We can have 2 approaches broadly which will 
facilitate the upgrade
h2. *Approach 1:*
h3. Incremental Approach:

According to the official documentation if an upgrade is required for ember, 
the upgrade should be done in an incremental manner. In this case where the 
requirement is to upgrade from .x to 5.x, the approach would be
1. Upgrade 1.0.pre to last available version of ember 1 and test for all the 
changes. Check for peer dependencies in case something needs to be updated.

2. Now have a major upgrade from 1.x to 2.0

And the process goes on till we reach the latest/required ember version
h4. Minor version Upgrade

Let's say you are upgrading an app from {{v3.4}} to {{{}v3.8{}}}.  To do this 
kind of version upgrade, follow the instructions [here in the CLI 
Guides|https://cli.emberjs.com/release/basic-use/upgrading/]. That process will 
make sure that any peer dependencies of the {{ember.js}} core codebase get 
upgraded too. Automated tools will help you make the right changes to 
{{package.json}} and other files. The point of a minor version bump is that you 
shouldn't need to change anything in your app when you upgrade - it should all 
keep working, whether or not you choose to adopt new syntaxes and features.
h4. Managing deprecations

If an API you are using will be going away in the next major version of Ember, 
you will see a deprecation warning in the developer console. Sometimes, they 
will be deprecation warnings caused by code in your app, and other times, they 
may be caused by an addon.

Read about the specifics in the [Deprecations 
Guides|https://deprecations.emberjs.com/].
h4. 
Managing major upgrades

When upgrading major versions, such as Ember 2 to 3, some work may need to be 
done before the {{ember-cli-update}} command should be run.

The overall strategy is to first use {{ember-cli-update}} and its codemods to 
upgrade to the final version of a major release. Codemods will take care of 
tedious, repetitive tasks, but some deprecations will require the attention of 
the developer. Next, resolve all remaining deprecation warnings. Lastly, use 
{{ember-cli-update}} again to make the major version jump.

 

Keeping all these in mind the final approach will look like

The current app should first go to 1.<last-stable-version>, resolve 
deprecations, and then upgrade to Ember 2 and so. For an application like this, 
it is recommended to jump between LTS versions in order.
h2. *Approach 2:*

Another approach would be to change the tech stack as a whole and switch to 
library/framework. 

Switching to a different tech stack, such as React, Angular, Vue, or Svelte, 
involves a complete overhaul of the application. This approach offers its own 
benefits and challenges.

*Benefits:*
 # *Modern Frameworks:* These frameworks are modern, well-maintained, and come 
with a wealth of features that can enhance the application.

 # *Community Support:* They have large, active communities which provide a 
wealth of resources and support.

 # *Performance Improvements:* These frameworks can potentially offer 
performance improvements over the older Ember version.

*Challenges:*
 # *Rewriting the Application:* The entire application needs to be rewritten. 
This is a time-consuming process and can introduce potential bugs or issues if 
not handled carefully.

This approach, while requiring substantial effort, can result in an application 
that is more maintainable, scalable, and future-proof.

> Upgrade Ember js version
> ------------------------
>
>                 Key: AMBARI-26060
>                 URL: https://issues.apache.org/jira/browse/AMBARI-26060
>             Project: Ambari
>          Issue Type: Improvement
>          Components: ambari-web
>            Reporter: Bhavik Patel
>            Priority: Major
>
> Upgrade Ember js version as current version has many security findings.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to