CN-TU / nta-meta-analysis

Creative Commons Attribution 4.0 International
8 stars 4 forks source link

Papers with 0 active/idle timeout #28

Closed dcferreira closed 6 years ago

dcferreira commented 6 years ago

Many papers have 0 as a value for the active timeout or the idle timeout fields. I believe most of these are from the editor having default value 0, and the curator forgetting to change it.

The following have 0 active timeout:

v2_papers/2002/barford_signal.json
v2_papers/2012/zhang_unsupervised.json
v2_papers/2012/jin_modular.json
v2_papers/2008/nychis_anempirical.json
v2_papers/2007/ermann_offline.json
v2_papers/2007/liu_network.json
v2_papers/2007/crotti_traffic.json
v2_papers/2009/este_support.json

The following have 0 idle timeout:

v2_papers/2016/anderson_identifying-encrypted.json
v2_papers/2012/zhang_unsupervised.json
v2_papers/2012/jin_modular.json
v2_papers/2017/iglesias_pattern-discovery.json
v2_papers/2008/nychis_anempirical.json
v2_papers/2007/ermann_offline.json
v2_papers/2007/liu_network.json
v2_papers/2007/crotti_traffic.json
v2_papers/2009/este_support.json
v2_papers/2005/lakhina_mining.json

We need to decide 2 things:

dcferreira commented 6 years ago

I just realized we already have a default value defined by the specification: https://nta-meta-analysis.readthedocs.io/en/latest/global.html It should be null.

Meaning, we need to change the existing 0s to null (after verifying that they are indeed wrong), and update the editor to output null when no human input existed.

notti commented 6 years ago

Hmm that's bad, since then the schema is wrong (e.g. null is not allowed for active_timeout in the current schema). So I would advice against changing it to null before changing the schema. The null in the editor without human input doesn't need a change in the editor - this would already work right now if the schema adds a null type and uses default: null I think this schema change would be a good idea + your proposal for changing the 0 to null, then we would match the documentation.

dcferreira commented 6 years ago

Agree on the schema change. However, I guess if the default is null, the editor would show null and then the curator would have to manually change the field type before writing the number. Would it be somehow possible that the curator has less work (as in, no need to change field type before writing the value), but that the output value would still be null if no interaction with the field occurred?

notti commented 6 years ago

Agree on the schema change. However, I guess if the default is null, the editor would show null and then the curator would have to manually change the field type before writing the number.

correct.

Would it be somehow possible that the curator has less work (as in, no need to change field type before writing the value), but that the output value would still be null if no interaction with the field occurred?

Hmm, well that would sound confusing from an UI perspective. What is intraction? Click on it? Tab-focus? What happens on accidental click? We actually already have this right now, with the field being optional, but right now every field is on by default. Maybe we can come up with something better there, but I'm not sure how or what.

dcferreira commented 6 years ago

I'd define interaction as editing the field. This would need to include changing the field type (e.g., for missing).

Then in a more general sense, would it be reasonably possible to have all optional fields only save value when they have been edited? Or maybe even all fields?

notti commented 6 years ago

Hmm, yes, we could do that. Although for boolean fields this might pose some problems if you want false, but this could be solved with tri-states, where you have to click on it one time to get false and a second time to get true. The question now would be how to get back to that undefined state. Or should that be impossible?

This change sounds extensive and might take a bit of time, but definitely possible.

dcferreira commented 6 years ago

If possible, clicking 3 times would go from undefined to undefined. I think this is the simplest way to do it.

notti commented 6 years ago

Editor is updated (not yet released):

-> Now every field is visible all the time, but empty fields disappear on save

Looks like this: editor