You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by sebb <se...@gmail.com> on 2017/06/16 14:36:35 UTC
Transitioning to ou=projects for external public data consumers
This is about the contents/purpose of the public json files; I'll
start a separate thread about changes in Whimsy itself.
==
The ou=projects group is eventually intended to replace
ou=pmc,ou=committees,ou=groups and ou=groups
In the meantime, the public data is spread between
public_ldap_committees.json
public_ldap_groups.json
and
public_ldap_projects.json
Lots of projects rely on the first two.
So I wonder if would make sense to continue to populate them, but
derive the data from ou=projects as the PMCs and podlings are cut
over.
In case it matters to consumers, it might make sense to add a flag to
indicate the source of the roster.
The asf-auth and pit-auth files can be parsed to determine if a (P)PMC
is using the new ou=projects group, so there is no need to maintain a
separate register.
I started looking into using projects.json and falling back to the
other LDAP files, but it seemed that a lot of work and testing would
be needed.
Whilst this proposal changes the source of the data files, I think the
meaning would be unchanged.
e.g. roster membership in committees.json is still used to grant PMC-karma
Does that make sense?
In the case of podlings, the data has been obtained from
public_nonldap_groups.json
This only has a single purpose, which is to grant committer karma,
i.e. it is similar to ou=group.
AFAIK there was no way to distinguish PPMC members from committers.
Again, it probably makes sense to continue to populate
public_nonldap_groups.json from ou=projects as the podlings are cut
over.
I'm not sure what to do about ou=projects owner roster for podlings.
This is new data.
I suspect it would break a lot of code to add it to public_ldap_committees.json.
One would also have to add the members roster to public_ldap_groups.json.
Maybe for podlings code can pick up this new information (if required)
from the new projects.json file.