Add support for a CSV-based export of the user list for a journal.
This should be able to filter based on user group and should include enough information and be in a format that's helpful for users who want to use an external service to contact users.
(FYI, @amandastevens!)
This is mostly helpful! We currently have to rely on online tools that convert XML to Excel and the results are not always great.
Would be nice to have something like that for Site Administrators too (see https://forum.pkp.sfu.ca/t/easy-way-to-communicate-to-all-journal-managers-on-a-multi-journal-instalation/58309)
Hi @asmecher!
We have a report plugin to export users to CSV, which was recently updated to work with OJS 3.1.2... I'll take a look into the options/limitations and extend it to work with OJS 3.2 and also support selecting groups/journals.
The plugin is customizable through a hook, so it's possible to add/remove columns, e.g.:
new Mapping(__('common.mailingAddress'), function (\User $user) : ?string {
return $user->getMailingAddress();
})
It currently exports the following fields: ID, Given Name, Family Name, Email, Phone, Country, Mailing Address, Date registered, Updated plus the status for each notification (extracted dynamically from NotificationSettingsForm).
By now I'll add two columns (journal and role) and probably disable the localization of column names 馃
Let me know if there's any other expectation/requirement, such as selecting which fields should be exported, extra filters, displaying an export button on the user list, etc.
That's great, @jonasraoni! @amandastevens, are there any additional columns to suggest that might help inform a 3rd-party mailing service?
are there any additional columns to suggest that might help inform a 3rd-party mailing service?
Perhaps their user group assignments as these could be mapped to groups in, eg, MailChimp.
It would be great to see this CSV download attached to the user statistics area (Statistics > Users). One of our longer-term plans is to offer export/download options to all statistics (ie - set up date range, filters for usage stats, and then have the ability to export/download that data set).
Putting the CSV download into the user stats area would align with these plans.
Hi @NateWr, it makes sense to keep it in Statistics > Users, or as I suggested before, an export button at User & Roles > Users.
I was going to pack it as a plugin, so I'm going to change plans and integrate it into the code base =]
I looked at popular email marketing tools that could be used to send out email notifications to OJS users and what they require for contacts import. The ones I looked at either require email, first name, and last name or only email or have no required fields. So I don鈥檛 think you need to add any additional fields to accommodate these tools. Otherwise we should just think about which user fields users might want to import into and use in these tools. I can鈥檛 think of any others in addition to what Jonas noted above.
Hi! I've created a PR (linked in this issue) and left some technical comments there.
Re-opening briefly as there was a small bug that prevented the exports from working. The window global can't be accessed within a template, so the URL redirect wasn't working. The following PRs fix that and also make a couple of minor UX changes.
PR:
https://github.com/pkp/pkp-lib/pull/6404
https://github.com/pkp/ui-library/pull/131
https://github.com/pkp/ojs/pull/2929
https://github.com/pkp/omp/pull/890
https://github.com/pkp/ops/pull/89
Great! Just the one comment on the locale key stuff but this is looking good. Thanks for fixing the usage stats report and the heading structure on the COUNTER page, too!
Is this comment maybe meant to go here: https://github.com/pkp/pkp-lib/issues/6145 ?
Woops! Yes, sorry. Too many issues open at once! :laughing:
Merged!
Most helpful comment
Woops! Yes, sorry. Too many issues open at once! :laughing: