Integrate CustomField into more interfaces
Open, NormalPublic

Tags
Tokens
"Like" token, awarded by bobek."Doubloon" token, awarded by milsorm."Like" token, awarded by danschultz."Like" token, awarded by mariush.minkov.
Assigned To
Authored By
epriestley, Aug 8 2011

Description

Some obvious ones:

  • Allow fields to be exposed to the search engine, so if you add a string field you can optionally index and find tasks by searching for that string.
  • Allow fields to be exposed to the list view, so if you add a field it can appear in the primary lists.

These are pretty straightforward. Sooner or later we're going to have to figure out what to do about aggregations, dashboard integrations, etc., but we can cross that bridge when we come to it.

Details

Differential Revisions
D17004: Support Custom Fields in List View
Restricted Differential Revision
Commits
D8695 / rPe3b5737d02fb: Support CustomField in Herald, mostly
D8657 / rPcf6f7446ce3f: Restore "Branch" and "changes since last update" fields to Differential mail
D8346 / rPcd080b092e20: Use ApplicationTransactions/CustomField to power Differential global search
D8291 / rPc5ba75ee9ed2: Implement a "Reviewers" CustomField
D8287 / rPf91e94eb90f9: Implement view and edit policies in Differential CustomFields
D8286 / rP01572d9d933b: Implement "Repository" as a new-style CustomField in Differential
D8284 / rP88227d26bc13: Allow CustomField to provide ApplicationTransaction change details
D8185 / rPfb9b023fbaaf: Rebuild custom field indexes when rebuilding standard/fulltext search indexes
Restricted Differential Revision / rPc5b80985df52: Allow standard fields to be required
Restricted Differential Revision / rP3f24232d2b8d: Allow custom fields to have validation logic
Restricted Differential Revision / rPd3de57716a4f: Add a "Header" standard custom field
Restricted Differential Revision / rPed126cd47ed0: Provide ApplicationSearch hooks in Maniphest
Restricted Differential Revision / rPdd4537edef55: Route Maniphest editing and transactions primarily through shared code
Restricted Differential Revision / rPbd40e7440053: Migrate auxiliary field storage to common field storage
Restricted Differential Revision / rP7034ac3a5a4b: Route Maniphest detail view through common custom field code
Restricted Differential Revision / rP28eaacb491a1: Remove ManiphestTaskExtensions
Restricted Differential Revision / rPb0e145f2fe00: Provide generalized custom field storage and custom field indexes in Maniphest
Restricted Differential Revision / rPc8574cf6fd74: Integrate ApplicationSearch with CustomField
Restricted Differential Revision / rPb558e1b4a4eb: Remove ManiphestTaskListController
Restricted Differential Revision / rP5651141520cc: Make Maniphest custom fields extend PhabricatorCustomField

Related Objects

There are a very large number of changes, so older changes are hidden. Show Older Changes

The last real holdout here is list interfaces (T655 covers Herald, and that kind of works already anyway).

Tentatively, my plan is to add these keys:

  • list: string, "icon"|"attribute"|"byline", controls rendering location on lists.
  • list.icon: string, icon to use if "icon" rendering is selected.
  • list.label: string, optional label for the field on lists.
  • card: Maniphest only. string, "attribute"|"byline", controls rendering location on cards.
  • card.label: Maniphest only. string, optional label for the field on cards.

I'm worried there will be a lot of fields where all options end up ugly, but we can see how far this gets us, and users who want support for this may be less sensitive to the design of the elements than we are.

epriestley edited this Maniphest Task.Apr 22 2014, 5:09 PM
qgil added a subscriber: qgil.Apr 28 2014, 3:50 PM
chad added a subscriber: swisspol.May 10 2014, 5:13 AM

◀ Merged tasks: T5017.

chad added a comment.May 10 2014, 5:15 AM

◀ Merged tasks: T5014.

chad added a subscriber: chad.May 10 2014, 5:16 AM

Not sure I understand the difference between T5017 and T5014, but I'm going to assume this task covers them both. Feel free to expand on your needs if they're not covered here.

Like custom fields already have an option to be searchable or not, they should have an option to be "displayable" (off by default) to indicate they appear in the UI where the object is displayed e.g. search results boxes, link popup boxes, workboard boxes, etc...

◀ Merged tasks: T5120.

chad edited this Maniphest Task.Jun 14 2014, 1:54 AM
chad edited this Maniphest Task.
chad edited this Maniphest Task.

◀ Merged tasks: T5444.

turadg added a subscriber: turadg.Jul 8 2014, 7:07 PM
pepejm added a subscriber: pepejm.Jul 30 2014, 10:27 AM

◀ Merged tasks: T5970.

ipalaus removed a subscriber: ipalaus.Oct 2 2014, 1:02 PM
aik099 added a subscriber: aik099.Nov 7 2014, 11:27 AM

The only place where custom fields aren't integrated now is Diffusion. While looking into ways how this can be done I've discovered, that both Branches and Tags custom fields aren't really used/stored at all, because branch/tag of each commit is retrieved directly from repository via ajax call when that commit is viewed.

milsorm added a subscriber: milsorm.

Should the custom fields are showed in the list view like

In T418#122175, @agen wrote:

Should the custom fields are showed in the list view like

I found the shouldAppearInListView and renderOnListItem in ManiphestCustomField , but I don't know how to use them.

bobek awarded a token.Jul 10 2015, 5:49 AM
bobek added a subscriber: bobek.
eadler added a subscriber: eadler.Jul 15 2015, 3:00 AM
isfs added a subscriber: isfs.Aug 28 2015, 2:39 AM
jhurwitz added a project: Restricted Project.Aug 29 2015, 12:28 AM

This isn't blocked on anything but not adjacent to other planned work in the near future. It likely makes sense as part of a "Projects v3" with T3670. I'll see what else is in queue and tentatively organize anything projects-related if there's some more of it.

aik099 removed a subscriber: aik099.Sep 10 2015, 6:14 AM

What version of pfabricator does the following "shouldAppearInListView and renderOnListItem" parameter is available in ManiphestCustomField ?

chad added a comment.Feb 4 2016, 8:31 PM

What version of pfabricator does the following "shouldAppearInListView and renderOnListItem" parameter is available in ManiphestCustomField ?

Not sure what the context is for this question. This task is open because the feature is not complete.

In T418#157090, @chad wrote:

What version of pfabricator does the following "shouldAppearInListView and renderOnListItem" parameter is available in ManiphestCustomField ?

Not sure what the context is for this question. This task is open because the feature is not complete.

Ah hah got it. Thought there is a unstable version that I can try out, since it was listed here:
https://secure.phabricator.com/book/phabdev/class/PhabricatorCustomField/

I will wait. Thanks!

eadler added a project: Restricted Project.Apr 7 2016, 6:04 PM
eadler moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
avivey added a project: Restricted Project.
avivey added a subscriber: avivey.
qgil removed a subscriber: qgil.May 30 2016, 11:21 AM
kfa added a subscriber: kfa.Jun 7 2016, 8:28 PM
avivey moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Jul 12 2016, 9:55 PM