easier file upload with drag & drop and/or copy & paste
Description
The uploading of files is not as intuitive and fast as it could be. You have to open a file requester to fill a binary field and to create an attachment you first have to open the attachment window and deal with the attachment user interface. The file must be saved somewhere in your filesystem - you can not access something inside a program like an attachment in thunderbird mail or an image in the webbrowser.
In our business case we create a lot of orders that are coming by mail. Our customers use different file types. A lot are voice files (our phone system converts incoming mailbox calls to emails), but we have also pdfs, xls files or plain emails. Our call center agents use these mails to create a sales order document. At the end it would be nice if we can save the original file as an attachment to the sales order for later reference. If there is some question or consultation needed it is always a good idea to have the customer's own original order at hand.
My idea is to allow Drag&Drop or Copy&Paste inside idempiere, I am open to ideas how exactly it is done and like to discuss that here. My ideas are:
A binary field (like the image field in the User Window) can be a dropzone to fill that field.
The whole record area can be a dropzone for attachments. If that is not possible for some reasons we can have a dedicated dropzone - for example the attachment toolbar button.
Ctrl-V can check if the clipboard has an binary or a text and in case of a binary file it can save it as an attachment into the active record.
What I already found out:
1. zk Dropuload
There is a dropupload element in zk but it is available only in zk EE (the paid version) https://www.zkoss.org/wiki/ZK_Component_Reference/Essential_Components/Dropupload. zk offers a special license for open source projects (zol). I found a discussion of the idempiere community here: https://groups.google.com/forum/#!msg/idempiere/-9-QRzWeJwU/LRibgxRtnnEJ As we are not allowed to distribute the source code (because of the zul license) in our free repository that would lead to an external plugin. This pluig is free code and it is allowed for the users to download the binary zk-ee library to make it work.
IMHO that situation is not satisfactory for our project. I like to look for alternative ways.
2. do it yourself
There are other libraries that allow dropupload - like dropzone.js. I am not experienced enough in zk programming to know if we can just use that and create a small dropzone widget somewhere andallow to combine that with the zk code. I like to get comments from more experienced persons.
3. Copy & Paste
In modern times browsers allow copy & paste for Web applications in a very comfortable way. ONe example is JIRA. I can make a screenshot into the clipboard and include it in a JIRA ticket just by pressing Ctrl-V. Is that possible in zk?
Closing as potential idea after > 2 years of inactivity.
Idea is interesting, please reopen if somebody wants to implement it.
Hiep Lq
January 14, 2018 at 4:20 PM
Hi
2. "if we can just use that and create a small dropzone widget somewhere andallow to combine that with the zk code" yes, it's seamless to wrap other javascript library to zk library, or just direct include it to page
The uploading of files is not as intuitive and fast as it could be. You have to open a file requester to fill a binary field and to create an attachment you first have to open the attachment window and deal with the attachment user interface. The file must be saved somewhere in your filesystem - you can not access something inside a program like an attachment in thunderbird mail or an image in the webbrowser.
In our business case we create a lot of orders that are coming by mail. Our customers use different file types. A lot are voice files (our phone system converts incoming mailbox calls to emails), but we have also pdfs, xls files or plain emails. Our call center agents use these mails to create a sales order document. At the end it would be nice if we can save the original file as an attachment to the sales order for later reference. If there is some question or consultation needed it is always a good idea to have the customer's own original order at hand.
My idea is to allow Drag&Drop or Copy&Paste inside idempiere, I am open to ideas how exactly it is done and like to discuss that here. My ideas are:
A binary field (like the image field in the User Window) can be a dropzone to fill that field.
The whole record area can be a dropzone for attachments. If that is not possible for some reasons we can have a dedicated dropzone - for example the attachment toolbar button.
Ctrl-V can check if the clipboard has an binary or a text and in case of a binary file it can save it as an attachment into the active record.
What I already found out:
1. zk Dropuload
There is a dropupload element in zk but it is available only in zk EE (the paid version) https://www.zkoss.org/wiki/ZK_Component_Reference/Essential_Components/Dropupload. zk offers a special license for open source projects (zol). I found a discussion of the idempiere community here: https://groups.google.com/forum/#!msg/idempiere/-9-QRzWeJwU/LRibgxRtnnEJ As we are not allowed to distribute the source code (because of the zul license) in our free repository that would lead to an external plugin. This pluig is free code and it is allowed for the users to download the binary zk-ee library to make it work.
IMHO that situation is not satisfactory for our project. I like to look for alternative ways.
2. do it yourself
There are other libraries that allow dropupload - like dropzone.js. I am not experienced enough in zk programming to know if we can just use that and create a small dropzone widget somewhere andallow to combine that with the zk code. I like to get comments from more experienced persons.
3. Copy & Paste
In modern times browsers allow copy & paste for Web applications in a very comfortable way. ONe example is JIRA. I can make a screenshot into the clipboard and include it in a JIRA ticket just by pressing Ctrl-V. Is that possible in zk?