{"id":2151,"date":"2012-09-20T23:27:23","date_gmt":"2012-09-20T23:27:23","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=2151"},"modified":"2022-08-21T16:18:33","modified_gmt":"2022-08-21T16:18:33","slug":"fim-best-practice-understand-fims-state-based-nature","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/fim-best-practice-understand-fims-state-based-nature","title":{"rendered":"FIM Best Practice: Understand FIM&#8217;s state-based nature"},"content":{"rendered":"<p>The single most important concept about FIM to understand, and to make sure that others involved in the project also understand, is that it is <em>state-based<\/em>. What this means is that we only care about the <em>current state<\/em> of the data, and the <em>future state<\/em> of the data, after we&#8217;ve applied our rules. Most importantly, we should not need to know <em>how the object got to its current state<\/em>.<\/p>\n<p><!--more--><\/p>\n<p>Sometimes people say things like this: I understand FIM will reverse changes made in my system when another, precedent source exists but if <em>the administrator<\/em> makes a change, then it should remain.<\/p>\n<p>No.<\/p>\n<p>We could probably write some crazy code or script to rig things so this &#8220;requirement&#8221; can be met, but it&#8217;s not a good idea:<\/p>\n<ul>\n<li>Troubleshooting will be complicated,<\/li>\n<li>Blocking flow at an attribute level may be impossible so you&#8217;ll have to block the whole object,<\/li>\n<li>FIM will appear to be unreliable, updating some objects and not others,<\/li>\n<li>Clearing and reimporting the connector space may produce unexpected results.<\/li>\n<\/ul>\n<p>Trying to twist FIM to compensate for bad data management practices never works out well in the long-term. So work with FIM&#8217;s state-based nature, and make changes around FIM as necessary.<\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The single most important concept about FIM to understand, and to make sure that others involved in the project also understand, is that it is state-based. What this means is that we only care about the current state of the data, and the future state of the data, after we&#8217;ve applied our rules. Most importantly,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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],"tags":[],"class_list":["post-2151","post","type-post","status-publish","format-standard","hentry","category-best-practice","category-fim-2010"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-yH","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2151","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=2151"}],"version-history":[{"count":7,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2151\/revisions"}],"predecessor-version":[{"id":3285,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2151\/revisions\/3285"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=2151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=2151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=2151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}