You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Shortcuts can be used for running a project with specific settings with a user friendly URL. A shortcut refers to a project that is available in the runtime. The following chapter describes how to create a shortcut. 

For security reasons we advise you to use shortcuts in a production environment. This can be enabled via the blueriq.production.shortcuts-only in application.properties.

Create a shortcut

There are multiple ways to configure a shortcut.

Development dashboard

You can configure a shortcut, and its testpaths, via the settings menu of the dashboard

  • Select Settings
  • Select the general tab
  • Select shortcuts
  • Press the add or edit button
  • A pop up window will appear



  • Select the project, branch, flow, language, UI and theme
  • Enter a shortcut name
  • Select save
  • You can now test your shortcut with the following URL: http://HOSTNAME:PORT/Runtime/server/start/SHORTCUTNAME

    Test paths

  • In the screenshot above the available test paths are also listed for the shortcut
  • When you click on the 'Add test path' button or edit button you get the following screen, where you can enter a test path name, and select the branch for the tes tpath.

         

Properties

You can configure a shortcut via the application.properties file. This file is located in your 

spring.config.additional-location
 directory. The properties contain the name of the shortcut

application.properties
### Shortcuts - Shortcuts can be started via the URL: http://YOURSERVER:PORT/ROOT/server/start/SHOTCUTNAME ###
blueriq.production.shortcuts-only = false
blueriq.shortcut.ChildSupport.flow = Start
blueriq.shortcut.ChildSupport.languageCode = en-GB
blueriq.shortcut.ChildSupport.project = export-Kinderbijslag
blueriq.shortcut.ChildSupport.theme = forms
blueriq.shortcut.ChildSupport.ui = mvc
blueriq.shortcut.ChildSupport.version = 0.0-Wetwijziging
blueriq.shortcut.ChildSupport.dynamicVersion = true
blueriq.shortcut.ChildSupport.privateAccess = false
blueriq.shortcut.ChildSupport.securityEnabled = true

Dynamic shortcuts

When the dynamicVersion property is set to true, the version property is ignored, and the version of the project to be used is looked up by comparing the version of the AQ_Dashboard_ProjectWidget or AQ_StartProject to the version of the project of the current session. If so, that version will be used, otherwise the version set with the version property will be used.

Test Paths

From Blueriq 12.8, we added the concept of Test Paths in order to be able to test multi-repository applications. These are applications that span multiple projects, by using AQ_Dashboard_ProjectWidget or AQ_StartProject to start flows from different projects. One can imagine that when testing a feature branch of a project, you wouldn't want to have that same feature branch present in all other projects, especially when nothing has changed in those projects.

When using this feature, keep the following in mind:

  • Test Paths only work in development mode
  • Test Paths only work when using shortcuts to indicate the entry point of the project to start
  • Test Paths only work for Studio projects, not for project exports or publisher exports.

When editing shortcuts, you can define Test Paths for that shortcut:

application.properties
blueriq.shortcut.ChildSupport.testPaths.feature1 = 0.0-FeatureBranch1
blueriq.shortcut.ChildSupport.testPaths.feature2 = 0.0-FeatureBranch2

This indicates that when the application is started with Test Path feature1, the project should use 0.0-FeatureBranch1 instead if the version indicated by blueriq.shortcut.ChildSupport.version.

If any Test Paths are configured, the development dashboard will display a selector for the Test Paths:

Selecting a Test Path will have this behavior:

  • When the selected Test Path is defined for the shortcut, the corresponding version of the project is started instead of the default version.
  • When the selected Test Path is not defined for the shortcut, the default version of the project is started.
  • When the selected Test Path is defined, but the corresponding version doesn't exist in the project, an error is returned.

The selected Test Path will be propagated through the entire application, with the exception of AQ_SoapServiceClient/AQ_WebServiceClient and AQ_ExternalFlow.

The Test Path names, e.g. feature1 in the previous example, are identifiers that can be chosen freely (but limited to alphanumeric characters and underscores). You are encouraged to use Test Path names that describe the feature you are testing.

When a feature is done and the corresponding branch is merged, the Test Path is not automatically deleted. As a maintainer of the shortcuts, you should remove Test Paths for these versions manually.
This way, the list of Test Paths to choose from will remain restricted to actually use features.

When working with shortcuts for the AQ_StartProject service, you need to think of security. On a production server you set the runtime to blueriq.production.shortcuts-only=true so that end users can not start any flow themselves. As you need to create a shortcut for the application to be called, you do not want that end users could guess the shortcut name and start the flow themselves. For this reason, you should set the property blueriq.shortcut.[name].privateAccess=true for the shortcuts that are only used for the AQ_StartProject service, and which are not started by end users.

It is possible to leave the version of the application out of the URL or shortcut, in which case the latest version of the application is started.

The latest version is determined as follows:

  • first the major version is compared

  • then the minor version

  • then the branch name

Example: 0.0-Wetwijziging

  • Major version: 0
  • Minor version: 0
  • Branch name: Wetwijziging

As all studio exports always have major and minor version equals to 0, only the branch name is the discriminating factor. It is sorted in ascending order, meaning that a branch name starting with 'z' is considered later as a branch name starting with 'a'. In order to make effective use of this mechanism, we advice to use branch names which start with numbers, e.g. 001_4_FeatureBranch.

It is possible to leave the name of the application out of the URL or shortcut, in which case the default application is started.

The default application is determined in Java as being the shortcut that has name 'default'.

Only one default application should be created as multiple defaults could lead to unexpected behavior or errors.




  • No labels