CaPTk
CaPTk copied to clipboard
Enable runtime control over debugging mode
Is your feature request related to a problem? Please describe. Developers frequently need detailed diagnostics that are unavailable to end-users. At the same time, the release version should always be built with the same options as the pre-release version being tested. This means there should not be separate "end-user" and "debugging" flags for beta and RC versions.
Describe the solution you'd like Create a method for end-users to turn on debugging at runtime. Enabling debugging should:
- Be deliberately difficult (ie., a hidden "Advanced" menu, command-line flags such as '--debugging=on', etc.)
- Provide clear feedback to the user that debugging is enabled (ie., change the window border color, etc)
- Be non-persistent without additional options (ie., an additional step/checkbox/command-line option must be given in order to turn debugging on in ~/.captkrc so it is enabled upon launch)
- Provide clear information to the user about how to submit debugging data (upload to github, mail to captk-support@, etc)
- Not log any data that could possibly be PHI. This includes: filenames, directory paths, the name of a study or pipeline, etc. Each of those datatypes should be obfuscated in such a way that the user could provide more info to the developer as needed (ie., change each directory & filename in a path into the MD5 sum of the element, preserving the file extension. Enabling debugging should provide the user with a file with the correspondence between the obfuscated name and the original value. This key<=>value file should be clearly named and located in a directory other than the debugging log to be sent to the developers, in order to minimize the chance that it would be uploaded accidentally to Github.
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Additional context Add any other context or screenshots about the feature request here.