Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to support using the newest API for fetching survey data, addressing #130 #135

Merged
merged 15 commits into from
Feb 14, 2020

Conversation

jmobrien
Copy link
Collaborator

  • fetch_survey now points to the modern API endpoint
  • swapped/added some of the new parameters, not everything yet:
    https://api.qualtrics.com/reference#create-response-export-new
  • updated some assertions & associated utilities to support argument checking, etc.
  • url building redesigned to work better with new API, may be slightly more easily extensible going forward

Generally, fetch_survey seems to work, and a few internal changes were made so metadata wasn't broken by this. But remains to be seen if there's deeper stuff that needs addressing/cleaning up.

@jmobrien
Copy link
Collaborator Author

Updated 2019/02/13 to add a fix to all_surveys() that needed to work with the new URL generation scheme. (633ca33)

@juliasilge
Copy link
Collaborator

A question for you @jmobrien: did the option in the API for unanswer_recode really change to something integer-like? Not a string anymore? I am looking in the documentation trying to find this but not coming upon it easily.

@juliasilge
Copy link
Collaborator

Wait, I think I found it.

@juliasilge
Copy link
Collaborator

OK! I think this does it. 🎉 Thank you so much for your work on this.

I had to remove one test because the old testing framework does not play nicely with the new API calls. This makes #120 a higher priority.

@chrisumphlett
Copy link
Contributor

Thanks to @jmobrien -- I'll give it some hardcore testing very soon, perhaps even tomorrow if I have time.

@jmobrien
Copy link
Collaborator Author

jmobrien commented Feb 14, 2020 via email

@jmobrien
Copy link
Collaborator Author

jmobrien commented Feb 14, 2020 via email

@chrisumphlett
Copy link
Contributor

chrisumphlett commented Feb 14, 2020

I think something changed... I"m not quite sure what. This is my process:

  • fetch_survey, put in df called responses
  • extract the column names and labels with: col_name_labels <- stack(sjlabelled::get_label(responses))
  • this creates a df with columns values and ind.

Previously, I then had logic that filtered on values expecting to see the column name there. Now, I'm having to switch that filter to reference the ind column.

Am I making sense, and does that change in behavior make sense according to the change? Not saying it's a problem!

Context:
The goal of this process is to dynamically build a response_metadata table where I log all of the response metadata (start date, finished, progress now that it's there (yay!), browser) into a long table, for all of the surveys.

Another difference
Previously, there were 7 "Browser Meta Info" columns coming through. Now there are only 4. Flash version, java support, and user agent are dropped.
It's possible I've unknowingly done something here too.

@juliasilge
Copy link
Collaborator

Thanks for checking things out @chrisumphlett!

For the browser info, it looks like that is an actual difference between the old endpoint and the new endpoint, i.e. what Qualtrics is sending over when we request data.

For the labels, I think there may be some digging still to do, to figure out what the best end state for label handling is. If you would like, can you chime in on #134 about issues with the labels/attributes?

@chrisumphlett
Copy link
Contributor

Re: Browsers. Makes sense to me-- I have no use for that information anyway, just need to update code.

I will comment on #134 momentarily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants