Page MenuHomePhabricator
Diviner Phabricator Tech Docs PhabricatorApplication

abstract class PhabricatorApplication
Phabricator Technical Documentation (Application Basics)

This class is not documented.

Tasks

Application Information

No methods for this task.

UI Integration

  • public function loadStatus($user) — Render status elements (like "3 Waiting Reviews") for application list views. These provide a way to alert users to new or pending action items in applications.
  • public function getFlavorText() — You can provide an optional piece of flavor text for the application. This is currently rendered in application launch views if the application has no status elements.
  • public function buildMainMenuItems($user, $controller) — Build items for the main menu.
  • public function buildMainMenuExtraNodes($viewer, $controller) — Build extra items for the main menu. Generally, this is used to render static dropdowns.

URI Routing

No methods for this task.

Email integration

No methods for this task.

Fact Integration

No methods for this task.

Application Management

  • final public static function isClassInstalled($class) — Determine if an application is installed, by application class name.
  • final public static function isClassInstalledForViewer($class, $viewer) — Determine if an application is installed and available to a viewer, by application class name.

Other Methods

Methods

final public static function getApplicationGroups()

This method is not documented.
Return
wild

abstract public function getName()

This method is not documented.
Return
wild

public function getShortDescription()

This method is not documented.
Return
wild

final public function isInstalled()

This method is not documented.
Return
wild

public function isPrototype()

This method is not documented.
Return
wild

public function isUnlisted()

Return true if this application should never appear in application lists in the UI. Primarily intended for unit test applications or other pseudo-applications.

Few applications should be unlisted. For most applications, use isLaunchable() to hide them from main launch views instead.

Return
boolTrue to remove application from UI lists.

public function isLaunchable()

Return true if this application is a normal application with a base URI and a web interface.

Launchable applications can be pinned to the home page, and show up in the "Launcher" view of the Applications application. Making an application unlauncahble prevents pinning and hides it from this view.

Usually, an application should be marked unlaunchable if:

  • it is available on every page anyway (like search); or
  • it does not have a web interface (like subscriptions); or
  • it is still pre-release and being intentionally buried.

To hide applications more completely, use isUnlisted().

Return
boolTrue if the application is launchable.

public function isPinnedByDefault($viewer)

Return true if this application should be pinned by default.

Users who have not yet set preferences see a default list of applications.

Parameters
PhabricatorUser$viewerUser viewing the pinned application list.
Return
boolTrue if this application should be pinned by default.

final public function isFirstParty()

Returns true if an application is first-party (developed by Phacility) and false otherwise.

Return
boolTrue if this application is developed by Phacility.

public function canUninstall()

This method is not documented.
Return
wild

final public function getPHID()

This method is not documented.
Return
wild

public function getTypeaheadURI()

This method is not documented.
Return
wild

public function getBaseURI()

This method is not documented.
Return
wild

final public function getApplicationURI($path)

This method is not documented.
Parameters
$path
Return
wild

public function getIconURI()

This method is not documented.
Return
wild

public function getIcon()

This method is not documented.
Return
wild

public function getApplicationOrder()

This method is not documented.
Return
wild

public function getApplicationGroup()

This method is not documented.
Return
wild

public function getTitleGlyph()

This method is not documented.
Return
wild

final public function getHelpMenuItems($viewer)

This method is not documented.
Parameters
PhabricatorUser$viewer
Return
wild

public function getHelpDocumentationArticles($viewer)

This method is not documented.
Parameters
PhabricatorUser$viewer
Return
wild

public function getOverview()

This method is not documented.
Return
wild

public function getEventListeners()

This method is not documented.
Return
wild

public function getRemarkupRules()

This method is not documented.
Return
wild
This method is not documented.
Return
wild

public function getMailCommandObjects()

This method is not documented.
Return
wild

public function getRoutes()

This method is not documented.
Return
wild

public function getResourceRoutes()

This method is not documented.
Return
wild

public function supportsEmailIntegration()

This method is not documented.
Return
wild

final protected function getInboundEmailSupportLink()

This method is not documented.
Return
wild

public function getAppEmailBlurb()

This method is not documented.
Return
wild

public function getFactObjectsForAnalysis()

This method is not documented.
Return
wild

public function loadStatus($user)

Render status elements (like "3 Waiting Reviews") for application list views. These provide a way to alert users to new or pending action items in applications.

Parameters
PhabricatorUser$userViewing user.
Return
list<PhabricatorApplicationStatusView>Application status elements.

public function getFlavorText()

You can provide an optional piece of flavor text for the application. This is currently rendered in application launch views if the application has no status elements.

Return
string|nullFlavor text.

public function buildMainMenuItems($user, $controller)

Build items for the main menu.

Parameters
PhabricatorUser$userThe viewing user.
AphrontController$controllerThe current controller. May be null for special pages like 404, exception handlers, etc.
Return
list<PHUIListItemView>List of menu items.

public function buildMainMenuExtraNodes($viewer, $controller)

Build extra items for the main menu. Generally, this is used to render static dropdowns.

Parameters
PhabricatorUser$viewerThe viewing user.
AphrontController$controllerThe current controller. May be null for special pages like 404, exception handlers, etc.
Return
viewList of menu items.

public function getQuickCreateItems($viewer)

Build items for the "quick create" menu.

Parameters
PhabricatorUser$viewerThe viewing user.
Return
list<PHUIListItemView>List of menu items.

final public static function getByClass($class_name)

This method is not documented.
Parameters
$class_name
Return
wild

final public static function getAllApplications()

This method is not documented.
Return
wild

final public static function getAllInstalledApplications()

This method is not documented.
Return
wild

final public static function isClassInstalled($class)

Determine if an application is installed, by application class name.

To check if an application is installed and available to a particular viewer, user isClassInstalledForViewer().

Parameters
string$classApplication class name.
Return
boolTrue if the class is installed.

final public static function isClassInstalledForViewer($class, $viewer)

Determine if an application is installed and available to a viewer, by application class name.

To check if an application is installed at all, use isClassInstalled().

Parameters
string$classApplication class name.
PhabricatorUser$viewerViewing user.
Return
boolTrue if the class is installed for the viewer.

public function getCapabilities()

This method is not documented.
Return
wild

public function getPolicy($capability)

This method is not documented.
Parameters
$capability
Return
wild

public function hasAutomaticCapability($capability, $viewer)

This method is not documented.
Parameters
$capability
PhabricatorUser$viewer
Return
wild

public function describeAutomaticCapability($capability)

This method is not documented.
Parameters
$capability
Return
wild

protected function getCustomCapabilities()

This method is not documented.
Return
wild

final private function getCustomPolicySetting($capability)

This method is not documented.
Parameters
$capability
Return
wild

final private function getCustomCapabilitySpecification($capability)

This method is not documented.
Parameters
$capability
Return
wild

final public function getCapabilityLabel($capability)

This method is not documented.
Parameters
$capability
Return
wild

final public function isCapabilityEditable($capability)

This method is not documented.
Parameters
$capability
Return
wild

final public function getCapabilityCaption($capability)

This method is not documented.
Parameters
$capability
Return
wild

final public function getCapabilityTemplatePHIDType($capability)

This method is not documented.
Parameters
$capability
Return
wild

final public function getDefaultObjectTypePolicyMap()

This method is not documented.
Return
wild
This method is not documented.
Return
wild

protected function getEditRoutePattern($base)

This method is not documented.
Parameters
$base
Return
wild

protected function getQueryRoutePattern($base)

This method is not documented.
Parameters
$base
Return
wild

protected function getPanelRouting($controller)

This method is not documented.
Parameters
$controller
Return
wild