Skip to content
aguestuser edited this page Mar 20, 2018 · 2 revisions

Outline

TODO

Resources

[STUB]

Here is a dump of our first scoping discussion:

Requirements

  1. Campaign organizers will create an "event campaign" in AK, which will publish a public page where public users can create their own events

  2. When an event is created in AK, then we will create a matching event in VAN a) no requirement that changes on the VAN side are reflected back to AK b) sync happens periodically c) changes on the AK side SHOULD be reflected on the VAN side d) therefore we'll want to save ID info from the AK system into the VAN version of the event so we can find it again reliably

  3. When a person RSVP's to the event in AK, that needs to be relected in VAN: a) check if the AK person already exists in VAN (how? Probably by email address)

     a.1) if doesn't exist, create person record in VAN
    
     a.2) record AK ID for the person in the VAN record for the person, so we can find them again reliably
    

    b) mark VAN person as an attendee of the VAN event

     b.1) VAN has a more elaborate attendance model, includes rsvp, confirmed, attended, etc.
    

    c) no requirement that changes to the VAN person are reflected on AK side

    d) no requirement that changes to the VAN RSVP status are reflected on AK side

    e) changes to certain fields (which?) of AK Person SHOULD be updated on VAN side

    f) additions of NEW RSVP's on AK side to an event SHOULD be added to VAN side

    g) deletions of RSVP's on AK side to an event do not need to be reflected on VAN side

Questions

  • url for AK api : https://roboticdogs.actionkit.com/docs/manual/api/rest/index.html

  • url for VAN api : https://developers.ngpvan.com/van-api

  • do we have test AK account? Not yet, but can get one, I'll ask them for it today

  • do we have test VAN account? Yes sort of, I'll find the creds, we can ask them for more access

  • how do i see this working end-to-end?

  • how often does sync happen? (2b) Unknown, probably hourly is fine

  • which fields? (3e) Probably email, phone number if present, address if present. Possibly fname/lname? Possibly Leg distrcit? probably not since VAN better at that?

  • how do we know an event got created? (to kick off api calls)

    • poll all AK/group events, diff, if something new
  • whey did moveon store API data in redshift? how did they get it there?

  • is the API unreliable?

Gotchas

  • might want to give VAN events human-readable (lots of dupe names that are not differentiable)
  • roles: VAN has a lot of roles, AK doesn't have these, need to do a translation
  • VAN events have idea of shift, AK does not (workaround: make 1 shift spanning entire event)

Notes

main reason using AK is for distributed events tool the volunteers are adopting it at a higher level harder for organizers to do the vol mgmt.

main data we need to flow from AK into VAN is the all the events for the campaign are set up in AK need that event info to go into VAN, so if it happens in AK it goes into VAN

and all rsvp to flow also

only thing in addition to that: lots of online fundraising in AK, good for that refelct in VAN

timeline: have this implemented by middle of June if possible now like to move it up a little bit early May implementation best unique volunteeers: > 10,000

number of RSVP's: 30-40K

unique events: probably 1,000K

Example code:

Clone this wiki locally