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

Support exporting multiple campaigns at once #915

Open
kohlee opened this issue Mar 12, 2021 · 6 comments · May be fixed by #1641
Open

Support exporting multiple campaigns at once #915

kohlee opened this issue Mar 12, 2021 · 6 comments · May be fixed by #1641
Labels
additions: feature 🆕 New feature or request platform: node 🔅 Related to Node backend

Comments

@kohlee
Copy link

kohlee commented Mar 12, 2021

Is your feature request related to a problem? Please describe.
If admins need data exports of multiple campaigns, they must request and receive them one by one.

Describe the solution you'd like
Admins should be able to request data exports for multiple campaigns in a single download.

@kohlee kohlee added additions: feature 🆕 New feature or request platform: node 🔅 Related to Node backend labels Mar 12, 2021
@henryk1229
Copy link
Contributor

@kohlee, @hiemanshu I've beeng digging into this issue a bit more, and wanted to confirm a few things before I start working on it properly

  1. "Admins should be able to request data exports for multiple campaigns in a single download" just means that as a user, I can set off data exports for multiple campaigns by clicking a button once, correct? We're not combining exported data into a single file or something like that?
  2. Does a user need to be able to configure export settings for each campaign that they want to export? (e.g, campaign 1 includes only the default export data, campaign 2 includes filtered contacts as well as default data, but both get exported in one action)
  3. Do we need/want to support both "spoke" and "van" exports?
  4. Can archived campaigns be exported? Is this desired behavior?

Assuming that the answer to 2 is no, I've got this initial rendering of what an export campaigns component might look like for admins:

Initial-Multi-Export-Component

Let me know what you think. Would also appreciate some input from @kennyycheng here!

@hiemanshu for the backend, my initial thought is to refactor the current exportCampaign functionality to accept an array of CampaignExportInput, refactoring existing behavior to accommodate that change, in order to reuse as much code and existing functionality as possible. Any reasons you can think of not to do that?

@henryk1229
Copy link
Contributor

@kohlee, @hiemanshu follow-up question about desired behavior: should emails be sent per exported campaign (closer to current behavior)? Or should one email be sent with links to each exported campaign?

@hiemanshu
Copy link
Contributor

1. "Admins should be able to request data exports for multiple campaigns in a single download" just means that as a user, I can set off data exports for multiple campaigns by clicking a button once, correct? We're not combining exported data into a single file or something like that?

That's correct. They can get multiple export files, per campaign. So between 1-4 files per campaign.

2. Does a user need to be able to configure export settings for each campaign that they want to export? (e.g, campaign 1 includes only the default export data, campaign 2 includes filtered contacts as well as default data, but both get exported in one action)

No. We still want to give them the option to pick between the 1-4 exports we have, but not on a per campaign level. So if they pick all exports, all campaigns will come with 4 files now!

3. Do we need/want to support both "spoke" and "van" exports?

Only Spoke Exports

4. Can archived campaigns be exported? Is this desired behavior?

Yes, I think so. @politics-rewired/client-success what do you think?

@hiemanshu for the backend, my initial thought is to refactor the current exportCampaign functionality to accept an array of CampaignExportInput, refactoring existing behavior to accommodate that change, in order to reuse as much code and existing functionality as possible. Any reasons you can think of not to do that?

I'd say create a new call to use exportCampaigns, less override. And most of the functionality in export-campaign.ts is already function based, so should be easy to add a new exportCampaigns job as well to take care of this.

@kennyycheng
Copy link

I think this look really good for handling this problem!

(Something that's not in scope of this ticket but)
The only thing I'd want to note is that while I think having a separate navigation section for "Export Campaigns" should be sufficient for now in getting the functionality out there, I think in the future it feels like it might make sense in a place that's more tightly integrated with existing workflows/pages than in its own separate section.
I'd be interested in exploring putting this functionality on the main Campaigns List and doing some redesigning there, so that users can interact more with that list and perform bulk actions from there. I can spin up another ticket that looks at that page more comprehensively and we can all discuss further, but just noting this here in case we do move the functionality of this at some point (unless anyone feels strongly that we do that right out the gate, but would probably require some additional work and speccing).
Also, could very much be swayed otherwise, and we could stick with what we've got here as a final solution, but just tossing that idea out there in case it was enticing!

@henryk1229
Copy link
Contributor

(Something that's not in scope of this ticket but) The only thing I'd want to note is that while I think having a separate navigation section for "Export Campaigns" should be sufficient for now in getting the functionality out there, I think in the future it feels like it might make sense in a place that's more tightly integrated with existing workflows/pages than in its own separate section. I'd be interested in exploring putting this functionality on the main Campaigns List and doing some redesigning there, so that users can interact more with that list and perform bulk actions from there.

@kennyycheng thank you! When I was first thinking about a solution, I thought about trying to incorporate it into the CampaignList section, but couldn't figure out an obvious way to fit it into an already-crowded page.

I'm not sure what your capacity and timeline is like, but if you wanted to do some iterating on a design early/mid next week it might make sense just to go that route? I think that might be the better design in the long run, and I likely won't have the backend implemented before then anyway. Lmk what makes sense to you!

@kennyycheng
Copy link

That makes sense! I should have capacity for the next few days and can spin something up by mid next-week!

@henryk1229 henryk1229 linked a pull request Jul 27, 2023 that will close this issue
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
additions: feature 🆕 New feature or request platform: node 🔅 Related to Node backend
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants