The “(Your) Commits” tab goes to a commitlog page which is being removed by #3162472: Skip individual commit view to go to the viewer. And we have been phasing out that style of tabs, so it should not be replaced with a direct link to GitLab.

The “Projects” listing with commit counts requires Git commit processing which we will no longer have, #3248795: Reduce Drupal.org coupling to GitLab on git.drupalcode.org. We can either list projects maintained, without commit counts, or remove it. Removing it is of course easiest, project module stores different types of maintainership in separate database tables, so I’m not sure there’s a convenient way to comprehensively get all projects maintained, unless we pick one type of maintainership.

GitLab is of course best at displaying activity on git.drupalcode.org. If someone has a profile on git.drupalcode.org, we should link to it.

Issue fork drupalorg-3253658

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

drumm created an issue. See original summary.

drumm’s picture

For the link to the git.drupalcode.org profile, we need to decide on wording and placement.

Wording - I’d avoid “GitLab,” that is confusing with gitlab.com. My best idea so far is “git.drupalcode.org profile.” Maybe a title attribute or smaller text with, “Code and merge request activity.”

Placement - potentially:

  • Left sidebar, near the social/website links
  • Middle top, above “Bio”
  • Middle bottom, replacing “Projects”
darvanen’s picture

I like the suggested wording.

I'd prefer the link to be somewhere that doesn't move easily so it's predictable and easy to reach this information, middle top would be a good candidate by that measure.

chrisfromredfin’s picture

> "We can either list projects maintained, without commit counts, or remove it."

I would vote for removing it because it's easiest, but in good conscience I can't. I would be happy if: "As a Drupal.org user, I want to display the projects I contribute to, so that people know I am a contributor to the Drupal community." But, as we probably can't trust that to just be an entityreference field the user fills out on their own, I'd be interested - what _are_ the "types of maintainership" because I'd probably be happy with limiting to just one.

> For the link to the git.drupalcode.org profile, we need to decide on wording and placement.

I cannot think of something to call Drupal's GitLab installation except the "Drupal Git Server" - but "Drupal Git Server Profile" seems a bit wordy. But maybe "Git Server Profile" would do. Drupalcode.org redirects to git.drupalcode.org, so maybe "DrupalCode Profile" could work?

I like left sidebar the best for placement; it feels natural to me to think of that as "all the places you can reach me / learn more about me" and my profile on an external property (albeit a tightly coupled one) sits well there for me. I think a button would get lost in the main page content.

All this just my $0.02. :)

markdorison’s picture

Drupalcode.org redirects to git.drupalcode.org, so maybe "DrupalCode Profile" could work?

FWIW, I prefer some version of "DrupalCode Profile" to "git.drupalcode.org profile".

drumm’s picture

what _are_ the "types of maintainership"

  • Write to VCS
  • Edit project
  • Administer maintainers
  • Maintain issues
  • Administer releases

As long as we have issue credit in its current form, it is best practice to credit yourself on issues you help resolve; self-credit is automatically suggested if you make a commit for the issue, so its good to do the same for non-code contributions. So issue credit does give some indication of what projects you have been active in, whether you are a maintainer or not.

irinaz’s picture

I like "DrupalCode Profile".

hestenet’s picture

StatusFileSize
new434.9 KB

This is still very rough, but here's a basic visual mockup of some options we could look at here:

Concept of profile changes

lawxen’s picture

Priority: Normal » Critical

Lack of "commit counts" will make drupal die. I don't want to contribute to modules anymore because of it.

hestenet’s picture

Priority: Critical » Normal
hestenet’s picture

To restore commit counts we would need the same functionality to exist in GitLab, either as a display somewhere in the GitLab 'Activity' UI, or as an API that could be called to get a specific user's commits per-project (better as a direct display in GitLab). I know GitLab is interested in accepting contributions, so it may be worth coordinating with @nick_vh to understand how to do that.

In the meantime though, this issue needs to be completed as is, so we can complete our accelerated migration to the rest of GitLab's toolset.

podarok’s picture

Priority: Normal » Major
Status: Active » Needs work

This is major
We shouldn't deploy this level of changes with a lack of replacement
We must rollback it and think about it better

darvanen’s picture

To those decrying this recent change:

Could you explain why issue credit - which is still displayed - is not enough?

lawxen’s picture

Could you explain why issue credit - which is still displayed - is not enough?

  • Timeliness: Issue credit in D.O just display info in the past 1 year. Not all the history.
  • Code contribution: Issue credit contains all the forms of participation: a comment, a review, or just some irrelevant discussion, 'commit count' can reflect the code contribution on each different project.
podarok’s picture

Adding some points from the Slack thread about this regression

https://drupal.slack.com/archives/C1BMUQ9U6/p1652772409621139

HR issue

- Previously HRs could build their interviews around a list of projects, developer committed to. Despite the fact they are outdated in a terms of drupal.org ( 3+ months ago as per credits system)
- now there is no human readable way to show list of projects developer was involved in, when he/she is not a maintainer of a project. There is a similar thing in GitLab https://git.drupalcode.org/users/podarok/contributed - but let's ask HRs is they can understand what that table of tables means ( I assume - they will hate us )

