Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AngularJS long-term support #90145

Closed
mshustov opened this issue Feb 3, 2021 · 18 comments
Closed

AngularJS long-term support #90145

mshustov opened this issue Feb 3, 2021 · 18 comments
Labels
Feature:Dependencies Team:Operations Team label for Operations Team

Comments

@mshustov
Copy link
Contributor

mshustov commented Feb 3, 2021

As announced in https://blog.angular.io/finding-a-path-forward-with-angularjs-7e186fdd4429
AngularJS is no longer supported after 31.12.2021
With an option to continue having a paid support for security fixes.

We still have quite a few plugins relying on AngularJS:

  • dashboard
  • discover
  • kibana_legacy
  • timelion
  • vis_type_table
  • beats_management
  • graph
  • monitoring

Some are in the (not very active) process of moving from Angular to React, some are going to be removed in v8.0 release.
Although we will have to maintain them for several years along with 7.last release.

We need to decide what is our support strategy for the listed plugins - should we consider 3rd party support or we maintain our own angular fork.
@kobelb

@mshustov mshustov added Feature:Dependencies Team:Operations Team label for Operations Team labels Feb 3, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-operations (Team:Operations)

@joshdover
Copy link
Contributor

Thanks for filing this. I want to ping these teams just to confirm the detailed status of each of these plugins:

@elastic/kibana-app I believe we are removing timelion in 8.0, correct?

Do we have plans to completely remove Angular from dashboard, discover, kibana_legacy, vis_type_table, graph?

@elastic/stack-monitoring Are there any plans to remove Angular from monitoring?

@elastic/ingest-management Are we going to be able to remove beats_management in 8.0?

@flash1293
Copy link
Contributor

dashboard is owned by @elastic/kibana-presentation but AFAIK removing angular is actively worked on.
For the kibana app plugins: discover is actively worked on, vis_type_table, timelion and kibana_legacy shouldn't be an issue because it's just things waiting for the big 8.0 to do breaking changes. graph is the biggest issue here, @timroes seems like we need to free up some dev time to migrate it to react.

@ThomThomson
Copy link
Contributor

Angular routing was removed from Dashboard in: #82909. I left in a single usage of angular.toJson which I can look into removing ASAP.

@jen-huang
Copy link
Contributor

@elastic/ingest-management Are we going to be able to remove beats_management in 8.0?

Yes, we are still planning on removing it for 8.0.

@chrisronline
Copy link
Contributor

@elastic/stack-monitoring Are there any plans to remove Angular from monitoring?

Yes, but a timeline is not clear right now. cc @jasonrhodes

@mshustov
Copy link
Contributor Author

mshustov commented Feb 5, 2021

@joshdover even if the timelion and beats_management are going to be removed in v8, we have to support them in 7.last release over the next few years.

Deleting Angular from other apps after v8.0 is preferable, but it's a separate issue.

@timroes
Copy link
Contributor

timroes commented Feb 5, 2021

I think we might run into the problem of having Angular in 7.last. The only other option I can currentlty see is that we'd need to spend some time rewriting applications that we know are removed in 8.0. I only want to raise that for the timelion app, that's not a minor task, so we should carefully evaluate if we want to spend that time to get rid of Angular for 7.last, if that would be the option.

cc @timductive

@mshustov
Copy link
Contributor Author

mshustov commented Feb 5, 2021

The only other option I can currentlty see is that we'd need to spend some time rewriting applications that we know are removed in 8.0.

for beats_management all angular code is in a single file https://github.com/elastic/kibana/blob/4584a8b570402aa07832cf3e5b520e5d2cfa7166/x-pack/plugins/beats_management/public/lib/adapters/framework/kibana_framework_adapter.ts

@jen-huang is it something that you can do before 7.last release?

@jen-huang
Copy link
Contributor

@restrry I didn't realize the angular code was so minimal. We'll add it to our roadmap for 7.14.

@chrisronline
Copy link
Contributor

@joshdover @restrry We made #90254 to track/discuss removing angular from monitoring

@ph
Copy link
Contributor

ph commented Feb 5, 2021

@restrry the argument of @timroes is really valid for us, in 8.0 we want to remove beats management. But I think this application is in a really weird place, it never was out of beta, it's not really supported and in our documentation we clearly says we have stopped development.

I'd say that maybe we could just remove it before 8.0 and not bother with the transition, I am going to followup on that.

Also 7.last will be available and supported for a very long time and its a really long time for an unsupported feature.

@joshdover
Copy link
Contributor

I suspect that a commercial support license is going to be a much more cost-efficient option than spending our time on migrating away from Angular, especially in apps that aren't going to be sticking around. We took this option with Hapi and I see no reason we'd not take a similar path here (unless the license is very expensive).

@kobelb @stacey-gammon Who should own investigating this option?

@kobelb
Copy link
Contributor

kobelb commented Feb 10, 2021

@joshdover I've added it to the agenda for our next tech-lead sync. I'll let you know what is decided.

@ph
Copy link
Contributor

ph commented Mar 24, 2021

To make sure the decision is here, We have decided to remove beats central management in 7.14, so we won't need to migrate to Angular. cc @mostlyjason

@mshustov
Copy link
Contributor Author

@ph @jen-huang is the removal of beats central management planned in the v7.14 roadmap?

@jen-huang
Copy link
Contributor

@mshustov Yep, it is.

@timroes
Copy link
Contributor

timroes commented Jul 15, 2021

After more discussions in other places, we decided to fully remove AngularJS by 7.16. I am thus superseeding this issue with #105711

@timroes timroes closed this as completed Jul 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dependencies Team:Operations Team label for Operations Team
Projects
None yet
Development

No branches or pull requests

10 participants