https://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292016-03-15T22:48:02ZRedmineRedmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=696972016-03-15T22:48:02ZFrederico Camara
<ul></ul><p>Implemented it as 'Workspaces', (except for the closed state) on my git repository with a few improvements, and it is awesome!</p>
<p>Now I can have different workflows assigned to the same tracker and role names, in different projects.</p>
<ul>
<li>In Administration, you can add workspaces in 'Workspaces'.</li>
<li>In Administration > Workflow, there is a new filter 'Workspace'.</li>
<li>Changing the workspace switches between different sets of workflows (also working if the Field Permission tabs).</li>
<li>Summary has a dropdown menu to switch between different workspaces.</li>
<li>On Project > Settings, you can change the workspace the project is using.</li>
<li>You can't delete the default workspace (also, when migrating, this is where all previous workflows go to).</li>
<li>Patched against Redmine 3.2 stable.</li>
</ul>
<p>How to get it:</p>
<code>
git clone -b "3.2-patched" https://github.com/fredsdc/redmine <target directory name>
</code> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=772602017-03-13T18:27:15ZFrederico Camara
<ul><li><strong>File</strong> <a href="/attachments/17906">workspaces.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/17906/workspaces.patch">workspaces.patch</a> added</li></ul><p>I cherry-picked the commits and made the necessary ajustments against redmine 3.3 stable. Here's the patch.</p>
<p>It adds "Workspaces" in the Administration menu and migrates all existing workflows to the "default" Workspace.</p>
<p>For each project, you can select what workspace it will use. Workspaces separate workflows (transitions and permission) from each other so that different projects can have different workflows. It also tries to help administration.</p>
<p>This patch was made on Linux, for Windows you have to fix newline chars.</p>
<a name="Changes"></a>
<h3 >Changes:<a href="#Changes" class="wiki-anchor">¶</a></h3>
<ul>
<li>In Administration, you can add workspaces in 'Workspaces'.</li>
<li>In Administration > Workflow, there is a new filter 'Workspace'.
<ul>
<li>Changing the workspace switches between different sets of workflows.</li>
<li>This is also working if the Field Permission tabs.</li>
</ul>
</li>
<li>Administration > Workflow > Summary has a dropdown menu to switch between views from different workspaces.</li>
<li>Administration > Projects shows which workspace each project is using.</li>
<li>On each project > Settings, you can change the workspace the project is using.
<ul>
<li>On Information, Trackers are filtered by which trackers have workflow on the workspace
<ul>
<li>You can show/hide filtered trackers clicking on "all" </li>
</ul>
</li>
<li>On Members, Roles are filtered by which roles have workflow on the workspace and those that can't have issues assigned to them (on Administration > Roles)
<ul>
<li>You can show/hide filtered roles clicking on "all" </li>
</ul>
</li>
</ul>
</li>
<li>You can't delete the default workspace (also, when migrating, this is where all previous workflows go to).</li>
</ul>
<a name="To-patch-redmine-33-stable"></a>
<h3 >To patch (redmine 3.3-stable):<a href="#To-patch-redmine-33-stable" class="wiki-anchor">¶</a></h3>
<pre>
patch -p1 < workspaces.patch
bundle exec rake db:migrate
touch tmp/restart.txt
</pre> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=772622017-03-13T18:52:06ZFrederico Camara
<ul></ul><p>Could someone change this Feature to Patch?</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=772642017-03-14T01:05:07ZJan from Planio www.plan.io
<ul><li><strong>Tracker</strong> changed from <i>Feature</i> to <i>Patch</i></li></ul><p>It's an interesting (albeit far-reaching and complex) patch, thank you for proposing it. In order for a patch of this magnitude to be considered though, it would need full test coverage and it shouldn't break any existing tests. If possible, I'd also recommend to break it down into a series of patches in which each patch results in a working version of Redmine with all tests passing, but separating your work into separate chunks that can stand by themselves.</p>
<p>From our work with Redmine in very large organisations at <a href="https://Plan.io/redmine-hosting/" class="external">Planio</a> the main requirement was for project teams to create their own trackers, statuses and workflows without the need of an admin and without interfering with other projects. Your patch seems to solve the latter challenge, but not the former one. With your solution, project teams requiring different workflows would still have to ask the Redmine Admin to create them for them, am I correct?</p>
<p>Especially in large organisations, this creates a real challenge because admins wear many hats and administer many different systems. They may not be 100% familiar with the configuration interfaces in the Admin area of Redmine and how they correspond to the business needs of a project manager requesting a certain workflow change. This creates potential for misunderstandings when project managers are requesting a different set of workflows via email or on the phone. Sitting down with the admin to create them is often hard to realize and can take weeks for a project to get their required workflows implemented.</p>
<p>I think that a solution where certain roles can manage trackers, statuses, and workflows for their projects individually would be a better suited solution to the challenge we've seen with many large organisations.</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=772732017-03-14T14:18:54ZFrederico Camara
<ul></ul><p>Jan from Planio <a class="external" href="http://www.plan.io">www.plan.io</a> wrote:</p>
<blockquote>
<p>It's an interesting (albeit far-reaching and complex) patch, thank you for proposing it. In order for a patch of this magnitude to be considered though, it would need full test coverage and it shouldn't break any existing tests. If possible, I'd also recommend to break it down into a series of patches in which each patch results in a working version of Redmine with all tests passing, but separating your work into separate chunks that can stand by themselves.</p>
</blockquote>
<p>I should prepare a testing environment :-) The patch is the result of four commits on my github redmine tree, the main one changes about 30 files and is hard to break down, as soon as I add workflows to different workspaces, the test shoud break somewhere</p>
<blockquote>
<p>From our work with Redmine in very large organisations at <a href="https://Plan.io/redmine-hosting/" class="external">Planio</a> the main requirement was for project teams to create their own trackers, statuses and workflows without the need of an admin and without interfering with other projects. Your patch seems to solve the latter challenge, but not the former one. With your solution, project teams requiring different workflows would still have to ask the Redmine Admin to create them for them, am I correct?</p>
</blockquote>
<p>Yes, at least in this present state. We were already numbering roles and trackers to make different workflows, already not knowing which workflows were used in which projects, and querying the database. I started by trying to solve that problem.</p>
<blockquote>
<p>Especially in large organisations, this creates a real challenge because admins wear many hats and administer many different systems. They may not be 100% familiar with the configuration interfaces in the Admin area of Redmine and how they correspond to the business needs of a project manager requesting a certain workflow change. This creates potential for misunderstandings when project managers are requesting a different set of workflows via email or on the phone. Sitting down with the admin to create them is often hard to realize and can take weeks for a project to get their required workflows implemented.</p>
<p>I think that a solution where certain roles can manage trackers, statuses, and workflows for their projects individually would be a better suited solution to the challenge we've seen with many large organisations.</p>
</blockquote>
<p>You have to isolate these resources before empowering roles, or it could get out of control fast, for the Admins.</p>
<p>Workspaces could be extended to isolate Trackers, Issue statuses and Custom fields. You can extend roles so they could manage everything inside a Workspace. On top of that, the whole thing should be manageable by the admins, so the whole information has to be broken in manageable bits.</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=949762019-11-21T12:21:34ZFrederico Camara
<ul><li><strong>File</strong> <a href="/attachments/24346">0004-Add-workspace-functionality-to-reuse-roles-and-track.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/24346/0004-Add-workspace-functionality-to-reuse-roles-and-track.patch">0004-Add-workspace-functionality-to-reuse-roles-and-track.patch</a> added</li><li><strong>File</strong> <a href="/attachments/24345">0005-Hide-trackers-and-roles-by-workspace-workflow-color-.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/24345/0005-Hide-trackers-and-roles-by-workspace-workflow-color-.patch">0005-Hide-trackers-and-roles-by-workspace-workflow-color-.patch</a> added</li></ul><p>Patch for Redmine 4.0</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=1084992022-11-07T16:48:16ZFrederico Camara
<ul><li><strong>File</strong> <a href="/attachments/29893">redmine_5.0_patches.zip</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/29893/redmine_5.0_patches.zip">redmine_5.0_patches.zip</a> added</li></ul><p>For Redmine 5.0, I zipped my many patches adding this functionality. In the zip, there is a big .patch file with everything together at once, and separated patches 0001 through 0011 for each incremental functionality/fix.</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=1085152022-11-09T10:59:51Zthuruk thuruk
<ul></ul><p>Hi Frederico !</p>
<p><del>May I suggest making a branch of 5.0-stable on your public git ?</del><br /><del>I'd like to use this via Docker, and having a public git is much cleaner for that. I'd do it myself but I wouldn't want to steal this work :P.</del></p>
<p>Thanks !</p>
<p>Edit : Of course, if the format of a plugin is possible for such deep changes, that would be even greater, as I don't think this is gonna get patched into master anytime soon...<br />Edit again : nvm, foudn your branch... Thanks !</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=1124982024-01-25T02:24:11ZJet Yanjet.yan@rollingwireless.com
<ul></ul><p>Hi Frederico Camara,<br />The latest redmine revision is now 5.1.1.<br />It is cheerful if you can get a chance to update your workspace patches to support the latest 5.1.1 revision. Thank you !<br />I just installed your patches but found not work correctly.<br />found 2 failures during the patching:</p>
<p>logs:
==============================<br />C:\Sites\redmine-5.1.1>"C:\Program Files (x86)\GnuWin32\bin\patch.exe" <del>p1 < workspaces_redmine_5.0_all.patch 2> conflict.txt<br />patching file app/controllers/admin_controller.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 44 with fuzz 2 (offset 4 lines).<br />patching file app/controllers/workflows_controller.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: bad user submission returns application error. (Closed)" href="https://www.redmine.org/issues/7">#7</a> FAILED at 171.<br />1 out of 7 hunks FAILED -</del> saving rejects to file app/controllers/workflows_controller.rb.rej<br />patching file app/controllers/workspaces_controller.rb<br />patching file app/helpers/members_helper.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 48 with fuzz 1.<br />patching file app/helpers/projects_helper.rb<br />patching file app/helpers/workflows_helper.rb<br />patching file app/models/issue.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 693 (offset 7 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> succeeded at 1076 with fuzz 2 (offset 7 lines).<br />patching file app/models/issue_status.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 56 (offset 2 lines).<br />patching file app/models/project.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 41 with fuzz 2 (offset <del>1 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> succeeded at 368 (offset 3 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: ajax pagination of projects (Closed)" href="https://www.redmine.org/issues/3">#3</a> succeeded at 491 (offset 7 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: log problem (Closed)" href="https://www.redmine.org/issues/4">#4</a> succeeded at 857 (offset 8 lines).<br />patching file app/models/role.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 276 (offset 7 lines).<br />patching file app/models/tracker.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 143 (offset 3 lines).<br />patching file app/models/workflow_permission.rb<br />patching file app/models/workflow_rule.rb<br />patching file app/models/workflow_transition.rb<br />patching file app/models/workspace.rb<br />patching file app/views/admin/projects.html.erb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> FAILED at 23.<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> FAILED at 32.<br />2 out of 2 hunks FAILED -</del> saving rejects to file app/views/admin/projects.html.erb.rej<br />patching file app/views/members/_edit.html.erb<br />patching file app/views/members/_new_form.html.erb<br />patching file app/views/principal_memberships/_edit.html.erb<br />patching file app/views/principal_memberships/_new_form.html.erb<br />patching file app/views/projects/_form.html.erb<br />patching file app/views/projects/index.api.rsb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 8 with fuzz 1 (offset 1 line).<br />patching file app/views/projects/settings/_issues.html.erb<br />patching file app/views/projects/show.api.rsb<br />patching file app/views/projects/show.html.erb<br />patching file app/views/workflows/_index_table.html.erb<br />patching file app/views/workflows/copy.html.erb<br />patching file app/views/workflows/edit.html.erb<br />patching file app/views/workflows/index.html.erb<br />patching file app/views/workflows/permissions.html.erb<br />patching file app/views/workspaces/_form.html.erb<br />patching file app/views/workspaces/edit.html.erb<br />patching file app/views/workspaces/index.api.rsb<br />patching file app/views/workspaces/index.html.erb<br />patching file app/views/workspaces/new.html.erb<br />patching file config/locales/en.yml<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 646 (offset 9 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> succeeded at 1006 (offset 10 lines).<br />patching file config/locales/pt-BR.yml<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> succeeded at 876 (offset -5 lines).<br />patching file config/routes.rb<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 381 (offset 7 lines).<br />patching file db/migrate/20160314174310_add_workspace_to_projects.rb<br />patching file db/migrate/20160314174311_add_workspace_to_workflows.rb<br />patching file db/migrate/20160314174312_create_workspaces.rb<br />patching file lib/redmine/preparation.rb<br />patching file public/stylesheets/application.css<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: permissions if not admin (Closed)" href="https://www.redmine.org/issues/1">#1</a> succeeded at 673 (offset 3 lines).<br />Hunk <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Listing 5 projects on Welcome page (Closed)" href="https://www.redmine.org/issues/2">#2</a> succeeded at 999 (offset -3 lines).
==============================</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=1125292024-01-25T18:18:23ZFrederico Camara
<ul><li><strong>File</strong> <a href="/attachments/31877">0001-Implements-Workspaces-in-redmine-5.1.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/31877/0001-Implements-Workspaces-in-redmine-5.1.patch">0001-Implements-Workspaces-in-redmine-5.1.patch</a> added</li></ul><p>Jet Yan wrote in <a href="#note-9">#note-9</a>:</p>
<blockquote>
<p>The latest redmine revision is now 5.1.1.<br />found 2 failures during the patching:</p>
</blockquote>
<p>Thank you for reporting.</p>
<p>I updated the patch for Redmine 5.1 Stable from git (probably it's the same as 5.1.1).</p>
<p>Admin > Projects changed a little, some things went to a ProjectQuery model that didn't exist.</p>
<p>You can use git am now:</p>
<pre>
git am 0001-Implements-Workspaces-in-redmine-5.1.patch
</pre>
<p>Best regards</p> Redmine - Patch #20384: Proposal: Workflow enhancementhttps://www.redmine.org/issues/20384?journal_id=1125392024-01-26T02:46:19ZJet Yanjet.yan@rollingwireless.com
<ul></ul><p>Thank you Frederico Camara. <br />It did the job!</p>