Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Any work arounds to create links with # and ! characters in Crucible comments?

Todd Ogin March 14, 2013

I recenlty wrote up CRUC-6408, which is a regression of the original issue CRUC-5238. These issues are related to using urls with # characters denoting anchors. Originally, urls with # characters would simply not work but surrounding them with square brackets would maintain the integrity of the link.

With some more recent verison of Crucible, this has regressed even worse, which is why I wrote up the additional issue. It used to be that links with a # followed by some other additional character like ! would get generated correctly using the work around. Now, that is not the case, or at least I haven't found one. An example url that fails is http://docs.sencha.com/ext-js/4-1/#!/api/Ext-method-onReady.

While I wait for Atlassian to respond to my issue in the Crucible JIRA, I'm getting desparate as it is an extreme waste of time for our devs to navigate through documentation to what we want, rather than just linking directly to it. I can copy and paste material, but that bloats the comments unnecessarilly. Is anyone aware of a work around that will maintain the integrity of these links?

1 answer

1 accepted

2 votes
Answer accepted
Tom Davies
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 20, 2013

This is a bug which will be fixed in Crucible 2.10.4 and 3.0

In older versions you can edit syntax/url.def in your installation directory and replace the http/https definition with:

# http/https
  /\b(?:https?:\/\/(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))(?:\/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:\/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?(?:#(?:[\/\?!a-zA-Z0-9_:.%,\-()~]*)?)?)/ : {
    region {href="${0}";}
    filter=com.cenqua.fisheye.syntax.ParenthesesBalancingRegionFilter  
  }

Crucible will need to be restarted to pick up the change.

Todd Ogin March 20, 2013

Thanks Tom - changing that and recycling the fisheye crucible instance did the trick.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events