See PHI699. An install is interested in easier access to developer-facing information like object PHIDs.
I don't want to implement this as weird undiscoverable stuff ("⌘+⇧+D opens the secret debug menu") or clutter up the UI for everyone (since most users definitely don't care about this), but I think we can find a middle ground like this:
- Add a "Show Developer Tools" setting next to the existing "DarkConsole" setting in Settings → Developer Settings.
- Note that this panel is currently only visible if darkconsole.enabled is on in Config. I think the rule that disables it is just "panels don't show up if they have no content", not special casing.
- "Show Developer Tools" has "Show", "Hide", or "Use Default (Hide)" options, as one might expect. Although enabling them globally is probably unusual for a legitimate production install, making this a global setting allows you to enable them globally in development, so you can use them as a logged-out user.
- When a user enables the developer tools, enable new options in the UI.
Specific new options which I think would be nice:
- Add a "Developer View" link to object curtains, using infrastructure similar to Subscriptions/Tokens. This should take you to a page which shows the PHID and other data for the object. One approach for fleshing this data out (beyond basics like PHID) might be to let objects define their *.search method, then just call that and show the data on the page. We could make this flexible and extend it as use cases arise.
- We should NOT dump raw edges onto this page. It's okay to edge.search for every edge type and show anything that edge.search returns, but we should not dump the raw table since that may have policy problems.
- On query pages, add a "View as API call..." option, similar to the existing "Add to Dashboard" and "Export Data" options. This should take you to a Conduit result page for the query. Ideally, the result page should parameterize all the constraints in the query (i.e., issue it as authors=x&statuses=y) but this may be impractically difficult; if so, the result page could reference the query directly (issue it as query=Avn32nQM).
Another nice thing might be to automatically link PHIDs in Conduit web UI results (Always? Only if this is enabled?), so the PHID goes to the "Developer View" page for the object and you can use Conduit + Developer View to explore/browse stuff to a greater degree.