Page MenuHomePhabricator

Crosslink object if mentioned somewhere
Closed, ResolvedPublic

Description

seems fabricator user often uses the special syntax to reference objects like T603 or users line @hwinkel. the markup renders the links already quite good.

It would be great to have this links bidirectional, if somebody mention a user the user could have a notification, if somebody have mentioned a Object like Task T603 or Revision this could me added as a kind of comment or reference in the corresponding object.

This way even links in text would be liked and not only explicit dependencies ?!?

{F166117,size=full}

Event Timeline

hwinkel created this task.Oct 30 2013, 9:07 PM
hwinkel raised the priority of this task from to Needs Triage.
hwinkel updated the task description. (Show Details)
hwinkel added a subscriber: hwinkel.
hwinkel updated the task description. (Show Details)Dec 4 2013, 5:37 AM
hwinkel added a subscriber: hsychla.
epriestley triaged this task as Normal priority.Jan 25 2014, 10:27 PM
epriestley added a subscriber: epriestley.

This interacts with all the ref/closes/fixes stuff -- generally, I want to add an object-mention edge. We need this for some other stuff too.

carl added a subscriber: carl.Mar 13 2014, 11:44 PM

I'm planning to implement this relatively soon, as the ref/closes/fixes stuff is mostly done. There are basically two open questions:

  • What does this look like when you look at a mentioned object? If we just dump the mention into the transaction record, it will tend to make things noisier, and I feel like we're leaning heavy on the amount of fluff in transaction records right now. Just dumping it in is easiest by far, though, and maybe it'll be fine.
  • From a technical perspective, the way edge editing works is weird and backwards, and predates TransactionEditors. It would be good for this to at least move us toward a workable implementation for the other edge relationships (Fixes/Closes, Depends On, etc). I need to think about this a bit and come up with something which gives us a pathway forward.

@carl and I talked about activating it for commits to tracked-but-not-autoclose branches in particular, which seems reasonable to me.

◀ Merged tasks: T5360.

qgil added a subscriber: qgil.Jun 13 2014, 5:07 PM
chad updated the task description. (Show Details)Jun 13 2014, 5:15 PM
chad renamed this task from crosslink object if mentioned somewhere to Crosslink object if mentioned somewhere.Jun 13 2014, 5:20 PM
chad added a project: Transactions.
qgil added a comment.Jun 13 2014, 5:52 PM

What about

$someone mentioned this $currentobject in $objectwithmention

e.g.

chad mentioned this task in {T5074: Add `setDisabled(true)` to PHUIPinboardItemView}

hwinkel added a subscriber: thz.Jul 1 2014, 7:35 PM
  • In ApplicationTransactionEditor, we currently extract all mentioned objects from transactions (in expandRemarkupBlockTransactions()) and then filter out everything that's not a project.
  • Add some new code to load all the mentioned objects and check which ones implement a new PhabricatorMentionableInterface.
  • Write a new edge type (e.g., OBJECT_MENTIONS_OBJECT / OBJECT_MENTIONED_BY_OBJECT) against all these objects.
  • Let's hide this story in the mentioning object and not generate feed stories, email, or notifications for it for now? So the mentioned object just gets a epriestley mentioned this in D123: blah blah transaction with no fanfare.
  • Implement MentionableInterface on some objects, but not Users, Projects, or Files (since these already have other behaviors).
  • It would also be nice to not write this edge if we're writing a Ref/Fixes edge. That is, for comment text Fixes T123, it would be nice to interpret that as not being a mention. You might have to add some getPHIDsWhichShallNotBeMentioned($xaction) to support that.

Kind of a silly question but where should MentionableInterface live? I was thinking about making a new application mentions, except there's nothing in there except the interface folder.

This is a good idea I think if we figure we'll ever have a "mentions" application - which is presumably just stats about what was mentioned, maybe a mention feed, and generally not that much utility. So I am not sure if we'll have a Mentions application. :/

The best alternative I can think of is in the "transactions" application.

Transactions application sounds good to me. I doubt we'll ever have a mentions app, although who knows.

chad awarded a token.Sep 9 2014, 9:17 PM
In T4036#27, @btrahan wrote:

Closed by commit rPc75495e63fa0.

Doesn't work with php 5.3.3 on centos 6. Fix with php upgrade (from webtatic repo)