Page MenuHomePhorge

Rebrand: Tracking task
Closed, ResolvedPublic

Description

Here we'll track the Rebranding effort.

The process we settled for is this:

  1. Pick an app from the list below. Put your name next to it.
  2. Make a revision to this instance (rP), updating the strings in this app (See below for Guidelines on that)
  3. Once we're happy with it, we'll copy the diff over to secure.phabricator.com for inclusion in Phabricator. If you don't have an account there, someone with an account (e.g. @avivey, @speck) will copy it.
  4. The diff will not be landed directly in Phorge - we'll pick it up from the upstream after its landed there.
Rebranding Guidelines
  1. For each application, review all user-facing text and rephrase it to be general purpose text.
  1. For any user-facing documentation which requires referencing "Phabricator", there is a new remarkup interpreter which resolves the {{{ strings.platform.name }}} macro to the brand name (update: this exists in the Phabricator upstream which is not yet merged into Phorge).
  1. Anything which refers to phabricator as a path on disk or a class name, which is not user-facing, can remain for now and be addressed in a different change. This helps to limit to scope of necessary changes for the branding effort. Note that many of the descriptive text in in the config application will refer to running scripts on the server phabricator/bin/ path, which will need updated to reference a variable for the repo name.

Coding Guidelines

Since all changes are going to be submitted to the upstream prior to landing here in Phorge it would be easiest if changes were made to a clone of Phabricator and not a clone of Phorge.

To help locate user-visible text grep for the following regular expressions

  • '.*Phabricator
  • ".*Phabricator
Formatting
  • Phabricator maintains PHP formatting which keeps lines 80 characters or less, using indentation of 2 spaces per indent. For multiple lines attempt to maximize the number of words on each line (and necessary formatting, see next point) to be less than or equal to 80 characters.
  • When splitting long text across multiple lines use the . concatenation, and split the lines such that spaces between words and the . concatenation are at the end of the line
  • Prefer to align indentation of multi-lines such that the quotes are aligned. To maximize space if needed you may place the first argument to pht() on a new line
  • Prefer to use single-quotes. Use of double-quotes is preferred when the text content contains newline escapes, which won't render properly in single quote text.
  • Use formatted text e.g. pht('Welcome %s', $name); instead of variable concatenation pht('Welcome '.$name). This is strictly required except in rare circumstances, as translations into other languages cannot assume placement of words that concatenation enforces.
$object->setValue(pht(
  '... this installation requires '.
  'that all blah %s blah '.
  'and such',
  $this->getDisplayName()));
Applications

(phts denotes a simple count of how many times pht() shows up in the code - it should give a rough estimate of how much work each app needs.)

/src/applications/

dirphtsownernote
almanac517@golyalpha
aphlict47
arcanist0@aviveydone!
audit137
auth1248@speck
badges169
base26
cache60
calendar648
celerity36
chatlog15
conduit239
config1170@MatthewAlso includes setup issue links I believe
conpherence173
console71
countdown79
daemon241
dashboard372
differential1310
diffusion1507
diviner129
doorkeeper54
draft0@avivey
drydock525@golyalpha
fact84
favorites4
feed64
files612
flag49
fund126
guides41
harbormaster955
help11
herald545
home14
legalpad227
lipsum21
macro145
maniphest670
meta96
metamta400
multimeter36
notification50
nuance242
oauthserver142
owners224
packages146
passphrase165
paste130
people589
phame355
phid23
phlux28
pholio144
phortune840
phpast10
phragment121
phrequent53
phriction241
phurl86
policy173
ponder173
project955
releeph331
remarkup3
repository775
search521
settings368
slowvote106
spaces97
subscriptions67
support1
system87
tokens62
transactions581
typeahead54
uiexample462
xhprof31

/src/infrastructure/:

dirphtsownernote
cache8
cluster57
contentsource24
customfield97
daemon263
diff91
edges32
editor16
env35
events2
export21
graph11
internationalization17
javelin0
lint13
lipsum2
log4
management4
markup46
parser5
PhabricatorEditor.php0
query49
ssh3
status4
storage281
syntax1
testing4
time2
util72

/src/docs/

T15012: Update Diviner documentation to reference Phorge

directorytotal linesownernotes
book466@Matthew
contributor3027@Matthew
flavor1566@Matthew
tech163@Matthew
user18455@Matthew

Event Timeline

avivey triaged this task as High priority.
speck updated the task description. (Show Details)
speck updated the task description. (Show Details)

I put up some coding guidelines that I could recall from when I was working with upstream on example changes. I won't be back at my home office for another week so there may be some things I'm missing but I think a number of things were covered/discussed with Evan on the example changes in https://secure.phabricator.com/D21712.

@Matthew - I seem to recall especially in config that there are a load of references to things like phabricator/bin/ as examples in the user-facing text for how to invoke scripts etc. Since that's not referring to the product name but the installation folder that may require setting up some public fields or methods in something like PhabricatorEnv.php to get the repository name. See the first discussion point here https://secure.phabricator.com/T13658#255994 - I don't recall if I ever came to a conclusion about this with Evan but providing some method that defaults to phabricator for now (since we're submitting back up to Phabricator`) I think is appropriate.

Since all changes are going to be submitted to the upstream prior to landing here in Phorge it would be easiest if changes were made to a clone of Phabricator and not a clone of Phorge.

I don't see how exactly would the diff submission for people who don't have accounts on upstream work here? I mean, sure, we could probably mail the diffs to people who do, and have them create the revisions, but yeah.... Or do we just post diffs made against upstream here, as if they're made against Phorge?

Evan recently landed a boatload of changes to address this under https://secure.phabricator.com/T13658

I'll note that the developer-mode, timezone, serious-business and production-url config settings still use Phabricator in the names

I'll go over this to see if there's anything left to do.

I think we're done with this.