Page MenuHomePhabricator

Explore displaying additional info in comment field for open Outreach related tasks
Closed, ResolvedPublicFeature

Description

This first requires deploying upstream T354769: Display warning about commenting on a task already closed as duplicate.

It seems hard for new community members to understand which topics to bring up as a comment in a task and when in Zulip etc, so I'd like to experiment with displaying some placeholder text in the comment field (as you may not always spot or read a red box on top of a task description anyway - which might be forgotten to be added anywayanyway).

Maniphest task comment field placeholder text proposal:

This Phabricator task is part of an Outreach program. As an applicant, first fully read https://www.mediawiki.org/wiki/Outreachy/Participants and https://www.mediawiki.org/wiki/New_Developers/Communication_tips. Use the Zulip Chatstream to introduce yourself and connect with fellow participants. Use Zulip to ask general questions how to get started, setting up Gerrit, program rules, etc. Phabricator is only for project-related discussions; it is not for general support or chatting. Thanks.

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
Show info for new contributors in task comment fieldrepos/phabricator/phabricator!98aklapperaklapper-wmf/comment-placeholderswmf/stable
Display additional info in comment field for open Outreach tasksrepos/phabricator/phabricator!97aklapperaklapper-wmf/T367500-outreach-comment-placeholderwmf/stable
Customize query in GitLab

Event Timeline

Aklapper changed the task status from Open to Stalled.
Aklapper claimed this task.
Aklapper triaged this task as Low priority.

This piggybackrides on the code needed to implement T354769: Display warning about commenting on a task already closed as duplicate in upstream, thus setting status to stalled for the time being.

This comment was removed by Aklapper.

Heads-up to @Maryann-Onyinye when it comes to drafting the placeholder plaintext to display by default in the task comment field in Phabricator for open Outreach program tasks (and whether this idea makes sense at all)

Example repeatedly posted last time: https://phabricator.wikimedia.org/T357409#9599197 and the red box at the top of the task description.

@Aklapper this certainly sounds interesting, but I'm not sure how it would be activated. Automatically if we use a certain tag such as 'outreachy'? I'm concerned that it might show up too often and confuse folks that are just posting their weekly updates and such.

Uh, very good point, thanks! Could also take age of Phab account into account here - only display if less than two weeks old or such.

@Aklapper maybe a tag such as "outreachy info" can be used? I'd imagine that tag would only be used for the start of the program cycle (in one or two phab tasks only) and would point folks to the Zulip chat instance to get more info.

I would not want to introduce more tags, the existing ones are already inconsistently used...

Aklapper changed the task status from Stalled to Open.Jul 15 2025, 4:24 PM
Aklapper removed a subscriber: debt.

Placeholder text in comment field of open tasks tagged with Outreachy (Round 31):

Screenshot From 2025-08-29 21-42-54.png (442×1 px, 61 KB)

In T367500#9982256, debt wrote:

I'm concerned that it might show up too often and confuse folks that are just posting their weekly updates and such.

That is still a valid concern as project tasks and proposals have the same project tag. Not sure if it's possible (and how expensive) to show this only for tasks in the column "Project Proposals" (PHID-PCOL-p77lrgr3mturf3zqf64f) on https://phabricator.wikimedia.org/project/view/8143/

Oh my, it's even cheaper (better) to base this query on column PHID than on project tags

For the records (I'm not going to use this code, not performant enough), this would be querying for the subprojects instead of hardcoding project columns:

// Get the active subprojects of Outreachy and GSoC parent projects
$outreach_parent_projects = array('PHID-PROJ-rmphcfxf3ptf6ycqb4ig',
  'PHID-PROJ-xog5wkpbqzbz7bcuazpg');
$outreach_subprojects = id(new PhabricatorProjectQuery())
  ->setViewer($viewer)
  ->withAncestorProjectPHIDs($outreach_parent_projects)
  ->withStatuses(array(PhabricatorProjectStatus::STATUS_ACTIVE))
  ->execute();
if (!$outreach_subprojects) {
  return '';
}
$outreach_phids = array();
foreach ($outreach_subprojects as $osp) {
  $outreach_phids[$osp->getPHID()] = 'foo';
}

Also note that array_intersect_key() is faster than array_intersect()

Please note that the columnPHID is hardcoded (to make the query less expensive); this code will need updating every half a year.