{"action":"opened","issue":{"url":"https://api.github.com/repos/idaholab/moose/issues/5529","labels_url":"https://api.github.com/repos/idaholab/moose/issues/5529/labels{/name}","comments_url":"https://api.github.com/repos/idaholab/moose/issues/5529/comments","events_url":"https://api.github.com/repos/idaholab/moose/issues/5529/events","html_url":"https://github.com/idaholab/moose/issues/5529","id":99828718,"number":5529,"title":"Ordering of MeshModifiers Using Dependencies","user":{"login":"friedmud","id":870705,"avatar_url":"https://avatars.githubusercontent.com/u/870705?v=3","gravatar_id":"","url":"https://api.github.com/users/friedmud","html_url":"https://github.com/friedmud","followers_url":"https://api.github.com/users/friedmud/followers","following_url":"https://api.github.com/users/friedmud/following{/other_user}","gists_url":"https://api.github.com/users/friedmud/gists{/gist_id}","starred_url":"https://api.github.com/users/friedmud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/friedmud/subscriptions","organizations_url":"https://api.github.com/users/friedmud/orgs","repos_url":"https://api.github.com/users/friedmud/repos","events_url":"https://api.github.com/users/friedmud/events{/privacy}","received_events_url":"https://api.github.com/users/friedmud/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/idaholab/moose/labels/C:%20MOOSE","name":"C: MOOSE","color":"0052cc"},{"url":"https://api.github.com/repos/idaholab/moose/labels/P:%20normal","name":"P: normal","color":"ededed"},{"url":"https://api.github.com/repos/idaholab/moose/labels/T:%20task","name":"T: task","color":"cccccc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-08T19:15:01Z","updated_at":"2015-08-08T19:15:01Z","closed_at":null,"body":"(As mentioned on the mailing list: https://groups.google.com/forum/#!topic/moose-users/fbc45K5fgtY )\r\n\r\nWith multiple `MeshModifer`s we need to have dependencies.  For instance, if you are trying to create a new block using `OrientedSubdomainBoundingBox` and then you want to create a sideset around that using `SidesetAroundSubdomain` you really need those to fire in that order...\r\n\r\nI propose using our dependency resolution system to handle this.  We would add a new parameter to `MeshModifiers` called `depends_on` that would take a list of names of other `MeshModifers` that `MeshModifier` depends on... then we could execute them in the right order.\r\n\r\nFor instance:\r\n\r\n```\r\n[MeshModifiers]\r\n  [./create_block]\r\n    type = OrientedSubdomainBoundingBox\r\n  [../]\r\n\r\n  [./create_sideset]\r\n    type = SidesetAroundSubdomain\r\n    depends_on = 'create_block'\r\n  [../]\r\n[]\r\n````"}}