New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Media Drag and Drop #763

Closed
wants to merge 9 commits into
base: master
from

Conversation

Projects
None yet
8 participants
@aaosuarez
Contributor

aaosuarez commented May 3, 2016

6.UAP Project: Media Usability
Implemented Moxieapp's Uploader to allow users to drag and drop files when uploading media assets to their project.
@halatmit @afmckinney @jisqyv

jisqyv and others added some commits Aug 7, 2015

Special Debug Hack
One Language (and only Chrome) and add “GO” button to emulator
starting buttons. Also use the "std" GWT linker

Change-Id: I6fa147ccd86f5ab7215331153643f037c0ba902e
Start of incoporating new Drag and Drop uploader. Imported module and…
… began DNDFileUploadWizard.java. Currently throws error when attempting to upload a file
Completed Drag and Drop interface. Currently supports single file upl…
…oad, but maintained some code to handle multiple files.
Revert "Special Debug Hack"
This reverts commit 4955775.

@josmas josmas referenced this pull request May 3, 2016

Open

Media Preview #764

@@ -379,6 +379,7 @@
<pathelement location="${lib.dir}/guava/guava-18.0.jar" />
<pathelement location="${lib.dir}/gwt_dragdrop/gwt-dnd-3.2.3.jar" />
<pathelement location="${lib.dir}/gwt_incubator/gwt-incubator-20101117-r1766.jar" />
<pathelement location="${lib.dir}/moxieapps/org.moxieapps.gwt.uploader-1.1.0.jar" />

This comment has been minimized.

@jisqyv

jisqyv May 3, 2016

Member

