CDAT / cdat

Community Data Analysis Tools
Other
175 stars 68 forks source link

cdat_info.ping causing script to bomb #271

Closed durack1 closed 11 years ago

durack1 commented 11 years ago

Allow anonymous logging usage to help improve UV-CDAT? [yes/no]Traceback (most recent call last): File "/work/cmip5/make_cmip5_xml.py", line 281, in import cdms2 as cdm File "/usr/local/uvcdat/latest/lib/python2.7/site-packages/cdms2/init.py", line 5, in cdat_info.pingPCMDIdb("cdat","cdms2") File "/usr/local/uvcdat/latest/lib/python2.7/site-packages/cdat_info.py", line 85, in pingPCMDIdb cdat_info.askAnonymous(val) File "/usr/local/uvcdat/latest/lib/python2.7/site-packages/cdat_info.py", line 56, in askAnonymous val2 = raw_input("Allow anonymous logging usage to help improve UV-CDAT? [yes/no]") EOFError: EOF when reading a line

doutriaux1 commented 11 years ago

It's per design. The user HAS to answer ONCE (only once) yes or no. Alternatly you can set your UVCDAT_ANONYMOUS_LOG environment to yes or no I wil ledit the message to reflect that piece of info.

doutriaux1 commented 11 years ago

in devel

durack1 commented 11 years ago

I'd recommend a timeout with this new and any future new functionality, so that if a user doesn't respond to this query (or if the script is automated - as this cron job is) rather than bombing, the software just defaults to yes (or no) and continues to operate as it always has - backward compatibility!

aashish24 commented 11 years ago

I like this idea +1

doutriaux1 commented 11 years ago

yes but no. @aashish24 remember @williams13 said we have to have the user pick something. it's a one time thing that will not appear again in subsequent version since it wil have been taken care of.

aashish24 commented 11 years ago

I see. So auto picked after 30 seconds or so is not legally right? That may be, I am not sure.

doutriaux1 commented 11 years ago

maybe legally right but only if the default is "no" and @williams13 and I didn't want to default to "no"

aashish24 commented 11 years ago

I see. In that case we can't do this unless @williams13 changes his opinion. Thanks for the clarification.

durack1 commented 11 years ago

Just have a timeout (30 secs), and then default to "yes" with an appropriate message. That's being honest enough, isn't it?

"Allow anonymous logging usage to help improve UV-CDAT? [yes/no]" 30 second wait ... "Default behavior selected: Anonymous usage logging has been enabled to help improve UV-CDAT?\n To change this logging behavior, edit .. or issue command $$ .."

In my case, then I'd have the answer in the log (if i ever bothered to read them), so you're reporting the behavior to the user and therefore the user can't complain.. right?

durack1 commented 11 years ago

This might be relevant background reading, and I'd assume that it'll point to some legal ease somewhere:

http://programmers.stackexchange.com/questions/87920/is-tracking-software-usage-illegal


This sort of feature is done with many Microsoft products, and usually is called "customer experience improvement program". The important things are to tell customers what it does and to give them an option to turn it off. Give system administrators a way to disable (or enable) it via group policy. Here are 2 example web pages that describe the MS one: http://www.microsoft.com/products/ceip/en-us/default.mspx http://technet.microsoft.com/en-us/library/cc766341%28WS.10%29.aspx


So in the above (default = on) response, you could just include a URL with a spiel about what is tracked (and that then keeps things up-to-date as functionality logging changes in time), how it's anonymous etc and then also allow a user to turn things off as part of the URL (and the logged reply)

doutriaux1 commented 11 years ago

it's open source @durack1 feel free to improve ;)