{"id":2165,"date":"2012-09-30T22:25:50","date_gmt":"2012-09-30T22:25:50","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=2165"},"modified":"2022-08-21T16:20:14","modified_gmt":"2022-08-21T16:20:14","slug":"fim-best-practice-dont-create-new-object-types-for-the-same-basic-thing","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/fim-best-practice-dont-create-new-object-types-for-the-same-basic-thing","title":{"rendered":"FIM Best Practice: Don&#8217;t create new object types for the same basic &#8216;thing&#8217;"},"content":{"rendered":"<p>It is almost always a bad idea to create extra objects types for the same basic &#8220;thing&#8221;. <strong>An object type should encompass all the possible states an identity can transition to<\/strong>. A person can never become a group, but they can definitely be staff, contractor or student (sometimes all at the same time) so a single &#8220;person&#8221; object type should be used for all people.<\/p>\n<p><!--more--><\/p>\n<p>This best practice applies to both the Metaverse and the Portal. It may be tempting to try and extend the number of RCDC forms available in the Portal by declaring new object types for similar identities &#8211; but it is a mistake. Some of the pitfalls:<\/p>\n<ul>\n<li>You will run into problems where multiple roles lead to multiple identities and accounts,<\/li>\n<li>You will find it very difficult to transition an identity to a different object type &#8211; in fact they will have to be re-imported into the IAM system, and re-joined to existing accounts, and you will have to do a lot of this by hand,<\/li>\n<li>You will do a lot of work re-creating schema definitions and Sync Rules and Portal policy objects, and then having to maintain them, and<\/li>\n<li>You&#8217;ll end up losing benefits from task automation by working in too much fundamental complexity and inflexibility in dealing with moves and changes.<\/li>\n<\/ul>\n<p>It really is better to stick to the one object type and make do with roles, attribute values and flags to differentiate between your categories.<\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is almost always a bad idea to create extra objects types for the same basic &#8220;thing&#8221;. An object type should encompass all the possible states an identity can transition to. A person can never become a group, but they can definitely be staff, contractor or student (sometimes all at the same time) so a&#8230;<\/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,58,65],"tags":[],"class_list":["post-2165","post","type-post","status-publish","format-standard","hentry","category-best-practice","category-fim-sync-service","category-schema"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-yV","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2165","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=2165"}],"version-history":[{"count":6,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2165\/revisions"}],"predecessor-version":[{"id":3286,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2165\/revisions\/3286"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=2165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=2165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=2165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}