{"id":2209,"date":"2012-10-25T22:44:10","date_gmt":"2012-10-25T22:44:10","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=2209"},"modified":"2022-08-21T16:00:11","modified_gmt":"2022-08-21T16:00:11","slug":"fim-best-practice-separate-grants-permission-from-workflow-mprs","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/fim-best-practice-separate-grants-permission-from-workflow-mprs","title":{"rendered":"FIM Best Practice: Separate Grants Permission from Workflow MPRs"},"content":{"rendered":"<p>MPRs should either have &#8220;Grants Permission&#8221; ticked, or they should trigger Workflows, but preferably not both.<\/p>\n<p><!--more--><\/p>\n<p>Separating your MPRs in this way makes the Workflow MPRs very simple: they will mostly be either Set Transition types, or will trigger on requests submitted by &#8220;All People&#8221;.<\/p>\n<p>The permission to actually make a change is meanwhile controlled by the &#8220;Grants Permission&#8221; MPRs, and here is where you can put all your complexity about who can do what, and under what circumstances.<\/p>\n<p>You also minimise the risk of SQL duplicate key exceptions; the error that happens when two workflows try to update the same attribute as part of the same request. By separating the MPRs you can model <em>how<\/em> the change can happen with your Grants Permission MPRs, and then have a single Workflow MPR that responds <em>when<\/em> the request is made.<\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MPRs should either have &#8220;Grants Permission&#8221; ticked, or they should trigger Workflows, but preferably not both.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[55,42,62,45],"tags":[],"class_list":["post-2209","post","type-post","status-publish","format-standard","hentry","category-best-practice","category-fim-2010","category-mpr","category-workflow"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-zD","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=2209"}],"version-history":[{"count":4,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2209\/revisions"}],"predecessor-version":[{"id":3277,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2209\/revisions\/3277"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=2209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=2209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=2209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}