marklogic-community / data-explorer

Data Explorer Tool
Other
15 stars 4 forks source link

FERR-57 - Update the javascript framework #51

Open nlaprell opened 6 years ago

nlaprell commented 6 years ago

Original Reporter: @markschiffner
Created: 05/Nov/17 2:29 PM

Description

Upgrade/modernize the javascript framework and libraries.

Currently using Angular 2 and several libraries are out of date.

This can be broken into several tasks if needed to fit better into an MBO quarter.

nlaprell commented 6 years ago

Current Angular version is 1.3.5. Upgrading to the modern Angular 2 essentially requires a rewrite. A gradual upgrade path that runs both Angular 1 and Angular 2 at the same time is possible using ngUpgrade (the preferred module). (https://angular.io/guide/upgrade & https://vsavkin.com/migrating-angular-1-applications-to-angular-2-in-5-simple-steps-40621800a25b) This app may not be large enough to justify the upgrade path over a rewrite.

josvanroosmalen commented 6 years ago

Okay, I slept a night on this one. I might pick this one up after JSON support pull request is merged. It does not make sense to add a lot UI functionality (Query Crud) to a front end which is decaying too much.

I did a quick comparison. I think Angular 5 is not a good move. I created an MarkLogic Angular 5 app before for a client. The problem with Angular: it is not lightweight, it requires TypeScript knowledge including all relatively difficult concepts for newbies (DI, decorators) and more or less dictates how apps need to be structured. It is bloated.

I really like Vue.js. It is lightweight, and it is gaining massive momentum in the market.

I will ask one of ML Field Engineers Geert Joosten about an opinion as he has worked a lot on (ML) UI stuff.

josvanroosmalen commented 6 years ago

According to the branch information, @tvnpraveen is already working on upgrading. I will assign this issue to them. Please assign issues once things are going to be pickedup.

markschiffner commented 6 years ago

From @damonfeldman : NAC West is working on a new GUI toolkit (the name changes weekly) based on React/Redux, with options for Angular as well. It used already on the Agile Mastering Toolkit, and will be discussed briefly at SKO in presentations to the SEs. We still need to see how well it works.

So I hope and expect to have something soon. The NAC West group (Patrick McElwee and Frank Sanders, notably) have been at it for some months now, and it will take some more time to use it in a couple places (likely greenfield development) to see how it works, how steep the learning curve is, etc. But soon…

Meantime, you might ask them about it. I do not recommend re-tooling Ferret for now, though – we much more urgently need linked document viewing than internal toolkit upgrades, and it makes more sense to me to build a new GUI or three on the new toolkit, rather than replace working (if outdated) code on Ferret etc., or try to ramp such a large team all at once.

@tvnpraveen We should put this issue on hold until we hear from Damon / NAC West OR reach out to Patrick and Frank