sandiegopython / pythonsd-django

http://sandiegopython.org/
MIT License
7 stars 5 forks source link

Add an organizers page #64

Closed davidfischer closed 4 months ago

davidfischer commented 3 years ago

We should have a page that identifies the organizers of the group by name and things like Twitter accounts or LinkedIn accounts. I wouldn't share emails except for our general organizer email.

davidfischer commented 4 months ago

This page should link to meetup profiles of the organizers (eg. https://www.meetup.com/pythonsd/members/?op=leaders but maybe just the ones still active) and it should link to the organizer email address sandiegopython-organizers@googlegroups.com.

It could be database driven (organizers stored in a model with an active flag) so that we could easily add optional fields like a LinkedIn profile, but that's not a strict requirement and possibly overkill.

The page should appear in the top navigation next to Code of Conduct.

Jer-Pha commented 4 months ago

Regarding images, they would probably need to be saved as static files, I'm assuming the Meetup image URLs would break if anyone changed their profile picture.

It might be good to wait on this if the switch to TailwindCSS is happening, but the CSS would look something like this:

width: 4rem; height: 4rem; float: left; object-fit: cover; border-radius: 50%; margin-right: 0.75rem;

Example: image

Note: this would be after wrapping the image, name, and links in a div during the template's loop.

davidfischer commented 4 months ago

If we save them as uploaded media files, we need a place to store media which we don't currently have. Setting up S3 and django-storages is straight-forward but something that I'd like to not do if we don't need it. I'm going to look to see if we can link directly to meetup but media files might be the answer.

It might be good to wait on this if the switch to TailwindCSS is happening

I'm not too worried about waiting as fixing little things like that should be quick. I have an initial branch/exploration about switching but I'm not ready for a PR yet.

davidfischer commented 4 months ago

I'm going to look to see if we can link directly to meetup but media files might be the answer.

Media files are probably the answer. Meetup doesn't seem to even support the API we're using and wants us to upgrade (the PSF is already paying them!) to use the new API. The user images don't seem to have a deterministic filename based on the user ID.

Jer-Pha commented 4 months ago

If we save them as uploaded media files, we need a place to store media which we don't currently have. Setting up S3 and django-storages is straight-forward but something that I'd like to not do if we don't need it.

Assuming the pictures won't change that often, we could add an image_file CharField to the Organizer model and add them all as static files (similar to static/img/sponsors is now). image_file would be something like "first-last.png' . Then they could be called with string concatenation:

<img src="{% static 'img/organizers/'|add:organizer.image_file %}">

This is a bit more work up front but eliminates the need for storing uploaded media files. There could also be a generic image that is the default for image_file, to prevent breaking the layout if a new organizer is added without an image.

davidfischer commented 4 months ago

If we make it static, doesn't that defeat the purpose of having it be database-driven? I am exploring some easy options for uploading them so I'll report back tonight or tomorrow.