Fresh start of the HAL management console using the latest frameworks / libraries.
- Java 8
- GWT 3.x (JsInterop, Elemental)
- Latest GWTP build
- PatternFly
HAL.next is a prototype and playground to test new features and evaluate the latest frameworks. The upcoming GWT 3.0 release will introduce many breaking changes for GWT applications. The most important change will be the deprecation of gwt-user.jar. This includes features such as the GWT widgets, deferred binding and GWT RPC.
In order to make the console future proof, it's necessary to rewrite these parts. At the same time this is an opportunity to fix some weak points of the current implementation and add new features. Currently the following features and enhancements are implemented / planned:
-
General
- Place management for finder and applications. This enables features like
- Cross-links between different parts of HAL (configuration ⟷ runtime ⟷ deployment)
- Applications / finder selections can be bookmarked
- Search can be re-implemented
- Switch between applications using the breadcrumb
- Add deployments using drag & drop
- Topology overview
- Macro recording
- PatternFly compliance
- Enhanced form items for lists, properties and booleans
- Use capabilities & requirements to generate combo boxes with type-ahead support
- Declarative UI using MBUI and a simple XML format. See LoggingView.xml for an example.
- Remove deprecated APIs
- Place management for finder and applications. This enables features like
-
Finder
- Navigation using cursor keys. Open an application by pressing ↵ (
enter) and go back with ⌫ (backspace) - Pin frequently used subsystems to stay at the top
- Filter items by name and by properties like 'enabled' in the data sources column or 'stopped' in the servers column
- Columns could be provided by extensions
- Navigation using cursor keys. Open an application by pressing ↵ (
HAL.next requires WildFly 11.x (it makes use of the new capabilities service)! There are different ways to launch HAL.next and connect to a running WildFly instance. Most of them require to configure the allowed origins of the HTTP management endpoint.
-
Standalone mode
/core-service=management/management-interface=http-interface:list-add(name=allowed-origins,value=<url>) reload -
Domain mode
/host=master/core-service=management/management-interface=http-interface:list-add(name=allowed-origins,value=<url>) reload --host=master
The standalone module contains an executable jar which launches a local web server at http://localhost:9090.
- Add http://localhost:9090 as allowed origin
mvn installjava -jar standalone/target/hal-standalone-<version>.jar- Open http://localhost:9090
If you don't want to or cannot build locally you can download hal-standalone.jar from https://repository.jboss.org/nexus/index.html#nexus-search;quick~hal-standalone.
The npm module provides a npm package which launches a local web server at http://localhost:3000.
- Add http://localhost:3000 as allowed origin
mvn installcd npmnpm installnode server.js- Open http://localhost:3000
The package is also available on npmjs.com: https://www.npmjs.com/package/hal-next
npm install -g hal-nexthal-next
The docker module is used to build a docker image with WildFly 11.0.0.Alpha1 and HAL.next.
cd dockermvn installdocker run -p 9990:9990 -it hpehl/hal-next /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0ordocker run -p 9990:9990 -it hpehl/hal-next /opt/jboss/wildfly/bin/domain.sh -b 0.0.0.0 -bmanagement 0.0.0.0- Open http://localhost:9990 and log in with
admin:admin
The docker image is also available in the public docker repository: https://hub.docker.com/r/hpehl/hal-next/
Finally HAL.next is also available on the gh-pages branch at https://hal.github.io/hal.next/.
- Add https://hal.github.io/hal.next/ as allowed origin
- Open https://hal.github.io/hal.next/
GitHub pages are served from https so you need to secure the management interface as well. Please note that if you're using a self signed key store you might need to open the local management endpoint in the browser and accept the unsafe certificate before you can use it with HAL.next.
The SuperDevMode is intended for development as it provides browser refresh after code changes.
- Add http://localhost:8888 as allowed origin
mvn install -Dgwt.skipCompilation -Pdevcd app./devmode.sh- Open http://localhost:8888/hal/dev.html