Changeset View
Changeset View
Standalone View
Standalone View
src/docs/user/userguide/forms.diviner
@title User Guide: Customizing Forms | @title User Guide: Customizing Forms | ||||
@group userguide | @group userguide | ||||
Guide to prefilling and customizing forms in Phabricator applications. | Guide to prefilling and customizing forms in Phorge applications. | ||||
Overview | Overview | ||||
======== | ======== | ||||
In most applications, objects are created by clicking a "Create" button from | In most applications, objects are created by clicking a "Create" button from | ||||
the main list view, and edited by clicking an "Edit" link from the main detail | the main list view, and edited by clicking an "Edit" link from the main detail | ||||
view. For example, you create a new task by clicking "Create Task", and edit it | view. For example, you create a new task by clicking "Create Task", and edit it | ||||
by clicking "Edit Task". | by clicking "Edit Task". | ||||
▲ Show 20 Lines • Show All 176 Lines • ▼ Show 20 Lines | |||||
========================= | ========================= | ||||
You can control which form or forms are presented to users by default when | You can control which form or forms are presented to users by default when | ||||
they go to create new objects in an application. | they go to create new objects in an application. | ||||
Using {nav Mark as "Create" Form} from the detail page for a form | Using {nav Mark as "Create" Form} from the detail page for a form | ||||
configuration, you can mark a form to appear in the create menu. | configuration, you can mark a form to appear in the create menu. | ||||
When a user visits the application, Phabricator finds all the form | When a user visits the application, Phorge finds all the form | ||||
configurations that are: | configurations that are: | ||||
- marked as "create" forms; and | - marked as "create" forms; and | ||||
- visible to the user based on policy configuration; and | - visible to the user based on policy configuration; and | ||||
- enabled. | - enabled. | ||||
If there is only one such form, Phabricator renders a single "Create" button. | If there is only one such form, Phorge renders a single "Create" button. | ||||
(If there are zero forms, it renders the button but disables it.) | (If there are zero forms, it renders the button but disables it.) | ||||
If there are several such forms, Phabricator renders a dropdown which allows | If there are several such forms, Phorge renders a dropdown which allows | ||||
the user to choose between them. | the user to choose between them. | ||||
You can reorder these forms by returning to the configuration list and using | You can reorder these forms by returning to the configuration list and using | ||||
{nav Reorder Create Forms} in the left menu. | {nav Reorder Create Forms} in the left menu. | ||||
This logic is also used to select items for the global "Quick Create" menu | This logic is also used to select items for the global "Quick Create" menu | ||||
in the main menu bar. | in the main menu bar. | ||||
▲ Show 20 Lines • Show All 225 Lines • ▼ Show 20 Lines | |||||
You should review "Understanding Policies" above before pursuing this. In | You should review "Understanding Policies" above before pursuing this. In | ||||
particular, note that the author may still be able to leak information about | particular, note that the author may still be able to leak information about | ||||
the report like this: | the report like this: | ||||
- if they have access to a full-power edit form, they can edit the task | - if they have access to a full-power edit form, they can edit the task | ||||
//after// creating it and open the policies; or | //after// creating it and open the policies; or | ||||
- regardless of their edit form access, they can use the Conduit API to | - regardless of their edit form access, they can use the Conduit API to | ||||
change the task policy; or | change the task policy; or | ||||
- regardless of any policy controls in Phabricator, they can screenshot, | - regardless of any policy controls in Phorge, they can screenshot, | ||||
print, or forward email about the task to anyone; or | print, or forward email about the task to anyone; or | ||||
- regardless of any technical controls in any software, they can decline to | - regardless of any technical controls in any software, they can decline to | ||||
report the issue to you in the first place and sell it on the black market | report the issue to you in the first place and sell it on the black market | ||||
instead. | instead. | ||||
This goals of this workflow are to: | This goals of this workflow are to: | ||||
- prevent other users from observing security issues improperly through | - prevent other users from observing security issues improperly through | ||||
Show All 10 Lines | |||||
Use Case: Upstream | Use Case: Upstream | ||||
================== | ================== | ||||
This section describes the upstream configuration circa December 2015. The | This section describes the upstream configuration circa December 2015. The | ||||
current configuration may not be exactly the same as the one described below. | current configuration may not be exactly the same as the one described below. | ||||
We run an open source project with a small core team, a moderate number | We run an open source project with a small core team, a moderate number | ||||
of regular contributors, and a large public userbase. Access to the upstream | of regular contributors, and a large public userbase. Access to the upstream | ||||
Phabricator instance is open to the public. | Phorge instance is open to the public. | ||||
Although our product is fairly technical, we receive many bug reports and | Although our product is fairly technical, we receive many bug reports and | ||||
feature requests which are of very poor quality. Some users also ignore all the | feature requests which are of very poor quality. Some users also ignore all the | ||||
documentation and warnings and use the upstream instance as a demo/test | documentation and warnings and use the upstream instance as a demo/test | ||||
instance to click as many buttons as they can. | instance to click as many buttons as they can. | ||||
The goals of our configuration are: | The goals of our configuration are: | ||||
Show All 31 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0