ropensci / qualtRics

Download ⬇️ Qualtrics survey data directly into R!
https://docs.ropensci.org/qualtRics
Other
215 stars 70 forks source link

`all_mailinglists` returning incorrect values for `category` and `folder` for group contact mailing lists lists #174

Closed dsen6644 closed 4 years ago

dsen6644 commented 4 years ago

For group contact mailing lists, an incorrect value is being returned for category and NULL is being returned for folder. See the screenshot below for difference between personal and group mailing list ("Closed1" should be "Closed").

These incorrect values are being returned from the API request. A ticket has been submitted to Qualtrics.

all_mailinglists
dsen6644 commented 4 years ago

Per my previous comment, there are two fields in the all_mailinglists return object that doesn't behave as expected, category and folder. I submitted a ticket to get some clarification from the Qualtrics support team.

category is the folder name when the mailing list was created, not what it is now. So if a mailing list was created in a folder named a and then that folder was renamed as b, the mailing list will show a for category. One way to fix this is to enter the UI, find the mailing list, select "edit list details" and select b for folder. This will update the category name. This behavior is consistent for both individual and group (organization) mailing lists.

When the above situation occurs (prior to the manual fix using "edit list details"), folder will automatically be correctly updated to reflect the correct folder path for individual contact lists. So for the previous example, while category would be a, folder would be .../b. For group mailing lists, however, that automatic update doesn't occur for some reason, and because that folder path no longer exists, NULL is returned (which is shown in the original screenshot).

Qualtrics suggestion...

Qualtrics recognizes that this behavior is odd, but noticed that the correct folder path is returned for both individual and group mailing lists when using the get mailing list API. The suggestion works, however, to correct for this we would need to dramatically increase the number of API calls. Right now, we send one API call per 100 mailing lists. So an account with 200 mailing lists will send 2 API calls. Using "get mailing list" we would have to send the same 2 API calls (to retrieve the unique mailing list ids) then send an API call for each respective mailing list. This approach means we go from 2 API calls to 202 API calls, which dramatically reduces performance. I wrote a patch to test for this (#175 ebbe06e), and we go from all_mailinglists taking ~2 seconds to ~100 seconds. I don't think this is an effective workaround, so I'll be reverting this.

Final thoughts...

I've asked Qualtrics to see if they can align the behavior of the folder object for individual and group mailing lists. IF we can get the folder object to return correctly, we can correct the category ourselves by extracting the base name of the folder path.

dsen6644 commented 4 years ago

According to the estimated timeline of the Qualtrics support ticket, this should be completed by 9/15/20.

dsen6644 commented 4 years ago

Qualtrics has completed the ticket (ID: SE_F3AC26593AEF46B6). The category and folder path has been fixed, no change to the qualtRics package needed.