@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Write documentation for profile menus

Summary: Ref T10054. This is all pretty straightforward. Also include some project-specific examples in the project documentation.

Test Plan: Read documentation.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10054

Differential Revision: https://secure.phabricator.com/D15090

+191 -14
-12
src/applications/project/engine/PhabricatorProjectProfilePanelEngine.php
··· 20 20 ->setBuiltinKey(PhabricatorProject::PANEL_WORKBOARD) 21 21 ->setPanelKey(PhabricatorProjectWorkboardProfilePanel::PANELKEY); 22 22 23 - // TODO: This is temporary. 24 - $uri = urisprintf( 25 - '/maniphest/?statuses=open()&projects=%s#R', 26 - $object->getPHID()); 27 - 28 - $panels[] = $this->newPanel() 29 - ->setBuiltinKey('tasks') 30 - ->setPanelKey(PhabricatorLinkProfilePanel::PANELKEY) 31 - ->setPanelProperty('icon', 'maniphest') 32 - ->setPanelProperty('name', pht('Open Tasks')) 33 - ->setPanelProperty('uri', $uri); 34 - 35 23 $panels[] = $this->newPanel() 36 24 ->setBuiltinKey(PhabricatorProject::PANEL_MEMBERS) 37 25 ->setPanelKey(PhabricatorProjectMembersProfilePanel::PANELKEY);
+6 -2
src/applications/search/engine/PhabricatorProfilePanelEngine.php
··· 630 630 631 631 if ($panel->isDisabled()) { 632 632 $hide_icon = 'fa-plus'; 633 - $hide_text = pht('Show'); 633 + $hide_text = pht('Enable'); 634 634 } else if ($panel->getBuiltinKey() !== null) { 635 635 $hide_icon = 'fa-times'; 636 636 $hide_text = pht('Disable'); ··· 683 683 ->setLabel(true) 684 684 ->setName(pht('Documentation'))); 685 685 686 + $doc_link = PhabricatorEnv::getDoclink('Profile Menu User Guide'); 687 + $doc_name = pht('Profile Menu User Guide'); 688 + 686 689 $action_view->addAction( 687 690 id(new PhabricatorActionView()) 688 691 ->setIcon('fa-book') 689 - ->setName(pht('TODO: Write Documentation'))); 692 + ->setHref($doc_link) 693 + ->setName($doc_name)); 690 694 691 695 $action_button = id(new PHUIButtonView()) 692 696 ->setTag('a')
+143
src/docs/user/userguide/profile_menu.diviner
··· 1 + @title Profile Menu User Guide 2 + @group userguide 3 + 4 + Master profile menus for projects and other objects. 5 + 6 + Overview 7 + ======== 8 + 9 + Some objects, like projects, have customizable menus called "profile menus". 10 + This guide discusses how to add, remove, reorder, configure and extend these 11 + menus. 12 + 13 + 14 + Supported Applications 15 + ====================== 16 + 17 + These applications currently support profile menus: 18 + 19 + | Application | Support | 20 + |-----|-----| 21 + | Projects | Full | 22 + | People | //Read-Only// | 23 + 24 + 25 + Collapsing and Expanding 26 + ======================== 27 + 28 + To collapse a full-width profile menu, click 29 + {nav icon="angle-left", name="Collapse"}. To expand a narrow menu, click 30 + {nav icon="angle-right", name="Expand"}. 31 + 32 + If you're logged in, this setting is sticky, and all menus will respect your 33 + preference. 34 + 35 + 36 + Editing Menus 37 + ============= 38 + 39 + You can only edit an object's menu if you can edit the object. For example, you 40 + must have permission to edit a project in order to reconfigure the menu for the 41 + project. 42 + 43 + To edit a menu, click {nav icon="pencil", name="Edit Menu"}. This brings you to 44 + the menu configuration interface which allows you to add and remove items, 45 + reorder the menu, edit existing items, and choose a default item. 46 + 47 + Menus are comprised of a list of items. Some of the items are builtin 48 + (for example, projects have builtin "Profile", "Workboard" and "Members" 49 + items). You can also add custom items. Builtin and custom items mostly 50 + behave in similar ways, but there are a few exceptions (for example, you can 51 + not completely delete builtin items). 52 + 53 + 54 + Adding Items 55 + ============ 56 + 57 + To add new items to a menu, use {nav icon="cog", name="Configure Menu"} and 58 + choose a type of item to add. See below for more details on available items. 59 + 60 + You can also find a link to this documentation in the same menu, if you want 61 + to reference it later. 62 + 63 + 64 + Reordering Items 65 + ================ 66 + 67 + To reorder items, drag and drop them to the desired position. Your changes 68 + will be reflected in the item ordering in the menu. 69 + 70 + 71 + Setting a Default 72 + ================= 73 + 74 + The default item controls what content is shown when a user browses to the 75 + object's main page. For example, the default item for a project controls where 76 + the user ends up when they click a link to the project from another 77 + application. 78 + 79 + To choose a default item, click {nav icon="thumb-tack", name="Make Default"}. 80 + Not all kinds of items can be set as the default item. For example, you can not 81 + set a separator line as a default because the item can't be selected and has no 82 + content. 83 + 84 + If no default is explicitly selected, or a default is deleted or disabled, the 85 + first item which is eligible to be a default is used as the default item. 86 + 87 + 88 + Removing Items 89 + ============== 90 + 91 + To remove items, click the {nav icon="times", name="Delete"} action. 92 + 93 + Builtin items can not be deleted and have a 94 + {nav icon="times", name="Disable"} action instead, which will hide them but 95 + not delete them. You an re-enable a disabled item with the 96 + {nav icon="plus', name="Enable"} action. 97 + 98 + Removing or hiding an item does not disable the underlying functionality. 99 + For example, if you hide the "Members" item for a project, that just removes 100 + it from the menu. The project still has members, and users can still navigate 101 + to the members page by following a link to it from elsewhere in the application 102 + or entering the URI manually. 103 + 104 + 105 + Editing Items 106 + ============= 107 + 108 + To edit an item, click the name of the item. This will show you available 109 + configuration for the item and allow you to edit it. 110 + 111 + Which properties are editable depends on what sort of item you are editing. 112 + Most items can be renamed, and some items have more settings available. For 113 + example, when editing a link, you can choose the link target and select an 114 + icon for the item. 115 + 116 + A few items have no configuration. For example, visual separator lines are 117 + purely cosmetic and have no available settings. 118 + 119 + 120 + Available Items 121 + =============== 122 + 123 + When you add items, you can choose between different types of items to add. 124 + Which item types are available depends on what sort of object you are editing 125 + the menu for, but most objects support these items: 126 + 127 + - {icon link} **Link**: Allows you to create an item which links to 128 + somewhere else in Phabricator, or to an external site. 129 + - {icon minus} **Divider**: Adds a visual separator to the menu. This is 130 + purely cosmetic. 131 + - {icon coffee} **Motivator**: Motivate your employees with inspirational 132 + quotes. A new quote every day! 133 + 134 + To learn more about how an item works, try adding it. You can always delete 135 + it later if it doesn't do what you wanted. 136 + 137 + 138 + Writing New Item Types 139 + ====================== 140 + 141 + IMPORTANT: This feature is not stable, and the API is subject to change. 142 + 143 + To add new types of items, subclass @{class:PhabricatorProfilePanel}.
+42
src/docs/user/userguide/projects.diviner
··· 51 51 52 52 If you'd like to receive edit notifications for a project, you can write a 53 53 Herald rule to keep you in the loop. 54 + 55 + 56 + Customizing Menus 57 + ================= 58 + 59 + Projects support profile menus, which are customizable. For full details on 60 + managing and customizing profile menus, see @{article:Profile Menu User Guide}. 61 + 62 + Here are some examples of common ways to customize project profile menus that 63 + may be useful: 64 + 65 + **Link to Tasks or Repositories**: You can add a menu item for "Open Tasks" or 66 + "Active Repositories" for a project by running the search in the appropriate 67 + application, then adding a link to the search results to the menu. 68 + 69 + This can let you quickly jump from a project screen to related tasks, 70 + revisions, repositories, or other objects. 71 + 72 + For more details on how to use search and manage queries, see 73 + @{article:Search User Guide}. 74 + 75 + **New Task Button**: To let users easily make a new task that is tagged with 76 + the current project, add a link to the "New Task" form with the project 77 + prefilled, or to a custom form with appropriate defaults. 78 + 79 + For information on customizing and prefilling forms, see 80 + @{article:User Guide: Customizing Forms}. 81 + 82 + **Link to Wiki Pages**: You can add links to relevant wiki pages or other 83 + documentation to the menu to make it easy to find and access. You could also 84 + link to a Conpherence if you have a chatroom for a project. 85 + 86 + **Link to External Resources**: You can link to external resources outside 87 + of Phabricator if you have other pages which are relevant to a project. 88 + 89 + **Set Workboard as Default**: For projects that are mostly used to organize 90 + tasks, change the default item to the workboard instead of the profile to get 91 + to the workboard view more easily. 92 + 93 + **Hide Unused Items**: If you have a project which you don't expect to have 94 + members or won't have a workboard, you can hide these items to streamline the 95 + menu.