[repository] ldap-feed source. Closes #2086984
datafeed based source which copy a subtree of the ldap directory
into the system database. Authentication still go through ldap though.
Pros:
* don't need temporary tables and such for multi-sources RQL queries execution
* much more flexible to enhance / configure behaviour (you simply have to
replace the parser)
* run better when ldap isn't reachable
Cons:
* no more 'on the fly' discovery of users (though a user authenticating
itself will be automatically added if it doesn't exist in the db yet)
* synchronization may be heavy if there are a lot of users
A new cw.server.ldaputils containing code in common between former ldapuser
and new ldapfeed sources has been introduced. Also ldapuser source now
uses url instead of custom host/protocol option so it looks like a datafeed
source (could be improved).
sync_schema_props_perms('EmailAddress')
for source in rql('CWSource X WHERE X type "ldapuser"').entities():
config = source.dictconfig
host = config.pop('host', 'ldap')
protocol = config.pop('protocol', 'ldap')
source.set_attributes(url='%s://%s' % (protocol, host))
source.update_config(skip_unknown=True, **config)
commit()