Feature #4052

Cross-project redmine links with alternate link text for source and export links.

Added by William Baum almost 8 years ago. Updated over 1 year ago.

Status:NewStart date:2009-10-19
Priority:NormalDue date:
Assignee:-% Done:

50%

Category:Text formatting
Target version:-
Resolution:

Description

In Feature #3346 (Support for cross-project revision links), James Wells and Babar O'Cap collaborated to make it possible to create commit and revision links across projects.

I have now extended the project: syntax to source: and export: links and also extended them with the ability to specify alternate link text: "Download filename" instead of projectname:export:foo/bar/path/filename.

I have also corrected the issue causing source and export links to not be properly converted to absolute links in issue update emails. (See Defect #3483)

So... Source and export links now work in emails, can be cross project, and can have alternate display text for the link.

Syntax:

  • ["Link alternate display title"=][project:]source:some/path[/file][@52][#L120]
  • ["Link alternate display title"=][project:]export:some/path/file[@52]

Note: For the link text, the double-quotes are currently required, even if the text is only one word. I chose to implement the alternate link name functionality in a way that altered the primary regex as little as possible. It's getting a bit unwieldy.

091018-cross-project_redmine_links-tests.patch contains changes to test/* files as provided in:

  • #3346 cross-project_revision_and_commit_links_v5.diff - Patch v5 - from Babar O'Cap, 2009-08-26 03:27

    I have no idea how to use, extend, or test this test/* functionality, so I didn't attempt to..

091018-cross-project_redmine_links.patch contains no test/* file modifications.

091018-cross-project_redmine_links.patch Magnifier - functional changes (revision 2879) (12.4 KB) William Baum, 2009-10-19 05:43

091018-cross-project_redmine_links-tests.patch Magnifier - functional changes plus partial test functionality. (revision 2879) (16.9 KB) William Baum, 2009-10-19 05:43

091021-cross-project_redmine_links.patch Magnifier (12.5 KB) William Baum, 2009-10-22 02:59

100328-_r3618_-cross-project_redmine_links.patch Magnifier - updated patch against r3618 (12.3 KB) William Baum, 2010-03-29 00:47

100805-1.0.0_r3854-cross-project_redmine_links.patch Magnifier (12.2 KB) William Baum, 2010-08-06 01:22

100806-0.9.6_add_cross_project_links_with_changesets.patch Magnifier - Patch to add cross-project references when fixing via repository commit keywords (771 Bytes) Pieter Smith, 2010-08-06 14:25


Related issues

Related to Redmine - Feature #779: Multiple SCM per project Closed 2008-03-04
Related to Redmine - Feature #7409: Cross project Redmine links Closed 2011-01-22
Related to Redmine - Feature #3346: Support for cross-project revision links Closed 2009-05-12
Related to Redmine - Defect #3483: Relative url for source links in notifications Closed 2009-06-12
Related to Redmine - Feature #10248: Specific text instead of addresses to the Redmine interna... New
Related to Redmine - Feature #21443: Links to resources in Markdown New
Duplicated by Redmine - Feature #4667: Ability to link to a revision in a subprojects repository Closed 2010-01-27

History

#1 Updated by William Baum almost 8 years ago

oops.. image links don't work for attachments.. that last part was supposed to be:

091018-cross-project_redmine_links-tests.patch contains changes to test/* files as provided in:

  • #3346 cross-project_revision_and_commit_links_v5.diff - Patch v5 - from Babar O'Cap, 2009-08-26 03:27

    I have no idea how to use, extend, or test this test/* functionality, so I didn't attempt to..

091018-cross-project_redmine_links.patch contains no test/* file modifications.

#2 Updated by William Baum almost 8 years ago

I have discovered an issue with this, which hopefully can be easily resolved...

This patch currently breaks the !version#6 syntax. Instead of being a link to the version in the roadmap, it becomes a link to an issue by that number (#6).

#3 Updated by William Baum almost 8 years ago

Updated patch file, corrects issues with attachment, document, and version links.

#4 Updated by Babar O'Cap almost 8 years ago

+1

#5 Updated by Alexey Palazhchenko over 7 years ago

Any news?

#6 Updated by William Baum over 7 years ago

Here's an svn formatted patch against r3618.

It's functional, but could use some refactoring.

#8 Updated by Pieter Smith about 7 years ago

+1

This is so damn useful! Why has nobody added it to the roadmap yet!?

#9 Updated by Pieter Smith about 7 years ago

Hi William,
Any chance that you can update the patch for redmine 0.9.6 or later?
Thanks in advance!

#10 Updated by Pieter Smith about 7 years ago

O'h... I forgot to mention that I tried merging the patch with 0.9.6, but got more merge conflicts than I can safely solve with my limited Ruby knowledge.

#11 Updated by William Baum about 7 years ago

My apologies.. I actually started to do this weeks ago and got pulled off on something else..

Attached is 100805-1.0.0_r3854-cross-project_redmine_links.patch, which is a patch against 1.0.0 (source:/trunk@3854).

I did actually generate patches against 0.9.5 (source:/trunk@3815) and 0.9.6 (source:/trunk@3815) as well, but I'm not uploading them because they are identical except for the revision references in the patch. This patch should apply without issue against any trunk or release between r3602 and r3894.

The functional changes in this patch are all in app/helpers/application_helper.rb, which has had a couple of recent revisions that would affect line numbers, but the patch should still apply properly to a current trunk. Let me know if you need a patch against a more recent trunk..

#12 Updated by Pieter Smith about 7 years ago

Thanks. Can't we get a Target Version for this? How can we convince the core team to integrate this?

I am also adding 100806-0.9.6_add_cross_project_links_with_changesets.patch to use the cross-project wiki formats (project:r1234 and project:commit:ab34cd) when fixing issues via repository commit keywords.

#13 Updated by Pieter Smith about 7 years ago

By the way... 100805-1.0.0_r3854-cross-project_redmine_links.patch doesn't play well with 0.9.6. The trouble starts with:

text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|<|$)}) do |m|

in 0.9.6 versus the expected
text.gsub!(%r{([\s\(,\-\[\>]|^)(!)?(attachment|document|version|commit|source|export|message|project)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|\]|<|$)}) do |m|

which is what the patch expects.

#14 Updated by Blake Williams over 6 years ago

Subprojects in Redmine are effectively useless without this feature.

#15 Updated by Toshi MARUYAMA over 6 years ago

  • Category set to Text formatting

#16 Updated by Stefan Lindner about 5 years ago

Still no plans to include this in near future? Wikis look awful without th ability to display a homan readable text for repository links.

#17 Updated by Sébastien Aubry almost 5 years ago

The syntax: [[project:page|text]] should indeed work. It is even weird that it is not the case by default. Probably a problem with the regexp?

#18 Updated by Thomas Robbs over 4 years ago

+1

#19 Updated by Arthur Zalevsky over 3 years ago

Yep, it's definitely necessary feature.

#20 Updated by Toshi MARUYAMA over 3 years ago

  • Related to Defect #3483: Relative url for source links in notifications added

#21 Updated by Toshi MARUYAMA about 3 years ago

  • Related to Feature #10248: Specific text instead of addresses to the Redmine internal links added

#22 Updated by Toshi MARUYAMA over 1 year ago

#23 Updated by Hans Ginzel over 1 year ago

Please, also for Markdown formatting, #15520.

Also available in: Atom PDF