In the beginning there was the TO UI. It was designed primarily
(exclusively?) for admin users and served it's purpose well, however, the
presentation layer and the data layer were tightly coupled. I.e. if you
wanted a list of servers, you could go to to.domain.com/servers and get a
list of servers...wrapped in HTML. Which is great if viewing in a browser
but not so great for other purposes.

So it made more sense for another application (TP) to handle the
presentation layer and let TO focus on managing data and enforcing business
rules. Therefore, TP was designed to replicate the functionality of the TO
UI and as such it is very admin (power user) friendly (or somewhat friendly
:) ).

Anyhow, TP was never designed with Self Service in mind and because it was
started a couple of years ago (or maybe a few) and was derived from another
internal UI we have at comcast, it uses AngularJS (https://angularjs.org/)
(as opposed to the more modern Angular (https://angular.io/) which i guess
is at Angular 7 now). For a little background, at some point AngularJS and
Angular went different directions so there is no clean upgrade path from
AngularJS to Angular. They are really 2 very different frameworks (
https://github.com/angular/angular.js and https://github.com/angular/angular).
Both are active but only the latter is supported by Google I believe.

I agree with Brennan that TP *should* be migrated (or rebuilt basically)
from AngularJS to Angular but:

a - that would be a large undertaking and
b - maybe we need to take a different approach to UI design with
self-service in mind (rather than simply rebuilding TP as is in angular 7)

IMO the experimental folder is a great place for things like this. Maybe
TPv2 can get some momentum and focus on the things that I think of when I
think of self service - the ability to manage delivery services, users and
tenants. If it can do that well in an easy, intuitive and safe fashion, we
can start to port other TP features into it and eventually replace the
AngularJS version of TP.

Jeremy

On Fri, Apr 5, 2019 at 10:09 AM Fieck, Brennan <[email protected]>
wrote:

> Some of you may have heard, but about two and a half weeks ago I opened a
> Pull Request to add something to the `/experimental` directory. It's
> basically a re-implementation of Traffic Portal, which I think is
> beneficial not only because Traffic Portal wasn't designed with
> self-service in mind, but also because it cleans up a few issues on the
> development side. First of all, it uses the most recent LTS version of
> Angular, while the one on which Traffic Portal is currently based is now
> deprecated (this new version can also compile projects for Electron, which
> would make TP distributable as a standalone/mobile app). It also uses
> Typescript which compiles more cleanly to an overall smaller product, and
> is much easier to read, write and document. Remember the SCSS compiler
> issues (compass) we keep having? Angular 7 comes with a compiler at project
> init, so we never need that as an externally-provided dependency again.
> Finally, it already has unit testing and end-to-end testing working in four
> different JS engines.
>
>
> I'm currently looking for a reviewer (
> https://github.com/apache/trafficcontrol/pull/3419) and you can read more
> about what's implemented there, but a short summary:
>
>
> * Login/authentication and API proxy
> * Delivery Service view with bandwidth charts
> * New Delivery Service creation targeted at self-service users with
> limited advanced editing options
>
> * User listing (read-only)
>
> * Preliminary HTTPS support (currently only listens on 'localhost')
>
>
> Plus, if I do say so myself, it all looks pretty snappy on every screen I
> could test.
>
>
> Feedback is also appreciated, especially concerning the "New Delivery
> Service" form.
>
  • ... Fieck, Brennan
    • ... Jeremy Mitchell
    • ... Hank Beatty
      • ... Fieck, Brennan
        • ... Gray, Jonathan
          • ... Fieck, Brennan
            • ... Gray, Jonathan
              • ... Fieck, Brennan
            • ... Chris Lemmons
              • ... Jeremy Mitchell
                • ... Eric Friedrich -X (efriedri - TRITON UK BIDCO LIMITED c/o Alter Domus (UK) Limited -OBO at Cisco)
                • ... Fieck, Brennan

Reply via email to