{"action":"created","issue":{"url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/3287","repository_url":"https://api.github.com/repos/openmicroscopy/bioformats","labels_url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/3287/labels{/name}","comments_url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/3287/comments","events_url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/3287/events","html_url":"https://github.com/openmicroscopy/bioformats/issues/3287","id":388667298,"node_id":"MDU6SXNzdWUzODg2NjcyOTg=","number":3287,"title":"Removal of compatibility metadata classes for 6.0","user":{"login":"rleigh-codelibre","id":9640520,"node_id":"MDQ6VXNlcjk2NDA1MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/9640520?v=4","gravatar_id":"","url":"https://api.github.com/users/rleigh-codelibre","html_url":"https://github.com/rleigh-codelibre","followers_url":"https://api.github.com/users/rleigh-codelibre/followers","following_url":"https://api.github.com/users/rleigh-codelibre/following{/other_user}","gists_url":"https://api.github.com/users/rleigh-codelibre/gists{/gist_id}","starred_url":"https://api.github.com/users/rleigh-codelibre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rleigh-codelibre/subscriptions","organizations_url":"https://api.github.com/users/rleigh-codelibre/orgs","repos_url":"https://api.github.com/users/rleigh-codelibre/repos","events_url":"https://api.github.com/users/rleigh-codelibre/events{/privacy}","received_events_url":"https://api.github.com/users/rleigh-codelibre/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-12-07T14:03:00Z","updated_at":"2018-12-10T21:03:29Z","closed_at":null,"author_association":"MEMBER","body":"```\r\n% ls components/formats-api/src/loci/formats/meta\r\nBaseMetadata.java    IMetadata.java      MetadataConverter.java  ModuloAnnotation.java\r\nDummyMetadata.java   IMinMaxStore.java   MetadataRetrieve.java   OriginalMetadataAnnotation.java\r\nFilterMetadata.java  IPyramidStore.java  MetadataStore.java      package.html\r\n```\r\n\r\nThese were mostly deprecated with the move to the `ome-xml` library in ome-model.  All of the `MetadataStore`/`MetadataRetrieve` interfaces and classes implementing them can and should be removed for a breaking 6.0 release, to allow for direct use of the real interfaces and implementations in `ome-xml`.  Likewise for `MetadataConverter`.\r\n\r\nThis would need a corresponding change in OMERO to switch the `loci.formats.meta` package to `ome.xml.meta`, with no other code changes required.\r\n\r\nIs this currently planned?  Would a PR to make this change be acceptable?"},"comment":{"url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/comments/445971894","html_url":"https://github.com/openmicroscopy/bioformats/issues/3287#issuecomment-445971894","issue_url":"https://api.github.com/repos/openmicroscopy/bioformats/issues/3287","id":445971894,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTk3MTg5NA==","user":{"login":"rleigh-codelibre","id":9640520,"node_id":"MDQ6VXNlcjk2NDA1MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/9640520?v=4","gravatar_id":"","url":"https://api.github.com/users/rleigh-codelibre","html_url":"https://github.com/rleigh-codelibre","followers_url":"https://api.github.com/users/rleigh-codelibre/followers","following_url":"https://api.github.com/users/rleigh-codelibre/following{/other_user}","gists_url":"https://api.github.com/users/rleigh-codelibre/gists{/gist_id}","starred_url":"https://api.github.com/users/rleigh-codelibre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rleigh-codelibre/subscriptions","organizations_url":"https://api.github.com/users/rleigh-codelibre/orgs","repos_url":"https://api.github.com/users/rleigh-codelibre/repos","events_url":"https://api.github.com/users/rleigh-codelibre/events{/privacy}","received_events_url":"https://api.github.com/users/rleigh-codelibre/received_events","type":"User","site_admin":false},"created_at":"2018-12-10T21:03:29Z","updated_at":"2018-12-10T21:03:29Z","author_association":"MEMBER","body":"Note that I *did* deprecate the metadata interfaces and classes with the original migration of ome-xml to the separate ome-model repository, but the deprecation annotations were *later removed* for cosmetic reasons (I'm not sure this was ideal).  This was not the case for MetadataConverter, because it was done later, and for the reasons detailed below.  The intention was always to complete this migration when possible.  Right now it's *not possible* to use the real interfaces and implementations in Bio-Formats clients (or Bio-Formats itself) and this is a real problem for making effective use of the model interfaces.  Something which I would very much like to be able to do; it's completely impossible to do a number of interesting things with alternative or extended metadata or model implementations the way things are right now.\r\n\r\n`MetadataConverter` use in IDR is not relevant for the purposes of migration.  The implementation is *already* completely defined in `ome-xml`, so any IDR changes would require making in the model code and not Bio-Formats; the Bio-Formats class is nothing more than a trivial delegating wrapper.  There is no reason for any code to use the Bio-Formats implementation *other than the type incompatibility* arising from the nasty extension of the ome-xml metadata types.  That's the only reason it's still present here and not deprecated (as for the metadata interfaces).  As soon as the metadata types are fully dropped, it becomes entirely pointless.  Ideally, it would be dropped immediately without deprecation, since it was only done this way without deprecation due to the nastiness of the rest of the metadata class wrapping.\r\n\r\nClasses like `IMinMaxStore` are irrelevant for migration.  They aren't in the ome-xml model and have no equivalents to migrate to, so should remain in Bio-Formats for now I think.  If they do need adding, it's a non-breaking change to add them to ome-xml in the future, so doesn't need coupling to this specific removal.\r\n\r\nNote that the work here isn't particularly large at all.  Switching Bio-Formats over to using the ome-xml types is a single pull request to switch over package namespace in use.  The same applies to OMERO use of the same.  Because the code is already effectively using these extended types, there is no reason to expect breakage as a result.  The actual ome-xml model and metadata classes in use do not change; only the extended interfaces in the method signatures changes.\r\n\r\nAll of this stuff was *effectively* replaced and deprecated since Bio-Formats 5.3 in 2016.  Not fixing this for the next major release of Bio-Formats would be a significant missed opportunity.\r\n\r\nRegards,\r\nRoger"}}
{"actor":{"display_login":"rleigh-codelibre"}}