Riverscapes / gcd

Geomorphic Change Detection For Windows
http://gcd.riverscapes.xyz
GNU General Public License v3.0
25 stars 5 forks source link

Exception Errors #193

Closed joewheaton closed 6 years ago

joewheaton commented 6 years ago

@philipbaileynar , should we get rid of the old, everytime and exception error is thrown, encouraging people to email to gcd@joewheaton.org, and instead funnel them right into reporting an issue and selecting either a 'help wanted' or 'bug' ticket? It strikes me a lot of the errors people get are easy fixes and getting people in the habit of using this as a forum for help might be better (see edits here too. Thoughts?

I don't know if there is a way to send them to a path (e.g. https://github.com/Riverscapes/gcd/labels/help%20wanted) from GCD that copies the Exception Message with it? Probably not.

Anyhow, this would be much more transparent and helpful for folks as a troubleshooting tool? Otherwise, we're copying from their emails over in here.

philipbaileynar commented 6 years ago
  1. One of the main reasons our minimum version of ArcGIS is 10.4 is because this is the minimum version that supports .Net version 4.5 which is required to support AWS integration. In the CHaMP Workbench we implemented one of those "share your experience with developers" options that automatically sends all errors to AWS CloudWatch. We could easily do something like this - either automated or a manual button that the user clicks on the exception screen - using AWS or even simply using a web API.
  2. We desparately need to implement a simple GCD log. There are lots of messages that developers see that end-users don't that would be useful in such a log. This bleeds into the topic of long processing and progress windows etc.
  3. We could have an "if this issue persists" log a GitHub issue button. I don't think there's a way to pre-populate with the exception message contents.
  4. A simple "copy exception information to clipboard" button would also be useful.

I'm reluctant to remove the current exception window until we have a better system in place. It should always appear "collapsed" with the details hidden for regular users. Is that not the case?

joewheaton commented 6 years ago
  1. I like 1) above and think we should do that. It would help us a ton in terms of prioritizing development. Can we do that in a way that is anonymous? I don't think we want to be in the business of managing user information.
  2. YES PLEASE! And where are we into progress windows and progress bars? Do we have a ticket for that?
  3. I like this idea of having if this issue persists that takes them to: https://github.com/Riverscapes/gcd/labels/help%20wanted. I just think we need to be careful NOT to let them report a bug themselves. They report a request for help and WE decide whether or not to call it a bug?
  4. Great idea. Copy Exception Error Message to Clipboard Yes, I agree that error message should be collapsed by default.
philipbaileynar commented 6 years ago

@MattReimer can we get your feedback on your preferred method for quickly implementing one of the methods for getting exception info to the developers:

  1. CloudWatch implementation the way we did it in CHaMP Workbench.
  2. API endpoint for uploading exception info.
  3. Simple button to copy exception info to clipboard and then redirect users to GitHub issues.
MattReimer commented 6 years ago

Simple is always best. Instead of cloudwatch we might want to just hook it up to SNS and get an email that we filter. The trouble with cloudwatch is that you have to remember to go look at it.

I think we should look at setting up github issue templates for this repo to give people a hand in filing bugs:

https://blog.github.com/2016-02-17-issue-and-pull-request-templates/

Then we can just refer people to a link:

https://github.com/Riverscapes/gcd/issues/new

So I guess to summarize, my suggestion is two pronged:

  1. Something really simple and automated for uploading exceptions (SNS)
  2. Streamline the bug reporting process

(1) can be an option you turn on and (2) can be a link in a help menu.

Thoughts?

philipbaileynar commented 6 years ago
  1. If we can implement SNS quickly then I'm totally onboard with this going to generic email that we handle with filters. Note that this would be controlled by a software setting that is off by default and needs to be turned on.
  2. I think we implement a button on the exception form with the text Report Issue To GCD Developers. This does a few things:
    1. Copes the body of the exception message text box to the clipboard.
    2. Pops up a message box that tells the user that that details of the issue have been copied to the clipboard and that they will now be redirected to the web site used to log issues. Read and complete the instructions in the issue template.
    3. Pop open the new issue page, like @MattReimer suggests.

Note that even if the user has SNS notifications turned off, perhaps we can still fire an SNS message if they click the "Notify Developers" button on the exception form. They are implicitly consenting to this.

We can't actually perform the paste of the exception information, but perhaps we can wrap it in triple grave accent to force a markdown code block.

philipbaileynar commented 6 years ago

Implement now:

  1. copy to clipboard for now.
  2. Button to launch GitHub at new ticket.
  3. GitHub issue template.
  4. Get GCD version in exception message text.
MattReimer commented 6 years ago

Issue template is in. Feel free to customize.

philipbaileynar commented 6 years ago
  1. GCD version now visible in exception info.
  2. ArcMap version now visible in exception info (if using AddIn obviously).
  3. Exception form icon removed.
  4. Form appears collapsed by default.
  5. New button to log a new issue:
    1. Copies contents of exception details to clipboard.
    2. Opens GCD issues at this URL. Note that this is the list of open issues and not the create new issue page.

2018-04-11_115325

joewheaton commented 6 years ago

I really like this solution. Very elegant.