Defect #35027
closed
Gantt PNG export ignores imagemagick_convert_command
Added by Go MAEDA over 3 years ago.
Updated over 2 years ago.
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
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')
- Target version set to Candidate for next minor release
- Has duplicate Defect #35424: https://www.redmine.org/boards/2/topics/65661 added
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 :-)
- Target version changed from Candidate for next minor release to 4.1.6
Setting the target version to 4.1.6.
- 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.
- Status changed from Resolved to Closed
- Has duplicate deleted (Defect #35424: https://www.redmine.org/boards/2/topics/65661)
- Related to Defect #35424: https://www.redmine.org/boards/2/topics/65661 added
Also available in: Atom
PDF