A JBoss Project
Red Hat
This is a summary page of all New & Noteworthy for 4.3.1.Beta2 and 4.3.1.Beta1

What's New in 4.3.1.Final

General

New Installer for Container Based Development Environment

A new Windows installer is available now to help you install Developer Studio with a full development environment for container based development using Red Hat Enterprise Linux and OpenShift.

The Installer currently only works on 64-bit Windows only and is currently available as a Technology Preview.

The Red Hat JBoss Developer Studio Platform installer sets up the following components on your machine:

  • Red Hat JBoss Developer Studio

  • Red Hat Container Development Kit

  • Vagrant

  • VirtualBox

  • OpenJDK

  • Cygwin

  • OpenShift Client (OC) Tools

Red Hat JBoss Developer Studio Platform

Please register on developers.redhat.com to get access to the Platform.

Here is a short demo of the new installer: https://youtu.be/dMWAguol3as

Important: Ensure that Virtualization is enabled in the BIOS settings for your machine. This is required to run VirtualBox and Vagrant. For further information, consult your system’s documentation for instructions to change BIOS settings.

Eclipse Mars.2

JBoss Tools is now targeting Eclipse Mars.2 as a running platform.

Improvements on the Importer wizard

The Import wizard that you can access via File > Import Projects from Folder…​, File > Import…​ > General > Projects from Folder or File > Import…​ > Git > Projects from Git (auto-import) allows more user control. You can now see a proposal for the import (what will be imported and how) and select which sub-projects to import or exclude.

Performance is also significantly improved, and importing a Maven project will now suggest installation of m2e connectors when necessary.

Credentialing Framework

A new feature has been added to safely store your credentials for various domains in a central location. As our tools grow, credential re-use by several different features is required. Having a central place to store, for example, your Red Hat Access credentials or JBoss.org credentials, for re-use by our server adapters or download-runtime features helps to prevent you from having to constantly type the same usernames and passwords in multiple locations. It also helps to ensure that if you change your password on some remote server, you only need to update one location in eclipse.

Credentials Preference Page

To access the central credential storage, browse to Window > Preferences > JBoss Tools / Credentials. From there, add custom domains for which you wish to store credentials, or add username/password combinations to the two pre-existing domains: access.redhat.com and jboss.org.

Credentials Preference Page

At this time, only Download Runtimes and the new (experimental) CDK Server Adapter use this new framework. However, usage is expected to increase in the future across the toolset as the tool matures.


Aerogear

Cordova CLI based backend for Hybrid Mobile projects

Hybrid mobile tools now use Cordova CLI for Cordova plugin management and platform builds. This allows us to provide accurate build and Cordova plugin management that is compatible with the latest Apache Cordova releases.

This new feature uses Cordova CLI installed on your system and guides you through installation if they are missing.

cordova instructions

Docker Tools

Run Image Launch Configuration

When running an image, a launch configuration is created based on the selected image. This is useful when users want to try tweaking a previous run for various reasons (e.g. binding in new volumes or changing command parameters, etc.)

Running a container from an image can now be also done via a launch configuration.

Run Image Launch Configuration

Docker Machine Support

Docker Machine is now supported for the creation of a new connection. Simply click the "Search…​" button and you will be prompted to select an active Docker Machine connection, if one exists.

Docker Machine Support

TM Terminal Support for Interactive Shells

Containers created with a pseudo TTY allocated (-t) will open within a TM Terminal. This is much more fully featured interaction when compared with the previous standard console. In particular, the Terminal view recognizes the color code on logs and displays messages in appropriate colors.

terminal tm support

Build Docker Images improvements

A shortcut to build a Docker image from a Dockerfile is available. On the first call, it will prompt for the Docker connection to use and an optional name (repo/tag) to give to the image.

build image shortcut

The launch configuration also now supports most of the build options available from CLI.

build image options

Forge Tools

Forge Runtime updated to 3.0.1.Final

The included Forge runtime is now 3.0.1.Final. Read the official announcement here.

startup

Prompt user to save the current open editor before executing a command

When Ctrl (Or CMD in OSX) + 4 are pressed and the file is changed but not yet saved, Forge will display a confirmation dialog asking the user to save the current open file:

dialog

You can check the Always save before opening the command dialog checkbox to avoid displaying the confirmation dialog. This setting can be changed anytime in the Preferences dialog under the Forge category:

preferences

Labels now display a tooltip

If your mouse pointer hovers a label, you will see the same tooltip as when the mouse hovers over the input field.

tooltip

Stack support

Forge now supports choosing a technology stack when creating a project:

stack new project

In addition to setting up your project, choosing a stack automatically hides some input fields in the existing wizards, such as the JPA Version in the JPA: Setup wizard:

stack jpa setup

Freemarker

Freemarker 2.3.23

Freemarker library included in the Fremarker IDE was updated to latest available version 2.3.23.

Related JIRA: JBIDE-20908


Hibernate Tools

Hibernate 5 Support

Two new runtime providers for Hibernate where added with in 4.3.1.Final. Both these new versions can be selected in the relevant wizards.