Developers

Previously user profiles were included in CV, when there was something to include. Example https://www.drupal.org/u/anprok - Andrii had ~2000 commits to different projects. Yes, they are ~1.5 old, but still, for the career it means something. Now it is gone.

Credits system

For developer/user to get credit there is a bureaucracy
- you must to create an issue, create MR from it, proceed to the merge and Fixed status of issue in order to get credit which will disappear soon in your profile
- if you created MR in GitLab without a connected issue - your work is hidden from the eyes.

Suggestion
- rollback Commits per project to User profile until we have a better replacement ( GitLab improved bu us or something )
- discuss this with wider community
- keep Projects Maintained, because it improves profiles of Projects Managers, which are usually empty now

chi’s picture

Summarizing #14.

  • Code contributions are not respected anymore unless you create an issue for each commit which is tedious.
  • Inactive contributors got clean profiles despite all their hard work in previous years.

To clarify why this is important. Many Drupal related companies rank the candidates based on their contributions to Drupal. So when you apply for a job the first thing you will be requested is a link to your drupal.org profile. That was a good motivation for contributing escpecially for junior developers to accelerate their career growth.

marios anagnostopoulos’s picture

I think that the main complaint of most people is that:
Just the contributions of the last year are visible at first glance.
Since many people use those metrics as a marketing tool (It does not matter if we are talking about a company looking for clients, or an individual looking for a corporate/freelance job) and considering that, in the Drupal ecosystem, issues in the queue might take months/years to resolve, even in very well maintained modules, the 1 year "visible" history might be narrow. Having a developer who took a 6 months break from Drupal (Or just from public contributions specifically) appear as someone who is not active in the community is inaccurate and will probably dishearten many people from taking the
extra step and making their project specific work more generic and contributing. Even as it is now, I think we all know that "gatekeeping" is a problem in the Drupal community and we need to try and add more incentives for people to contribute.

Having said that, @lawxen I strongly disagree that

Code contribution: Issue credit contains all the forms of participation: a comment, a review, or just some irrelevant discussion, 'commit count' can reflect the code contribution on each different project.

is a bad thing. Reviews might be even more important than code contribution, since the "needs review" is the stage most long running issues get stuck at. Also, maintainers decide if someone gets credited or not, which means that "irrelevant discussions are not credited.
Additionally, as it was mentioned multiple times, it is very easy to bloat the commit count on personal / sandbox projects that are uploaded to drupal org, just to appear active, so just showing the # of commits in some project, is a bad metric. It would still be nice though, to reward people somehow, for publishing their work.

@podarok The "projects maintained" area is still there, is it not? Unless I understand something different than what you mean. Also - discuss this with wider community Where would there be a more public space for this discussion, rather than the issue queue?

Maybe adding a total contribution count next to the "view all issue credits" (And making a bit more "eye caching") and having the visible history take into account a broader time frame, might alleviate some of the discontent.

Edit: The /issue-credits page could get some love as well, so that it can be used for personal marketing purposes maybe."

hestenet’s picture

StatusFileSize
new59.44 KB
new50.31 KB

