Velocity Work Item Form Extension

 Custom Velocity-based forms for Work Items


Allows rendering of custom panels with content defined by scripts that combine Velocity, HTML and other scripting technologies...  right on the Work Item form


This extension has been integrated into the OOTB Polarion in version 22 R2.
  • If you are using Polarion 22 R2 or newer, please remove this extension so Polarion starts properly - it is no longer needed.
  • To get more information on how to use the OOTB version of this feature, check the official Polarion Help.
  • If you want to disable the OOTB extension and use this one instead (not recommended), you can do it via a system configuration property com.polarion.alm.ui.forms.extensions.velocity.enabled by setting it to "false"


How to install

  1. Download and unzip the packaged extension.
  2. Move the folder bin/com.polarion.alm.velocityform from the zip file com.polarion.alm.velocityform_<version>.zip into: 
    <Polarion Installation Folder>/polarion/extensions/.
  3. Restart Polarion.


How to use

  1. Create the report using Velocity.
  2. Save the file with the script (i.e. my_script.vm) in folder
    <Polarion Installation Folder>/scripts/.
  3. Go to the Administration - Work Items - Form Configuration.
  4. Add/Edit Form Layout of the Work Item type you want to add the Velocity Form to.
  5. Add a line defining the extension with parameters:
    1. id - always "velocity_form", 
    2. label - choose how the form will be labeled, 
    3. script - provide the file's name with the script that should be processed and rendered.

EXAMPLE: <extension id="velocity_form" label="Test Form" script="my_script.vm"/>


Useful Tips

  • The Velocity Context allows access to the usual objects of the Open API - $trackerService
    • it also allows access to the Rendering API - $transaction
    • it contains a reference to the current Work Item it is being used on - $object.
  • To check for access rights and persistence of the Work Item, use:
    • #if(!$object.isUnresolvable() && $object.isPersisted()).
  • To get the Rendering API version of the Work Item, use:
    • #set($wi = $transaction.workItems().getBy().oldApiObject($object)).
  • To use the .render() method of the Rendering API, it is necessary to specify the format and target for the render() method by using:
    • $wi.render().htmlFor().forFrame().


Known Limitations

  • Content created using this extension cannot be printed.
  • In Polarion <= 2019 SR2 JavaScript execution is not supported due to how the content is injected into the Work Item form page.
  • Polarion 2019 SR3 brought full support for JavaScript execution in any Work Item Form Extensions.


What's New in Version 1.0.4

Updated April 2022

Version 1.0.4
- Fixed compatibility with log4j 2.*



Vendor Siemens PLM
Published Version 1.0.4 - April 2022
Price Free
Supported by Siemens PLM This extension is supported by Siemens PLM for customers with a current support/maintenance agreement.
Requirements Polarion 2018 GA (3.18.0) to Polarion 22 R1 (3.22.1)
This extension is no longer needed since Polarion 22 R2
Verified with Polarion 22 R1 (3.22.1)

Related Extensions