search cancel

Displaying URL attribute breaks Project List view

book

Article ID: 215222

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Clarity supports URL Attributes. Valid external links should be handled correctly. Users get confused if valid links are causing unexpected server issues.

Some characters, like "%2", on an attribute of type URL are causing an exception on the Classic UI Project List view.


Steps to Reproduce: 

  1. In Studio, create a new attribute on the Project object, of URL DATA TYPE 
  2. Add the attribute to the Classic [Edit Layout] and [List] Views 
  3. Navigate to Home, Projects List
  4. Find a project to open and edit 
  5. Add some value to the attribute of URL type, as the following: http://domain/site/loc/03%20-%20xyz4%20-%2 
  6. Save the changes to the Project 
  7. Make sure the Project List view is displaying the URL attribute as a column  
  8. Refresh the Project List view (or open it) 

Expected Results: The Classic Project List view is displaying the new value added on the URL attribute of the project.

Actual Results: The Classic Project List view does not display. Instead an error is thrown:  [en - Error][EN - ERROR]  [en - Unable to process request - Server or Network error] 

Cause

DE60955

Workaround: Reset the Project List View and do not configure this URL data type as a column. 

Environment

Release : 15.x

Component : CA PPM STUDIO

Resolution

Fixed in Release 16.0.0 

Additional Information

The following error is seen on the app-ca.log file

ERROR 2021-05-17 11:16:04,227 [http-nio-8080-exec-75] niku.union (clarity:admin:5195145__96B315F8-F8E0-4FCD-82E9-7B4B4BF44BCD:mainnav.work) 
com.niku.union.web.WebException: net.sf.saxon.trans.DynamicError: Error in call to extension function {public static java.lang.String java.net.URLDecoder.decode(java.lang.String)}: Exception in extension function java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
 at com.niku.union.web.VXSLServer.transform(VXSLServer.java:166)
 at com.niku.union.web.VXSLServer.transform(VXSLServer.java:94