{"action":"opened","issue":{"url":"https://api.github.com/repos/open-contracting/standard/issues/287","labels_url":"https://api.github.com/repos/open-contracting/standard/issues/287/labels{/name}","comments_url":"https://api.github.com/repos/open-contracting/standard/issues/287/comments","events_url":"https://api.github.com/repos/open-contracting/standard/issues/287/events","html_url":"https://github.com/open-contracting/standard/issues/287","id":123505900,"number":287,"title":"Remove all ocdsMerge stratagies","user":{"login":"kindly","id":30636,"avatar_url":"https://avatars.githubusercontent.com/u/30636?v=3","gravatar_id":"","url":"https://api.github.com/users/kindly","html_url":"https://github.com/kindly","followers_url":"https://api.github.com/users/kindly/followers","following_url":"https://api.github.com/users/kindly/following{/other_user}","gists_url":"https://api.github.com/users/kindly/gists{/gist_id}","starred_url":"https://api.github.com/users/kindly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kindly/subscriptions","organizations_url":"https://api.github.com/users/kindly/orgs","repos_url":"https://api.github.com/users/kindly/repos","events_url":"https://api.github.com/users/kindly/events{/privacy}","received_events_url":"https://api.github.com/users/kindly/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-22T15:51:26Z","updated_at":"2015-12-22T15:51:26Z","closed_at":null,"body":"I think there is a case for removing all OCDS merge stratagies and just documenting how the merging is expected to happen.  I think it over complicates the schema and is more confusing to implementers.\r\n\r\nMerging can be broken down into the following.\r\n\r\n* If a value is an object (or top level object) merge how you would expect, by updating the values when the keys match in the new object and adding them if there are new keys. \r\n   * The exception to this are the following keys (ocid, id, date, tag) discussion for this found #284.\r\n   * For the versionedRelease case for each value that is not an array or a list add the versioned list \r\n```\r\n     [{\"releaseID\": <id>, \"releaseTag\": [<tag>,...], \"releaseDate\": <date>, \"value\": <value at release>}, ...] \r\n```\r\n\r\n * If the value is a list of objects, look to see if there is a corresponding id in the objects of the list you are merging to. If there is then merge as an object above, otherwise add the new objects to the list.\r\n   *  The exception to this is the following lists.  In this case version the lists as a whole i.e use the whole list as the value in versioned list above\r\n      * Award.suppliers\r\n      * Tender.tenderers\r\n      * Organization.additionalIdentifiers\r\n      * Item.additionalClassifications\r\n      * Amendment.changes\r\n      \r\n \r\n    "}}