First steps towards contribution recognition

A discussed in slack, it is equally important as pushing Core, Doc, Translation to also push our Contributor “recognition”

As stated here https://www.classicpress.net/contributors/:

We’re currently working on a system which will allow volunteers to create profiles, and once that system is in place we’ll share all the contributors on this page – unfortunately it’s reached a point where there are too many people helping out to keep this page up-to-date and accurate.

One Place we could use to show Core Contributors is the about.php page in CP
Currently, we say there ClassicPress is created by a worldwide team of passionate individuals.
We do not say who those individuals are…

I made a first attempt in correcting that, which looks like this:

The code requires some refurbishing but is completely functional. It does need some review in terms of how many times we hit that API, eventually we should cache that:

$repo = 'ClassicPress/ClassicPress';
	$empty = false;

	for ( $git_page = 1; true !== $empty; $git_page++ ) {

		$response = wp_remote_get( 'https://api.github.com/repos/' . $repo . '/contributors?page=' . $git_page );

		if ( wp_remote_retrieve_response_code( $response ) === 200 ) {
			$response_body = wp_remote_retrieve_body( $response );
			$decoded_response = json_decode( stripslashes( $response_body ) );

			if ( ! empty( $decoded_response ) ) {
				foreach ( $decoded_response as $object ) {
					$contributors .= '<span style="display:inline-block;"><img width="28" height="28" style="border-radius:100%" src="' . esc_url( $object->avatar_url ) . '"> <a href="' . esc_url( $object->url ) . '">' . sanitize_key( $object->login ) . '</a>(' . absint( $object->contributions ) . ')</span>';
				}
			}

			// String comparison is intended here.
			if ( empty( $response_body ) || '[]' === $response_body ) {
				$empty = true;
			}
		}
	}

	// This is safe to echo without further escaping.
	echo $contributors;

What is the general consensus here, can I initiate a PR with this to refine, or is the general consensus that we do not want to show contributors there at all?
I can use that code to create a new contributors.cp.net site, or, a plugin that shows it on https://www.classicpress.net/contributors/, or whatever else, and then we can link to it, if desired.

I don’t care where we list the folks, but we need to list them.

On this same topic, I would like to ask @wadestriebel if it is (without a lot of effort) possible to add an endpoint to our API where we can add DOC, Translation and else contributors that are not gullible from any API.
Maintaining that API doesn’t require a lot of work (maybe a couple new users a month to add), what I fear requires a lot of work is setting it up, but, if it does not require a lot of work, that would basically resolve all other “contributors data” we may need and have no API to pull from.

:popcorn:

1 Like

Have you seen the about page?! It’s already a wall of text that screams, “close this window without reading anything”. And this suggestion… well, it’s a nice gesture, but, … that’s not pleasant to look at and it would just add to the mess that the about page has become.

Anyway, regardless of where it goes… it needs to look good. Having a link, an avatar, and plaintext for each person is just too much. It looks “outputted” rather than “designed”, if that makes sense. I would do away with the username link and commit counts, leaving just the icons – and even then, only if they were stored locally, and not pulling from some service.

:popcorn:

PS. I’ve never read one of those types of things in many many years of OS. I would venture to guess the primary audience for this is the people on the list. So, I’d just link’em to GitHub where there is already a list and call it a day.

PPS. It should go on the contributor’s page that you linked above, if anywhere.

I should maybe have specified that I mean wp-admin/credits.php, I did not realise it is another url, I just added my code to the file and looked at it in the browser… but did not notice that the tabs are actually distinct urls.

So, do not look at about.php, please look at my screnshot or credits.php and visualise it there

And of course, I did not care about “looks”
I cared only about the functionality for now
I think we could discuss design with actual designers - which I am not. I just took the data available in GIT API and made it look somehow useful

With this query the main contributor is someone that contributed to WP in 2013.

Ok, I retract my statement that it will add to the mess of the about page. :wink:

However, I stand by the remainder of my comments.

Thats right. CP Would not exist without those contributions, just saying, back ports and so… It is a GIT contributors query.

Yep, that’s the whole point. Do you sit there and read the credits at the end of the movie?

@ozfiddler Not usually. However, if that’s the logic, then why not put it on the public contributors page instead of tucking it into a screen people will only ever see a few times over the life of their site?

1 Like

As said in my opening comment, this is one place where we COULD show core contributors.

In no way this is where it has to be

That is why it is here. So we can define the best place…

However, maybe I am wrong, but it seems the consensus is more leaning towards “screw that, we are all good people helping CP out of good will and do not need any form of public recognition”

If that is the general consensus we maybe should not spend time on this sort of thing?

1 Like

