OZtree icon indicating copy to clipboard operation
OZtree copied to clipboard

Personal page for sponsorships

Open jrosindell opened this issue 4 years ago • 22 comments

Uses a hash of the user e-mail is the URL parser (hash means e-mail text is never revealed to other users) Gives a nice visualisation of that users sponsored species (including text and expired sponsors) States if this person is a bronze, silver or gold sponsor

There should also be a page to help a user generate a link to their personal donor page - i.e. to take them to the URL with the correct hash of their e-mail

jrosindell avatar Mar 14 '21 17:03 jrosindell

your donor name should be the sponsored by field of the most recent leaf or, if all leaves as sponsored for the most recent leaf that has a non-blank donor name.

jrosindell avatar Apr 27 '21 09:04 jrosindell

this page should only include user donor show flag = 1 leaves it should include current and expired leaves and year the leaf that leaf was sponsored for those currently active

probably the same page should be the renewals page - only that has a button to renew next to each leaf (if possible) and a note to write to us for making changes and a single button to renew all that are ticked and a button to tick all.

jrosindell avatar Apr 27 '21 09:04 jrosindell

there should be a link to each one with a button to copy link or something like that....

jrosindell avatar Apr 27 '21 09:04 jrosindell

there should be a public and a private hash for this and #363

jrosindell avatar Apr 27 '21 10:04 jrosindell

One idea that occurred over lunch is you could add a few more fields to make the public page more coherent and something you'd want to show off; a custom URL part instead of just a hash, a title (e.g. "The family menagerie").

Of course the next feature to add is multiple collections associated with one e-mail address, but that's going too far at this stage.

lentinj avatar Apr 27 '21 15:04 lentinj

We're now thinking the easiest model for this page is to make it like https://www.onezoom.org/sponsored only

  1. change the title to read "Sponsorship page for ________"
  2. Make the maximum number of entries per page be much more than 20 (e.g. 100) so that we catch the case of many many sponsorships but also usually show the full lot
  3. Change the text under each leaf to read "Sponsored in 20xx by/for" instead of "Sponsored by/for" so that the year of sponsorship is shown
  4. Order the leaves by date of first sponsorship and only show currently active sponsorships (not expired ones)

I like your idea for the custom URL with a parser, but think it's optional for now. Adding multiple collections is probably also going too far for now. I'm keen to avoid scope bloat given there's a lot of things to do here!

jrosindell avatar May 05 '21 19:05 jrosindell

The name used for the page title should probably be the Donor Name entered in our database from the most recent sponsorship associated with this e-mail that has a donor name. I'll probably need to update the data protection statement to reflect this.

jrosindell avatar May 05 '21 21:05 jrosindell

The name used for the page title should probably be the Donor Name entered in our database from the most recent sponsorship associated with this e-mail that has a donor name. I'll probably need to update the data protection statement to reflect this.

See #394 for discussion of how I think we should allocate the username which will be the thing in the URL.

hyanwong avatar Jun 07 '21 13:06 hyanwong

Is there a bronze level? "Particular thanks to our gold donors whose contributions total over £1000, and silver donors who have contributed over £150 in total" Or is bronze level > 0?

~~EDIT: Also, do expired sponsorships contribute to your level? Seems like they should, but they won't currently in donor_list~~ I've now seen the "Don't show expired sponsorships bit" :)

lentinj avatar Jun 07 '21 16:06 lentinj

Okay, this is looking okay, and I think encompasses the above. It probably could do with more explanatory text though, it's a bit bare-bones currently.

lentinj avatar Jun 07 '21 17:06 lentinj

Bronze is > 150 in total donations

jrosindell avatar Jun 07 '21 22:06 jrosindell

Bronze is > 150 in total donations

Then what's sliver? The mappings to colours are here https://github.com/OneZoom/OZtree/blob/main/OZprivate/scss/content_pages.scss#L294-L336 generated by this https://github.com/OneZoom/OZtree/blob/main/views/default/donor_list.html#L15-L21 Note there's a 1000000 cutoff that doesn't do anything.

lentinj avatar Jun 08 '21 09:06 lentinj

The above covers everything we talked about in the call. I'm still a bit confused by the gold/silver/bronze thing, but I don't think there's anything else.

lentinj avatar Jun 08 '21 10:06 lentinj

Thanks. Re bronze/silver/gold, I suspect we just got the cutoffs wrong.

hyanwong avatar Jun 08 '21 10:06 hyanwong

Yan and I think use the username only with no hash but users can untick donor show and username uses no private info because it's the public donor name or the species name and year

jrosindell avatar Sep 21 '21 11:09 jrosindell

Yan and I think use the username only with no hash

Are we talking about the URLs here? If so that's already the case.

lentinj avatar Nov 22 '21 10:11 lentinj

Yan and I think use the username only with no hash

Are we talking about the URLs here? If so that's already the case.

Yes - we're talking about the URL so it can easily be constructed with the uncashed username. The renewals page is the only one that's hashed.

jrosindell avatar Nov 23 '21 12:11 jrosindell

A few comments on this....

1.) Please order the list so that sponsorships with images come first then without images inside a separate div underneath

2.) Please make the page reactive so that multiple columns can be used depending on screen size - for the section without images there can obviously be more columns

3.) Try to make the images more associated with the text that goes with e.g. by reducing the padding between them or by using 'nth child even' CSS to stripe the results.

jrosindell avatar Nov 25 '21 09:11 jrosindell

A quick thing to add here. I've just seen that the text reads "_____ sponsored in [date] by _____" e.g.

The code for this in donor.html uses verified_time to get the date - but we decided that verified time would be overwritten with the new time of renewal - hence the date wouldn't be the original date after renewal. I think if the user has renewed several times they would expect the date to be there from the first day they got the leaf.

   <div>
          Sponsored in {{=item['verified_time'].strftime("%Y")}} {{=item['verified_kind']}}
          <i class="sponsored-by">{{=item['verified_name']}}</i>
       </div>

I suggest fix this by using the reserve_time field and make sure that when we renew the original reserve_time entry is preserved.

jrosindell avatar Dec 01 '21 17:12 jrosindell

I suggest fix this by using the reserve_time field and make sure that when we renew the original reserve_time entry is preserved.

Do we brush over the case of expire-and-repurchase and say they've had it since the original time, even if there's gaps in their sponsorship? I think we do.

lentinj avatar Dec 09 '21 18:12 lentinj

We don't have an example story yet but think it'll be 250 words max length. I'll write some text later to put there for interpretation - for now please just put a simple placeholder text.

jrosindell avatar Dec 09 '21 21:12 jrosindell

I suggest fix this by using the reserve_time field and make sure that when we renew the original reserve_time entry is preserved.

Do we brush over the case of expire-and-repurchase and say they've had it since the original time, even if there's gaps in their sponsorship? I think we do.

Agreed

jrosindell avatar Nov 11 '22 03:11 jrosindell