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

Mark Nolan commented on GUACAMOLE-1085:
---------------------------------------

 

At the moment, an extension can modify the behaviour of the page it is hosted 
on because it can add methods to the controller of that page, interact with all 
the data items used by the controller and with all the controls owned by that 
page. Is this wise? Possibly not, but it is possible today and I have 
extensions that do this.

 

Of those things, access to all the data used by a controller is the most 
important, I would say. For example, I have an extension that adds buttons next 
to each host. These buttons allow you to start and stop the Google Cloud 
virtual machines corresponding to the hosts. To do this, they need information 
about the machine on that line.

 

How could this be modelled in Angular? You could implement the additional UI 
controls as a separate component and position it relative to the containing 
HTML in the same way that the current version does - I have some concerns about 
doing that dynamically, but I can see it is possible. But how will you give it 
access to the data? The only way I can see is to pass the data as an input 
parameter to the component. But will you pass the entire context or selectively 
pass only the data associated with the specific item being modified? If you 
pass the entire context, that is a lot of data and it rather defeats the whole 
point of the Angular component model. Or you can create a central data 
component and pass that to each component, but that's still the same problem.

 

> Consider migrating web application from AngularJS
> -------------------------------------------------
>
>                 Key: GUACAMOLE-1085
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1085
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole
>            Reporter: Alfred Egger
>            Priority: Major
>
> [AngularJS is in an LTS period until June 30, 
> 2021|https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c].
>  Unless resurrected as a community-driven project, it will be cease being 
> maintained after that date. Assuming no such project surfaces, we should look 
> into migrate the web application to another framework.



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

Reply via email to