It looks like something will go there as well. Not sure how that will work, but it’s harder… there are so many places people can contribute.

I don’t have strong feelings either way. But it is a fairly common thing to do. For example WooCommerce has something like this at the bottom of their release page…

1 Like

Oh, look… design!

It makes a world of difference and I think it would improve the contributors page. I don’t think there’s any question that it’s common. Just not as a pile of text and links and avatars. :wink:

I mean, props now and again are nice, but, if someone is doing OS for recognition, they’re probably in the wrong line of work. :smiley:

I’m certainly not doing it for recogniiton, but having just had my first PR accepted I gotta say I’d be quietly pleased to have my name included.

1 Like

The “design” (no design) is pretty much the same as in WP, just with avatar, I think WP has none (?)
This was a “design” (really no design) made for the page inside WP, quick, and totally raw.

Of course, on the website itself it would look a bit more … beautiful? Again, I am no designer, and certainly wont spend time on design when we can’t yet agree where, if and wether to add or not.
This is … a discussion wether it would make sense or not

So it seems that yes, if the design is better. I agree on that, I did not spend any time on design doing the above code… because design can be added later, usually, in any form of development I first do the “raw” and then the “fancy” (or layout)

Hope that makes sense…

PS:
The “nice design” of WC there can’t even resize images all the same way. That is nice design?
Then I am ready to state my design is nicer.

1 Like

A lot of times when things are setup to “happen later”, they never happen.

We don’t have designers. It behooves us to think about the design of things – we already have enough text everywhere.

This “feature” would get released (if it got released) only after a bunch of devs and random community members (none of whom are designers) go back and forth for days over whether the links should be underlined.

…anyway…

I also think they should be randomly ordered, and not stacked according to commit numbers, so…

:running_man: :dash:

One problem I see with a design similar to WCs example is that the page (if we use this inside the credits.php, not related to the website page) is that it takes too Much space

So that would speak/ask for a more “tiny” footnote-like design, perhaps even without avatar.
On the website we could then use a more fancy design

OR, we could just link to that website/page from within the about page, saving us a lot of core code to commit and so on.
I guess that would be the neatest solution, just keep the link there that links to /contributors, and on that page, display something looking similar to WC’s example, perhaps filterable by “commitment” type.

Of course, this now already assumes we would have an API to pull other form of commitments as well.
Right now, we can only (easily) pull core contributions, the rest is rather “non-existent”

So for now, I will not focus on a credits.php enhancement and rather focus on the possibility to feed our API with this, so we can then pull it all as one thing into our contributions page.
Since our API is not written with PHP that is out of my reach for now either way.

I’d argue that design is not just how something looks, it’s how something works. Important from the start (especially when trying to get buy-in for an idea, as you may have noticed!).

Yes, this is important. A ClassicPress admin page should not routinely connect to any remote service or server, unless it’s checking for or getting updates, or searching for plugins.

Thus this cannot be added to any page inside the CMS. I did not even think about this (even if cached…)

Case closed.

We may venture into other possibilities of this, like adding similar code to a yet to create API we can ping from our main website.
Which by the way maybe needs a design update, since we talk about design?!
(pun may be intended here, yet I stand by the statement that design is something one can worry about once the code is working and decided to be used, which it will not in this case. Design added == at least 10 hours wasted with my non-existing design skills. because you know… hover, and underlines, and rounded or square or triangle images… Lucky me I did not add any time-extensive design)
Pun 2:
Or our plugins directory, which is so nice in design it almost streaks me :wink:

Really, I don’t think this is the main issue here.
If the excuse now comes that the directory is looking as it is because it is in beta… well!! Consider above suggestion a (failed) beta idea.

Hmmm. I guess I should’ve mentioned maybe putting the the contributors on the contributors page. :wink: Icons wouldn’t invade end-users privacy there either.

I did mention that in my very first comment.

I can use that code to create a new contributors.cp.net site, or, a plugin that shows it on Contributors - ClassicPress is Powered by Volunteers, or whatever else, and then we can link to it, if desired.

I think no one here read the initial comment, and did also not really look at the screenshot, given it wasn’t noticed that it actually target the credit.php :slight_smile:

I assume in that light, appearance is important?
And yet we think that contributors in OS are not there for the “appearances” (as in recognition, which is a form of appearance, right)?

That is kind of weird. We ourselves do judge things by appearances but assume that we ourselves are not at all into appearances… I am confused.

But also clear about what we can do, and we can not do what I suggested above, due to the ping-issues with The API inside the CMS

So that is really clear, and we can stop here I guess, and focus towards the “on main website” list. Which is great, for me it is either or the same goal achieved: the contributors of all areas will one day get their recognition …