Re: Introduce contributor badges - Mailing list pgsql-www

From Daniel Gustafsson
Subject Re: Introduce contributor badges
Date
Msg-id 9E423E7C-9EF6-4C43-BC86-6CAEB902CC9C@yesql.se
Whole thread
In response to Re: Introduce contributor badges  (Christoph Berg <myon@debian.org>)
Responses Re: Introduce contributor badges
List pgsql-www
> On 5 Oct 2026, at 16:54, Christoph Berg <myon@debian.org> wrote:

> I pushed the first three patches now.

Thanks for working on this.  I did a first postcommit review and have a few small
comments.

    +    (
    +        "badge",
    +        models.CharField(
    +            help_text='Title of this badge, e.g. "PGConf.EU 2025 Speaker".',
    +            max_length=32,

Will 32 characters be enough for all purposes?  A "Nordic PGDay 2026 Program
Committee" badge as an example would require more than 32, and I can imagine
others like that.  It's good that submissions need to be creative to fit within
a constraint, but we also don't want to end up with needlessly abbreviated
badges.


    +        pgweb.util.fields.ImageBinaryField(
    +            blank=True,
    +            help_text="Square image, will be auto-scaled to 150×150. JPEG or PNG, up to 1 MB. When left blank, the
Slonylogo will be used.", 

While Slony was a great tool back i the day, I think you mean "Slonik logo"
here =) I wonder though, will everyone be familiar with "Slonik" or should we
just say "PostgreSQL logo"?  I also fear that allowing 1MB large image files
opens the risk for getting detailed and feature rich submissions which will
look terrible in 150x150.


    +        models.CharField(
    +            blank=True,
    +            help_text="Contact address (email, URL, other) for people who want to be added as badge holder",

Should we keep it simple and limit this to email for now?  If we encourage
people to visit third party sites we don't control in order to control behavior
on our site then we need to verify said sites.


    -        help_text='This description is currently used for major contributors only')
    +        help_text='Describe what you did in the PostgreSQL community')

This reads like focusing on the past like adding an Alumni entry, shouldn't
this be more like "Describe your involvement in the PostgreSQL community"?

    +      {%for u in holders.all%}
    +        <li>{%if u.date_retired%}<em>{%endif%}<a
href="/community/people/{{u.user}}/">{{u.user.contributor.firstname}}{{u.user.contributor.lastname}}</a>{%if
u.date_retired%}(retired from this activity)</em>{%endif%}</li> 
    +      {%endfor%}

Rather than wrapping the entry with a conditional <em> it seems like a cleaner
solution to use the condition to set a CSS class which controls the rendering.
This is more a nice-to-have of course.

    +<p>People are listed in alphabetical order.</p>

s/People/Contributors/ ?

    +  If you are listed and want to claim your profile page, write a mail including your community account name to
    +  <a href="mailto:contributors@postgresql.org">contributors@postgresql.org</a>.

Shouldn't this (and a previous instance of webmaster@) use the hidemail filter
for consistency?

         contribution = models.TextField(null=True, blank=True,
    -                                    help_text='This description is currently used for major contributors only')
    +                                    help_text='Describe what you did in the PostgreSQL community')

When opening this up to a lot more people than the major contributors, this
field should probably be sanitized when saved (and possibly when read as well)
to keep malicious content out.  Maybe that's already done today and I'm plain
missing that, but if not we need to do that IMO.

I'll revisit the remaining parts in a follow-up look.

--
Daniel Gustafsson




pgsql-www by date:

Previous
From: Célestin Matte
Date:
Subject: Re: [PATCH] pglister: Filter pending subscriptions out of the list memberships page
Next
From: Christoph Berg
Date:
Subject: Re: Introduce contributor badges