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

Mike Jumper commented on GUACAMOLE-1085:
----------------------------------------

Great! The main things to keep in mind for an implementation are:

* The current ability for extensions to patch HTML dynamically (this is done by 
declaring HTML patches that are then dynamically applied at runtime). This is 
very commonly used for branding. See: 
https://guacamole.apache.org/doc/gug/guacamole-ext.html#updating-existing-html
* The current ability for extensions to define custom field types (this is done 
by registering a new field type by providing a template, controller, and field 
type definition). For example: 
https://github.com/apache/guacamole-client/blob/72b0634a5f0270c693ca9a944b54ca15ec1de170/extensions/guacamole-auth-totp/src/main/resources/config/totpConfig.js#L26-L31
* The current ability for extensions to define new pages within the web 
application (this is done by defining new AngularJS routes). For example: 
https://github.com/glyptodon/guacamole-connection-tester/blob/7761997f7a0853226a9aaa99b05a22ece3524962/src/main/resources/config/connectionTesterRouteConfig.js#L26-L32
* The current ability for extensions to augment or override established 
translation strings by providing their own translation JSON.

I suspect that any new UI framework, even Angular, will not directly lend 
itself well to custom pages and field types the way AngularJS did, and a new 
API specific to those capabilities may need to be provided.

> 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