Select the types of activity you want to include in your feed.
@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
···1010Phabricator uses MySQL or another MySQL-compatible database (like MariaDB
1111or Amazon RDS).
12121313-Phabricator the InnoDB table engine. The only exception is the
1313+Phabricator uses the InnoDB table engine. The only exception is the
1414`search_documentfield` table which uses MyISAM because MySQL doesn't support
1515fulltext search in InnoDB (recent versions do, but we haven't added support
1616yet).
···102102Primary Keys
103103============
104104105105-Most tables have auto-increment column named `id`. Adding an ID column is
105105+Most tables have an auto-increment column named `id`. Adding an ID column is
106106appropriate for most tables (even tables that have another natural unique key),
107107as it improves consistency and makes it easier to perform generic operations
108108on objects.
···134134PHIDs
135135=====
136136137137-Each globally referencable object in Phabricator has its associated PHID
137137+Each globally referencable object in Phabricator has an associated PHID
138138("Phabricator ID") which serves as a global identifier, similar to a GUID.
139139We use PHIDs for referencing data in different databases.
140140141141-We use both autoincrementing IDs and global PHIDs because each is useful in
142142-different contexts. Autoincrementing IDs are meaningfully ordered and allow
141141+We use both auto-incrementing IDs and global PHIDs because each is useful in
142142+different contexts. Auto-incrementing IDs are meaningfully ordered and allow
143143us to construct short, human-readable object names (like `D2258`) and URIs.
144144Global PHIDs allow us to represent relationships between different types of
145145objects in a homogeneous way.
···154154============
155155156156Transactional code should be written using transactions. Example of such code is
157157-inserting multiple records where one doesn't make sense without the other or
157157+inserting multiple records where one doesn't make sense without the other, or
158158selecting data later used for update. See chapter in @{class:LiskDAO}.
159159160160Advanced Features
···195195196196| Variable | Meaning | Notes |
197197|---|---|---|
198198-| {$NAMESPACE} | Storage Namespace | Defaults to `phabricator` |
199199-| {$CHARSET} | Default Charset | Mostly used to specify table charset |
200200-| {$COLLATE_TEXT} | Text Collation | For most text (case-sensitive) |
201201-| {$COLLATE_SORT} | Sort Collation | For sortable text (case-insensitive) |
202202-| {$CHARSET_FULLTEXT} | Fulltext Charset | Specify explicitly for fulltext |
203203-| {$COLLATE_FULLTEXT} | Fulltext Collate | Specify explicitly for fulltext |
198198+| `{$NAMESPACE}` | Storage Namespace | Defaults to `phabricator` |
199199+| `{$CHARSET}` | Default Charset | Mostly used to specify table charset |
200200+| `{$COLLATE_TEXT}` | Text Collation | For most text (case-sensitive) |
201201+| `{$COLLATE_SORT}` | Sort Collation | For sortable text (case-insensitive) |
202202+| `{$CHARSET_FULLTEXT}` | Fulltext Charset | Specify explicitly for fulltext |
203203+| `{$COLLATE_FULLTEXT}` | Fulltext Collate | Specify explicitly for fulltext |
204204205205206206**Test your patch**. Run `bin/storage upgrade` to test your patch.
+3-3
src/docs/flavor/project_history.diviner
···5252I joined the new Dev Tools team around February 2010 and took over Diffcamp. I
5353renamed it to Differential, moved it to a new Alite-based infrastructure with
5454Javelin, and started making it somewhat less terrible. I eventually wrote
5555-Diffusion and build Herald to replace a very difficult-to-use predecessor. These
5555+Diffusion and built Herald to replace a very difficult-to-use predecessor. These
5656tools were less negatively received than the older versions. By December 2010 I
5757started open sourcing them; Haste became //Celerity// and Alite became
5858//Aphront//. I wrote Maniphest to track open issues with the project in January
5959-or February and we open sourced Phabricator in late April, shortly after I left
6060-Facebook.
5959+or February, left Facebook in April, and shortly after, we open sourced
6060+Phabricator.
+2-2
src/docs/flavor/things_you_should_do_now.diviner
···134134135135Hopefully, whatever language you're writing in has good query libraries that
136136can handle escaping for you. If so, use them. If you're using PHP and don't have
137137-a solution in place yet, the Phabricator implementation of qsprintf() is similar
138138-to Facebook's system and was successful there.
137137+a solution in place yet, the Phabricator implementation of `qsprintf()` is
138138+similar to Facebook's system and was successful there.