What is "moxieapps" (I just don't know). Is it being maintained? Is source available? Will this cause us issues later when we need/want to upgrade GWT? (OK. I found the source [its in the jar], but this code looks very old...)

This comment has been minimized.

@aaosuarez

aaosuarez May 3, 2016

Contributor

It's from Moxie Group (http://www.moxiegroup.com/moxieapps/gwt-uploader/). The Uploader is open-source, released in 2012 and updated then. I used it because it makes handling files simpler and can be built upon. Do you think having old code is a big enough issue to warrant holding off on this feature?

This comment has been minimized.

@jisqyv

jisqyv May 4, 2016

Member

I'm concerned that a version of GWT in the future will be incompatible with this code. It is already 4 years old. I would rather not have this functionality, then have it and then have to remove it later.

This comment has been minimized.

@halatmit

halatmit May 4, 2016

Contributor

Is there an alternative library?

== Hal Abelson
hal@mit.edu
Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.

On Tue, May 3, 2016 at 8:26 PM, Jeffrey Schiller notifications@github.com
wrote:

In appinventor/appengine/build.xml
#763 (comment)
:

@@ -379,6 +379,7 @@


  •    <pathelement location="${lib.dir}/moxieapps/org.moxieapps.gwt.uploader-1.1.0.jar" />
    

I'm concerned that a version of GWT in the future will be incompatible
with this code. It is already 4 years old. I would rather not have this
functionality, then have it and then have to remove it later.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/763/files/86c34d8bd5ec0b175a3b287035c4c6ceef7aeed8#r61978088

This comment has been minimized.

@aaosuarez

aaosuarez May 4, 2016

Contributor

I've found other GWT libraries (e.g. https://github.com/fredsa/gwt-dnd) but I used the Moxie uploader because it had clearer documentation and seemed to have more capability for future work. At this point, I'm starting my usability tests today so I can't switch this out. Would it be okay to test the impact of drag and drop to see if it is worth implementing with another library or from scratch?

@@ -63,7 +64,7 @@ public AssetList() {
@Override
public void onClick(ClickEvent event) {
if (assetsFolder != null) {
FileUploadWizard uploader = new FileUploadWizard(assetsFolder);
DNDFileUploadWizard uploader = new DNDFileUploadWizard(assetsFolder);

This comment has been minimized.

@jisqyv

jisqyv May 3, 2016

Member

Is FileUploadWizard still in use? Where? If not, shouldn't it be removed by this change?

This comment has been minimized.

@aaosuarez

aaosuarez May 3, 2016

Contributor

Yes, the normal FileUploadWizard is used to upload projects and in the Properties panel.

import com.google.gwt.event.dom.client.*;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.*;

This comment has been minimized.

@jisqyv

jisqyv May 3, 2016

Member

Please use explicit imports, none with "*"

This comment has been minimized.

@aaosuarez

aaosuarez May 3, 2016

Contributor

Will do!

@jisqyv

This comment has been minimized.

Member

jisqyv commented May 3, 2016

@a-suarez Please answer line comments...

@jisqyv

This comment has been minimized.

Member

jisqyv commented May 17, 2016

Andrew and I have discussed this and we'll go with the moxieapps library. I just need to do some testing and I'll give this a thumbs up once I complete my testing.

@afmckinney

This comment has been minimized.

Contributor

afmckinney commented May 24, 2016

Tested but need to handle a few conner cases I'll fix and move to gerrit.

@afmckinney afmckinney added this to the Hot List (AFM) milestone Dec 7, 2016

@afmckinney

This comment has been minimized.

Contributor

afmckinney commented Dec 7, 2016

Will look at again and make decision. Worried about dependency on non maintained JS package.

@@ -2301,3 +2301,28 @@ textarea::-webkit-input-placeholder {
height: 0;
clear: both;
}
.

This comment has been minimized.

@mjgallag

mjgallag Feb 20, 2017

Contributor

@aaosuarez i'm guessing this period is a typo?

This comment has been minimized.

@aaosuarez

aaosuarez Feb 21, 2017

Contributor

Yes, I'd say so.
Good catch! Not sure how that got in.

@ewpatton

This comment has been minimized.

Member

ewpatton commented Dec 14, 2017

I have a version that uses the native HTML5 drag and drop support that supersedes this implementation.

@ewpatton ewpatton closed this Dec 14, 2017

@moliata

This comment has been minimized.

Contributor

moliata commented Dec 14, 2017

@ewpatton this should be left working and merged. Only a few browsers has HTML5 drag and drop support, this PR is better + already tested by millions of users, using distro's like Makeroid/Thunkable, etc...

@ewpatton

This comment has been minimized.

Member

ewpatton commented Dec 14, 2017

@moliata
First, according to MDN, HTML5 drag and drop has been supported in Chrome since verrsion 4, Firefox since version 3.5, and Safari since version 3.1. It's even supported in IE 10 and Opera 12, so I must respectfully disagree that only a few browsers support it.

Second, based on our monthly numbers and assuming that (1) every App Inventor derivative had the monthly numbers we have, (2) every one of those users was distinct on each platform, and (3) everyone used this feature if available, I would accept your claim that it has been tested by millions of people. However, I find all of these premises to be highly unlikely.

My implementation encompasses more behavior, such as drag and drop support for projects and extensions. It is also done in pure JavaScript so that we can integrate it with future versions of App Inventor that rely less on GWT for UI.

@moliata

This comment has been minimized.

Contributor

moliata commented Dec 14, 2017

@ewpatton I agree with point that, it would be greater to rely on GWT for UI less, but we need to make some kind of a workaround for IE 7-10 version browsers. As of my research, a lot of users are still using just IE 8, that would be a headache for them, even my neighbor is using IE 8 still. Best regards.

@ewpatton

This comment has been minimized.

Member

ewpatton commented Dec 14, 2017

App Inventor's policy has been that we do not support IE, so that's not a dealbreaker for us.

@moliata

This comment has been minimized.

Contributor

moliata commented Dec 14, 2017

@ewpatton never heard of that.

@kkashi01

This comment has been minimized.

Contributor

kkashi01 commented Dec 15, 2017

@ewpatton If your version supports multi-file, that'll be great. We have incorporated this into AppyBuilder, but it only allows for single-file add.

@ewpatton

This comment has been minimized.

Member

ewpatton commented Dec 15, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment