{"action":"created","issue":{"url":"https://api.github.com/repos/vufind-org/vufind/issues/391","labels_url":"https://api.github.com/repos/vufind-org/vufind/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/vufind-org/vufind/issues/391/comments","events_url":"https://api.github.com/repos/vufind-org/vufind/issues/391/events","html_url":"https://github.com/vufind-org/vufind/pull/391","id":81877937,"number":391,"title":"normalize relator terms in author-modification.bsh","user":{"login":"lahmann","id":7081217,"avatar_url":"https://avatars.githubusercontent.com/u/7081217?v=3","gravatar_id":"","url":"https://api.github.com/users/lahmann","html_url":"https://github.com/lahmann","followers_url":"https://api.github.com/users/lahmann/followers","following_url":"https://api.github.com/users/lahmann/following{/other_user}","gists_url":"https://api.github.com/users/lahmann/gists{/gist_id}","starred_url":"https://api.github.com/users/lahmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lahmann/subscriptions","organizations_url":"https://api.github.com/users/lahmann/orgs","repos_url":"https://api.github.com/users/lahmann/repos","events_url":"https://api.github.com/users/lahmann/events{/privacy}","received_events_url":"https://api.github.com/users/lahmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-05-28T11:00:21Z","updated_at":"2015-05-28T16:00:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/vufind-org/vufind/pulls/391","html_url":"https://github.com/vufind-org/vufind/pull/391","diff_url":"https://github.com/vufind-org/vufind/pull/391.diff","patch_url":"https://github.com/vufind-org/vufind/pull/391.patch"},"body":"This is a first implementation for normalizing relator terms from author-classification.ini and MARC subfields 4&e (trim, toLowerCase, remove any char fitting POSIX character class `punct`).\r\nIt's not properly tested as import-marc.sh throws an exception:\r\n\r\n    Target exception: org.solrmarc.tools.SolrMarcIndexerException: Unable to access author-classification.ini\r\n\r\nAny clues how to fix that?"},"comment":{"url":"https://api.github.com/repos/vufind-org/vufind/issues/comments/106443775","html_url":"https://github.com/vufind-org/vufind/pull/391#issuecomment-106443775","issue_url":"https://api.github.com/repos/vufind-org/vufind/issues/391","id":106443775,"user":{"login":"demiankatz","id":309069,"avatar_url":"https://avatars.githubusercontent.com/u/309069?v=3","gravatar_id":"","url":"https://api.github.com/users/demiankatz","html_url":"https://github.com/demiankatz","followers_url":"https://api.github.com/users/demiankatz/followers","following_url":"https://api.github.com/users/demiankatz/following{/other_user}","gists_url":"https://api.github.com/users/demiankatz/gists{/gist_id}","starred_url":"https://api.github.com/users/demiankatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demiankatz/subscriptions","organizations_url":"https://api.github.com/users/demiankatz/orgs","repos_url":"https://api.github.com/users/demiankatz/repos","events_url":"https://api.github.com/users/demiankatz/events{/privacy}","received_events_url":"https://api.github.com/users/demiankatz/received_events","type":"User","site_admin":false},"created_at":"2015-05-28T16:00:30Z","updated_at":"2015-05-28T16:00:30Z","body":"At least part of this is a unicode normalization problem, though there may be multiple factors involved. It looks like the MARC record is representing the umlaut as a separate character that gets composited onto the u, while the .ini file is using the single-character representation of \"u-with-umlaut.\" Oh, how I hate character encoding issues!\r\n\r\nMy knowledge of Java libraries is not rich as I don't spend a lot of time with them on a day-to-day basis. However, it sounds like java.text.Normalizer might help here (see http://drillio.com/en/software/java/remove-accent-diacritic/) -- however, I don't know if this will be available to the BeanShell by default or if we'll have to do extra work to make it accessible. Doesn't hurt to experiment, though!"}}