[OSM-talk] MWG needs some customizations in CiviCRM

michael spreng talk at osm.datendelphin.net
Sun Jan 26 12:10:42 UTC 2020


Hi

The MWG needs some customisation in CiviCRM to improve user friendliness
of the membership. Foremost we would like to authenticate members
against openstreetmap with OAuth. Currently we verify OSM user names by
sending a message through OSM. There are a few other customizations
which we talked about. We wrote a short requirements document. But this
is not set in stone. we have improvements in mind, how they are
technically solved is secondary. They should be solved in an efficient
and future oriented way (there are regular updates to WordPress and
CiviCRM which we need to apply).

If anybody from the community is willing to help us in a short time
frame of about 3 months, we would of course welcome this. Otherwise we
would move to hire some professional for those tasks, probably Jon who
already helped us with the renewal reminder issue.

best regards
Michael
Membership Working Group




OAuth integration for CiviCRM
=============================

Wish list
* Let users link their OSM account through OAuth. Record user iD in Database
  - for fee-waiver type memberships compulsory
    - ideally call an external url to verify if the new member fulfills
the requirement and create a membership automatically
  - for paid memberships as an option
  - for event registration as an option
  - use osm-id as deduplication id
* Automatic mailing list subscription from membership form checkbox
* Multilingual support
  - We might need to switch to Drupal to get that?

Rationale: OSM user account needs to be verified for fee-waiver memberships
Because we require a minimum contribution, we need to reliably know the
OSM account of the applicant. We then check the OSM account for this
minimum contribution criteria.

Requirements OAuth
==================
OAuth for OpenStreetMap is used to authenticate editors to make changes
to the map on behalf of the identified contributor. However, it is also
often used to simply identify an OpenStreetMap contributor, by only
requiring to "read preferences" where the user id can be read.
We would like to use OAuth for that purpose, to give contributors the
possibility to identify themselves automatically.
OAuth, by design, needs to open the openstreetmap.org website. This can
be in a pop up or by navigation to the respective page and setting the
redirect after authentication to return to join.osmfoundation.org
OAuth can be implemented to be done before filling out the form, or for
example by a button press on the form. The form should reflect the
state, if the user authenticated with OAuth already or not.

The following forms need OAuth authentication:
- membership form http://join.osmfoundation.org/normal-membership/ and
http://join.osmfoundation.org/associate-membership/
Maybe also the "contact forms" form, if we can't handle fee-waiver
members with the membership form:
- fee-waiver forms
https://join.osmfoundation.org/application-form-for-lack-of-suitable-money-transfer/
and
https://join.osmfoundation.org/application-form-for-financial-hardship/
They are both based on the "contact forms" WordPress plug in. If
convenient, we can use any other type of form, it is just important that
we can generate a ticket for each submission in our ticketing system
otrs, which is usually done by sending a mail to mwg at otrs.osmfoundation.org

A custom field should save the OpenStreetMap user id (number) which is
final. The OSM user name can be changed at any time.

fee-waiver: Requirements for active contributor member sign up
==============================================================

We have members who do not pay a membership fee. They are required to
meet a certain contribution level to become/stay a member. Currently,
they fill out just a form (contact forms, see above). But ideally we
would like to have a form like the paying membership form, but instead
of payment, their oauth authenticated osm user id is used to look up
their contributions, if they meet our criteria. That look up would be a
simple http document with the osm user id as parameter in the URL.
People not meeting the requirement (but still authenticated by oauth)
should get an entry in civicrm with a membership pending or similar.
Because they can still have contributed significantly and the board will
judge their case.
There needs to be a free text field for members to describe their
contribution.

deduplication on OSM user id
============================

We would like to avoid having duplicate contacts with the same osm user
id. Ideally the membership sign up process will automatically recognize
the already used osm user id and reuse that contact entry, like it is
done for email addresses.

subscription to a mailing list
==============================

We use a mailman mailing list for communication amongst members. Only
members can subscribe. Now we would like to get a checkbox onto the
membership form "subscribe to osmf-talk mailng list" and when chat box
is checked, a http request could subscribe that mail address.


Additional considerations
=========================

We would like to translate the contribution page into many languages.
However, this seems not possible at the moment with WordPress. We should
consider switching to Drupal for that, and maybe we should consider to
switch now and implement this in the Drupal framework.



More information about the talk mailing list