cfg xml
Figure 1. Hibernate Configuration File Wizard


console config
Figure 2. Hibernate Console Configuration Wizard

Hibernate 5.0 Runtime Provider

This runtime includes the 5.0.8.Final version of Hibernate ORM and the 5.0.0.Alpha3 version of Hibernate Tools Core which was build using the 5.0.8.Final version of Hibernate ORM.

Hibernate 5.1 Runtime Provider

This runtime includes the 5.1.0.Final version of Hibernate ORM and the 5.1.0.Alpha1 version of Hibernate Tools Core which was build using the 5.1.0.Final version of Hibernate ORM.

Related JIRA: JBIDE-22091


JST / JSF / HTML Editor

JavaScript Editing improvments

The target platform is updated with the latest Tern.java and AngularJS-Eclipse plugins to bring the latest improvements and fixes from JavaScript Content Assistant into JBoss Tools.

  • Tern.java v.1.1.0

  • AngularJS-Eclipse v.1.1.0

Read more about their New and Noteworthy features here:

Note: These features are available via JBoss Central - Early Access as a part of AngularJS for Web Tools

Related JIRA: JBIDE-21180


OpenShift

Improved OpenShift 3 support

OpenShift 3 was introduced as a technology preview feature in JBDS 9.0.0.GA. We’re happy to see it graduate to the level of supported feature in this release. More than 300 issues and enhancements were tackled in this version, here is an excerpt of the most noteworthy bits:

OpenShift Explorer improvements

The explorer view has been simplified (and made much more robust) and focuses on an application-centric view.

Multiple OpenShift projects are included under a single OpenShift 3 connection. Under each project, application deployments, each associated with one service, are displayed. When relevant, the default route displays next to the service name. It can be conveniently opened from the Show In > Web Browser menu.

Under a service deployment, the node displays running Pods and/or Builds in progress.

new explorer

More details on OpenShift resources are accessible in the Properties view. Opened via the Properties menu in the OpenShift Explorer, or Ctrl+I shortcut (Cmd+I on Mac), the Properties view is dynamically linked to any selected OpenShift resource in the workspace. When selecting a Project or Service, it displays a series of tabs, each matching a set of OpenShift resources linked to the one selected in the OpenShift Explorer. In each tab, you can, via a right-click, edit or delete a resource, open it in the Web Console or access more specific options.

The OpenShift Explorer and the Properties view are listening to server side events, so they’re immediately refreshed, when a new build or deployment has been triggered, even from the command line or the web console. Try it, it’s pretty uncanny!

Deploy workspace projects

You can now deploy existing workspace projects to OpenShift 3 instances. You can either create a new OpenShift application, using an OpenShift 3 connection and then select the workspace project to deploy, or you can start by right-clicking on a project and use the Configure…​ > Deploy to OpenShift…​ menu.

The project needs to be shared with git and declared a remote git repository using the HTTP(S) protocol. That repository needs to be accessible from the target OpenShift instance. Once a project is selected, a selection of compatible templates will be displayed, matching the type of the project. The remote git URL is injected as a value for the SOURCE_REPOSITORY_URL (or legacy GIT_URI) template parameter.

deploy workspace project

Related JIRA: JBDS-3489

New OpenShift 3 server adapter

A new OpenShift 3 server adapter is available. Its goal is to allow incremental deployment of workspace resources directly into the deployed pods on OpenShift, bypassing the build step, to provide a much quicker turnaround.

Publishing files to a remote pod requires to add the OpenShift binary (version 1.1.1 or higher) to your OpenShift preferences (in Preferences > JBoss Tools > OpenShift 3). You can download the binary matching your platform from the official release page on github.com. It’s strongly recommended rsync be on the PATH too.

From the OpenShift Explorer, right-click on a deployed Service and select the Server Adapter…​ menu: it will either create a new Server adapter or display one in the Servers view if it already exists.

The application must be fully built and deployed on OpenShift before creating the server adapter, else an error will occur.
new openshfit3 server adapter wizard

If the OpenShift Service has a Build Config with a git URL matching the git remote URL of one of the workspace projects, that project will be pre-selected. If no match is found, you will need to select the project manually.

Once created, the Server Adapter will start publishing the workspace project content to the remote running Pod via RSync.

The OpenShift 3 server adapter respects the auto-publish settings as declared in the server editor, so when enabled, every changed file in your project will automatically be published to the pod.

Support for Java EE projects
When the workspace project associated with the OpenShift 3 server is a Dynamic or Enterprise Application project, the server adapter builds an exploded version of the archive to a temporary local directory and replaces the version deployed on the remote OpenShift pod. A .dodeploy marker file is created for the remote server to redeploy the module if necessary (for EAP/WildFly servers supporting it).

Related JIRAs: JBIDE-20764, JBIDE-21371

Debug Mode support

The OpenShift 3 server adapter supports running in debug mode. When you click on the debug button, a series of actions are performed under the hood:

  • the Deployment Configuration on OpenShift is modified to enable debug mode if necessary

  • the server adapter waits for a new pod to be redeployed, if the deployment configuration was modified

  • once the remote pod is ready, port forwarding is enabled if necessary, binding the remote ports to local ones

  • local resources are synchronized to the remote pod

  • a remote debugger attempts to attach itself to the local port bound to the remote debug port (port 8787)

This provides a similar level of debug support as a locally-run application server. So you will be able to set breakpoints in your source files, dynamically change the value on variables on the remote JVM, and even be able to perform some limited hot class reloading.

Debug mode has been tested to work on EAP based applications deployed on OpenShift. Let us know if you have trouble running it in other use cases.

Support for LiveReload

The OpenShift 3 server adapter supports LiveReload, accessible from the Show In > Web Browser via LiveReload Server menu. When a file is published to the server adapter, the Browser(s) connected to the LiveReload server instance will automatically refresh.

openshift3 livereload menu

This is particularly effective in conjunction with the Auto Publish mode for the OpenShift 3 server adapters, as all it takes to reload a web resource is saving the file under edition.

Related JIRA: JBIDE-21429

Preference to manage Accepted Certificates

When connecting to an OpenShift instance, a dialog opens to allows users to accept/refuse untrusted SSL certificates. Those authorizations can now be reviewed and potentially revoked in a preferences page Preferences > JBoss Tools > OpenShift 3 > SSL Certificates.

ssl certiticates prefs

Edit resources

A new Edit…​ menu is available in the OpenShift Explorer or the Properties view, allowing you to edit any resource (except Builds) as JSON in a text editor. This is equivalent to the oc edit command in a terminal. If a JSON editor is installed, it will be used to open the configuration, else the standard text editor will be called. When saving the configuration changes in the editor, its content will be sent to the OpenShift instance to update the underlying resource. This can be useful to, for instance, add label to resources or edit the git source URL.

This feature can be used to, for instance, set the number of replicas in a Deployment Config, or change the url in a Route.

Be aware this is a very powerful tool, to use with caution, as you might risk accidentally corrupting your OpenShift project.

Related JIRA: JBIDE-20761

Search for Docker images

When deploying a Docker image, searching for an image has never been easier. Click on the Search…​ button and find your favorite image from the the selected Docker registry:

search docker images

Related JIRAs: JBIDE-20530, JBIDE-21133

Integration with Red Hat Container Development Kit

A new server adapter has been added to help start and stop the Red Hat Container Development Kit (CDK), a set of tools meant to quickly set up an OpenShift instance inside a Docker container running inside a virtual machine. While the server adapter itself has limited functionality, it is able to start and stop the CDK virtual machine via its Vagrantfile.

Simply hit Ctrl+3 (Cmd+3 on OSX) and type CDK, that will bring up a command to setup and/or launch the CDK server adapter. All you have to do is set the credentials for your Red Hat account and the location of the CDK’s Vagrantfile. Once you’re finished, a new CDK Server adapter will then be created and visible in the Servers view.

Once the server is started, Docker and OpenShift connections should appear in their respective views, allowing the user to quickly create a new Openshift application and begin developing their AwesomeApp in a highly-replicatable environment.

The connection created for the local OpenShift instance uses the openshift-dev user and devel password.
cdk server adapter

Right-click on a running CDK server adapter and select an option in the Show In menu to display the OpenShift or Docker Explorer:

cdk server show in menus

Related JIRAs: JBIDE-21157, JBIDE-21304


Server Tools

Schema catalog updated with WildFly 10 schema

We’ve updated our schema catalog to include all bug-fixes or new versions, so that now your example projects targeting WildFly 10 will benefit from the same code-completion proposals that past versions have.

In addition, several schema had small updates, bugfixes, and documentation changes. All of these will be available in the XML Catalog now.

Related JIRA: JBIDE-20529 - Include updated WildFly 10 schema in catalog

Publishing errors on Windows now fixed.

Windows often locks files when it shouldn’t, and this causes a big problem for filesystem-based deployments that look to make changes on-the-fly. We’ve managed to improve our integration with the WildFly application server, and to make sure we won’t make changes to files while they’re still locked by the server. Other upstream bugs in WildFly or the JDK directly are being investigated, and we look forward to having patches there in the near future.

Related JIRA: JBIDE-22078 - Error publishing war to wildfly8 on windows


Usage

AERI Reporting

With your permission, Eclipse and Red Hat JBoss Developer Studio can inspect errors logged inside the IDE and inform project committers about the issues you’ve experienced. This optional service, called Automated Error Reporting Initiative (AERI), can report issues to both the Eclipse Bugzilla and the JBoss JIRA.

When the first error is logged, you’ll be asked if you’d like to participate in error reporting, which is by default completely anonymous and only happens if an error occurs.

Should you want to configure how the service operates, or provide your email address so that you could be contacted regarding any reports you submit, open Preferences > General > Error Reporting. You can then click Configure Projects…​ to enable or disable reporting to Eclipse or JBoss.

AERI Reporting Enabled

As always, neither Eclipse nor JBoss will use any information unless a user has opted in, nor is there ever any personal information sent unless it is provided on the Preferences page.

Related JIRA: JBIDE-21654


back to top