mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-28 20:18:13 +01:00
Narrow scope of support documentation
Summary: - Direct users to detailed bug report / feature reuqest documents. - Move "get more info" and "unreproducible problems" to bug reporting document. - Stop telling users to email us, and strongly encourage them to use primary channels. Test Plan: Read documentation. Reviewers: btrahan, chad Reviewed By: btrahan, chad Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D10808
This commit is contained in:
parent
bcb360ea2b
commit
31b4d39003
2 changed files with 78 additions and 137 deletions
|
@ -15,6 +15,7 @@ The most important things to do are:
|
||||||
- check the list of common fixes below;
|
- check the list of common fixes below;
|
||||||
- make sure Phabricator is up to date;
|
- make sure Phabricator is up to date;
|
||||||
- make sure we support your setup;
|
- make sure we support your setup;
|
||||||
|
- gather debugging information;
|
||||||
- explain how to reproduce the issue; and
|
- explain how to reproduce the issue; and
|
||||||
- create a task in
|
- create a task in
|
||||||
[[ http://secure.phabricator.com/maniphest/task/create/ | Maniphest ]].
|
[[ http://secure.phabricator.com/maniphest/task/create/ | Maniphest ]].
|
||||||
|
@ -104,6 +105,25 @@ Otherwise, if you're having an issue with a supported first-party application
|
||||||
and followed the upstream install instructions on a normal computer, we're happy
|
and followed the upstream install instructions on a normal computer, we're happy
|
||||||
to try to help.
|
to try to help.
|
||||||
|
|
||||||
|
Getting More Information
|
||||||
|
========================
|
||||||
|
|
||||||
|
For some issues, there are places you can check for more information. This may
|
||||||
|
help you resolve the issue yourself. Even if it doesn't, this information can
|
||||||
|
help us figure out and resolve an issue.
|
||||||
|
|
||||||
|
- For issues with `arc` or any other command-line script, you can get more
|
||||||
|
details about what the script is doing by adding the `--trace` flag.
|
||||||
|
- For issues with Phabricator, check your webserver error logs.
|
||||||
|
- For Apache, this is often `/var/log/httpd/error.log`, or
|
||||||
|
`/var/log/apache2/error.log` or similar.
|
||||||
|
- For nginx, check both the nginx and php-fpm logs.
|
||||||
|
- For issues with the UI, check the Javascript error console in your web
|
||||||
|
browser.
|
||||||
|
- Some other things, like daemons, have their own debug flags or
|
||||||
|
troubleshooting steps. Check the documentation for information on
|
||||||
|
troubleshooting. Adjusting settings or enabling debugging modes may give
|
||||||
|
you more information about the issue.
|
||||||
|
|
||||||
Reproducibility
|
Reproducibility
|
||||||
===============
|
===============
|
||||||
|
@ -111,20 +131,46 @@ Reproducibility
|
||||||
The most important part of your report content is instructions on how to
|
The most important part of your report content is instructions on how to
|
||||||
reproduce the issue. What did you do? If you do it again, does it still break?
|
reproduce the issue. What did you do? If you do it again, does it still break?
|
||||||
Does it depend on a specific browser? Can you reproduce the issue on
|
Does it depend on a specific browser? Can you reproduce the issue on
|
||||||
`secure.phabricator.com`? Feel free to try to reproduce issues on the upstream
|
`secure.phabricator.com`?
|
||||||
install (which is kept near HEAD), within reason -- it's okay to make a few test
|
|
||||||
objects if you're having trouble narrowing something down or want to check if
|
Feel free to try to reproduce issues on the upstream install (which is kept near
|
||||||
updating might fix an issue.
|
HEAD), within reason -- it's okay to make a few test objects if you're having
|
||||||
|
trouble narrowing something down or want to check if updating might fix an
|
||||||
|
issue.
|
||||||
|
|
||||||
It is nearly impossible for us to resolve many issues if we can not reproduce
|
It is nearly impossible for us to resolve many issues if we can not reproduce
|
||||||
them. For more information, see @{article: Give Feedback! Get Support!}.
|
them.
|
||||||
|
|
||||||
|
Unreproducible Problems
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Before we can fix a bug, we need to reproduce it. If we can't reproduce a
|
||||||
|
problem, we can't tell if we've fixed it and often won't be able to figure out
|
||||||
|
why it is occurring.
|
||||||
|
|
||||||
|
Most problems reproduce easily, but some are more difficult to reproduce. We
|
||||||
|
will generally make a reasonable effort to reproduce problems, but sometimes
|
||||||
|
we will be unable to reproduce an issue.
|
||||||
|
|
||||||
|
Many of these unreproducible issues turn out to be bizarre environmental
|
||||||
|
problems that are unique to one user's install, and figuring out what is wrong
|
||||||
|
takes a very long time with a lot of back and forth as we ask questions to
|
||||||
|
narrow down the cause of the problem. When we eventually figure it out and fix
|
||||||
|
it, few others benefit (in some cases, no one else). This sort of fishing
|
||||||
|
expedition is not a good use of anyone's time, and it's very hard for us to
|
||||||
|
prioritize solving these problems because they represent a huge effort for very
|
||||||
|
little benefit.
|
||||||
|
|
||||||
|
We will make a reasonable effort to reproduce problems, but can not help with
|
||||||
|
issues which we can't reproduce. You can make sure we're able to help resolve
|
||||||
|
your issue by generating clear reproduction steps.
|
||||||
|
|
||||||
Create a Task in Maniphest
|
Create a Task in Maniphest
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
If you're up to date, supported, and have the best reproduction instructions
|
If you're up to date, supported, have collected information about the problem,
|
||||||
you can come up with, you're ready to file an issue.
|
and have the best reproduction instructions you can come up with, you're ready
|
||||||
|
to file an issue.
|
||||||
|
|
||||||
We'll look at any issue report we can find (we monitor IRC, email, GitHub,
|
We'll look at any issue report we can find (we monitor IRC, email, GitHub,
|
||||||
StackOverflow, Quora, Facebook and Twitter), but the upstream Maniphest is
|
StackOverflow, Quora, Facebook and Twitter), but the upstream Maniphest is
|
||||||
|
@ -133,8 +179,8 @@ the authoritative bug tracker and the best place to file:
|
||||||
https://secure.phabricator.com/maniphest/task/create/
|
https://secure.phabricator.com/maniphest/task/create/
|
||||||
|
|
||||||
If you don't want to file there (or, for example, your bug relates to being
|
If you don't want to file there (or, for example, your bug relates to being
|
||||||
unable to log in or unable to file an issue in Maniphest) you can file on any of
|
unable to log in or unable to file an issue in Maniphest) you can file on any
|
||||||
the other channels, but we can address reports much more effectively if they're
|
other channel, but we can address reports much more effectively if they're
|
||||||
filed against the upstream than if they're filed somewhere else.
|
filed against the upstream than if they're filed somewhere else.
|
||||||
|
|
||||||
| Effectiveness | Filing Method |
|
| Effectiveness | Filing Method |
|
||||||
|
@ -146,7 +192,7 @@ filed against the upstream than if they're filed somewhere else.
|
||||||
|
|
||||||
If you have a quick question or want to discuss something before filing an
|
If you have a quick question or want to discuss something before filing an
|
||||||
issue, IRC is a great way to get a sanity check first. You can find information
|
issue, IRC is a great way to get a sanity check first. You can find information
|
||||||
about these channels in @{article: Give Feedback! Get Support!}.
|
about IRC in @{article: Give Feedback! Get Support!}.
|
||||||
|
|
||||||
Next Steps
|
Next Steps
|
||||||
==========
|
==========
|
||||||
|
|
|
@ -5,145 +5,40 @@
|
||||||
How to give us feedback, report bugs, and request features, and get support for
|
How to give us feedback, report bugs, and request features, and get support for
|
||||||
problems with Phabricator.
|
problems with Phabricator.
|
||||||
|
|
||||||
= Overview =
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
We'd love to hear your feedback about Phabricator, whether it's good or bad. We
|
We'd love to hear your feedback about Phabricator, whether it's good or bad. The
|
||||||
stay on top of bug reports and fix many of them within a day or two (and
|
best ways to provide feedback and get support are:
|
||||||
sometimes within hours). The Phabricator roadmap is determined in large part by
|
|
||||||
user feedback and feature requests. Your feedback matters, will often have an
|
|
||||||
immediate short-term impact, and the project leads are actively listening to it.
|
|
||||||
|
|
||||||
We also try to provide a very high level of free support. If you have trouble
|
- For bug reports and feature requests, file a task in our task tracker,
|
||||||
with anything or just don't understand how something works, ask us! We're happy
|
Maniphest.
|
||||||
to help, and it's usually valuable for us because we can prevent the problem
|
- For questions and real-time chat, join the IRC channel.
|
||||||
in the code (or document it better) so future users don't hit it.
|
- If you just want to provide some quick feedback, you can tweet at
|
||||||
|
us ([[ http://twitter.com/phabricator | @phabricator ]]).
|
||||||
|
|
||||||
Some day we will no doubt grow callous and distant, but for now the community
|
Bugs and Requests
|
||||||
is small enough that we can provide a high level of service and support to
|
=====================
|
||||||
everyone and still have plenty of time to write code.
|
|
||||||
|
|
||||||
If you're in the SF bay area, we're also happy to come onsite and help you set
|
|
||||||
things up, answer any questions you might have, or just hang out and tell
|
|
||||||
Facebook war stories.
|
|
||||||
|
|
||||||
The best ways to provide feedback are:
|
|
||||||
|
|
||||||
= Maniphest =
|
|
||||||
|
|
||||||
The best way to report bugs and request features is through
|
The best way to report bugs and request features is through
|
||||||
[[http://secure.phabricator.com/maniphest/task/create/ | Maniphest]]. Just file
|
[[http://secure.phabricator.com/maniphest/task/create/ | Maniphest]]. For
|
||||||
the bug/request and we'll handle everything else. (If it's time-sensitive or
|
information on filing good bug reports and feature requests, see:
|
||||||
blocking you, feel free to assign it to `epriestley`.) Feel free to file support
|
|
||||||
requests, general questions, or random feedback this way, too.
|
|
||||||
|
|
||||||
= GitHub Issues =
|
- @{article:Filing Good Bug Reports}
|
||||||
|
- @{article:Filing Good Feature Requests}
|
||||||
|
|
||||||
You can also use
|
IRC
|
||||||
[[https://github.com/phacility/phabricator/issues/new | GitHub Issues]] if you
|
==========
|
||||||
prefer.
|
|
||||||
|
|
||||||
= IRC =
|
|
||||||
|
|
||||||
We're active in `#phabricator` on FreeNode, and it's the best place to ask
|
We're active in `#phabricator` on FreeNode, and it's the best place to ask
|
||||||
questions and get support.
|
questions and get support.
|
||||||
|
|
||||||
= Email =
|
Next Steps
|
||||||
|
==========
|
||||||
You can email us at `contact@phacility.com`.
|
|
||||||
|
|
||||||
= Filing Good Feature Requests =
|
|
||||||
|
|
||||||
When filing a feature request, please provide as much information as possible,
|
|
||||||
especially about what your use case is and why you want the feature. Explaining
|
|
||||||
what your larger goals are is very helpful, and lets us design better features.
|
|
||||||
Tell us what your problem is before you tell us your idea to solve it: sometimes
|
|
||||||
we can come up with a better approach to the problem, a slightly different
|
|
||||||
approach that solves more problems or helps other users, or a way to make the
|
|
||||||
problem go away entirely.
|
|
||||||
|
|
||||||
= Filing Good Bug Reports =
|
|
||||||
|
|
||||||
When filing a bug report, please provide as much information as possible. In
|
|
||||||
particular:
|
|
||||||
|
|
||||||
- If you received an error message, please please please provide it! It is
|
|
||||||
often incredibly useful. See @{article:Please Please Please}.
|
|
||||||
- The second most useful thing to us is reproduction steps. If at all
|
|
||||||
possible, provide a brief list of steps required to reproduce the problem.
|
|
||||||
- If something you didn't expect (other than a crash or obvious error)
|
|
||||||
happened, tell us what you expected and what actually happened.
|
|
||||||
|
|
||||||
We can fix clearly-described bugs with reproduction steps and error messages
|
|
||||||
much more quickly than vague bugs we can't reproduce.
|
|
||||||
|
|
||||||
In particular, if you don't include error messages, we need to ask you for error
|
|
||||||
messages. We will nearly always need to do this, and nearly always be unable
|
|
||||||
to continue until you provide them. You'll save everyone time if you spend a
|
|
||||||
few extra seconds copy/pasting them in the first place.
|
|
||||||
|
|
||||||
Generally, err on the side of giving us too much information. It's much quicker
|
|
||||||
and easier for us to filter out information that isn't relevant than it is to
|
|
||||||
go back and forth asking you to provide more details.
|
|
||||||
|
|
||||||
Tips:
|
|
||||||
|
|
||||||
- For issues with `arc`, you can get more information by running the command
|
|
||||||
with the `--trace` flag. For instance, run `arc diff --trace` instead of
|
|
||||||
`arc diff`. Including this output in your bug report is often helpful.
|
|
||||||
- For issues with Phabricator, check your webserver error logs for more
|
|
||||||
information. For Apache, this is usually `/var/log/httpd/error.log` or
|
|
||||||
`/var/log/apache2/error.log`.
|
|
||||||
- For issues with the UI, check your Javascript error console in your browser.
|
|
||||||
- Some other things, like daemons, have debug flags or troubleshooting steps
|
|
||||||
covered in their documentation. Enabling these flags may give you more
|
|
||||||
information about the problem.
|
|
||||||
|
|
||||||
= Unreproducible Problems =
|
|
||||||
|
|
||||||
Before we can fix a bug, we need to reproduce it. If we can't reproduce a
|
|
||||||
problem, we can't tell if we've fixed it and often won't be able to figure out
|
|
||||||
why it is occurring.
|
|
||||||
|
|
||||||
Most problems reproduce easily, but some are more difficult to reproduce. We
|
|
||||||
will generally make a reasonable effort to reproduce problems, but sometimes
|
|
||||||
we will be unable to reproduce an issue.
|
|
||||||
|
|
||||||
Many of these unreproducible issues turn out to be bizarre environmental
|
|
||||||
problems that are unique to one user's install, and figuring out what is wrong
|
|
||||||
takes a very long time with a lot of back and forth as we ask questions to
|
|
||||||
narrow down the cause of the problem. When we eventually figure it out and fix
|
|
||||||
it, few others benefit (in some cases, no one else). This sort of fishing
|
|
||||||
expedition is not a good use of anyone's time, and it's very hard for us to
|
|
||||||
prioritize solving these problems because they represent a huge effort for very
|
|
||||||
little benefit. These problems are a tiny fraction of requests (maybe 1-2%) but
|
|
||||||
take up the vast majority of our support effort (maybe 80%).
|
|
||||||
|
|
||||||
**If you want us to fix a bug we can't reproduce, you need to build us a working
|
|
||||||
reproduction case.** Generally, this means a `root` login on a machine where the
|
|
||||||
issue occurs. For example:
|
|
||||||
|
|
||||||
- Bring up a new machine (e.g., in EC2), install Phabricator on it, configure
|
|
||||||
it so the problem is reproducible, and then give us access to it.
|
|
||||||
- If the machine Phabricator is running on is nonessential/nonsensitive and
|
|
||||||
you're comfortable with us having root on it, give us credentials.
|
|
||||||
- If the issue is with Git, SVN or Mercurial, create a new empty repository,
|
|
||||||
add a commit or series of commits which replicate the issue, and give us
|
|
||||||
a zip/tarball of the repository as a reproduction case.
|
|
||||||
- If you're in the San Francisco bay area, we can probably swing by and fix
|
|
||||||
the issue onsite.
|
|
||||||
|
|
||||||
These are all fairly heavyweight and will take some time, but often //less//
|
|
||||||
of your time than a fishing expedition. If you can build a reproduction case,
|
|
||||||
there is a very high chance we can resolve your problem quickly.
|
|
||||||
|
|
||||||
Alternatively, you can pay us an enormous pile of money for some kind of
|
|
||||||
enterprise support thing and we'd be thrilled to go fishing with you for as long
|
|
||||||
as you remain solvent. Email us (see above) for specifics.
|
|
||||||
|
|
||||||
= Next Steps =
|
|
||||||
|
|
||||||
Continue by:
|
Continue by:
|
||||||
|
|
||||||
- Filing a bug of feature request in
|
- learning more about bug reports with @{article:Filing Good Bug Reports}; or
|
||||||
[[http://secure.phabricator.com/maniphest/task/create/ | Maniphest]]; or
|
- learning more about feature requests with
|
||||||
|
@{article:Filing Good Feature Requests}; or
|
||||||
- contributing to Phabricator with @{article:Contributor Introduction}.
|
- contributing to Phabricator with @{article:Contributor Introduction}.
|
||||||
|
|
Loading…
Add table
Reference in a new issue