Wanted to add a couple of screenshots here to show some follow-up that will happen. This adds the link to the git.drupalcode.org profile where you can see user activity (e.g: https://git.drupalcode.org/drumm)

These aren't an exact replacement for commit counts per-project. But they do provide similar signals about users code-activity.

git.drupalcode.org profile link under user profile picture in sideddbar

And then there are these credit and projects maintained displays which already exist:

Other code activity displayed on profiles

To reiterate what I said in the Slack thread about this issue:

I think there's a lot of good conversation about this, and thank you to those who took the time to summarize this in the issue.
Appreciate also those who linked in our recent sessions and other communications about this.

With the migration to GitLab there are things that we are going to gain and things that we are going to lose. And for some of the things we lose, it's not because they are not valuable (they are!) it's just because we don't have that functionality in GitLab."

But it may be possible to recreate that functionality, or to find equivalents within the GitLab toolset. So for example, if we can explore elements of the GitLab api to see if there's something beyond just the 'Activity' feed that could be used to create commit-counts per-project, we might be able to restore that.

But it's a change of thinking from building it custom, to finding out how to do it with the toolset we're moving to, because we just won't have the capacity to do both.

We'll keep following all your feedback in the issue - and especially if anyone has an interest in exploring the GitLab APIs to see what might be possible, you may be able to help contribute to a solution for us here

dww’s picture

Thanks for all the thoughtful replies here. I definitely see multiple sides of this issue.

I wonder if it'd be possible to restore the existing functionality in the interim. Yes, it'll go away again when we finally cutover to pure Gitlab. But it doesn't *really* hurt to leave it turned on until a few months (?) from now when that actually happens, right? Meanwhile, hopefully "we" 😅 can come up with a solution using (or extending) what Gitlab provides. But we don't have to hide all this useful information now, do we?

irinaz’s picture

@dww, possible solution would be to figure out if there are Gitlab APIs that will provide such data (commit counts) without building custom solution on drupal.org.

dww’s picture

Indeed. I’m saying we could turn the bespoke feature back on until the earlier of these two events:

  1. Someone implements something functionally equivalent on Gitlab
  2. We’re ready to cut over to full Gitlab and have to revert this feature.

I believe we’re still months away from #2, so let’s restore the bespoke thing until we have time to replace it.

Thanks!

podarok’s picture

+1 #20

Thanks @dww

quadrexdev’s picture

+1 #15.

Sounds reasonable to me.

bardiuk’s picture

+1 #15

  • drumm committed aadec0f on 7.x-3.x
    Issue #3253658 by drumm, hestenet: Remove Git-related information from...
drumm’s picture

The “DrupalCode profile” link under the user picture is now deployed. We should have gotten that in before taking away the commit counts.

I wonder if it'd be possible to restore the existing functionality in the interim. Yes, it'll go away again when we finally cutover to pure Gitlab. But it doesn't *really* hurt to leave it turned on until a few months (?) from now when that actually happens, right?

That’s not exactly true. There isn’t a big moment when we “turn on” GitLab, it is a more-gradual migration. We’ve had GitLab storing all our commits for a long time already. This and other issues under #3248795: Reduce Drupal.org coupling to GitLab on git.drupalcode.org are all about removing our local database of Git commit data. This is mostly independent of the other GitLab efforts, where using GitLab for issues is the big goal. Removing uses of the commit data, and the underlying syncing of it, removes maintenance burden for upgrading Drupal.org past Drupal 7, and time spent troubleshooting any sync issues and chasing down “missing” commits, right away. That lets us focus more on the other phases.

dww’s picture

Fair point on on-going maintenance of a dying system. But otherwise, we're still not actually very close to getting d.o past D7, right? So it's not like we're ready to go live with a D9 d.o port and these commit tables and supporting code are the last things stopping us. Precisely since it's mostly independent of everything else we're trying to move to Gitlab, I'd be in favor of leaving the old thing in place (and instead of removing it, maybe imposing a moratorium on supporting it), to give ourselves / our community time to implement a suitable replacement.

chi’s picture

I think the "Projects mainainted" section needs some tweaks.
Currently it may show projects that you've never actually mainainted but have access to. Just because someone gave you permissions to them long time ago. And you know drupal.org does not allow you to "unsubscribe" from such projects.
Also it includes obsolete projects and sandboxes. Can we give users some control over it? Something similar to "Pinned Repositories" functionality in GitHub.

tim.plunkett’s picture

It would be nice to have one chance to screenshot/save the old metrics, if they were put back for a short amount of time.

irinaz’s picture

Transition to Gitlab opens access to different metrics, for example, each project has tab "Contributors" with interesting visualizations for those who want to see https://git.drupalcode.org/project/feeds/-/graphs/8.x-3.x. This visualization shows general trend for a project, data per branch and option to see only selected years, as well as all commits for the history of the project.

Maybe we can work with Gitlab to add similar visualizations to the tab on personal profile https://git.drupalcode.org/users/irinaz/contributed

  • drumm committed 01c08ca on 7.x-3.x
    Issue #3253658: Show all issue credit on user profiles, add summary...
drumm’s picture

Fair point on on-going maintenance of a dying system. But otherwise, we're still not actually very close to getting d.o past D7, right? So it's not like we're ready to go live with a D9 d.o port and these commit tables and supporting code are the last things stopping us.

We are actively working on a significant database server upgrade which is necessary for the upgrade. Git commit metadata includes the Git commit messages, so it is a significant fraction of our DB disk. Once we can remove those tables, it will be an immediate benefit to that upgrade along with daily backups, staging refreshes, and dev site builds.

And you know drupal.org does not allow you to "unsubscribe" from such projects.

GitLab does have this functionality, click “Leave project” on https://git.drupalcode.org/project/…. (In the long run, it made more sense for us to make the 2-way maintainers sync work than attempt to stop GitLab from also wanting to be a canonical list of who maintains what.)

drumm’s picture

User profile pages now show a summary of all issue credit granted. The previous 1-year limit was mostly for when issue credit was new, and we didn’t want to imply it was every issue you had helped out with ever. What you’ve been credited on since issue credit was introduced in mid-2015 is still much better than 1 year.

marvil07’s picture

It would be nice to have one chance to screenshot/save the old metrics, if they were put back for a short amount of time.

@tim.plunkett Just to mention the work-around in this thread, most of the time archive.org can provide a snapshot, but not entirely up-to-date.
E.g. the latest I could find for your profile is from July 2021, https://web.archive.org/web/20210728230213/https://www.drupal.org/u/timp...

drumm’s picture

Assigned: Unassigned » drumm
Status: Needs work » Fixed

I’d like to call this done. We’ve removed one of the dependencies on our database of commit metadata, which will make updating Drupal.org past Drupal 7 easier, and reduces our ongoing maintenance cost.

Drupal.org profile pages now have a “DrupalCode profile” link, and list all projects you help maintain, not just ones you’ve committed to. The link to Commits at the top, and commit counts have been removed. All issue credit is shown instead of only the last year.

We can always improve things in followup issues.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.