NOTE: We are building our starmap now. See {T15041}.
This is a high level outline of some our long-term plans for Phorge (like a roadmap, but looking far into the future). It lists things we plan to build eventually, over the course of **many years**.
This document spans an enormous amount of work and includes projects which will not be completed for many years. In some cases, we won't //start// building these projects for many years. By the time we start, some of these projects won't make sense anymore, so we may never build them or may build something very different than what we describe here.
This is not a prioritization or scheduling document. It doesn't tell you what we'll build next or what we'll build soon, just what we intend to build eventually. For near-term term planning, see the [[ Roadmap ]].
This is also not exhaustive. At the time of writing we have only 200 open tasks, all of which we plan to address eventually. This is just a summary of some of the major plans.
Applications
=====
This section describes long-term plans for first-party Phorge applications.
Almanac
-----
Almanac is a service directory, like an augmented version of DNS. You ask it for "db.service.company.com" and it returns a record which includes addresses and may include other information (datacenters, read/write availability, etc).
Almanac also serves as a device inventory for tracking physical devices (like hosts or phones).
Almanac is an important component of building Phorge clusters. Almanac is currently used in production in the Phacility cluster and clusters maintained by installs.
Almanac shipped in 2016. Almanac is a core application.
- We plan to generally make Almanac more user-friendly.
- We'd eventually like to integrate device status reporting/monitoring into Almanac (e.g., monitor load on hosts).
Audit
-----
Audit allows users to perform post-publish code review.
Audit shipped with Phabricator in 2011.
- We have no major changes planned for Audit.
Badges
-----
Badges will be a UI hint that can designate special users (like administrators or employees) and award users for certain activity (like contributing to a project for the first time).
Badges shipped in with Phabricator in 2017.
- We have no major changes planned for Badges.
Calendar
-----
Calendar allows users to notify other users of availability, so no one expects you to review code while you're on vacation.
Calendar is a prototype application.
- We plan to unprototype Calendar, make it useful for scheduling meetings and integrate it with other calendars (like Google Calendar and Outlook).
Chatlog
-----
Chatlog records the history of an IRC chatroom or other similar chat.
Chatlog is a deprecated prototype application.
- (T15126) We plan to remove Chatlog.
Conduit
-----
Conduit is the Phorge API.
Conduit shipped with Phabricator in 2011.
- We plan to make Conduit easier to use and improve support for binary data.
Conpherence
-----
Conpherence is a messaging/chat application.
Conpherence shipped with Phabricator in 2012.
- We plan to build bot support into Conpherence.
- We plan to improve API access to Conpherence.
Dashboards
-----
Dashboards allow users to collect information from other applications in one place.
Dashboards shipped with Phabricator in 2013.
- We have no major plans to change Dashboards.
Daemons
-----
Daemons run background tasks.
Daemons shipped with Phabricator in 2011.
- We have no major plans to change daemons.
Differential
-----
Differential is a code review application.
Differential shipped with Phabricator in 2011.
- We plan to let users commit revisions directly from Differential.
- We plan to generally improve integration between Differential and VCS operations.
Diffusion
-----
Diffusion is a repository management application.
We shipped Diffusion in 2011. It is a core application.
- We have no major plans to change Diffusion.
Diviner
-----
Diviner is a documentation generator.
Diviner shipped with Phabricator in 2011 approximatively
- We plan to make Diviner more useful to third parties. It is currently mostly useful only for generating Phorge documentation.
Drydock
-----
Drydock is a software resource manager. Particularly, Drydock can create and destroy working copies in a scalable way that other processes (like test and build workflows) can leverage and reuse.
Drydock shipped with Phabricator in 2016.
- We plan to continue improving the usability and power of Drydock.
Facts
-----
Facts is an ETL/reporting pipeline.
Facts is a prototype with major missing functionality.
- We plan to make Facts work as designed.
Files
-----
Files is a file storage application.
Files shipped with Phabricator in 2011.
- We plan to add directory support to Files.
Feed
-----
Feed is an event log which allows you to review activity across an install.
Feed shipped with Phabricator in 2011.
- We plan to make it easier to use Feed to publish events into remote systems
- We have no major plans to change Feed
Fund
-----
Fund is a donation/funding application similar to Kickstarter. It was developed primarily to test payments infrastructure.
Fund is a prototype application.
- We have no specific plans around Fund.
Harbormaster
-----
Harbormaster is a build/CI pipeline and integration tool. It will be able to either run tests on an existing external test system or host tests itself. It can report test results from other systems.
Harbormaster shipped with Phabricator in 2015
- We plan to make continue improving Harbormaster.
Home
-----
Home is the default application.
We shipped home in 2011. It is a core application.
- We have no major plans to change Home.
Legalpad
-----
Legalpad tracks legal documents and signatures, like a ToS or CLA.
Legalpad shipped with Phabricator in 2013.
- We plan to generally improve Legalpad's feature set.
Maniphest
-----
Maniphest is a task tracking application.
Maniphest shipped with Phabricator in 2011.
- We have no major plans to change Maniphest.
Mail
-----
Mail (formerly MetaMTA) is a message (email/SMS) delivery application.
Mail shipped with Phabricator in 2011.
- We plan to provide SMS support.
- (T15086) We plan to support inbound mail over IMAP.
Nuance
-----
Nuance is a high-volume human-intelligence task queue. It will handle workloads like support email, content categorization, monitoring social media accounts, and responding to abuse reports: anything which requires humans to go through a long list of stuff quickly, making human-intelligence assessments about it and usually taking one of a few specific actions in response.
Nuance is a prototype application with major missing functionality.
- We plan to make Nuance work as designed.
OAuth Server
-----
The OAuth Server allows third-party applications to authenticate against Phorge.
OAuth Server is a prototype application.
- We plan to make the OAuth Server more useful for third-party users and improve OAuth access to the API.
Owners
-----
Owners is a tool for assigning ownership of a codebase to specific users.
Owners shipped with Phabricator in 2011
- We plan to provide better access to owner information from the CLI.
Packages
-----
Packages is a package management system for distributing software, updates, and handling dependencies.
Packages is a prototype with little real functionality.
- We plan to implement Packages to provide a distribution mecanism for arc extensions.
Passphrase
-----
Passphrase is a credential store.
Passphrase shipped with Phabricator in 2012.
- We plan to improve the usability of Passphrase.
- We plan to support more credential types.
- We plan to support optional client-side encryption.
Paste
-----
Paste stores quick snippets of text, usually code or logfiles.
Paste shipped with Phabricator in 2011.
- We have no plans to make major changes to Paste.
Phame
-----
Phame is a internal or external blogging platform with basic permissions for viewing and publishing.
Phame shipped with Phabricator in 2016.
- We have no plans to make major changes to Phame.
Phlux
-----
Phlux is a manually editable key-value store. It has poor performance characteristics, but good permission/audit characteristics.
Phlux is a prototype application. It works, but isn't really in use.
- The future of Phlux is uncertain. It may be obsoleted by Almanac.
Pholio
-----
Pholio is a design review application, similar to Differential but for pictures.
Pholio shipped with Phabricator in 2013.
- We have no major plans to change Pholio.
Phortune
-----
Phortune is a billing application.
Phortune is a prototype application.
- We generally plan to improve the usability and featureset of Phortune.
Phrequent
-----
Phrequent is a time tracking application.
Phrequent is a prototype application with major missing functionality.
- We plan to make Phrequent work as designed.
Phriction
-----
Phriction is a wiki.
Phriction shipped with Phabricator in 2011.
- We broadly plan to pull Phriction in a direction which gives it some CMS flavor, and give users more control over presentation and organization of documents.
Phurl
-----
Phurl is a URL shortener and bookmarking application.
Phurl is a prototype application.
- We plan to complete Phurl.
Ponder
-----
Ponder is a question and answer application.
Ponder shipped with Phabricator in 2016.
- We have no plans to make major changes to Ponder.
Projects
-----
Projects is an organization application which allows you to manage objects in other applications.
Projects shipped with Phabricator in 2011.
- (T3980) We plan to allow project membership to be dictated by an external source, like an LDAP group.
Search
-----
Search is a search application.
Search shipped with Phabricator in 2011.
- We have no plans to make major changes to search.
Settings
-----
Settings allows users to configure preferences and administrators to change global default settings.
Settings shipped with Phabricator in 2011.
- We have no plans to make major changes to Settings.
Slowvote
-----
Slowvote is a polling application.
Slowvote shipped with Phabricator in 2011.
- We have no major plans to change Slowvote.
Spaces
-----
Spaces are top-level policy containers which make it easier to manage policies on large groups of objects.
Spaces shipped with Phabricator in 2015.
- We have no major plans to change Spaces.
Tokens
-----
Tokens are a lightweight way to say "thanks" or show interest in something.
Tokens shipped with Phabricator in 2012.
- (T11217) We plan to make Tokens modular, so users can define their own tokens.
- (T15048) We plan to allow awarding tokens to comments.
Ecosystem
=====
This section describes changes planned to the Phorge support ecosystem.
Platform
-----
Increasingly, Phorge is a modular applications platform.
- (T15030) We plan to support extensions in a first-class way.
Infrastructure
=====
This section describes changes planned to Phorge infrastructure systems.
Clustering
-----
Phorge can be deployed in a highly available cluster configuration.
- We plan to make various improvements to clusters so they are more powerful and easier to administrate.
Internationalization
-----
Internationalization is the process of making Phorge available in other languages.
- (T15079) We plan to internationalize Phorge.