[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687053#comment-16687053 ] ASF GitHub Bot commented on METRON-1749: Github user asfgit closed the pull request at: https://github.com/apache/metron/pull/1217 > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679800#comment-16679800 ] ASF GitHub Bot commented on METRON-1749: Github user justinleet commented on the issue: https://github.com/apache/metron/pull/1217 @tiborm Great, thanks for running through that effort. We should definitely get that automated as part of the build. @sardell +1, it's great to see this stuff getting properly updated > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679824#comment-16679824 ] ASF GitHub Bot commented on METRON-1749: Github user tiborm commented on the issue: https://github.com/apache/metron/pull/1217 @justinleet Thanks! Fully agree. Created a followup ticket to track Travis integration of license checking. https://issues.apache.org/jira/browse/METRON-1863 > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16675370#comment-16675370 ] ASF GitHub Bot commented on METRON-1749: Github user tiborm commented on the issue: https://github.com/apache/metron/pull/1217 Thanks, @justinleet for reminding! We made a license evaluation with a tool named license-check. It reported the followings: ├─ MIT: 20 ├─ Apache-2.0: 2 ├─ BSD*: 1 ├─ (OFL-1.1 AND MIT): 1 └─ UNLICENSED: 1 The one unlicensed dependency is ace-builds@1.4.1 which is actually BSD licensed. metron-config also reported as unlicensed, however for me, it seems we properly used Apache-2.0. These seem reported wrong. OFL-1.1 AND MIT are used by font-awsome. OFL-1.1 is aka. Open Font License so I think we're fine with that. > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16671591#comment-16671591 ] ASF GitHub Bot commented on METRON-1749: Github user justinleet commented on the issue: https://github.com/apache/metron/pull/1217 While admitting some ignorance of proper formatting and unfortunately even best practices, I'm pretty good with the changes, particularly with @tiborm's +1. I know there's the checkbox, but I did want to double check that all the dependencies hit the license reqs. In particular, that nothing that had to be upgraded changed licenses to something incompatible. Given the large version leap, I think it bears calling out specifically. @sardell Did you run through that exercise? > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670553#comment-16670553 ] ASF GitHub Bot commented on METRON-1749: Github user sardell commented on the issue: https://github.com/apache/metron/pull/1217 @justinleet Thanks for catching that! I updated metron.spec accordingly. > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670168#comment-16670168 ] ASF GitHub Bot commented on METRON-1749: Github user justinleet commented on the issue: https://github.com/apache/metron/pull/1217 I tried to spin up full dev and needed to make a couple changes to metron.spec to get the management-ui RPM to properly build. That section ends up being. ``` %packageconfig Summary:Metron Management UI Group: Applications/Internet Provides: config = %{version} %descriptionconfig This package installs the Metron Management UI %{metron_home} %files config %defattr(-,root,root,755) %dir %{metron_root} %dir %{metron_home} %dir %{metron_home}/bin %dir %{metron_home}/web %dir %{metron_home}/web/expressjs %dir %{metron_home}/web/expressjs/node_modules %dir %{metron_home}/web/expressjs/node_modules/.bin %dir %{metron_home}/web/management-ui %dir %{metron_home}/web/management-ui/assets %dir %{metron_home}/web/management-ui/assets/ace %dir %{metron_home}/web/management-ui/assets/ace/snippets %dir %{metron_home}/web/management-ui/assets/fonts %dir %{metron_home}/web/management-ui/assets/fonts/Roboto %dir %{metron_home}/web/management-ui/assets/images %dir %{metron_home}/web/management-ui/license %{metron_home}/bin/metron-management-ui /etc/init.d/metron-management-ui %attr(0755,root,root) %{metron_home}/web/expressjs/node_modules/* %attr(0755,root,root) %{metron_home}/web/expressjs/node_modules/.bin/* %attr(0755,root,root) %{metron_home}/web/expressjs/server.js %attr(0644,root,root) %{metron_home}/web/expressjs/package.json %attr(0644,root,root) %{metron_home}/web/management-ui/styles.*.css %attr(0644,root,root) %{metron_home}/web/management-ui/favicon.ico %attr(0644,root,root) %{metron_home}/web/management-ui/index.html %attr(0644,root,root) %{metron_home}/web/management-ui/*.js %attr(0644,root,root) %{metron_home}/web/management-ui/*.ttf %attr(0644,root,root) %{metron_home}/web/management-ui/*.svg %attr(0644,root,root) %{metron_home}/web/management-ui/*.eot %attr(0644,root,root) %{metron_home}/web/management-ui/*.woff %attr(0644,root,root) %{metron_home}/web/management-ui/*.woff2 %attr(0644,root,root) %{metron_home}/web/management-ui/3rdpartylicenses.txt %attr(0644,root,root) %{metron_home}/web/management-ui/assets/ace/*.js %attr(0644,root,root) %{metron_home}/web/management-ui/assets/ace/LICENSE %attr(0644,root,root) %{metron_home}/web/management-ui/assets/ace/snippets/*.js %attr(0644,root,root) %{metron_home}/web/management-ui/assets/fonts/Roboto/LICENSE.txt %attr(0644,root,root) %{metron_home}/web/management-ui/assets/fonts/Roboto/*.ttf %attr(0644,root,root) %{metron_home}/web/management-ui/assets/images/* %attr(0644,root,root) %{metron_home}/web/management-ui/license/* ``` The changelog should also be updated with something similar to ``` %changelog * Wed Obt 31 2018 Apache Metron - 0.6.1 - Update files in Management UI from Angular upgrade ``` > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16663850#comment-16663850 ] ASF GitHub Bot commented on METRON-1749: Github user sardell commented on the issue: https://github.com/apache/metron/pull/1217 Just wanted to let everyone know about a small fix I just pushed to here. It turns out that Angular's HttpParams class is immutable. As a result, I needed to set new parameters when instantiating the class rather than assigning the instance to a variable and setting params through the variable. For further reading, [here's the official documentation](https://angular.io/api/common/http/HttpParams#description). > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16639834#comment-16639834 ] ASF GitHub Bot commented on METRON-1749: Github user tiborm commented on the issue: https://github.com/apache/metron/pull/1217 Great improvement! Thanks, Shane! +1 > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16639562#comment-16639562 ] ASF GitHub Bot commented on METRON-1749: Github user sardell commented on a diff in the pull request: https://github.com/apache/metron/pull/1217#discussion_r222949278 --- Diff: metron-interface/metron-config/package.json --- @@ -7,10 +7,11 @@ }, "angular-cli": {}, "scripts": { -"build": "./node_modules/angular-cli/bin/ng build -prod", +"build": "./node_modules/@angular/cli/bin/ng build --prod", --- End diff -- Thanks for pointing this out! I think the original path may have been leftover from the original project generation with the old version of angular cli. I have since removed it. > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16638065#comment-16638065 ] ASF GitHub Bot commented on METRON-1749: Github user ruffle1986 commented on a diff in the pull request: https://github.com/apache/metron/pull/1217#discussion_r222622136 --- Diff: metron-interface/metron-config/package.json --- @@ -7,10 +7,11 @@ }, "angular-cli": {}, "scripts": { -"build": "./node_modules/angular-cli/bin/ng build -prod", +"build": "./node_modules/@angular/cli/bin/ng build --prod", --- End diff -- It can also be written as `ng build --prod` > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16638064#comment-16638064 ] ASF GitHub Bot commented on METRON-1749: Github user ruffle1986 commented on a diff in the pull request: https://github.com/apache/metron/pull/1217#discussion_r222619789 --- Diff: metron-interface/metron-config/package.json --- @@ -10,7 +10,7 @@ "build": "./node_modules/angular-cli/bin/ng build -prod", --- End diff -- it can also be written as `ng build -prod` > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16637036#comment-16637036 ] ASF GitHub Bot commented on METRON-1749: Github user sardell commented on the issue: https://github.com/apache/metron/pull/1217 @mmiklavc I was unable to find a discuss thread. I understand this is standard for a change like this and I would be more than happy to start one if the community desires, otherwise I'm hoping we can have that discussion here. There is now a brief explanation in the Contributor Comments for why we should upgrade the Management UI like we did the Alerts UI. > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16636951#comment-16636951 ] ASF GitHub Bot commented on METRON-1749: Github user sardell commented on the issue: https://github.com/apache/metron/pull/1217 @mmiklavc Thanks for starting to take a look at this PR! You're correct that all these changes are related to the upgrade. This means removing deprecated items, updating syntax, utilizing updated or new features where we should and accommodating for much stricter type checking and compiling. > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16636091#comment-16636091 ] ASF GitHub Bot commented on METRON-1749: Github user mmiklavc commented on the issue: https://github.com/apache/metron/pull/1217 @sardell Thanks for the contribution and write-up! Can you update your description and reference the discuss thread on this? First Q looking through the change list in the description - most of this doesn't mean much to me as I'm not intimately familiar with Angular. But I'm assuming all of those changes are things that were either deprecated or changed in syntax and/or api with the new version of Angular? > Update Angular to latest release in Management UI > - > > Key: METRON-1749 > URL: https://issues.apache.org/jira/browse/METRON-1749 > Project: Metron > Issue Type: Improvement >Reporter: Shane Ardell >Assignee: Shane Ardell >Priority: Major > > Currently, the Management UI is on Angular v2. Not only has there been many > updates and improvements to Angular, that release is no longer supported by > the Angular team. This means critical fixes and security patches are no > longer being done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (METRON-1749) Update Angular to latest release in Management UI
[ https://issues.apache.org/jira/browse/METRON-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16633914#comment-16633914 ] ASF GitHub Bot commented on METRON-1749: GitHub user sardell opened a pull request: https://github.com/apache/metron/pull/1217 METRON-1749: Update Angular to latest release in Management UI ## Contributor Comments Link to ASF JIRA ticket: https://issues.apache.org/jira/browse/METRON-1749 This Pull Request contains work which updates the Management UI's version of Angular from version 2.0.0 to version 6.1.8. A few benefits we get from this: * We gain new Angular features, such as Ahead-of-Time compiling, the new HttpClient library, `ng update` and Http Interceptors. * All npm dependencies now pass an npm vulnerability audit. * We are able to use rxjs version 6, which includes easier import paths and pipe method chaining. ### Changes Included * Update to Angular 6.1.8 and related dependencies. * Change angular-cli.json to angular.json and update file schema. * Update karma.conf.js schema. * Update scripts to use the Ahead-of-Time flag. * Update name of scss file containing fonts to `_fonts.scss`. * Switch from HttpModule and the Http service to HttpClientModule and the HttpClient service. * Replace the deprecated `OpaqueToken` with `InjectionToken`. * Replace the Observable `emit` method with `next`. * Update Observables to use the pipe() method for operators. * Update rxjs operator names, import statements and usage. * Remove lines in templates accessing service properties. * Remove passing event payloads if event handler method does not accept parameters. * Remove .compileComponents() since it is no longer needed because webpack inlines templates and css before tests are run. * Remove assertions testing Angular libraries. * Update unit tests to use the [HttpClientTestingModule and HttpTestingController to mock responses](https://angular.io/guide/http#testing-http-requests). * Move default headers to an HttpInterceptor. * Format changed files to comply with rules set in tslint.config and make it easier to find errors while upgrading. ### Testing To test with unit tests, please follow the instructions listed in the Testing section of the Management UI README. To test manually, please follow the instructions listed in the Development section of the Management UI README and visit http://localhost:4200. ### Other Considerations * We have a handful of nested Observable subscriptions in the Management UI. We would be better off [using an operator like switchMap instead](https://stackoverflow.com/questions/42888604/rxjs-observables-nested-subscriptions). * I updated the font paths to use absolute paths because of [this issue](https://github.com/angular/angular-cli/issues/6599). We should watch this issue in hopes that Angular's compiler gives us an option in the future to change the default path it applies. * The dialog box is currently implemented as a class without a template that utilizes jQuery to manipulate element class attributes. This is slightly confusing because it does not adhere to Angular best practices, and I see no advantage to the way it's currently implemented. I think this class would be much better off as an Angular component using either the class binding shorthand syntax or NgClass instead of jQuery to handle class additions/removals. ## Pull Request Checklist Thank you for submitting a contribution to Apache Metron. Please refer to our [Development Guidelines](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61332235) for the complete guide to follow for contributions. Please refer also to our [Build Verification Guidelines](https://cwiki.apache.org/confluence/display/METRON/Verifying+Builds?show-miniview) for complete smoke testing guides. In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? If not one needs to be created at [Metron Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel). - [ ] Does your PR title start with METRON- where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically master)? ### For code changes: - [ ] Have you included steps to reproduce the behavior or problem that is being changed or addressed? - [ ] Have you included steps or a guide to how the change may be verified and tested manually? - [ ] Have you ensured