barnardos / developer-manual

How to be a developer within the digital team
MIT License
3 stars 0 forks source link

Donate Create CSV for fundraising team #45

Open ritapatel7 opened 2 years ago

ritapatel7 commented 2 years ago

Hi @niam0r, I am trying to look into this ticket (https://github.com/barnardos/barnardos-donate-journey/issues/592) and was wondering if you could give me some guidance please.

I have been looking at the donate code and atm all donation data is stored in the donations table and the data gets deleted every three days as per business requirements and security reasons. However fundraising team need data ie monthly with certain fields as noted on the ticket (so no personal data but just around donations). So for this it seems like I need to create a copy of donations table with some fields and keep the data longer in that table and then create csv from it maybe monthly.

Ive been trying to look at how best to create copy of donation table (but with less fields) in rails. I was hoping you could push me in the right direction as follows:

  1. Looking at the ticket (https://github.com/barnardos/barnardos-donate-journey/issues/592) what do you feel the best approach is?

  2. I've been looking and searching online but probably not looking in the right place. Are you able to find something that could guide me on how to create second table from donations table with certain fields and would I need to create another controller or can I use the same donations controller but just a separate table. Any documentation around this or youtube videos that you think are helpful would be appreciated.

Anything that you can send me that you think will help with above ticket would be great.

Thank you :)

niam0r commented 2 years ago

Hi,

So I had a look in https://github.com/barnardos/barnardos-donate-journey/issues/592, from my understanding the fields the fundraising wants are:

Looking at the ticket ([Spike] Investigate how we can create a donation csv for fundraising barnardos-donate-journey#592) what do you feel the best approach is?

My question would be that if all those fields are already exported daily in the csv file to the Salesforce team why can't they already get this informations directly?

niam0r commented 2 years ago

I don't personally feel like adding a new table for these fields is a good idea, we would be unnecessarily duplicating data and if it was first decided per "business requirements and security reasons" to delete this data regularly then we should keep it this way.

derekjohnson commented 2 years ago

My question would be that if all those fields are already exported daily in the csv file to the Salesforce team why can't they already get this informations directly?

Because the existing export contains personal information and we don't have a process in place for marketing and fundraising to control that data legally.

niam0r commented 2 years ago

My question would be that if all those fields are already exported daily in the csv file to the Salesforce team why can't they already get this informations directly?

Because the existing export contains personal information and we don't have a process in place for marketing and fundraising to control that data legally.

So they can't export these 4 fields from their own export? If not feels like creating another daily csv export with only those fields could be the way to go.

derekjohnson commented 2 years ago

It's not their export, it belongs to the income processing team. Marketing and fundraising have been relying on GA and are finally realising how inaccurate it is.

derekjohnson commented 2 years ago

On the technical approach, whatever you think is best works for us.

niam0r commented 2 years ago

Ah right.. ok then maybe having another table might be the way to go. You might be fine not deleting it as well if there's nothing critical in it. And you should be able to re-use the code in CsvPresenter to export it monthly.

ritapatel7 commented 2 years ago

@niam0r Thank you so much for above. Are you able to guide me with the second question too please (I've pasted it below from above)?

I've been looking and searching online but probably not looking in the right place. Are you able to find something that could guide me on how to create second table from donations table with certain fields and would I need to create another controller or can I use the same donations controller but just a separate table. Any documentation around this or youtube videos that you think are helpful would be appreciated.

Anything that you can send me that you think will help with above ticket would be great.

Basically should I be making a copy of the donations table with less fields or do I just create a new table and will I be able to use the same donations controller and add data to the new table with the same save method? This means when user presses donate/submit it will send data to both the tables donations and new table?

Thanks

niam0r commented 2 years ago

@niam0r Thank you so much for above. Are you able to guide me with the second question too please (I've pasted it below from above)?

I've been looking and searching online but probably not looking in the right place. Are you able to find something that could guide me on how to create second table from donations table with certain fields and would I need to create another controller or can I use the same donations controller but just a separate table. Any documentation around this or youtube videos that you think are helpful would be appreciated.

Anything that you can send me that you think will help with above ticket would be great.

Basically should I be making a copy of the donations table with less fields or do I just create a new table and will I be able to use the same donations controller and add data to the new table with the same save method? This means when user presses donate/submit it will send data to both the tables donations and new table?

Thanks

Hi Rita, sorry but I would need a lot more time to answer all this. I think @carapang and @Catalina-B would have to agree on allocating me to spend that time on Donate.