Projects: Issueshttp://projects.andriylesyuk.com/http://projects.andriylesyuk.com/plugin_assets/andriy_lesyuk/images/s-andy.ico2019-02-08T12:15:55ZProjects
Redmine Extended Fields - Bug #2447 (New): Support Redmine 4.0 NoMethodError: undefined method `attr_prot...http://projects.andriylesyuk.com/issues/24472019-02-08T12:15:55ZMarc M
<p>After the upgrade to redmine 4.0, we can not execute “bundle exec rake db:migrate RAILS_ENV=production” <br />NoMethodError: undefined method `attr_protected’ for #<Class:0x0000000950d030></p>
<p>Log:<br /><pre>
** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
NoMethodError: undefined method `attr_protected' for #<Class:0x0000000950d030>
Did you mean? attr_reader
/var/lib/gems/2.3.0/gems/activerecord-5.2.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/usr/share/test_redmine/plugins/wiking/app/models/wiki_macro.rb:14:in `<class:WikiMacro>'
/usr/share/test_redmine/plugins/wiking/app/models/wiki_macro.rb:3:in `<top (required)>'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:378:in `block in require_or_load'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:37:in `block in load_interlock'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:14:in `block in loading'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:151:in `exclusive'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:13:in `loading'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:37:in `load_interlock'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:356:in `require_or_load'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:510:in `load_missing_constant'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:195:in `const_missing'
/usr/share/test_redmine/plugins/wiking/init.rb:101:in `<top (required)>'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/usr/share/test_redmine/lib/redmine/plugin.rb:173:in `block in load'
/usr/share/test_redmine/lib/redmine/plugin.rb:164:in `each'
/usr/share/test_redmine/lib/redmine/plugin.rb:164:in `load'
/usr/share/test_redmine/config/initializers/30-redmine.rb:21:in `<top (required)>'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `load'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `block in load'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `load'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/engine.rb:657:in `block in load_config_initializer'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/notifications.rb:170:in `instrument'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/engine.rb:656:in `load_config_initializer'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/engine.rb:614:in `block (2 levels) in <class:Engine>'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/engine.rb:613:in `each'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/engine.rb:613:in `block in <class:Engine>'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `instance_exec'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `run'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
/usr/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
/usr/lib/ruby/2.3.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
/usr/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
/usr/lib/ruby/2.3.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `each'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `tsort_each_child'
/usr/lib/ruby/2.3.0/tsort.rb:415:in `call'
/usr/lib/ruby/2.3.0/tsort.rb:415:in `each_strongly_connected_component_from'
/usr/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
/usr/lib/ruby/2.3.0/tsort.rb:347:in `each'
/usr/lib/ruby/2.3.0/tsort.rb:347:in `call'
/usr/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
/usr/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
/usr/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/initializable.rb:60:in `run_initializers'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/application.rb:361:in `initialize!'
/usr/share/test_redmine/config/environment.rb:16:in `<top (required)>'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/application.rb:337:in `require_environment!'
/var/lib/gems/2.3.0/gems/railties-5.2.2/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/var/lib/gems/2.3.0/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/var/lib/gems/2.3.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
</pre></p> SCM Creator (+Github) - Patch #2446 (New): Supports redmine 3.4http://projects.andriylesyuk.com/issues/24462018-11-26T08:37:50Zmizuki ishikawa
<p>The current plugin raises an exception in redmine 3.4.<br /><img src="http://projects.andriylesyuk.com/attachments/download/672/error.png" style="width: 70%;border: 1px solid #ccc;" alt="" /></p>
<p>I wrote a patch to support redmine 3.4.<br />Applying this patch makes it unavailable unless the version is greater than 3.4.<br />Development repository( <a class="external" href="https://github.com/farend/scm-creator">https://github.com/farend/scm-creator</a> )</p>
<p>I think that there are many people who want to use this plugin in redmine 3.4.<br />I hope to be able to use this plugin with redmine 3.4.</p> Contact Form - Feature #2442 (New): Put sender's email into Fromhttp://projects.andriylesyuk.com/issues/24422018-05-17T09:56:37ZAndriy Lesyuks-andy@andriylesyuk.com
<p>Right now, the plugin puts sender’s email into the Reply-To header and the From header uses the Redmine’s emission email address. As a result, when I click Reply some email clients (such as Thunderbird) do not fill the To address of the replying email (so I need to do this manually each time).</p>
<p>So, I wonder, if the plugin should user the From header instead?</p> Project Sections - Improvement #2441 (Incomplete): Option to collapse sectionhttp://projects.andriylesyuk.com/issues/24412018-03-13T10:13:34ZAdam Pielatowski
<p>Hello,<br />Do you think is it good idea to add option to collapse section and subsections? <span class="wiking smiley smiley-smiley" title=":)"></span></p> WikiNG - Feature #2437 (Open): Ultra-HD-ready graphicshttp://projects.andriylesyuk.com/issues/24372018-01-03T12:40:10ZAndriy Lesyuks-andy@andriylesyuk.com
<p>I think, all the images of WikiNG, including smileys, should be replaced with ones, which are twice bigger and, therefore, will look better on 4K displays.</p>
<p>Alternatively, some of them (or all) can be replaced with SVG images, or just HTML code. However, custom HTML code can cause issues in, e.g., PDF files (after exporting Wiki content), so this is to be investigated before implementing.</p> WikiNG - Support #2435 (Open): Update Red-Andy styleshttp://projects.andriylesyuk.com/issues/24352017-12-13T19:43:17ZAndriy Lesyuks-andy@andriylesyuk.com
<p>Styles of <a class="project" href="http://projects.andriylesyuk.com/project/redmine/themes/red-andy">Red-Andy</a> theme are going to be changed (in <a class="version" href="http://projects.andriylesyuk.com/versions/148">1.10</a>), e.g., look and feel of buttons will be updated. As WikiNG also uses buttons, their style should be changed accordingly (see the attachment).</p>
<p>This change should be included into WikiNG only after <a class="project" href="http://projects.andriylesyuk.com/project/redmine/themes/red-andy">Red-Andy</a> <a class="version" href="http://projects.andriylesyuk.com/versions/148">1.10</a> is released (or after release of <a class="version" href="http://projects.andriylesyuk.com/versions/144">1.1.0</a>).</p> ISSUE-id - Omission #ISSUE-15 (Open): Searching #ISSUE-idhttp://projects.andriylesyuk.com/issues/ISSUE-152017-12-09T18:09:10ZAndriy Lesyuks-andy@andriylesyuk.com
<p><a href="http://www.iexhibit.com/" class="external">Suvrat Bhat</a> wrote in <a href="http://blog.andriylesyuk.com/sequent-issue-numbers-with-the-project-key/" class="external">his comment</a>:</p>
<blockquote>
<p>Issue-ID plugin works great. Could there be an option to make the issues with ISSUE-ID searchable. I see that the issues with IssueKey-Number are not searchable</p>
</blockquote>
<p>Confirmed: If I put #ISSUE-id into the search box, Redmine does not find the issue.</p> WordMine - Feature #2433 (Open): Link Redmine issue with WordPress commenthttp://projects.andriylesyuk.com/issues/24332017-12-09T18:05:10ZAndriy Lesyuks-andy@andriylesyuk.com
<p>Some users report issues in WordPress comments, so it would be great, if the plugin allowed to quickly import them into Redmine as issues. For this a new action link can be added, e.g., “Create issue”.</p>
<p>It would also be great to be able to link comments to (existing) Redmine issues (without importing them as new ones). Such comments can, probably, be added to issues as notes. Certainly, such notes should include links to blog comments too.</p> ISSUE-id - Bug #ISSUE-14 (Open): Escaping #ISSUE-id Textile rule does not workhttp://projects.andriylesyuk.com/issues/ISSUE-142017-12-02T21:46:29ZAndriy Lesyuks-andy@andriylesyuk.com
<p>Escaping ISSUE-id’s special Textile syntax rule does not work, if multiple IDs are specified in one line. For example:</p>
<pre>
!#ISSUE-1, !#ISSUE-2 and !#ISSUE-3
</pre>
<p>Demo: <img src="#ISSUE-1," alt="" /><a class="issue tracker-9 status-5 priority-5 priority-default closed" title="Bulgarian translation (Closed)" href="http://projects.andriylesyuk.com/issues/ISSUE-2">#ISSUE-2</a> and #ISSUE-3</p>
<p>This happens because Redmine treats <code>!#ISSUE-1, !</code> as an image. Therefore, <code>parse_redmine_links_with_issue_id</code> gets the following <code>text</code>:</p>
<pre>
Demo: <img src="#ISSUE-1," alt="" />#ISSUE-2 and !#ISSUE-3
</pre>
<p>The same applies to legacy IDs:</p>
<p>Demo: <img src="#1," alt="" /><a class="issue tracker-2 status-5 priority-5 priority-default closed" title="User needs some way to see available activities (Closed)" href="http://projects.andriylesyuk.com/issues/2">#2</a> and <a class="issue tracker-7 status-5 priority-4 priority-low2 closed" title="Create more bug related contexts (Closed)" href="http://projects.andriylesyuk.com/issues/3">#3</a></p>
<p>So, it’s not a problem in the plugin, but in the Redmine core.</p> Projects - Improvement #2431 (New): Fix location of known_hosts for www-datahttp://projects.andriylesyuk.com/issues/24312017-12-01T15:14:05ZAndriy Lesyuks-andy@andriylesyuk.com
<p>To mirror code onto GitHub, I call <code>git</code> under the <code>www-data</code> user. Git, in turn, is using SSH, which needs to store <code>known_hosts</code> file somewhere. Currently, it’s stored in <code>www-data</code>'s “home” directory <code>/var/www</code>, what is not very secure (probably - no, it’s not accessible via web, but).</p>
<p>Git 2.3+ supports the special environmental variable <code>GIT_SSH_COMMAND</code>, that allows to specify parameters for SSH. This variable can be used to specify a different location for the <code>known_hosts</code> file as follows: <code>ssh -o UserKnownHostsFile=/path/to/file</code>. However, I’m using Debian jessie for now, in which Git is of the version 2.1.</p>
<p>I create this ticket to remind me about the need to fix this, after I upgrade my server.</p> CD-Index - Feature #2430 (Open): (Non-)interactive mode for cdindexhttp://projects.andriylesyuk.com/issues/24302017-11-09T11:16:43ZAndriy Lesyuks-andy@andriylesyuk.com
<p>RAR archives (others, probably, too) can be protected by passwords. Currently, CD-Index uses the <code>-p-</code> flag for the external <code>unrar</code> tool to prevent it from asking the password. But, in some cases it would be better to allow users to enter it, so that CD-Index could index the contents of such archives. On the other side, <code>cdindex</code> can be run on server in non-interactive mode (e.g., from web script) and asking password will make it halt in this case.</p>
<p>Therefore, CD-Index should support two modes: non-interactive (default) and interactive. If run in the interactive mode, CD-Index can, e.g., set the environmental variable <code>CDINDEX_INTERACTIVE=1</code> to let its special tools, such as <code>rar</code>, know, which mode is used. The interactive mode can be triggered, e.g., by command-line option <code>--interactive</code>.</p> CD-Index - Feature #2429 (Incomplete): Flag for broken mediahttp://projects.andriylesyuk.com/issues/24292017-10-23T18:35:31ZAndriy Lesyuks-andy@andriylesyuk.com
<p>What if a media became broken? There should be a way to mark such media as the one, that needs to be replaced.</p>
<p>This can be done with a new special “broken” flag (byte) in the CDI database. An alternative option is to use a property in a special properties file. In any case this flag is to be set manually, e.g., through the <code>cdmodify</code> tool (see <a class="issue tracker-2 status-8 priority-5 priority-default" title="Tool to modify data (cdmodify?) (Incomplete)" href="http://projects.andriylesyuk.com/issues/2426">#2426</a>).</p> CD-Index - Feature #2427 (Incomplete): Tagshttp://projects.andriylesyuk.com/issues/24272017-10-13T13:42:46ZAndriy Lesyuks-andy@andriylesyuk.com
<p>I have more than 100 CDI files. And, I have too many images and videos there.</p>
<p>So, it would be great to be able to:</p>
<ul>
<li>Group media by something like folders.</li>
<li>Have some “marks” indicating a) whether an image/video was shot by me or my friends (“home” videos and photos) and b) who is on this image/video.</li>
</ul>
<p>In such cases tags would help. Thus, they would allow:</p>
<ul>
<li>Tag a CDI database, in this way making it associated with one or more virtual “folders”.</li>
<li>Tag image and video files, in this way a) also making them associated with a virtual “folder” and/or b) making them be associated with just a word.</li>
</ul>
<p>CDI database and entry tags should be treated differently, of course. Also, when tags are added, <code>cdfind</code> should be modified to allow searching them.</p>
<p>The tags database can have the extension <code>CDT</code>. Probably, tags should be defined globally (no free-form tags should be allowed) - in this case the registry of tags (a database too) can have the name <code>tags.cdr</code> (“r” for “registry”).</p>
<p>Special tools can be used for managing tags, e.g.:</p>
<ul>
<li><code>cdtags add "TAG NAME"</code> - to register a new global tag</li>
<li><code>cdmodify "Test media" "path/to/file.ext" addtag "TAG NAME"</code> - to associate a file with the tag</li>
<li><code>cdmodify "Test media" "path/to/dir/*.jpg" addtag "TAG NAME"</code> - to associate multiple files with the tag</li>
</ul> CD-Index - Feature #2426 (Incomplete): Tool to modify data (cdmodify?)http://projects.andriylesyuk.com/issues/24262017-10-13T13:39:43ZAndriy Lesyuks-andy@andriylesyuk.com
<p>There are some data in the database - especially in image (CDP) and video (CDV/CDVA) databases - that might need to be modified manually. These data include:</p>
<ul>
<li>IMDB movie identifier. This one is not currently set and is aimed to be set manually only.</li>
<li>The quality of translation (of audio stream in video). This one currently can be set only to <code>ORIGINAL</code> (no translation) or <code>DUBBED</code>. Other its values, such as <code>TWO-VOICE</code> and <code>SINGLE-VOICE</code>, can be set only manually.</li>
<li>Thumbnails. CD-Index may accidentally take a black screen as a thumbnail. There should be a way to regenerate such thumbnails, without rerunning <code>cdindex</code> (what does not guarantee, that all thumbnails will be good).</li>
</ul>
<p>For the above cases a new tool, e.g., <code>cdmodify</code>, could be used (for example):</p>
<ul>
<li><code>cdmodify "Test media" "path/to/file.ext" imdb 123456</code></li>
<li><code>cdmodify "Test media" "path/to/file.ext" audio[1].translation 1-VOICE</code></li>
<li><code>cdmodify "Test media" "path/to/file.ext" thumbnail[1]</code></li>
</ul> ISSUE-id - Support #ISSUE-1 (Deferred): Need a function to display issue idhttp://projects.andriylesyuk.com/issues/ISSUE-12013-09-03T14:20:15ZAndriy Lesyuks-andy@andriylesyuk.com
<p>The ISSUE-id plugin adds the <code>issue_id</code> function, which is used to generate the featured id. Also the <code>to_param</code> function is used by Redmine to put the correct ID into links etc. The plugin also patches a <ins>lot</ins> of other native Redmine functions to replace native Redmine issue id with the featured one.</p>
<p>This could be <ins>much easier</ins>, if Redmine came with a special function for displaying issue ids, which could be named, e.g., <code>display_id</code>! So when the plugin is released I need to make such suggestion to Redmine guys...</p>