I support this feature request, because I feel especially a copy to clipboard button would be very nice. However, I have some concerns with respect to request "Additionally I would like a button for uploading a text-based file such as a Notebook".
My concerns
I am against sharing "raw" (unconverted, including a lot of Box
expressions) notebook files on the site without warning, as they can contain malicious code in many unexpected ways.
For me, the main difference between sharing notebook files directly and using the SETools is in what a user can reasonably expect. I feel that the security measures for notebook files often not match reasonable expectations, in the case of Import
, the handling of dynamic content and the possibility of invisible code.
For example, it is safe to get a Notebook
expression using the SETools, but using Import
on a notebook file is not, even though the result is similar. If you deliver somebody a Notebook
expression wrapped in HoldComplete
, at least they have to know what they are doing before they can use it as a notebook in the Front End. When using the SETools, it is clear that an image can contain any expression. When you see the head is Notebook
, it is easy to imagine that somebody simply used the head Notebook
and put malicious code inside, so that you at least expect the danger.
Conclusion
I would be in favor of editing the request by Mr.Wizard in either one of the following ways.
Removing the request for notebook file handling.
Adding an explicit request for a warning dialogue when downloading notebooks. Possibly the dialogue could contain a link that we supply to information on how to safely handle untrusted notebooks.
Import["nb.nb", "Elements"]
is not safe, maybe I should report.