Introduction
- Give Feedback! Get Support! — How to give us feedback, report bugs, and request features, and get support for problems with Phabricator.
- Installation Guide — This document contains basic install instructions to get Phabricator up and running.
- Introduction — This document provides a high-level overview of the Phabricator project.
Phabricator Developer Guides
Flavor Text
- About Flavor Text — Explains what's going on here.
- Javascript Object and Array — This document describes the behaviors of Object and Array in Javascript, and a specific approach to their use which produces basically reasonable language behavior.
- Javascript Pitfalls — This document discusses pitfalls and flaws in the Javascript language, and how to avoid, work around, or at least understand them.
- PHP Pitfalls — This document discusses difficult traps and pitfalls in PHP, and how to avoid, work around, or at least understand them.
- Phabricator Project History — A riveting tale of adventure.
- Please Please Please — Please read this document.
- Recommendations on Branching — Project recommendations on how to organize branches.
- Recommendations on Revision Control — Project recommendations on how to organize revision control.
- Things You Should Do Now — Describes things you should do now when building software, because the cost to do them increases over time and eventually becomes prohibitive or impossible.
- Things You Should Do Soon — Describes things you should start thinking about soon, because scaling will be easier if you put a plan in place.
- Things You Should Do Soon: Static Resources — Over time, you'll write more JS and CSS and eventually need to put systems in place to manage it.
- Writing Reviewable Code — Project recommendations on how to structure changes.
Differential (Code Review)
Diffusion (Repository Browser)
Maniphest (Task Tracking)
Conduit (Phabricator HTTP API)
Celerity (CSS/JS Management)
DarkConsole (Debugging Console)
Storage
Classes
- LiskDAO — Simple object-authoritative data access object that makes it easy to build stuff that you need to save to a database.
Daemons, Tasks and Workers
files
Classes
- PhabricatorFileStorageConfigurationException — Thrown by storage engines to indicate an configuration error which should abort the storage attempt, as opposed to a transient storage error which should be retried on other engines.
Free Radicals
Classes
- AphrontException
- AphrontView
- AuditPeopleMenuEventListener
- CelerityResourceGraph
- CeleritySpriteGenerator
- ConduitAPI_file_Method
- ConduitAPI_owners_Method
- ConduitAPI_releeph_Method
- ConduitAPI_remarkup_process_Method
- ConduitAPI_token_Method
- ConduitCall — Run a conduit method in-process, without requiring HTTP requests.
- ConpherenceHovercardEventListener — This event listener is tasked with probably one of the most important missions in this world: Adding a Conpherence button to a hovercard.
- ConpherenceImageData
- ConpherenceParticipationStatus
- ConpherencePeopleMenuEventListener
- ConpherenceSettings
- ConpherenceUpdateActions
- DefaultDatabaseConfigurationProvider
- DifferentialAction
- DifferentialChangeType
- DifferentialChangesetFileTreeSideNavBuilder
- DifferentialChangesetParser
- DifferentialChangesetRenderer
- DifferentialDiffTestCase
- DifferentialException
- DifferentialFieldDataNotAvailableException
- DifferentialFieldParseException
- DifferentialFieldSelector
- DifferentialFieldSpecification — Describes and implements the behavior for a custom field on Differential revisions.
- DifferentialFieldSpecificationIncompleteException
- DifferentialFieldValidationException
- DifferentialHovercardEventListener
- DifferentialHunkParser
- DifferentialHunkTestCase
- DifferentialLintStatus
- DifferentialMailPhase
- DifferentialPeopleMenuEventListener
- DifferentialReviewerStats
- DifferentialRevisionControlSystem
- DifferentialRevisionDetailRenderer
- DifferentialRevisionListData
- DifferentialRevisionQuery — Flexible query API for Differential revisions.
- DifferentialRevisionStatus — NOTE: you probably want {@class:ArcanistDifferentialRevisionStatus}.
- DifferentialTasksAttacher
- DifferentialUnitStatus
- DifferentialUnitTestResult
- DiffusionBranchInformation
- DiffusionBrowseResultSet
- DiffusionExpandCommitQueryException
- DiffusionFileContent
- DiffusionGitBranch
- DiffusionHovercardEventListener
- DiffusionLintSaveRunner
- DiffusionPathChange
- DiffusionPathChangeQuery
- DiffusionPathIDQuery
- DiffusionPathQuery
- DiffusionPeopleMenuEventListener
- DiffusionRemarkupRule
- DiffusionRenameHistoryQuery
- DiffusionRepositoryPath
- DiffusionRepositoryTag
- DiffusionURITestCase
- DivinerAtom
- DivinerAtomRef
- DivinerAtomizer — Generate DivinerAtoms from source code.
- DivinerDiskCache
- DivinerPublisher
- DivinerRemarkupRuleSymbol
- DivinerRenderer
- DivinerWorkflow
- DrydockAllocatorWorker
- DrydockBlueprint
- DrydockBlueprintScopeGuard
- DrydockConstants
- DrydockInterface
- DrydockManagementWorkflow
- FeedPublisherWorker
- HarbormasterRunnerWorker
- HeraldActionConfig
- HeraldConditionConfig
- HeraldConditionTranscript
- HeraldContentTypeConfig
- HeraldEffect
- HeraldEngine
- HeraldFieldConfig
- HeraldInvalidConditionException
- HeraldInvalidFieldException
- HeraldObjectAdapter
- HeraldObjectTranscript
- HeraldRecursiveConditionsException
- HeraldRepetitionPolicyConfig
- HeraldRuleTranscript
- HeraldRuleTypeConfig
- HeraldValueTypeConfig
- Javelin
- LiskDAOSet — You usually don't need to use this class directly as it is controlled by LiskDAO.
- LiskEphemeralObjectException
- LiskIsolationTestDAO
- LiskIsolationTestDAOException
- LiskMigrationIterator — Iterate over every object of a given type, without holding all of them in memory.
- ManiphestHovercardEventListener
- ManiphestPeopleMenuEventListener
- ManiphestSubscribeController
- MetaMTAConstants
- ObjectHandleLoader
- PHUI
- PhabricatorAccessLog
- PhabricatorApplicationApplications
- PhabricatorApplicationAudit
- PhabricatorApplicationAuth
- PhabricatorApplicationCalendar
- PhabricatorApplicationChatLog
- PhabricatorApplicationConduit
- PhabricatorApplicationConfig
- PhabricatorApplicationConfigOptions
- PhabricatorApplicationCountdown
- PhabricatorApplicationDaemons
- PhabricatorApplicationDifferential
- PhabricatorApplicationDiffusion
- PhabricatorApplicationDiviner
- PhabricatorApplicationDrydock
- PhabricatorApplicationFact
- PhabricatorApplicationFeed
- PhabricatorApplicationFiles
- PhabricatorApplicationFlags
- PhabricatorApplicationHerald
- PhabricatorApplicationMacro
- PhabricatorApplicationMailingLists
- PhabricatorApplicationManiphest
- PhabricatorApplicationMetaMTA
- PhabricatorApplicationOwners
- PhabricatorApplicationPHID
- PhabricatorApplicationPHPAST
- PhabricatorApplicationPaste
- PhabricatorApplicationPeople
- PhabricatorApplicationPhame
- PhabricatorApplicationPhlux
- PhabricatorApplicationPhortune
- PhabricatorApplicationPhrequent
- PhabricatorApplicationPhriction
- PhabricatorApplicationPonder
- PhabricatorApplicationProject
- PhabricatorApplicationReleeph
- PhabricatorApplicationRepositories
- PhabricatorApplicationSearch
- PhabricatorApplicationSettings
- PhabricatorApplicationSlowvote
- PhabricatorApplicationSubscriptions
- PhabricatorApplicationTokens
- PhabricatorApplicationTransactionNoEffectException
- PhabricatorApplicationTransactionNoEffectResponse
- PhabricatorApplicationTransactionResponse
- PhabricatorApplicationTransactions
- PhabricatorApplicationUIExamples
- PhabricatorApplicationXHProf
- PhabricatorAuditActionConstants
- PhabricatorAuditCommitQuery
- PhabricatorAuditCommitStatusConstants
- PhabricatorAuditQuery
- PhabricatorAuditStatusConstants
- PhabricatorBaseProtocolAdapter — Defines the api for protocol adapters for PhabricatorBot
- PhabricatorBotDebugLogHandler — Logs messages to stdout
- PhabricatorBotDifferentialNotificationHandler
- PhabricatorBotMessage
- PhabricatorBotTarget — Represents something which can be the target of messages, like a user or channel.
- PhabricatorCaches
- PhabricatorChangesetResponse
- PhabricatorChatLogConstants
- PhabricatorConfigJSON
- PhabricatorConfigManagementWorkflow
- PhabricatorConfigOption
- PhabricatorConfigResponse
- PhabricatorConfigSource
- PhabricatorConfigValidationException
- PhabricatorContentSource
- PhabricatorController
- PhabricatorDaemon
- PhabricatorDaemonControl
- PhabricatorDaemonReference
- PhabricatorDifferenceEngine — Utility class which encapsulates some shared behavior between different applications which render diffs.
- PhabricatorEdgeConstants
- PhabricatorEdgeCycleException
- PhabricatorEdgeGraph
- PhabricatorEditor
- PhabricatorEmptyQueryException
- PhabricatorEnv — Manages the execution environment configuration, exposing APIs to read configuration settings and other similar values that are derived directly from configuration settings.
- PhabricatorFactEngine
- PhabricatorFactManagementWorkflow
- PhabricatorFactSpec
- PhabricatorFactUpdateIterator — Iterate over objects by update time in a stable way.
- PhabricatorFeedBuilder
- PhabricatorFeedConstants
- PhabricatorFeedStory — Manages rendering and aggregation of a story.
- PhabricatorFeedStoryPublisher
- PhabricatorFileUploadException
- PhabricatorFilesManagementWorkflow
- PhabricatorFlagConstants
- PhabricatorFlagQuery
- PhabricatorFlagsUIEventListener
- PhabricatorGitGraphStream
- PhabricatorGlobalLock — Global, MySQL-backed lock.
- PhabricatorHandleObjectSelectorDataView
- PhabricatorHash
- PhabricatorIRCProtocolHandler
- PhabricatorImageTransformer
- PhabricatorJavelinLinter
- PhabricatorJumpNavHandler
- PhabricatorKeyValueDatabaseCache
- PhabricatorLDAPProvider
- PhabricatorLDAPUnknownUserException
- PhabricatorLintEngine
- PhabricatorLipsumArtist
- PhabricatorLipsumManagementWorkflow
- PhabricatorLiskDAO
- PhabricatorMacroTransactionType
- PhabricatorMail
- PhabricatorMailImplementationAdapter
- PhabricatorMailManagementResendWorkflow
- PhabricatorMailManagementWorkflow
- PhabricatorMailReceiver
- PhabricatorMailReplyHandler
- PhabricatorMarkupEngine — Manages markup engine selection, configuration, application, caching and pipelining.
- PhabricatorMercurialGraphStream — Streaming interface on top of "hg log" that gives us performant access to the Mercurial commit graph with one nonblocking invocation of "hg".
- PhabricatorMetaMTAAttachment
- PhabricatorMetaMTAEmailBodyParser
- PhabricatorMetaMTAReceivedMailProcessingException
- PhabricatorMetaMTAWorker
- PhabricatorNotificationBuilder
- PhabricatorOAuthProvider
- PhabricatorOAuthProviderException
- PhabricatorOAuthResponse
- PhabricatorOAuthServerScope
- PhabricatorObjectHandle
- PhabricatorObjectHandleConstants
- PhabricatorObjectHandleData
- PhabricatorObjectSelectorDialog
- PhabricatorOwnerPathQuery
- PhabricatorOwnersPackagePathValidator
- PhabricatorPHID
- PhabricatorPHIDConstants
- PhabricatorPeopleHovercardEventListener
- PhabricatorPolicy
- PhabricatorPolicyConstants
- PhabricatorPolicyException
- PhabricatorPolicyFilter
- PhabricatorPolicyTestObject — Configurable test object for implementing Policy unit tests.
- PhabricatorProjectConstants
- PhabricatorProjectNameCollisionException — Thrown when you try to save a project with a name too similar to another project.
- PhabricatorProjectStatus
- PhabricatorQuery
- PhabricatorRepositoryCommitParserWorker
- PhabricatorRepositoryCommitRef
- PhabricatorRepositoryCommitSearchIndexer
- PhabricatorRepositoryEngine
- PhabricatorRepositoryManagementWorkflow
- PhabricatorRepositoryType
- PhabricatorSQLPatchList
- PhabricatorSSHWorkflow
- PhabricatorScopedEnv — Scope guard to hold a temporary environment.
- PhabricatorSettingsPanelAccount
- PhabricatorSettingsPanelConduit
- PhabricatorSettingsPanelConpherencePreferences
- PhabricatorSettingsPanelDiffPreferences
- PhabricatorSettingsPanelDisplayPreferences
- PhabricatorSettingsPanelEmailAddresses
- PhabricatorSettingsPanelEmailPreferences
- PhabricatorSettingsPanelHomePreferences
- PhabricatorSettingsPanelLDAP
- PhabricatorSettingsPanelOAuth
- PhabricatorSettingsPanelPassword
- PhabricatorSettingsPanelProfile
- PhabricatorSettingsPanelSSHKeys
- PhabricatorSettingsPanelSearchPreferences
- PhabricatorSetupCheck
- PhabricatorSetupIssue
- PhabricatorSlug
- PhabricatorStartup — Handle request startup, before loading the environment or libraries.
- PhabricatorStorageFixtureScopeGuard — Used by unit tests to build storage fixtures.
- PhabricatorStorageManagementAPI
- PhabricatorStorageManagementWorkflow
- PhabricatorStoragePatch
- PhabricatorSubscriptionsUIEventListener
- PhabricatorSymbolNameLinter
- PhabricatorTestCase
- PhabricatorTestDataGenerator
- PhabricatorTestWorker
- PhabricatorTimelineIterator
- PhabricatorTokenUIEventListener
- PhabricatorTransactions
- PhabricatorTranslation
- PhabricatorTypeaheadResult
- PhabricatorUIExample
- PhabricatorUserSearchIndexer
- PhabricatorUserStatusInvalidEpochException
- PhabricatorUserStatusOverlapException
- PhabricatorWorkerPermanentFailureException
- PholioConstants
- PholioRemarkupRule
- PhortuneConstants
- PhortuneCreditCardForm
- PhortuneCurrency
- PhortuneMultiplePaymentProvidersException
- PhortuneNoPaymentProviderException
- PhortuneNotImplementedException
- PhortunePaymentProvider
- PhrequentUIEventListener
- PonderConstants
- PonderRemarkupRule
- PonderSearchIndexer
- ReleephBranchTemplate
- ReleephCommitFinder
- ReleephCommitFinderException
- ReleephDifferentialRevisionDetailRenderer
- ReleephFieldParseException
- ReleephFieldSelector — Control the rendering of ReleephRequestHeaderView, and the layout of the ReleephRequest search dialog (in ReleephBranchViewController.)
- ReleephFieldSpecification
- ReleephFieldSpecificationIncompleteException
- ReleephPHIDConstants
- ReleephRequestException
- ReleephRequestStatus
Functions
- _e()
- _phabricator_date_format()
- cleanup()
- javelin_render_tag()
- javelin_tag()
- phabricator_date()
- phabricator_datetime()
- phabricator_form()
- phabricator_format_bytes() — Format a byte count for human consumption, e.g.
- phabricator_format_local_time() — This function does not usually need to be called directly.
- phabricator_format_relative_time()
- phabricator_format_relative_time_detailed() — Format a relative time (duration) into weeks, days, hours, minutes, seconds, but unlike phabricator_format_relative_time, does so for more than just the largest unit.
- phabricator_format_units_generic()
- phabricator_on_relative_date()
- phabricator_parse_bytes() — Parse a human-readable byte description (like "6MB") into an integer.
- phabricator_read_config_file()
- phabricator_relative_date()
- phabricator_render_form()
- phabricator_time()
- phid_get_subtype()
- phid_get_type() — Look up the type of a PHID.
- phid_group_by_type() — Group a list of phids by type.
- rename_project() — Rename the project so that it has a unique slug, by appending (2), (3), etc.
Interfaces