{"action":"created","issue":{"url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/18","repository_url":"https://api.github.com/repos/bluedynamics/node.ext.ldap","labels_url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/18/comments","events_url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/18/events","html_url":"https://github.com/bluedynamics/node.ext.ldap/issues/18","id":184753233,"node_id":"MDU6SXNzdWUxODQ3NTMyMzM=","number":18,"title":"How to properly optimize the amount of different LDAP queries required","user":{"login":"datakurre","id":160447,"node_id":"MDQ6VXNlcjE2MDQ0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/160447?v=4","gravatar_id":"","url":"https://api.github.com/users/datakurre","html_url":"https://github.com/datakurre","followers_url":"https://api.github.com/users/datakurre/followers","following_url":"https://api.github.com/users/datakurre/following{/other_user}","gists_url":"https://api.github.com/users/datakurre/gists{/gist_id}","starred_url":"https://api.github.com/users/datakurre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datakurre/subscriptions","organizations_url":"https://api.github.com/users/datakurre/orgs","repos_url":"https://api.github.com/users/datakurre/repos","events_url":"https://api.github.com/users/datakurre/events{/privacy}","received_events_url":"https://api.github.com/users/datakurre/received_events","type":"User","site_admin":false},"labels":[{"id":81203993,"node_id":"MDU6TGFiZWw4MTIwMzk5Mw==","url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/labels/enhancement","name":"enhancement","color":"009800","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-10-24T05:39:45Z","updated_at":"2019-04-16T09:42:20Z","closed_at":"2019-04-16T09:42:20Z","author_association":"CONTRIBUTOR","body":"The most complex and controversial refactoring I had to make to get node.ext.ldap working with a large local (or just with any remote ldap) was to optimize the amount LDAP queries it does. My approach was to normalize searches so that there was only one different search for each object.\n\nhttps://github.com/datakurre/node.ext.ldap/commits/master\n\nAny ideas, how that should be done more properly? Mainly\n- I needed to store configured attribute mapping somewhere (search_attrlist) and enforce each query to use that (instead of only what the actual need was or instead of current \"*\" for attribute sheet)\n- Instead of looking up nodes with root base DN and queryFilter at first and then with direct DN, I required to store queryFilter (search_criteria) and enforce use it instead of direct DN (slower LDAP query as direct DN as such, but because search was always made anyway, the search was already available in cache)\n"},"comment":{"url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/comments/483588611","html_url":"https://github.com/bluedynamics/node.ext.ldap/issues/18#issuecomment-483588611","issue_url":"https://api.github.com/repos/bluedynamics/node.ext.ldap/issues/18","id":483588611,"node_id":"MDEyOklzc3VlQ29tbWVudDQ4MzU4ODYxMQ==","user":{"login":"rnixx","id":246021,"node_id":"MDQ6VXNlcjI0NjAyMQ==","avatar_url":"https://avatars2.githubusercontent.com/u/246021?v=4","gravatar_id":"","url":"https://api.github.com/users/rnixx","html_url":"https://github.com/rnixx","followers_url":"https://api.github.com/users/rnixx/followers","following_url":"https://api.github.com/users/rnixx/following{/other_user}","gists_url":"https://api.github.com/users/rnixx/gists{/gist_id}","starred_url":"https://api.github.com/users/rnixx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rnixx/subscriptions","organizations_url":"https://api.github.com/users/rnixx/orgs","repos_url":"https://api.github.com/users/rnixx/repos","events_url":"https://api.github.com/users/rnixx/events{/privacy}","received_events_url":"https://api.github.com/users/rnixx/received_events","type":"User","site_admin":false},"created_at":"2019-04-16T09:42:20Z","updated_at":"2019-04-16T09:42:20Z","author_association":"MEMBER","body":"closing this in favor of #37"}}
{"actor":{"display_login":"rnixx"}}