Project

General

Profile

Actions

Defect #35027

closed

Gantt PNG export ignores imagemagick_convert_command

Added by Go MAEDA almost 3 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Category:
Gantt
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

Gantt PNG export uses ImageMagick's convert command, but it ignores imagemagick_convert_command in configration.yml.

Steps to reproduce:

1. Set incorrect command name (e.g. /usr/bin/_convert) to imagemagick_convert_command in configration.yml
2. Restart Redmine
3. Export gantt to PNG. It should not work because imagemagick_convert_command is wrong, but it works fine.


Files

35027.patch (739 Bytes) 35027.patch Yuichi HARADA, 2021-04-19 04:29

Related issues

Related to Redmine - Defect #35424: https://www.redmine.org/boards/2/topics/65661Reopened

Actions
Actions #1

Updated by Yuichi HARADA almost 3 years ago

It seems that you can set the path of Imagemagick's client command to MiniMagick.cli_path.
https://rubydoc.info/github/minimagick/minimagick/MiniMagick/Configuration#cli_path-instance_method

I created a patch.

diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb
index 122013e5a..7d078298c 100644
--- a/lib/redmine/helpers/gantt.rb
+++ b/lib/redmine/helpers/gantt.rb
@@ -395,6 +395,9 @@ module Redmine
           Redmine::Configuration['minimagick_font_path'].presence ||
             Redmine::Configuration['rmagick_font_path'].presence
         img = MiniMagick::Image.create(".#{format}", false)
+        if Redmine::Configuration['imagemagick_convert_command'].present?
+          MiniMagick.cli_path = File.dirname(Redmine::Configuration['imagemagick_convert_command'])
+        end
         MiniMagick::Tool::Convert.new do |gc|
           gc.size('%dx%d' % [subject_width + g_width + 1, height])
           gc.xc('white')
Actions #2

Updated by Marius BĂLTEANU almost 3 years ago

  • Target version set to Candidate for next minor release
Actions #3

Updated by Go MAEDA over 2 years ago

  • Has duplicate Defect #35424: https://www.redmine.org/boards/2/topics/65661 added
Actions #4

Updated by Jan Catrysse over 2 years ago

I tried this patch on #35424 but that did not fix the issue. Maybe something else is happening, but I'm not enough of a connoisseur :-)

Actions #5

Updated by Go MAEDA about 2 years ago

  • Target version changed from Candidate for next minor release to 4.1.6

Setting the target version to 4.1.6.

Actions #6

Updated by Marius BĂLTEANU about 2 years ago

  • Status changed from New to Resolved
  • Assignee set to Marius BĂLTEANU
  • Resolution set to Fixed

Patch committed, thanks!

The patch can fix some issues when the convert command is not available in the global path, but the binary always must be named convert.

Based on the example from #35424, setting imagemagick_convert_command: /usr/local/bin/convert will generate the following:
  • MiniMagick.cli_path (used for Gantt PNG) will be set to /usr/local/bin and MiniMagick will look after convert binary inside that path.
  • For thumbnail generation, it will be used the exact path from configuration: /usr/local/bin/convert.

In case of a different binary name (convert2 for example), the Gantt PNG will not work.

Actions #7

Updated by Marius BĂLTEANU about 2 years ago

  • Status changed from Resolved to Closed
Actions #8

Updated by Marius BĂLTEANU about 2 years ago

  • Has duplicate deleted (Defect #35424: https://www.redmine.org/boards/2/topics/65661)
Actions #9

Updated by Marius BĂLTEANU about 2 years ago

  • Related to Defect #35424: https://www.redmine.org/boards/2/topics/65661 added
Actions

Also available in: Atom PDF