Redmine: Issueshttps://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292024-02-28T11:59:45ZRedmine
Redmine Redmine - Patch #40325 (New): Redmine Email Notification Issue - Help Needed for Modern Authentic...https://www.redmine.org/issues/403252024-02-28T11:59:45ZDarshan Faldu
<p>Hi,</p>
<p>We've recently configured Redmine for our organization, and while everything seems to be working smoothly, we're encountering an issue with email notifications.</p>
<p>We have configured the email delivery method to use SMTP, as shown below:</p>
<pre><code class="ruby syntaxhl"><span class="ss">email_delivery:
delivery_method: :smtp</span>
<span class="ss">smtp_settings:
address: </span><span class="n">smtp</span><span class="p">.</span><span class="nf">office365</span><span class="p">.</span><span class="nf">com</span>
<span class="ss">port: </span><span class="mi">587</span>
<span class="ss">domain: </span><span class="n">smtp</span><span class="p">.</span><span class="nf">office365</span><span class="p">.</span><span class="nf">com</span>
<span class="ss">authentication: :login</span>
<span class="ss">user_name: </span><span class="s2">"noreply@myorg.com"</span>
<span class="ss">password: </span><span class="s2">"my~p@ssw0rd"</span>
<span class="ss">enable_starttls_auto: </span><span class="kp">true</span>
</code></pre>
<p>However, when attempting to send a test email, we receive the following error:</p>
<blockquote>
<p>An error occurred while sending mail (535 5.7.139 Authentication unsuccessful, basic authentication is disabled. [BM1PR01CA0164.INDPRD01.PROD.OUTLOOK.COM 2024-02-28T11:48:49.884Z 08DC38275E4F25C6])</p>
</blockquote>
<p>Our research suggests that Redmine may not fully support modern authentication methods by default, and Microsoft's deprecation of basic authentication for Office 365 further complicates this situation.</p>
<p>We would greatly appreciate your guidance on how to address this issue and ensure successful email notifications from Redmine.</p>
<p>Below are the Redmine installation information.</p>
<pre><code class="yaml syntaxhl"><span class="na">Environment</span><span class="pi">:</span>
<span class="s">Redmine version 5.0.3.stable</span>
<span class="s">Ruby version 2.6.10-p210 (2022-04-12) [x64-mingw32]</span>
<span class="s">Rails version 6.1.7</span>
<span class="s">Environment production</span>
<span class="s">Database adapter Mysql2</span>
<span class="s">Mailer queue ActiveJob::QueueAdapters::AsyncAdapter</span>
<span class="s">Mailer delivery smtp</span>
<span class="na">Redmine settings</span><span class="pi">:</span>
<span class="s">Redmine theme Default</span>
<span class="na">SCM</span><span class="pi">:</span>
<span class="s">Git 2.41.0</span>
<span class="s">Filesystem</span>
<span class="na">Redmine plugins</span><span class="pi">:</span>
<span class="s">no plugin installed</span>
</code></pre>
<p>Thank you for your time and assistance.</p> Redmine - Patch #40267 (New): Phone number as a link for textile formating texthttps://www.redmine.org/issues/402672024-02-19T17:09:32ZAnton Nekrasov
<p>Hello. The following syntax is not currently used to display phone as textile format links.<br />"+588882222":tel:+588882222</p> Redmine - Patch #40221 (New): Update wiki content related to how to create a custom themehttps://www.redmine.org/issues/402212024-02-10T10:31:36ZMarius BĂLTEANU
<p>After we finish the migration to Asset Pipeline, we need to update Wiki pages related to custom themese, for example: <a class="wiki-page" href="https://www.redmine.org/projects/redmine/wiki/HowTo_create_a_custom_Redmine_theme">HowTo_create_a_custom_Redmine_theme</a></p> Redmine - Patch #40202 (New): Add LICENSE.txt in the root directoryhttps://www.redmine.org/issues/402022024-02-07T02:35:13ZGo MAEDA
<p>Currently, the COPYING file which describes the license of Redmine is placed under the doc directory. This placement might not be immediately obvious to people.</p>
<p>I propose the addition of a short license file, named LICENSE.txt, to the root directory. This file briefly states that Redmine is licensed under the GNU General Public License version 2 (GPLv2) and the full license text can be found in the doc directory.</p>
<p>This approach has several benefits:</p>
<ol>
<li>It makes it easier for people to find and understand the licensing information at a glance</li>
<li>GitHub will automatically detect the presence of the LICENSE.txt file and display a link to it in the repository's sidebar</li>
<li>It aligns with the common practice among open-source projects to include licensing information in the root directory</li>
</ol> Redmine - Patch #40198 (New): Update html-pipeline to 3.0https://www.redmine.org/issues/401982024-02-06T07:05:04ZMarius BĂLTEANU
<p><a class="external" href="https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md">https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md</a></p> Redmine - Patch #40197 (New): Update commonmark to 1.0https://www.redmine.org/issues/401972024-02-06T07:04:34ZMarius BĂLTEANU
<p><a class="external" href="https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md">https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md</a></p> Redmine - Patch #40194 (New): Fix error in clear_disabled_fields method when IssuePriority is mis...https://www.redmine.org/issues/401942024-02-05T15:57:18ZYazan Al aeddin
<p>Hello</p>
<p>The clear_disabled_fields method in the Redmine codebase raises a NoMethodError exception when called,<br /> and the IssuePriority model is missing. This occurs due to an attempt to access the id attribute of IssuePriority without verifying its presence. The proposed fix ensures that the method gracefully handles the case where IssuePriority is missing by checking for its presence before accessing its attributes.<br />I propose this patch</p> Redmine - Patch #40014 (New): Comma support in Wiki macro with double quoteshttps://www.redmine.org/issues/400142024-01-08T05:48:09ZYasu Saku
<p>Please consider supporting comma in Wiki macro.</p>
<p>I have considered using double quotes and I'm attaching a patch.<br />This patch supports the following two additional features.<br />1. Double quotes can be escaped by placing two consecutive double quotes.<br />2. Support for enclosing values in double quotes in key/value pair arguments.</p>
<p>For example:<br /><pre><code class="ruby syntaxhl"><span class="n">args</span> <span class="o">=</span> <span class="s1">'a, "b, bbb, b", cc c, """d, ""d""", "e" , hh, , "", """", jj=jj, kk="kk, k", "ll=l,ll"'</span>
<span class="n">args</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="nf">split</span><span class="p">(</span><span class="sr">/\s*,\s*(?=(?:[^"]*"[^"]*")*[^"]*$)/</span><span class="p">).</span><span class="nf">map</span><span class="p">{</span><span class="o">|</span><span class="n">i</span><span class="o">|</span> <span class="n">i</span><span class="p">.</span><span class="nf">gsub</span><span class="p">(</span><span class="sr">/^"(.*)"$/</span><span class="p">,</span> <span class="s1">'\1'</span><span class="p">).</span><span class="nf">gsub</span><span class="p">(</span><span class="s1">'""'</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">)}</span>
<span class="c1"># args:</span>
<span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b, bbb, b"</span><span class="p">,</span> <span class="s2">"cc c"</span><span class="p">,</span> <span class="s2">"</span><span class="se">\"</span><span class="s2">d, </span><span class="se">\"</span><span class="s2">d</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"e"</span><span class="p">,</span> <span class="s2">"hh"</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">"</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"jj=jj"</span><span class="p">,</span> <span class="s2">"kk=</span><span class="se">\"</span><span class="s2">kk, k</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"ll=l,ll"</span><span class="p">]</span>
</code></pre></p> Redmine - Patch #39895 (New): Add hook call in edit issue formhttps://www.redmine.org/issues/398952023-12-21T03:04:54ZAllan C
<p>In Time Spent module, there is a hook call to view_timelog_edit_form_bottom.</p>
<p>In Issue module, when edit issue, there is a section to input time spent but no hook call to view_timelog_edit_form_bottom.</p>
<p>A pull request has been created to add in the hook call and can be viewed <a href="https://github.com/redmine/redmine/pull/148" class="external">here</a>.</p>
<p>Appreciate if the PR can be reviewed. Thanks.</p> Redmine - Patch #39385 (New): Install Redmine on cPanel hostinghttps://www.redmine.org/issues/393852023-10-27T14:06:51ZAndre Men
<a name="Install-Redmine-on-cPanel-hosting"></a>
<h1 >Install Redmine on cPanel hosting<a href="#Install-Redmine-on-cPanel-hosting" class="wiki-anchor">¶</a></h1>
<p>Any one can install it for me over cPanel hosting?</p>
<p>I need a fresh install.</p>
<p>Regards, Andre</p> Redmine - Patch #39050 (New): New design for the calendar viewhttps://www.redmine.org/issues/390502023-09-09T08:22:03ZYasu Saku
<p>I propose a new design for the calendar.<br />I have made it possible to visualize not only the start and end dates but also valid events.</p>
<a name="Current-designsourcetrunk22293"></a>
<h3 >Current design<br />(<a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/22293/entry/trunk">source:trunk@22293</a>)<br /><img src="https://www.redmine.org/attachments/download/30927/current.png" style="width:300px;" alt="" /><a href="#Current-designsourcetrunk22293" class="wiki-anchor">¶</a></h3>
<a name="New-design"></a>
<h3 >New design<br /><img src="https://www.redmine.org/attachments/download/30928/new.png" style="width:300px;" alt="" /><a href="#New-design" class="wiki-anchor">¶</a></h3> Redmine - Patch #38796 (New): Improved display of tracker selection area in custom field settingshttps://www.redmine.org/issues/387962023-06-30T20:20:02Zryo ito
<p>The items in the tracker selection area of the custom field setting screen are not properly aligned, <br />making it difficult to see and easy to operate when a large number of trackers are created.</p>
<p>Therefore, we have modified it to be properly aligned like the issue tracking tab in the project settings, <br />so that it can be easily viewed even when many trackers are displayed.</p>
<ul>
<li>before<br /><img src="https://www.redmine.org/attachments/download/30705/trackers_selection_before.png" alt="" /></li>
</ul>
<ul>
<li>after<br /><img src="https://www.redmine.org/attachments/download/30706/trackers_selection_after.png" alt="" /></li>
</ul> Redmine - Patch #38795 (New): Hide submit button in splitcontentleft on mobilehttps://www.redmine.org/issues/387952023-06-30T06:14:55ZKenta Kumojima
<p>In a mobile environment, the submit button is displayed in the middle of the form.<br />It is need to add 'mobile-hide' class and add submit button which has 'mobile-show' class.</p> Redmine - Patch #38792 (New): Allow removing some watchers via bulk edit context menuhttps://www.redmine.org/issues/387922023-06-28T16:37:33Zsalman mp
<p>It's needed sometimes to remove some watchers in bulk edit.<br />This patch added this feature, but does not contains related tests!</p> Redmine - Patch #38740 (New): Enhanced collapsing/expanding functionalities for Gantt Charthttps://www.redmine.org/issues/387402023-06-18T15:12:25ZYasu Saku
<p>I have added new three features to the Gantt Chart that enhance its collapsing/expanding functionalities.</p>
<a name="1-Maintain-Collapse-State-of-Child-Elements"></a>
<h4 >1. Maintain Collapse State of Child Elements:<a href="#1-Maintain-Collapse-State-of-Child-Elements" class="wiki-anchor">¶</a></h4>
<p>Currently, when expanding parent elements in the Gantt Chart, the collapse state of child elements would reset.<br />With this new feature, the collapse state of child elements is maintained even when expanding parent elements.<br /><img src="https://www.redmine.org/attachments/download/30667/maintain_collapse_state_of_child_elements.gif" alt="" /></p>
<a name="2-Expand-All-Subelements-with-CtrlClick"></a>
<h4 >2. Expand All Subelements with Ctrl+Click:<a href="#2-Expand-All-Subelements-with-CtrlClick" class="wiki-anchor">¶</a></h4>
<p>By holding the Ctrl key and clicking on a parent element, all its subelements will be expanded.<br />(This is equivalent to the current behavior.)<br /><img src="https://www.redmine.org/attachments/download/30668/expand_all_subelements_with_ctrl-click.gif" alt="" /></p>
<a name="3-Collapse-All-Subelements-with-CtrlClick"></a>
<h4 >3. Collapse All Subelements with Ctrl+Click:<a href="#3-Collapse-All-Subelements-with-CtrlClick" class="wiki-anchor">¶</a></h4>
<p>By holding the Ctrl key and clicking on a parent element, all its subelements will be collapsed.<br /><img src="https://www.redmine.org/attachments/download/30669/collapse_all_subelements_with_ctrl-click.gif" alt="" /></p> Redmine - Patch #38732 (New): Adjusting elements position on Issue Edit Viewhttps://www.redmine.org/issues/387322023-06-16T10:29:09ZYasu Saku
<p>Currentry, elements are not same position on Issue Show View and Issue Edit View.<br />I think it will confuse people who are new to Redmine.<br />So, I propose this patch.</p>
<p><a class="thumbnail" title="adjusting_elements_position_on_issue_edit_view.png" href="https://www.redmine.org/attachments/30655"><img alt="adjusting_elements_position_on_issue_edit_view.png" src="https://www.redmine.org/attachments/thumbnail/30655/300" /></a></p>
<p>Note: You can easily apply similar content as this patch using jQuery.<br /><pre><code class="javascript syntaxhl"><span class="nx">$</span><span class="p">(</span><span class="dl">"</span><span class="s2">#parent_issue</span><span class="dl">"</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_project_id</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">()).</span><span class="nx">css</span><span class="p">({</span><span class="na">float</span><span class="p">:</span> <span class="dl">"</span><span class="s2">right</span><span class="dl">"</span><span class="p">});</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_description_and_toolbar</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">().</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#attributes</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_done_ratio</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">().</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#due_date_area</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><hr></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#attributes</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><hr></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_subject</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">());</span>
</code></pre></p> Redmine - Patch #38652 (New): Actual translation of Syntax Wiki Bulgarienhttps://www.redmine.org/issues/386522023-06-02T09:45:52ZC S
<p>Source: <a class="external" href="https://www.redmine.org/boards/2/topics/68465?r=68506#message-68506">https://www.redmine.org/boards/2/topics/68465?r=68506#message-68506</a></p> Redmine - Patch #38614 (New): add email handling by subjecthttps://www.redmine.org/issues/386142023-05-26T14:55:47ZAisha Tammy
<p>This change allows the email handler to find issues by subject and adds an option for this to be enabled (disabled by default as SQL full text search might be more expensive than needed).</p>
<p>I needed this as I am trying to use redmine for the openbsd project mailing lists, so I made redmine subscribe to that list and now redmine will add/update issues by looking at mails on this mailing list.</p> Redmine - Patch #38505 (New): Add an index into table custom_values on value columnhttps://www.redmine.org/issues/385052023-04-30T12:43:35Zsalman mp
<p>In my case (due to some custom fields on issues) querying issues was very time consuming.<br />This problem is almost solved by adding some index to the <code>custom_values</code> table on column <code>value</code>.</p> Redmine - Patch #38432 (New): Journal diff without Issuehttps://www.redmine.org/issues/384322023-04-11T08:28:29ZBrice Beaumesnil
<p>Hello,</p>
<p>If a plugin use journal (like redmine_risks), find_journal and diff methods need to link with an issue, if journal is create on another class 404 error is send.</p>
<p>I make a little patch to display generic diff without issue link.</p> Redmine - Patch #38284 (New): New settings for mail_handlerhttps://www.redmine.org/issues/382842023-02-20T09:24:45ZMayama Takeshimayamatakeshi@gmail.com
<p>Hi,<br />aside from dev work my company uses redmine to track internal issues from other teams.<br />However, too frequently, people start discussing things via email and don't edit quoted messages.<br />This ends up causing duplication of attachments several times.</p>
<p>So I have implemented new setting mail_handler_avoid_attachment_duplication<br />to avoid creating new Attachment records for an item that already exists (I know redmine already avoids duplication of the same item in the filesystem).</p>
<p>Also, people want emails with images to retain text/image layout and not just have images attached.<br />So I have also implemented new setting mail_handler_keep_layout that will replace image references in description/notes by markup language set in settings.text_formmating (currently: markdown/textile/common_mark)</p>
<p>Currently they are settable in config/settings.yml only but if this patch is approved I will add them to the "Incoming emails" setting panel.</p>
<p>Obs: I wrote this patch mostly to learn more about RoR development. <br />It was worthy even if this patch ends up not being accepted.</p>
<p>The only tests that failed were the ones related to revision control, filesystem and LDAP:</p>
<pre>
$ rake test
Bazaar test repository NOT FOUND. Skipping functional tests !!!
CVS test repository NOT FOUND. Skipping functional tests !!!
Filesystem test repository NOT FOUND. Skipping functional tests !!!
Git test repository NOT FOUND. Skipping functional tests !!!
Mercurial test repository NOT FOUND. Skipping functional tests !!!
Subversion test repository NOT FOUND. Skipping functional tests !!!
Git test repository NOT FOUND. Skipping integration tests !!!
(Test LDAP server not configured)
Bazaar test repository NOT FOUND. Skipping unit tests !!!
Cvs test repository NOT FOUND. Skipping unit tests !!!
Filesystem test repository NOT FOUND. Skipping unit tests !!! See doc/RUNNING_TESTS.
Git test repository NOT FOUND. Skipping unit tests !!!
Mercurial test repository NOT FOUND. Skipping unit tests !!!
Subversion test repository NOT FOUND. Skipping unit tests !!!
Bazaar test repository NOT FOUND. Skipping unit tests !!!
CVS test repository NOT FOUND. Skipping unit tests !!!
Filesystem test repository NOT FOUND. Skipping unit tests !!! See doc/RUNNING_TESTS.
Git test repository NOT FOUND. Skipping unit tests !!!
Git UTF-8 test repository NOT FOUND. Skipping unit tests !!!
Mercurial test repository NOT FOUND. Skipping unit tests !!!
Subversion test repository NOT FOUND. Skipping unit tests !!!
Skipping LDAP tests.
Run options: --seed 32481
# Running:
...ABRIDGED...
Finished in 505.205749s, 10.2335 runs/s, 43.5743 assertions/s.
5170 runs, 22014 assertions, 0 failures, 0 errors, 7 skips
You have skipped tests. Run with --verbose for details.
</pre>
<p>So I think it is OK as my changes would not affect those.</p>
<p>But I can try to adjust to pass such tests if necessary for the patch to be evaluated (the "See doc/RUNNING_TESTS." actually is incomplete and doesn't mention filesystem at all)</p>
<p>I'm attaching browser screenshots showing redmine running with the new settings on and off for comparison.</p> Redmine - Patch #38278 (New): Basename of repository and Branch/Tags in Changeset Descriptionhttps://www.redmine.org/issues/382782023-02-16T16:47:21ZNiklaus Giger
<p>Our development team uses branches pretty thoroughly.<br />Therefore we are running for a few years a patched version for redmine which improves the display of a revision in order to ease the review of patches.</p>
<ul>
<li>Show basename of associated repository (often our issues require changes in several repositories)</li>
<li>Show a link to the associated revision</li>
<li>Show a link to the associated diff</li>
</ul>
<p>I invested 2 hours to add a test for the attached patch, but was not successfull. If anybody gives me a hint about howto proceed, I am willing to invest some more time, as it is always a good idea to test the changes.</p>
<p>Running `RAILS_ENV=test bundle exec rake test:scm:functionals` results in `159 runs, 844 assertions, 26 failures, 0 errors, 0 skips`, but is about the same as running the master branch.</p>
<p>A similar issue was raised in <a class="external" href="https://www.redmine.org/issues/5386">https://www.redmine.org/issues/5386</a>, but I never got any reponse to my patches supplied there.</p> Redmine - Patch #38189 (New): Parent Tracker Issuehttps://www.redmine.org/issues/381892023-01-17T15:25:51ZMatias Buonavolonta
<p>I am needing to be able to create a custom query that I can group by the tracker of the parent issue.</p>
<p>I have not found any plugin to make this field available.</p>
<p>Can you help me?</p>
<p>Thanks!</p> Redmine - Patch #38153 (New): Make wiki 'Sidebar' localizablehttps://www.redmine.org/issues/381532023-01-05T10:39:46Zsalman mp
<p>Apllying attached patch can make 'sidebar' wiki page localizable.</p> Redmine - Patch #37994 (New): Unify link to user/group in application helperhttps://www.redmine.org/issues/379942022-12-05T16:12:13ZDmitry Makurin
After <a class="changeset" title="Add link from group name to group page on project overview page (#12795). Patch by Go MAEDA." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21073">r21073</a> was introduced application helper has multiple methods to render user/group links:
<ul>
<li>link_to_user</li>
<li>link_to_principal</li>
<li>link_to_group</li>
</ul>
<p>The <code>link_to_principal</code> method combines the functionality of the other two. They don't have much use right now. I propose to unify all 3 methods in one.</p>
<p>An attached patch removes <code>link_to_user</code> and <code>link_to_group</code> methods and adds two aliases to <code>link_to_principal</code> (user and group respectively).</p>
<p><code>link_to_group</code> was used to redirect admin user to edit group page which is obsolete since all users have access to show group page and there is an edit link for admin.</p>
<p>Patch also adds a new test to confirm edit link presence for admins.</p> Redmine - Patch #37942 (New): Traditional Chinese translation (to r21959)https://www.redmine.org/issues/379422022-11-17T02:23:06ZChunChang (Nagaharu) Lo
<ul>
<li>added
<ul>
<li>permission_change_issue_author</li>
</ul></li>
</ul> Redmine - Patch #37862 (New): Estimated time remaining issue query columnhttps://www.redmine.org/issues/378622022-10-30T02:52:51ZJens Krämerjk@jkraemer.net
<p>The attached patch, which was extracted from <a href="https://plan.io/redmine-hosting" class="external">Planio</a>, adds an issue query column that represents the estimated remaining time to completion, calculated from estimated time and done ratio.</p>
<p>The main use case here is to get a quick estimation of the remaining effort for completion of a group of issues by adding the column in the query totals.</p> Redmine - Patch #37748 (New): Favicon takes a long time to loadhttps://www.redmine.org/issues/377482022-10-04T10:56:01ZGasper C
<p>I'm using passenger standalone and nginx as proxy webserver. Redmine is v5.0.2.</p>
<p>I've noticed that favicon isn't cached, and takes a ridiculous amount to load (~30ms).</p>
<p>While caching should be configured at webserver level, I've noticed that when I remove versioning from the favicon, it only takes about 4ms to load it.</p>
<p>This is a simple patch, maybe it would be better to remove some more of the code related to favicon, but I'm not familiar with ruby.</p>
<p>Before:<br /><img src="https://www.redmine.org/attachments/download/29750/before.png" alt="" /></p>
<p>After:<br /><img src="https://www.redmine.org/attachments/download/29749/after.png" alt="" /></p> Redmine - Patch #37664 (New): Preload all stylesheets and JavaScriptshttps://www.redmine.org/issues/376642022-09-11T21:37:13ZTakashi Kato
<p>All browsers usually block HTML from rendering when loading stylesheets and javascript. Preloading the stylesheet and javascript with the link element or Link header can avoid this block.</p>
<p>Rails 6.1 has a feature that automatically preloads stylesheets and javascript, so enable it.</p>
<p>Please see <a class="external" href="https://github.com/rails/rails/pull/39939">https://github.com/rails/rails/pull/39939</a> and <a class="external" href="https://github.com/rails/rails/pull/40882">https://github.com/rails/rails/pull/40882</a> .</p> Redmine - Patch #37600 (New): Cache attachments and thumbnails in web browsershttps://www.redmine.org/issues/376002022-08-24T03:15:55ZGo MAEDA
<p>The attached patch adds "max-age" value to "Cache-Control" filed in response headers of <code>AttachmentController#download</code> and <code>AttachmentController#thumbnail</code> in order to reduce the number of requests to a Redmine server and speed up page loading especially when an issue or a Wiki page has dozens of inline images and thumbnails.</p>
<p>Before:<br /><pre>
Cache-Control: private
</pre></p>
<p>After:<br /><pre>
Cache-Control: max-age=86400, private
</pre></p>
<p>In my observation, some users attach about 100 or more images to an issue. Even if they access the issue again shortly after it was accessed, their browser sends many GET requests to <code>AttachmentController#download</code> and <code>AttachmentController#thumbnail</code> to revalidate their local cache. Each of those requests that receive "304 Not Modified" consumes a few tens of milliseconds of server time.</p>
<p>By adding "max-age: 86400" to "Cache-Control" header field, web browsers will cache images and thumbnails and will not make revalidate requests for 24 hours, which improves page loading speed and reduces server load.</p>
<p>In Redmine, the content of attachments and thumbnails with the same URL is immutable. So there is no need to frequently revalidate the local cache and it is safe to keep the cache for some time.</p>
<p>It is safe to keep caches of attachments and thumbnails for some time because the content of attachments and thumbnails with the same URL is immutable in Redmine. And there is no need to frequently revalidate the local cache.</p> Redmine - Patch #37559 (New): Use meta element instead of javascript objecthttps://www.redmine.org/issues/375592022-08-07T02:16:15ZTakashi Kato
<p>Modify autocomplete paths to be held in meta elements instead of JSON.<br />It reduces coupling compared to writing javascript in ruby code.</p>
<p>The patch can be applied to <a class="changeset" title="Replace JQuery `.focus()` method with HTML `autofocus` attribute (#37482). Patch by Go MAEDA." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21762">r21762</a></p> Redmine - Patch #37486 (New): Add JavaScript unit tests.https://www.redmine.org/issues/374862022-07-23T01:49:55ZTakashi Kato
<p>Currently, Redmine does not have JavaScript unit tests; I propose to add lightweight unit tests in a Node.js environment.</p>
<p>Prerequisite environment: Node.js 16 or later, yarn 1.22</p>
<p>Tools to deploy for unit testing: mocha, chai, jsdom</p>
<p>This patch does not require all Redmine developers, including plugins and themes, to install Node.js. This patch uses Node.js only for JavaScript unit tests (like when adding stylelint).</p>
<p>Applying this patch and running yarn install will install the necessary tools for testing.</p>
<p>As a first example of adding tests, I added tests to context_menu.js and refactored them.</p>
<p>As a prerequisite for testing, I convert JavaScript to ES modules. (<a class="external" href="https://javascript.info/modules-intro">https://javascript.info/modules-intro</a>)</p>
<ul>
<li>ES modules do not use global namespaces by default. There is no longer a need to fear duplicate function names; context_menu.js prefixed all functions "ContextMenu" to avoid function names conflict, but that practice is no longer necessary.</li>
<li>Modularizing the scripts will delay processing, waiting until the HTML document is fully ready, which should speed up HTML processing as we move forward.</li>
<li>It would be impractical to es-modularize all of application.js at once, as there is a lot of JavaScript tightly coupled to html (using onclick, link_to_function, etc.). We need to consider other ways to improve.</li>
</ul>
<p>This patch also contains fix <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Fix the unintentional selection of rows with the context menu (Closed)" href="https://www.redmine.org/issues/37481">#37481</a>.</p>
<p>The patch can be applied to <a class="changeset" title="Open Help in a separate tab (#1069). Contributed by Vijay Kiran." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21737">r21737</a></p> Redmine - Patch #37381 (New): Fix autoscrollable areas not covering whole pagehttps://www.redmine.org/issues/373812022-07-04T21:45:07ZVitaly vit9696
<p>This patch resolves "Repositories are not displaying properly at 125% in Safari 15.4" (<a class="issue tracker-1 status-9 priority-4 priority-default" title="Defect: Repositories are not displaying properly at 125% in Safari 15.4 (Confirmed)" href="https://www.redmine.org/issues/37000">#37000</a>).</p> Redmine - Patch #36742 (New): Scroll to top buttonhttps://www.redmine.org/issues/367422022-03-09T12:33:44ZDmitry Makurin
<p>As title says the patch adds a small button to the right bottom of the page. On click scrolls to top.</p>
<p><img src="https://www.redmine.org/attachments/download/28894/ksnip_20220309-130332.png" alt="" /></p>
<p>This is very handy for long pages e.g. index of issues/news/wikis or issue with a lot of changes.</p>
<p>Patch was extracted from plugin <a class="external" href="https://bitbucket.org/dkuk/usability">https://bitbucket.org/dkuk/usability</a></p> Redmine - Patch #36182 (New): Show notifications for all Redmine usershttps://www.redmine.org/issues/361822021-11-11T04:54:59ZMizuki ISHIKAWA
<p>This patch adds the feature to display text throughout the site once it has been set in Settings > Administration.</p>
<p><img src="https://www.redmine.org/attachments/download/28407/screenshot-2021-11-11-10.41.31.png" style="width: 500px;border: 1px solid #ccc;" alt="" /><br /><img src="https://www.redmine.org/attachments/download/28408/screenshot-2021-11-11-10.41.49.png" style="width: 500px;border: 1px solid #ccc;" alt="" /></p>
<p>There is already a famous plugin called Redmine banner that is used by many people. <a class="external" href="https://www.redmine.org/plugins/redmine_banner">https://www.redmine.org/plugins/redmine_banner</a><br />This patch only provides very simple functionality, so I think you will need the Redmine banner plugin to change the notification destination and design.</p> Redmine - Patch #35536 (New): Use webpack to improve javascripts and stylesheets managementhttps://www.redmine.org/issues/355362021-07-06T10:00:04ZTakashi Kato
<p>I propose the use of webpack as a library management tool for javascript. I also suggest the use of <a href="https://github.com/hokaccha/simpacker" class="external">simpacker</a> as a tool for linking rails and webpack.</p>
<p>The docker environment can be found here.</p>
<p><a class="external" href="https://github.com/tohosaku/redmine-docker-wsl2">https://github.com/tohosaku/redmine-docker-wsl2</a></p>
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<ul>
<li>To deal with the problem that <a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: JavaScript is not minified for production use (New)" href="https://www.redmine.org/issues/6662">#6662</a> "js files are not compressed" </li>
<li>To be a foundation for future npm package usage.</li>
</ul> Redmine - Patch #35268 (New): Issue.acts_as_searchable columns option cleanuphttps://www.redmine.org/issues/352682021-05-20T14:29:36ZThomas Löber
<p>Hi,</p>
<p>Just for the sake of completeness, in <code>Issue.acts_as_searchable</code> the <code>columns</code> option should specify the table name for both columns.</p>
<p>A patch is attached.</p>
<p>Best regards,<br />Thomas</p> Redmine - Patch #34218 (New): Increase size of value field in settingshttps://www.redmine.org/issues/342182020-11-03T10:21:58ZAleksandar Pavic
<p>Size of value is text field which is around ~64kb.</p>
<p>In some cases like using some of plugins, errors like this might arise:</p>
<p><code>Mysql2::Error: Data too long for column 'value' at row 1: UPDATE settings SET value = '---\nprojects:\n 45:\n helpdesk_answer_from:</code></p>
<p>This patch increases size of text field to larger format.</p> Redmine - Patch #33722 (Resolved): migrate_from_trac dose not workhttps://www.redmine.org/issues/337222020-07-13T00:51:16ZHideyuki KATO
<p>Current migrate_from_trac rake task dose not work with 3.4.13, 4.0.7, 4.1.1.</p>
<p>There are many patches, but they have not been applied. and they are old (maybe they are for Redmine2.x or early 3.x)</p>
<ul>
<li><a class="issue tracker-3 status-1 priority-4 priority-default" title="Patch: migrate_from_trac.rake does not convert timestamps in Trac database version 23 (New)" href="https://www.redmine.org/issues/14567">#14567</a></li>
<li><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Exception in Migration from Trac to Redmine (incl. solution) (Closed)" href="https://www.redmine.org/issues/17898">#17898</a></li>
<li><a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: Issues with migrate_from_trac.rake from trac 0.12/1.0 (possible solutions provided) (New)" href="https://www.redmine.org/issues/18658">#18658</a></li>
<li><a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: Migrating from Trac to Redmine [Trac2Redmine] (New)" href="https://www.redmine.org/issues/24570">#24570</a></li>
</ul>
<p>I have merged these patches and available on Redmine 3.4.13. but not work with Redmine 4.x. because of the difference between Rails/ActiveRecord 4.2 and 5.2.</p>
<p><a class="external" href="https://github.com/hkato/migrate_from_trac.rake/blob/master/migrate_from_trac-trac-1.0.patch">https://github.com/hkato/migrate_from_trac.rake/blob/master/migrate_from_trac-trac-1.0.patch</a></p>
<p>Anyway, could you merge this patch for trunk. and we will support Rails/ActiveRecord 5.2 issue after this.</p>
<p>Redmine 3.4.13</p>
<pre>
$ rake redmine:migrate_from_trac RAILS_ENV="production"
rake aborted!
NoMethodError: undefined method `set_inheritance_column' for TracMigrate::TracAttachment(Table doesn't exist):Class
Did you mean? set_trace_func
/usr/local/bundle/gems/activerecord-4.2.11.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:121:in `<class:TracAttachment>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:119:in `<module:TracMigrate>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => redmine:migrate_from_trac
(See full trace by running task with --trace)
</pre>
<p>Redmine 4.1.1<br /><pre>
$ rake redmine:migrate_from_trac RAILS_ENV="production"
rake aborted!
NoMethodError: undefined method `set_inheritance_column' for TracMigrate::TracAttachment(Table doesn't exist):Class
Did you mean? set_trace_func
/usr/local/bundle/gems/activerecord-5.2.4.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:121:in `<class:TracAttachment>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:119:in `<module:TracMigrate>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => redmine:migrate_from_trac
(See full trace by running task with --trace)
</pre></p> Redmine - Patch #33457 (New): Croatian translations for v4.1.1https://www.redmine.org/issues/334572020-05-16T21:38:46ZAnonymous
<p>Hi, I would like to submit Croatian translations for version 4.1.1, with keys and key ordering matching the EN language file. The current translations file is quite old, many items were untranslated or poorly translated, so it pretty much needed a major overhaul.</p> Redmine - Patch #33431 (New): Better performance for Time entries without issue and activity filtershttps://www.redmine.org/issues/334312020-05-11T11:47:56ZAlexander Meindl
<p>At the moment all time entry queries join issue and activities. If there is a large number of time entries and issues, this is a big performance issue.</p>
<p>Some of our customers have more than 500.000 time entries and even more issues. A query without a time filter requires minutes. With this attached patch this improves it to some seconds.</p>
<p>Issue and activity joins are only add, if they are required.</p>
<p>It would be great, to get this in Redmine.</p> Redmine - Patch #32381 (New): Wiki preview : manage dynamic contenthttps://www.redmine.org/issues/323812019-10-31T13:25:32ZJérôme BATAILLE
<p>Hi,</p>
<ul>
<li><strong>In public/javascripts/application.js</strong><br />The wiki toolbar preview event is written like this :</li>
</ul>
<pre><code class="javascript syntaxhl"> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#content</span><span class="dl">'</span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="dl">'</span><span class="s1">click</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">div.jstTabs a.tab-preview</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">){</span>
<span class="p">...</span>
</code></pre>
<ul>
<li>If we re-write it like this, dynamic added wiki content preview (like the one in modal windows) will work :</li>
</ul>
<pre><code class="javascript syntaxhl"> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">body</span><span class="dl">'</span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="dl">'</span><span class="s1">click</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">#content.scrum div.jstTabs a.tab-preview</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">){</span>
<span class="p">...</span>
</code></pre> Redmine - Patch #32326 (Needs feedback): Update it.yml localehttps://www.redmine.org/issues/323262019-10-23T11:23:26Zpasquale [:dedalus]
<ul>
<li>added various missing strings;</li>
<li>reorder strings into the file;</li>
<li>made some changes to already translated strings for consistency.</li>
</ul> Redmine - Patch #31752 (Reopened): Show assigned people when displaying tickets which are related...https://www.redmine.org/issues/317522019-07-18T15:01:43ZMasatoshi TSUCHIYA
<p>When we hurry a release of a specific version, it is natural to want to know who stops the release.<br />To resolve the such case, I think that the attached patch is useful.</p> Redmine - Patch #31224 (Resolved): My page, add Time Entry querieshttps://www.redmine.org/issues/312242019-04-18T22:33:43ZJérôme BATAILLE
<p>This patch is pretty simple, it continues the work that has been done to add Issue Queries in My Page blocks.<br />It does the same for Time Entry queries, with very few modifications.</p>
<p><strong>Time Entry</strong> block has been renamed <strong>Time Entry Activity</strong></p>
<p>Please review it.<br />Thanks a lot.</p> Redmine - Patch #31076 (New): Issues CSV / PDF export via ActiveJobhttps://www.redmine.org/issues/310762019-03-21T10:35:06ZJens Krämerjk@jkraemer.net
<p><strong>Why?</strong><br />Exporting large amounts of issues and/or issues with a lot of custom fields as CSV or PDF can take a long time, to the point where users run into HTTP timeouts and cannot successfully do their exports.</p>
<p><strong>How?</strong><br />This patch which has been extracted from <a href="https://plan.io/redmine-hosting" class="external">Planio</a> allows for such exports to be run in a queueing backend like DelayedJob (that's what we use, but any supported ActiveJob backend should be fine). Exports with less than 1000 issues or exports that take less than 30 seconds to finish will be delivered to the user immediately as a download (just as it is without this patch), but after 30 seconds, the controller gives up waiting and returns the user to the previous issues listing. An email with a download link will be sent to the user once the export is finished.</p>
<p>Without a configured ActiveJob backend everything will be as before and all exports are processed in-request. The background export logic itself is generic and we use the same approach for running time entry exports in the background as well. I'll post that as a separate patch if there's interest in integrating this into Redmine at all.</p>
<p>Patches are against current master. Patch no 1 adds a <code>lazy_issues</code> method to <code>IssueQuery</code> which fetches issues in batches (to avoid high memory usage). Patch no 2 implements the background execution.</p> Redmine - Patch #30999 (Needs feedback): Datepicker javascript files locale in uppercase not foundhttps://www.redmine.org/issues/309992019-03-08T16:50:00ZJérôme BATAILLE
<ul>
<li>In public / javascripts / i18n<br />Files like datepicker-en-GB.js are not found because file is searched with locale that is lowercase.<br />These files should be in lower case.</li>
</ul>
<pre>
The error :
Started GET "/javascripts/i18n/datepicker-en-gb.js" for 127.0.0.1 at 2019-03-08 17:43:44 +0100
17.43.44.110 09924:
17.43.44.110 09924: ActionController::RoutingError (No route matches [GET] "/javascripts/i18n/datepicker-en-gb.js"):
17.43.44.110 09924:
17.43.44.110 09924: actionpack (5.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
17.43.44.110 09924:actionpack (5.2.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `c
</pre> Redmine - Patch #30919 (New): Group Issues Custom Fields - (Form like Issues)https://www.redmine.org/issues/309192019-02-25T16:02:48ZFrederico Camara
<p>This patch adds a new tab in the project settings. In this tab, you can reorder and group custom fields for each tracker.</p>
<p>Reordering and grouping custom fields makes them appear as this for this project only in vieweing an issue and editing an issue.</p>
<p>It was developed for Redmine 3.2. In Redmine 3.4~, you can make a custom field take the full width, which makes these go to the bottom of the issue page. I had to adapt it so that you can still reorder the half width custom fields separated from the full width custom fields.</p>
<p>If it sounds confusing, see the screenshots (sorry they are in portuguese).</p>
<p>To apply:</p>
<p>patch <del>p1 < GCF</del><your redmine version>.patch<br />touch tmp/restart.txt<br />RAILS_ENV=production bundle exec rake db:migrate</p>
<p>PDF and email formatting not implemented yet.</p> Redmine - Patch #29830 (New): Issue CSV export options: checkboxes have no effect for columns act...https://www.redmine.org/issues/298302018-10-22T20:22:40ZTobias Stenzel
<p>The csv export option modal for issues has checkboxes for the description and last notes which are activated by default if these columns are activated for the current query. Disabling them manually has no effect: the columns are still exported to CSV because <code>query_as_hidden_field_tags</code> adds them as hidden fields.</p>
<p>This adds an argument <code>ignored_column_names</code> to <code>query_as_hidden_fields_tags</code> which is used to ignore the description and last_notes columns for issues.</p>
<p>Patch works for Redmine 3.4 and 4.</p> Redmine - Patch #29649 (New): Rake task to export wiki to HTML/PDFhttps://www.redmine.org/issues/296492018-09-20T11:00:44ZLorenz Schori
<p>As a system administrator I want to automatically export and archive a wiki on a regular basis such that critical information is still accessible to my team if redmine goes down.</p>
<p>The attached patch adds two rake tasks <code>redmine:wikidump:html</code> and <code>redmine:wikidump:pdf</code> which can be called from a cron job / systemd timer.</p> Redmine - Patch #29378 (Needs feedback): More call_hooks for projects, issue statusses, time entr...https://www.redmine.org/issues/293782018-08-13T12:33:45ZJonas Ineveld, van
<p>Currently there are only functional call_hooks for issues, and with that, i mean the 'controller_issues_edit_after_save' etc.<br />Because i'm working on a seperate app, connected with redmine on the backend, i need more hooks to hook my 'update API' to.</p>
<p>For now i've created the call_hooks for creation of a project, and for the deletion of a issue.</p>
<p>Would it be something if these changes would go back into core? I can imagine more uses for these type of hooks.</p>
<p>Svn patch file is included</p> Redmine - Patch #26139 (Reopened): Follow Gemfile's plugin loader as #24007https://www.redmine.org/issues/261392017-06-12T09:31:12ZSho HASHIMOTO
<p>Plugin's Gemfile can't settable from Redmine::Plugin.directory yet.</p> Redmine - Patch #26122 (Resolved): Implementation of visible conditions with inner join instead o...https://www.redmine.org/issues/261222017-06-07T20:51:37ZPavel Rosický
<p>The change from <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Project#allowed_to_condition performance (Closed)" href="https://www.redmine.org/issues/21608">#21608</a> should be reverted because it's a speed regression:</p>
<p>1/ current version<br /><pre>EXISTS (SELECT 1 AS one FROM enabled_modules em WHERE em.project_id = projects.id AND em. NAME = 'issue_tracking')</pre></p>
<p>2/ previous version (actually faster even without an index on enabled modules)<br /><pre>projects.id IN (SELECT project_id FROM enabled_modules em WHERE em.project_id = projects.id AND em. NAME = 'issue_tracking'</pre></p>
<p>3/ fastest version (in some cases better indexes were used)<br /><pre>INNER JOIN `enabled_modules` ON `enabled_modules`.`project_id` = `projects`.`id` WHERE `enabled_modules`.`name` = 'issue_tracking'</pre> or<br /><pre>INNER JOIN `enabled_modules` ON `enabled_modules`.`project_id` = `projects`.`id` AND `enabled_modules`.`name` = 'issue_tracking'</pre></p>
Patches:
<ul>
<li>revert of <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Project#allowed_to_condition performance (Closed)" href="https://www.redmine.org/issues/21608">#21608</a>, because the previous version was faster (about 30%)</li>
<li>new index "enabled_modules_name", but it's not very helpful unless you have many projects (3000+)</li>
<li>implementation of visible conditions with inner join instead of subselect, it passes all tests, but it should be refactored. I want to know what do you think about it first</li>
</ul>
<pre>
Rails version 4.2.8
Ruby version 2.1.9-p490 (x64-mingw32)
RubyGems version 2.6.12
Rack version 1.6.8
Middleware Rack::Sendfile, Rack::ContentLength, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x00000007745610>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::XmlParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag, RequestStore::Middleware, OpenIdAuthentication
Environment development
Database adapter mysql2
Database schema version 20170607051650
</pre> Redmine - Patch #26104 (New): Quick jump to issue only if searching for issueshttps://www.redmine.org/issues/261042017-06-06T13:31:32ZHolger Just
<p>Previously, we would always jump to the issue if a user searches for a, number which exists as an issue ID, regardless where the user searches. That made it impossible to search for e.g. prefixes of phone numbers in wiki pages.</p>
<p>With the attached patch, we are only jumping to the matching issue if we are searching for issues. This results in a behavior change for the quick search box in the the wiki and other areas. Previously, we would also jump to an issue there. Now, we just search in the wiki for the number.</p>
<p>The quick search bar in issues as well as the global search for all objects is unaffected by this change.</p> Redmine - Patch #26030 (New): Like issues and news comments, want to specify the display order of...https://www.redmine.org/issues/260302017-05-24T09:26:57ZMinoru Maeda
<p>This patch also applies the setting order of comments in "My account" to the forum.</p> Redmine - Patch #25491 (Needs feedback): List of role membershttps://www.redmine.org/issues/254912017-03-31T21:12:38ZAnonymous
<p>This simple patch provides a list of all members of a role grouped by projects.</p>
<p>Tested and working with Redmine 3.2 & 3.3</p> Redmine - Patch #25114 (Needs feedback): Context menu positioning inside positioned DOM elementshttps://www.redmine.org/issues/251142017-02-17T13:23:25ZSerge Galanin
<p>In my theme the #content element is positioned relatively. It leads to an incorrect positioning of the context menu wich living inside the #content. A most simple fix is to bubble the context menu up to the top of DOM. Can we use this way?</p>
<p>Patch based on <a class="changeset" title="remove trailing white space from test/unit/setting_test.rb" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/16333">r16333</a>.</p> Redmine - Patch #24837 (Needs feedback): Bulk update issues with authorhttps://www.redmine.org/issues/248372017-01-16T07:55:14ZMarcin Świątkiewicz
<p>It would be nice, to add option to bulk update many different issues with option 'assigned to author'.<br />Below is my diff with this feature.</p> Redmine - Patch #24623 (New): Implements CRUD permissions and restrictions to issue attachmentshttps://www.redmine.org/issues/246232016-12-15T18:29:44ZFrederico Camara
<p>If anyone could help implement the test cases, I think this would be a great feature to Redmine.</p>
<p>Test applying the patch from Redmine directory:</p>
<pre>
patch --dry-run -p1 < atta.version
</pre>
<p>Then apply:</p>
<pre>
patch -p1 < atta.version
</pre>
<p>Patches added to redmine 3.1/3.2, 3.3 and current master.</p>
<a name="Patch-details"></a>
<h2 >Patch details:<a href="#Patch-details" class="wiki-anchor">¶</a></h2>
Permissions:
<ul>
<li>lib/redmine.rb</li>
</ul>
Permission to view/delete:
<ul>
<li>app/models/issue.rb</li>
<li>app/models/journal.rb</li>
<li>app/views/issues/show.api.rsb</li>
<li>app/views/issues/show.html.erb</li>
<li>lib/redmine/export/pdf/issues_pdf_helper.rb</li>
<li>lib/plugins/acts_as_searchable/lib/acts_as_searchable.rb</li>
</ul>
Permission to edit (add):
<ul>
<li>app/views/issues/new.html.erb</li>
<li>app/views/issues/_edit.html.erb</li>
</ul>
Permission to copy (view from, edit to):
<ul>
<li>app/controllers/issues_controller.rb</li>
<li>app/models/issue.rb</li>
</ul>
Mailer restrictions:
<ul>
<li>app/models/mailer.rb</li>
<li>app/views/mailer/_issue.html.erb</li>
<li>app/views/mailer/_issue.text.erb</li>
</ul>
Translation:
<ul>
<li>config/locales/en.yml</li>
<li>config/locales/pt-BR.yml</li>
</ul>
Migration:
<ul>
<li>db/migrate/20161215142110_add_attachments_permissions.rb</li>
</ul> Redmine - Patch #24051 (Resolved): As a non-admin user using API, I want to be able to filter use...https://www.redmine.org/issues/240512016-10-11T18:36:15ZAnonymous
<p>We created an Odoo -> Redmine connector for uploading time spent from Redmine to HR tools in Odoo (<a class="external" href="https://github.com/savoirfairelinux/connector-redmine/tree/ddufresne_port_to_8_0">https://github.com/savoirfairelinux/connector-redmine/tree/ddufresne_port_to_8_0</a>).</p>
<p>When we call that function from a superuser API key, all works well, but when it is normal user API key, it does return a forbidden exception :</p>
<pre>
redmine_api.user.filter(name="SOMEUSERNAME")
</pre>
<p>I think that to reinforce security by not giving superuser Redmine API key to Odoo would be interesting.</p>
<p>That would be possible by allowing standard Redmine users to use API to filter users by their username instead of throwing an exception.</p> Redmine - Patch #24007 (Reopened): Change plugins directory through the configuration.yml filehttps://www.redmine.org/issues/240072016-10-05T18:18:02ZHelder Manuel Torres Vieira
<p>This patch adds the possibility to change the directory "plugins" of the application through the file configuration.yml.</p>
<p>The patch has been tested with the last Trunk version (15839)</p> Redmine - Patch #23980 (New): Replace images with icon fontshttps://www.redmine.org/issues/239802016-10-04T00:07:34ZMarius BĂLTEANU
<p>Icon fonts have some advantages over the classical images:<br />- being vector graphics, they are scalable an can be resized without losing quality.<br />- can be customized directly from CSS (size, colour, etc)<br />- less HTTP requests to server because they are loaded only with one or a few requests. Now, Redmine make a request for each image.<br />- some of the current custom themes already use icon fonts (Abacus theme, Minelab, PurpleMine2, our custom theme and I think the theme from plan.io).</p>
<p>We're interested to contribute with a patch that implements the FontAwesome icons, but because there are at least two ways to implement them, we want some feedback before from Redmine contributors and/or users.</p>
<p>1. <strong>Using i tags</strong>:</p>
Advantages:
<ul>
<li>Is the recommended way on their <a href="http://fontawesome.io/examples/#basic" class="external">official page</a> </li>
<li>We can use all the build-in rules available in the FontAwesome CSS.</li>
</ul>
Disadvantages:
<ul>
<li>it'll be required to add the i elements in views.</li>
</ul>
<p>2. <strong>Only from css</strong></p>
Advantages:
<ul>
<li>the views will not be modified</li>
</ul>
Disadvantages:
<ul>
<li>The build-in rules must be reimplemented in the current CSS</li>
<li>The icons will be defined using their unicode. For example, the fa-pencil icon (similar with the current images for icon-edit) has the unicode f040.</li>
</ul>
<p>Only for demo purposes, I've attached a patch that replaces the icons from issue page with font awesome icons (using i tags).</p> Redmine - Patch #23954 (New): Shows the date of the last activity on Projects administration.https://www.redmine.org/issues/239542016-09-28T20:02:15ZFrederico Camara
<p>On Administration > Projects, it shows the date of the last activity on each project. Helps the admin to decide when to close or archive stale projects.</p> Redmine - Patch #23546 (New): Issue visibility "watched by, created by or assigned to" for roleshttps://www.redmine.org/issues/235462016-08-09T07:26:00ZFelix Schäfer
<p>There's been a bit of discussion (parts of <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Create an 'Involve' mechanism to private issues (New)" href="https://www.redmine.org/issues/8488">#8488</a> and other) and some patches already for this or similar (<a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Watchers Alerted To Changes But Cannot See Issues (potentially) (Closed)" href="https://www.redmine.org/issues/14318#note-22">#14318#note-22</a>) and others.</p>
<p>We wanted to contribute our "minimal" solution for this. This is a new ticket to avoid discussing ever more diverging patches on for example <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Create an 'Involve' mechanism to private issues (New)" href="https://www.redmine.org/issues/8488">#8488</a>.</p> Redmine - Patch #21808 (Needs feedback): Make the Sidebar collapsible, statefulhttps://www.redmine.org/issues/218082016-01-23T20:58:50ZDaniel Ritz
<p>This adds a button to the sidebar to make it collapsible. The state is preserved between requests with a cookie.</p>
This seems to be a feature that is missed. There's a few plugins that implement something similar. Some of them:
<ul>
<li><a class="external" href="https://www.redmine.org/plugins/sidebar_hide">https://www.redmine.org/plugins/sidebar_hide</a></li>
<li><a class="external" href="http://www.redmine.org/projects/redmine/wiki/PluginCollapse">http://www.redmine.org/projects/redmine/wiki/PluginCollapse</a></li>
<li><a class="external" href="https://github.com/thambley/redmine-sidebar-hide">https://github.com/thambley/redmine-sidebar-hide</a></li>
</ul>
<p>And there are related issues, at least: <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Collapsible Sidebar (Closed)" href="https://www.redmine.org/issues/12032">#12032</a>, <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: A new button to hide/show the sidebar (Closed)" href="https://www.redmine.org/issues/10525">#10525</a></p>
<p>Because of high demand from my users, I did something similar in a theme at work. This is basically that plus it's stateful now.</p>
This patch:
<ul>
<li>Adds the relative URL root as a meta property in the head tag</li>
<li>Adds a simple <a> to the sidebar as collapse/expand button</li>
<li>Makes the .content a BFC taking the remaining width</li>
<li>Few lines of javascript to toggle CSS and set a cookie</li>
<li>Sidebar is hidden by setting its margin-right</li>
<li>Nice hiding animation using CSS for browsers that support it</li>
<li>The state of the sidebar is read from the cookie and applied on page load</li>
<li>Good theming support since it's mostly just CSS</li>
</ul>
<p>Based on <a class="changeset" title="Typo (#21421)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/15095">r15095</a>, passes all tests with Ruby 2.1.5. Tested on FF, Chrome, Safari (+ an earlier, stateless version on IE11)</p>
<p>Screenshot: <img src="https://www.redmine.org/attachments/download/15176/collapsible_sidebar.png" title="Screenshot" alt="Screenshot" /></p> Redmine - Patch #21550 (Needs feedback): New option in html redmine link parsing - attachmentshttps://www.redmine.org/issues/215502015-12-16T21:32:09ZOndřej Ezr
<p>Option for parsing to choose if attachment link should be download link or not.</p> Redmine - Patch #21493 (New): Tweak colors of default themehttps://www.redmine.org/issues/214932015-12-12T09:45:59ZGo MAEDA
<p>I suggest slightly changed colors for default theme in order to improve readability and appearance.</p>
<ul>
<li>deeper black for headings (#content h1, h2, h3, h4)</li>
<li>vivid color for header (#top-menu / #header)</li>
<li>blighter gray for sidebar (#main {background-color})</li>
<li>deeper brack for headings in sidebar (#sidebar h3)</li>
<li>blighter gray for boxes (.box)</li>
<li>blighter gray for inactive tabs (#content .tabs ul li a)</li>
<li>lighter yellow for issues (div.issue)</li>
<li>blighter gray (same color with wiki.pre {background}) for wiki diff background (.text-diff)</li>
<li>blighter gray for scm background (table.filecontent / table.annotate td.line-code)</li>
</ul> Redmine - Patch #20384 (New): Proposal: Workflow enhancementhttps://www.redmine.org/issues/203842015-07-21T13:20:05ZFrederico Camara
<p>I work at a large ICT public company in Brazil and we are using Redmine here.</p>
<p>At first it didn't become apparent that the workflow tools in Redmine would be limiting in any way. But as we start to build more complex workflows and reutilize roles and tracker names for different projects and teams, we noticed that a workflow being inherent to a specific role and tracker, was making us come with similar names and synonyms to roles and trackers so we could develop new workflows for a different areas in our company. Examples of this are: using lower and uppercase in names, adding numbers, using words in both genders (substantives in portuguese have gender inflexion). Ultimately it became an annoyance, as similar entries would populate various menus across Redmine.</p>
<p>Also, the closed state being inherent to a issue status, also made we duplicate entries, bacause in a workflow, some state would close the issue whereas in another workflow, the same state would not.</p>
<p>I still think workflows should still be inherent to roles and trackers, but projects could have diferent workflow sets to choose from, so that you could still have different projects using the same workflow and at the same time could have different projects using different workflows.</p>
<p>Also, the closed state should be inherent to the workflow being used.</p>
<p>For a first proposal, I would have another entry in the admin menu for a workspace, workflow set, or workflow space, or whatever the best term is in english. From there, workflows would be part of a workspace and in each project you would select the workspace to use. For migration purposes, all existing and new workflows and projects would be assigned to the default workspace. New subprojects should have selected the same workspace as the parent at creation. There is no inheritance of workspace between projects.</p>
<p>The main advantages are:</p>
<ul>
<li>fewer roles created;</li>
<li>fewer issue statuses created;</li>
<li>simpler migration between workflows;</li>
<li>more control over complex infrastructure;</li>
<li>very low impact on simpler infrastructure.</li>
</ul> Redmine - Patch #18496 (Resolved): Migrate to Redmine 2.5.3 (or 2.6.0) from Mantis 1.2.17https://www.redmine.org/issues/184962014-11-28T14:03:46ZGergely Révész
<p>Migrate to Redmine 2.5.3 (or 2.6.0) from Mantis 1.2.17.</p>
<p>The original migrate script quits with errors when migrating from Mantis 1.2.17.<br />I'm attaching the patch to get it to work.<br />And the working full "migrate_from_mantis.rake" file if anyone finds it difficult to apply a patch.</p>
<p>You have to patch or replace the "%redmine%/lib/tasks/migrate_from_mantis.rake" file.</p> Redmine - Patch #18059 (Resolved): Activity when issue change assigned to.https://www.redmine.org/issues/180592014-10-10T11:59:15ZMarcin Świątkiewicz
<p>Hi. There is patch to change activity for project. It's will shows you when issue status was changed, assigned_to was changed, and when status and assigned_to was changed together.</p>
<p>I wrote test for this and everything works fine.</p>
<p>See files.</p> Redmine - Patch #16730 (New): Fix ordering in ApplicationHelper method principals_options_for_selecthttps://www.redmine.org/issues/167302014-04-22T02:32:46ZJoseph Wang
<p>We experienced problems on assigning issues recently.<br />We have a lot of members for some projects (about 30+ people each project).<br />User's name (first name & last name) are in non-English.<br />The problem is seems Redmine does not sort users in Assignee drop down while editing a issue, so it is very hard to find a user.<br />We are wondering if Redmine could provide a search box like adding watchers do.</p> Redmine - Patch #16116 (Needs feedback): Sort of version optionshttps://www.redmine.org/issues/161162014-02-18T08:51:15ZDaniel Felix
<p>Hi there,</p>
<p>currently all versions are just sorted by an array.</p>
<p>This causes that our version field results in an unsorted order. Either id nor name or date (all dates are nil) is respected.</p>
<p>This way could improve the version sort.</p>
<p>See <a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/trunk/app/models/issue.rb#L743">source:trunk/app/models/issue.rb#L743</a></p>
<p>Replace this line with<br /><pre><code class="ruby syntaxhl"><span class="vi">@assignable_versions</span> <span class="o">=</span> <span class="n">versions</span><span class="p">.</span><span class="nf">uniq</span><span class="p">.</span><span class="nf">sort_by</span><span class="p">{</span><span class="o">|</span><span class="n">v</span><span class="o">|</span> <span class="p">[</span><span class="n">v</span><span class="p">.</span><span class="nf">effective_date</span><span class="p">,</span> <span class="n">v</span><span class="p">.</span><span class="nf">name</span><span class="p">]}</span>
</code></pre></p>
<p>This will sort the result in first place by effective date and otherwise by name.</p>
<p>Any regressions?</p>
<p>Best regards,<br />Daniel</p> Redmine - Patch #16069 (New): Allow configuration of API limit instead of hardcoding at 100https://www.redmine.org/issues/160692014-02-10T22:27:54ZDomingo Galdos
<p>The below tested patch makes the previously harcoded limit of 100 items in a RESTful API response configurable in the Administration GUI. The default value is still 100. This is based on 2.4.1.stable.</p>
<p>This is quite useful since it is nice and simple to just get the full response in a single page rather than having to traverse pagination, and a limit of a bit more than 100 is still very performant for many sites -- the limit beyond which performance starts to degrade really depends on the particular site's usage, so should be controllable by the local administrator.</p>
<pre><code class="diff syntaxhl"><span class="gh">Index: app/controllers/application_controller.rb
===================================================================
</span><span class="gd">--- app/controllers/application_controller.rb (.../trunk/app) (revision 13385)
</span><span class="gi">+++ app/controllers/application_controller.rb (.../branches/code-8112/app) (revision 13389)
</span><span class="p">@@ -519,8 +519,8 @@</span>
limit = options[:limit].to_i
if limit < 1
limit = 25
<span class="gd">- elsif limit > 100
- limit = 100
</span><span class="gi">+ elsif limit > Setting.api_limit.to_i
+ limit = Setting.api_limit.to_i
</span> end
if offset.nil? && options[:page].present?
offset = (options[:page].to_i - 1) * limit
<span class="gh">Index: app/views/settings/_general.html.erb
===================================================================
</span><span class="gd">--- app/views/settings/_general.html.erb (.../trunk/app) (revision 13385)
</span><span class="gi">+++ app/views/settings/_general.html.erb (.../branches/code-8112/app) (revision 13389)
</span><span class="p">@@ -24,6 +24,8 @@</span>
<p><%= setting_select :wiki_compression, [['Gzip', 'gzip']], :blank => :label_none %></p>
+<p><%= setting_text_field :api_limit, :size => 6 %></p>
<span class="gi">+
</span> <p><%= setting_text_field :feeds_limit, :size => 6 %></p>
<p><%= setting_text_field :file_max_size_displayed, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
<span class="gh">Index: config/settings.yml
===================================================================
</span><span class="gd">--- config/settings.yml (revision 13387)
</span><span class="gi">+++ config/settings.yml (revision 13389)
</span><span class="p">@@ -73,6 +73,9 @@</span>
default: localhost:3000
protocol:
default: http
<span class="gi">+api_limit:
+ format: int
+ default: 100
</span> feeds_limit:
format: int
default: 15
<span class="gh">Index: config/locales/en.yml
===================================================================
</span><span class="gd">--- config/locales/en.yml (revision 13387)
</span><span class="gi">+++ config/locales/en.yml (revision 13389)
</span><span class="p">@@ -352,6 +352,7 @@</span>
setting_host_name: Host name and path
setting_text_formatting: Text formatting
setting_wiki_compression: Wiki history compression
<span class="gi">+ setting_api_limit: Maximum number of items returned in a JSON/XML API response
</span> setting_feeds_limit: Maximum number of items in Atom feeds
setting_default_projects_public: New projects are public by default
setting_autofetch_changesets: Fetch commits automatically
</code></pre> Redmine - Patch #16045 (New): Add "Previous Assignee" entry when changing issue assigneehttps://www.redmine.org/issues/160452014-02-06T17:45:05ZGurvan Le Dromaguet
<p>Intention : assign ticket back to previous assignee easily, without scrolling down the list until I found it.</p>
<p>attached proposed implementation as svn patch. It needs to run "db:migrate"</p>
<p>Missing in the implementation:<br />- previous assignee in contextual menu<br />- maybe reusing changes done in <a class="changeset" title="Fixed that previous assignee is not notified on issue update (#15714)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/12419">r12419</a></p>
<p>Works good and very popular in my firm.</p> Redmine - Patch #15906 (Needs feedback): Create a default forum by defaulthttps://www.redmine.org/issues/159062014-01-20T08:35:28ZJan from Planio www.plan.io
<p>In my experience, new or inexperienced users find it hard to get started with the forums. This is because of the fact that it doesn't suffice to enable the module, one has to also create a first forum in the project settings.</p>
<p>I therefore propose this patch which adds an empty "general" forum when the module is activated. It uses the same mechanism that creates the project's wiki.</p>
<p>This way, users will see the "Forums" tab in their project immediately after they enabled the module.</p> Redmine - Patch #15234 (New): A popup message after session timeouthttps://www.redmine.org/issues/152342013-10-31T16:30:12ZKarel Pičman
<p>When the session timeout is set and a user leaves an unsaved form for a while so their session expires and clicks on the <em>Save</em> button, they is redirected to the login page and all unsaved data from the form just being edited are lost.</p>
<p>The same frustrating situation can happend when you write a long wiki page.</p>
<p>The flash message on the login page does't help to recover lost data.</p>
<p>I thing that the user should be warn before data are lost.</p>
<p>Please take into account the attached simple patch that add a Javascript popup message with the warning text about session expiration.</p> Redmine - Patch #14148 (Reopened): Double translation: label_f_hours vs. x_hourshttps://www.redmine.org/issues/141482013-05-25T13:05:52ZFilou Centrinov
<p>It seems that the translations <code>x_hours</code> and <code>label_f_hours</code> are identic. (Same with <code>x_hour</code> and <code>label_f_hour</code>.) Moreover for many languages only <code>label_f_hours</code> (respectively <code>label_f_hour</code>) is translated. I suggest to replace <code>label_f_hours</code> by <code>x_hours</code>, because we have also x_minutes, x_seconds, ...</p>
<p>Finally I suggest to delete the labels <code>label_f_hour</code> and <code>label_f_hours</code> from all translation files and repository.</p> Redmine - Patch #13545 (Needs feedback): Workflow permissions are broken if user has multiple rol...https://www.redmine.org/issues/135452013-03-21T13:51:23ZAlexander Kriventsov
If user has multiple roles in project workflow permissions don't work.<br />It works in two cases:
<ol>
<li>User has one role</li>
<li>User has two roles with the same workflow permisions</li>
</ol> Redmine - Patch #13239 (Resolved): migrate_from_mantis script doesn't work for later mantis versionshttps://www.redmine.org/issues/132392013-02-20T21:46:28ZDiego Antunes
<a name="Redmine-Info"></a>
<h2 >Redmine Info<a href="#Redmine-Info" class="wiki-anchor">¶</a></h2>
<p>Environment:<br /> Redmine version 2.2.2.stable<br /> Ruby version 1.9.3 (x86_64-linux)<br /> Rails version 3.2.11<br /> Environment production<br /> Database adapter Mysql2<br />Redmine plugins:<br /> no plugin installed</p>
<a name="Mantis-BT-info"></a>
<h2 >Mantis BT info<a href="#Mantis-BT-info" class="wiki-anchor">¶</a></h2>
<p>Site Information<br />MantisBT Version 1.2.11<br />Schema Version 185</p> Redmine - Patch #12730 (New): Fix sorting and PDF output of Gantt diagram & start date calculatio...https://www.redmine.org/issues/127302013-01-04T09:08:57ZTobias Droste
<p>This patch does several things:</p>
<ol>
<li>Fixes the sorting of issues so that the oldest one are on top and the newer ones are at the bottom</li>
<li>Fixes the PDF output for short items where the length of the bar would be 0 or negative with the old calculation</li>
<li>If no start date is given the date of the first issue in the query is used and the month count is set to include all issues (max. 48)</li>
<li>Keeps the query from other views and respects the grouping to group items in the diagram too (see Screenshot). If a query has no grouping the view is the same as in the original version.</li>
</ol>
<p>It passes all test that are available for the Gantt diagram.</p>
<p>(I could split it into 4 patches and provide more screenshots if there's interest)</p> Redmine - Patch #9697 (Resolved): Projects list with progresshttps://www.redmine.org/issues/96972011-11-30T10:25:33ZDmitry Babenko
<p>Redesign of project list page (<a class="external" href="http://www.redmine.org/projects">http://www.redmine.org/projects</a>) to show the progress of every project and their versions. See <a class="attachment" href="https://www.redmine.org/attachments/6836">Redmine-project-list-with-progress.png</a>.</p>
<p>Gihub pull request: <a class="external" href="https://github.com/edavis10/redmine/pull/46">https://github.com/edavis10/redmine/pull/46</a></p> Redmine - Patch #9359 (New): invert project <-> repository relationshiphttps://www.redmine.org/issues/93592011-09-30T14:05:57ZJens Krämerjk@jkraemer.net
<p>This patch changes the relationship between repositories and projects, so that a single repository can be shared among multiple projects.</p>
<p>While you can already use the same physical repository with multiple projects without this patch, doing so leads to duplication of change records in the database as well as multiple identical changeset references on issues, because each changeset is imported n times, where n is the number of projects referencing the repository.</p>
<p>The patch changes Redmine's behavior to re-use an already existing repository record if possible, when the scm properties of a project are configured. A migration converting existing installations that use one ore more repositories in multiple projects to the new setup is included.</p> Redmine - Patch #8222 (Needs feedback): Setting model should use Rails.cache instead of class var...https://www.redmine.org/issues/82222011-04-25T17:44:22ZJan from Planio www.plan.io
<p>The <code>Setting</code> model uses two local class variables called <code>@cached_settings</code> and <code>@cached_cleared_on</code> to prevent reloading the settings from database and/or <code>settings.yml</code> at every request.</p>
<p>Rails has been supporting different cache implementations for some time now, why not let the <code>Setting</code> model use them as well? Besides the fact that this will help with tenant switching which we've implemented for Planio, it should also improve Redmine's performance when running it with more than processes and a custom cache mechanism, like memcached.</p>
<p>A patch is attached.</p> Redmine - Patch #7610 (New): Patch providing issue journal rollbackhttps://www.redmine.org/issues/76102011-02-11T19:37:40ZBrian Lindahl
<p>Has someone ever made a mistake that left a journal turd behind? Have you ever wished that you could just get rid of the journal turds?</p>
<p>This patch provides a rollback icon next to the number of the last journal entry. When you click on the rollback icon, the journal entry is destroyed, and the issue is restored to the state it was in before the entry was created.</p>
<p>The rollback action is guarded by a new permission, 'Rollback issues'.</p>
<p>Note that there is no validation check when rolling back an journal entry. So, for example, if 'Target Version' is changed, and the old target version is deleted, when that journal entry is rolled back, the 'Target Version' then becomes nil. Someone can probably come up with a better icon, but I just re-used the 'cancel' icon. Also, rollback cannot recover the deletion of an attachment. Rollback on an attachment deletion journal will simply remove the journal entry (and rollback any accompanying changes).</p>
<p>Use the rollback action carefully!</p> Redmine - Patch #5897 (New): Use issue/forum title in URLs for search engine optimizationhttps://www.redmine.org/issues/58972010-07-18T12:09:32ZW Snyder
<p>Google and other search engines really want the URL of links to include the subject of the thing being linked to. For example, rather than "mysite.org/issues/1234" use "mysite.org/issues/1234-use-issue-title-in-URL"</p>
<p>The same technique should be used for all references to issues, news, forum items, etc. The wiki doesn't need it though, as the title is already embedded.</p>
<p>The attached patch does this for the key places I discovered, but no doubt is incomplete. I've been using it on my site for a few months, and the google searching has significantly improved.</p>
<p>If for some reason you don't want to do this, I would still greatly appreciate it if id_titled or some other method always be called to build the URL of referenced items (and just return "id"); this makes it far easier to modify the link names for features such as this.</p>
<p>Thanks</p> Redmine - Patch #5690 (New): Change LDAP passwordhttps://www.redmine.org/issues/56902010-06-15T12:18:29ZOskar H
<p>Hello Guys i created a patch for changing userpassword that stored in LDAP.</p>
<p>i created a fork on github and develop the stuff and pushed to davis but i don't get any answer so i wrote a email and he doesn't answer so i thought i could post it here.</p>
<p>Here is my mail to davis:</p>
<p>Hello,</p>
<p>a few days ago i send you a pull request from my develop branch of redmine (<a class="external" href="http://github.com/bullshit/redmine/tree/develop">http://github.com/bullshit/redmine/tree/develop</a>)<br />i have made some changes to be able to change the password from you external auth source.</p>
<p>On the LDAP configuration page you could enable password changing for this auth sources and set the encryption type.</p>
<p>First it will try to login with the manager account to change the password if this doesn't work it will try to bind if the user as it self to change his password<br />For this the ldap server has to gave the user it self the access to change his user password</p>
<p>for example<br />access to attrs=userPassword,mail<br /> by dn="cn=manager,dc=system" write<br /> by anonymous auth<br /> by self write<br /> by * auth<br /> by * none</p>
<p>access to *<br /> by dn="cn=manger,dc=system" write<br /> by * read</p>
<p>For the encryption type i used a "enum" plugin (<a class="external" href="http://enum-column.rubyforge.org/">http://enum-column.rubyforge.org/</a>)</p>
<p>Patchfile can be found at <a class="external" href="http://github.com/downloads/bullshit/redmine/ldappassword.patch">http://github.com/downloads/bullshit/redmine/ldappassword.patch</a></p>
<p>Regards<br />- Oskar</p> Redmine - Patch #5510 (Resolved): Enable Mutliple Versions Per Issuehttps://www.redmine.org/issues/55102010-05-12T06:14:28ZCharlie Savage
<p>Attached is a patch against head (as of today) that enables multiple versions per issue. If there is interest, we would be happy to do what is necessary to integrate this into Redmine core. I've attached a screen shot of the issue page so people can see what it looks like.</p>
<p>There have been several past discussions about supporting multiple versions per issue - see <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Add 'affected version' as a standard field (Closed)" href="https://www.redmine.org/issues/1675">#1675</a>, <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Issues fixed in multiple versions (Closed)" href="https://www.redmine.org/issues/284">#284</a>, <a class="issue tracker-2 status-1 priority-5 priority-high2" title="Feature: Feature: Allow setting multiple target-milestones (New)" href="https://www.redmine.org/issues/1266">#1266</a>.</p>
<p>In our use case, we have 60 projects, each of which has 7 phases (each a version) and work orders (each a version) and weekly development releases (global versions). Thus an issue can be added to the May 14th development release, added to Phase I and added to a work order. Basically, we find versions a great way to group issues together to a) keep track of progress b) roll up time entries c) roll up estimated times.</p>
<p>A quick over of the patch:</p>
<ul>
<li>Because it changes models, controller and views, its not really workable as a plugin</li>
</ul>
<ul>
<li>It adds a new table, issues_versions, with issue_id and version_id columns. This is a habtm relationship between versions and issues. This could be done as :has_many :through if that is preferable.</li>
</ul>
<ul>
<li>It includes migrations to setup the new table and then renames the fixed_version_id column in issues to fixed_version_id_old (so as to not delete the data). Note that as far as I can tell, rails migrations don't allow the creation of a two column habtm table with both fields as primary keys, thus part of the migration is in sql currently (tested on postgresql).</li>
</ul>
<ul>
<li>It adds a new issue_version controller modeled after issue_relation as well as the necessary controller permissions.</li>
</ul>
<ul>
<li>It updates all the various places issue.fixed_version is used (issue update form, mass edit form, move form, reports, etc).</li>
</ul>
<ul>
<li>The ugliest part of the patch is Issue#by_version since it has to repeat code from Issue#count_and_group_by which isn't flexible enough for this change.</li>
</ul>
<p>The one caveat of the patch is time reports. These reports remain unchanged if you do not group by version. But if you group by version, and add an issue to two versions, then its time is added to both versions. That is exactly the behavior we want, but it might not be appropriate in all cases. The easy way to avoid it is don't add an issue to two versions (or if you do, don't sum up the times between the two versions). Or in other words, multiple versions give a great deal more flexibility to managing a product, but you do have to understand what you are doing.</p>
<p>Like I said, if there is interest we'd like to see this integrated into Redmine core and are happy to make changes/update tests, etc. to make it happen. Note we've been running the patch in production for a couple days now, so believe it works as designed. We'll keep the patch updated against head, and fix any issues that we run into obvously.</p> Redmine - Patch #4878 (Resolved): More Hook Featureshttps://www.redmine.org/issues/48782010-02-18T17:28:59ZThomas Löber
<p>Hi!</p>
<p>I added some features to <code>hook.rb</code>:</p>
<ul>
<li>cleaned-up <code>call_hook</code></li>
</ul>
<ul>
<li>added an <code>:if</code> option to <code>render_on</code>, so you can write:<br /><pre>
render_on :view_issues_form_details_bottom, :partial => "test", :if => :really?</pre></li>
</ul>
<ul>
<li>added <code>render_to_string</code> to <code>ActionMailer</code> so <code>call_hook</code> can also be called from the mail templates in <code>app/views/mailer</code></li>
</ul>
<p>Unfortunately I didn't manage to write the matching test for @hook_test.rb" so far.</p> Redmine - Patch #4635 (New): Filter by Role clausehttps://www.redmine.org/issues/46352010-01-22T15:06:23ZDmitry Chernyak
<p>We are using the roles like "Project manager" and "Tracker manager" who must to assign issues to project's actors and to control the execution flow.</p>
<p>We have in common about 100 projects and one user can have different roles in different projects.</p>
<p>And there is the problem for project manager to find "All unassigned issues in all managed projects".</p>
<p>So this patch introduces a new filter clause "Role" which means "the role of the logged user in the project".</p> Redmine - Patch #3195 (New): issue's start date could be the latest due date of predecessorshttps://www.redmine.org/issues/31952009-04-17T04:54:20ZSanghyuk Suh
<p>currently, the start date of a issue must be later than the latest due date of predecessors.<br />it means i cannot continue working in the same day.</p>
<p>i have made a patch for fix it.</p> Redmine - Patch #3123 (Needs feedback): Check additional mail headers when creating issues via emailhttps://www.redmine.org/issues/31232009-04-05T15:54:45ZDuncan Harris
<p>We have a setup with Redmine where users often send mail using different from addresses in the email. We use Google Apps for email, but this would apply to other mail systems where users can set up multiple from addresses in their email.</p>
<p>If users send email with a different from address than their registered one then Redmine ignores the incoming email.</p>
<p>To fix this issue I created the attached modification which checks the mail headers "Return-Path", "Sender" and finally "From" (as before) for a match to a user account.</p>
<p>The "Return-Path" header relies on getting mail server to set this to the envelope sender address. I use the preline program with qmail to get this set.</p>
<p>This works because Google Apps email (and GMail) always set the Sender and envelope sender addresses to the users main or canonical email address even if they choose a different "From" address.</p> Redmine - Patch #2457 (Needs feedback): Different style of new issue/timelog interfacehttps://www.redmine.org/issues/24572009-01-07T13:49:09ZMischa The Evil
<p>For my own Redmine instance I modified the interface regarding the "entry-links" for new issues and new timelogs a long time ago. I used several other patches and sources to come to the final result. I always wanted to create a configurable patch for others who might be interested, but never came to it. Now, here it finally is...</p>
<p>The urge for the modifications came from the fact that I needed to have cross-project, direct-access to the new-links for both the issues and the timelogs (the only two things which a user enters frequently).</p>
I added/modified the following things:
<ul>
<li>Added setting <code>main_new_links_enabled</code> which enables the changes from this patch (defaults to 0/false) and at the same time removes the default "New issue"-tab on the project-menu</li>
<li>Added new-issue link right above the main issuelist (view: issues/index) which get rendered <code>if_authorized</code></li>
<li>Added JavaScripted top-menu items for new issue and new timelog (only rendered when the visitor is a logged-in user && the current logged-in user has at least one membership (role)) which opens dynamic-menu's (based on the project-selector) showing the projects for which the current logged-in user has a role.</li>
</ul>
As mentioned earlier I based my modifications on some other patches and contributions:
<ul>
<li>Patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Patch for #1003 (Closed)" href="https://www.redmine.org/issues/1022">#1022</a> (Patch for <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Allow "New Issue" from anywhere (Closed)" href="https://www.redmine.org/issues/1003">#1003</a> [Allow "New Issue" from anywhere]) by Rocco Stanzione; This was my starting point for this patch. I've refactored the CSS to better fit the current trunk's default theme. I've also modified the conditions under which the links are displayed.</li>
<li>Patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Jump-in for 'add time' (Closed)" href="https://www.redmine.org/issues/249">#249</a> (Jump-in for 'add time') by Michael Pirogov; This patch made me realize I wanted the new timelog-liks integrated just as the new issue-links. This also gave me the insights about how this could be merged with patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Patch for #1003 (Closed)" href="https://www.redmine.org/issues/1022">#1022</a> to implement my needs for the new timelog-links.</li>
<li><a href="http://forge.typo3.org/repositories/diff/team-forge?rev=905" class="external">Revision 905</a> of Typo3's Redmine-fork by Sebastian Kurfürst; This changeset gave me the idea and basic-code for adding the new issue-link also in the main issuelist and for removing the new-issue tab.</li>
</ul>
<p>Like stated before I've added a setting for the modifications I've made. This means that with the patch applied (but no configuration) the default behaviour/UI isn't modified. The modifications specifically needs to be configured to be used.</p>
<p>This patch is not specifically shared/posted to get integrated into the Redmine core since I think it is more a personal request to have these changes integrated rather then that it is a community one.</p>
<p>Hope someone can appreciate the patch. Just to note: I've kept the code as seperated as possible (ie duplicated lots of it for both the JavaScripted menu's, instead for combining it at a higher-level). This will allow more easy extraction of parts of this patch.</p> Redmine - Patch #2173 (Needs feedback): Update the Git repository automaticallyhttps://www.redmine.org/issues/21732008-11-13T08:03:48ZDavid Holm
<p>The Wiki suggests (<a class="external" href="http://www.redmine.org/wiki/redmine/RedmineRepositories">http://www.redmine.org/wiki/redmine/RedmineRepositories</a>) that you should set up a cron job to update the Git bare repository, the one redmine points to, automatically. This is unneccessary since you could just as easily use Git's hooking mechanism to have it automatically update the repo on each push.</p>
<p>1. chmod a+x post-receive-redmine<br />2. Put post-receive-redmine in <redmine dir>/doc/git-hooks<br />3. Change into your main git repo dir (the one you push to)<br />4. Edit ./hooks/post-receive and add a line that says ". <redmine dir>/doc/git-hooks/post-receive-redmine" <br />5. Run "git config --add hooks.redmineGitBase <base path to redmine bare repos, i.e. /var/lib/redmine/git_repos>" <br />6. You're done!</p>
<p>The script could be updated to create the bare repo if it doesn't already exist but it would need to know which permissions to change it to for redmine to read it so I didn't add this feature.</p> Redmine - Patch #2106 (New): Ability to choose period in 'Spent time' and count of watched issues...https://www.redmine.org/issues/21062008-10-29T16:47:50ZAleksei Gusev
<p>This patch add ability to choose period in 'Spent time' and count of watched issues on 'My page'.</p>
<p>Please, include it if you think this feature is useful for your. Thanks!</p> Redmine - Patch #1671 (New): Show a breakdown of estimated/spent/remaining time for a versionhttps://www.redmine.org/issues/16712008-07-21T17:27:35ZArtem Vasiliev
<p>It adds time metrics to Version page (click on Roadmap page, then on version link to get there).<br />We made it to help us plan future releases and better control in-progress ones.</p>
What it does (see attached screenshot for example):
<ul>
<li>Remaining time above shows sum of issues' unspent estimates;</li>
<li>Total is Remaining + Spent, i.e. what time the version is going to take currently;</li>
<li>In Issue metrics box below it adds Time progress showing Spent vs. Total, and exact values for Estimate, Spent and Remaining times for given category;</li>
<li>Issue metrics previously didn't show data for issues having chosen attribute not assigned. This is fixed here, see that [Not Assigned] group in screenshot;</li>
<li>Drill-through links from Issue metrics box didn't show closed issues, this is fixed here.</li>
</ul>
<p>Tests are included, translations are made for English and Russian, English stubs are made for other languages.<br />The patch is made against Redmine trunk <a class="changeset" title="Fixed: searchable model can't be loaded if table is not yet created (#1421)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/1682">r1682</a>. It can be considered as solution to <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Totals for estimated/spent time and numeric custom fields on the issue list (Closed)" href="https://www.redmine.org/issues/1561">#1561</a>.<br />Contributed by Texuna Technologies company.</p> Redmine - Patch #1667 (New): Default tracker setting in each projecthttps://www.redmine.org/issues/16672008-07-21T05:04:19ZHiroyuki Yoshioka
<p>Hi,</p>
<p>I made a patch which allow administrator to set a default tracker in each project.<br />A default tracker can be nil.<br />If a default tracker is nil, the user MUST select one tracker.</p>
<p>This patch solves <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Allow Project by Project setting of a 'Default' Tracker value including nil (New)" href="https://www.redmine.org/issues/1365">#1365</a>.</p> Redmine - Patch #684 (New): Add journal count on issues listhttps://www.redmine.org/issues/6842008-02-18T08:26:59Zjinwoo lee
<p>I think that viewing journal count is better than nothing.<br />Because it is easy to understand issues's activity.<br />so I make this patch.</p> Redmine - Patch #251 (New): Patch for Feature Request #9785 (Default issues due date == assigned ...https://www.redmine.org/issues/2512008-01-18T11:54:00ZElliot Winkler
<p>This patch makes it so that if a new issue is assigned to a version, but the end date isn't specified, the end date<br />is automatically filled in with the end date of the version.</p>
<p>(I hope the diff is in the right format, I've never really done this before)</p> Redmine - Patch #247 (New): Notification mail sender is the author and includes project information.https://www.redmine.org/issues/2472008-01-08T04:34:00ZHans Yoon
<p>(1) Like TRAC,<br />each mail notification has its own header, so it helps mail client filter mails easier.<br />The mail header is "X-redmine-project".</p>
<p>(2) When mail is notificated, default mail sender is fixed as administrator has defined. With this patch, most of mail<br />message is sent from event generating user.</p> Redmine - Patch #239 (New): Adds two blocks for my/page and fixes a report bughttps://www.redmine.org/issues/2392007-12-07T11:11:00ZRocco Stanzione
<p>This fixes a report query filter bug where assigned_to="me", and adds two new blocks for my/page, for a manager's<br />dashboard - issues due in the next week and past due issues.</p>