13 augustus 2015

Maak een Dropbox in je Google Drive

Je wilt je leerlingen digitaal werk laten inleveren, maar dat niet allemaal in je mailbox ontvangen? Dan kun je er via een webformulier voor zorgen dat ze het direct bij jou in een Google Drive map plaatsen!

Leerlingen vullen in het webformulier naam en e-mail adres in, kiezen een bestand en klikken op Uploaden. Ze hoeven geen Google account te hebben of in te loggen!

Maak een kopie van dit script.
Make a copy of the English version.
Het script bevat 2 bestanden en in beide zul je een paar zaken willen aanpassen. In het bestand server.js kun je de naam van de map aangeven waarin je de bestanden geplaatst wilt hebben.  De code in dat bestand zorgt er ook voor dat jij zelf en de verzender allebei een mailtje ontvangen. Het bestand form.html bevat de lay-out van het webformulier en ook daar kun je de teksten en eventueel de link naar een ander plaatje aanpassen. Bekijk ook de screencast!

Implementeren als web-app
Als je dat gedaan hebt kies je voor: Publiceren, Implementeren als web-app... Als je dingen veranderd hebt moet je bij Projectversie kiezen voor Nieuw en een beschrijving invullen. Bij De app uitvoeren onder laat je je gebruikersnaam staan en bij Wie heeft toegang tot de app vul je in: iedereen, zelfs anonieme gebruikers. Klik tenslotte op Implementeren. Je moet de app autorizeren en krijgt dan de url aangeboden van het webformulier. Die url kan je eventueel verkorten en vervolgens delen met je leerlingen.

Je kunt eventueel voor iedere groep die je hebt een andere map in Google Drive aanmaken met een bijbehorend formulier. Vind je het niet nodig dat jij en?of de verzender een mailtje krijgt, dan kun je dat stukje code verwijderen. Vergeet niet na iedere mutatie die je doet aan het script opnieuw te kiezen voor Publiceren, Implementeren als web-app...

Pas op:
Eén waarschuwing is op zijn plaats. Zet de url van het webformulier niet zo maar publiek, want iedereen kan het dus gebruiken en jou bombarderen met gigantisch veel bestanden! Dat is ook de reden dat ik het mailbericht heb toegevoegd aan het script, zodat je een seintje krijgt als er iets binnenkomt. Zet het script bijvoorbeeld in dezelfde map als waar de bestanden komen te staan. Heb je het niet meer nodig, schakel de web-app dan uit.

Het script heb ik gevonden bij The Gooru, vertaald en verder uitgebreid. Kom je er niet uit met deze instructie? Laat het me weten en ik maak even een screencast!
Met dank aan Michael Price, Douglas Saunders en Amit Agarwal voor alle stukjes code waar ik uit geput heb...

13 opmerkingen:

  1. Hoi Wim,

    het zou fijn zijn als je er ook een screencast van maakt. Ik kom er niet uit. Mooi App-je !!

    BeantwoordenVerwijderen
  2. Hallo Willem,
    Mooie applicatie, maar voor scholen die "Google Apps for Education" gebruiken, kun je veel gemakkelijker "Google Classroom" gebruiken. Daar zit deze functionaliteit (en meer!) óók in.

    BeantwoordenVerwijderen
    Reacties
    1. Helemaal mee eens Jaap, maar helaas zijn er (nog) veel scholen die die stap niet durven te maken. Voor de docenten die daar werken kan dit dan een uitkomst zijn...

      Verwijderen
  3. Ik heb hem ook draaien, bedankt voor het script!

    BeantwoordenVerwijderen
  4. Bedankt! Hoe zorg ik ervoor dat die dropbox in een andere map wordt aangemaakt (ik verzin maar iets: Werk\Klas 3\Boekverslagen) in plaats van direct 'bovenaan'?

    BeantwoordenVerwijderen
  5. Hallo Nils,
    Bedankt voor je reactie. Het antwoord op je vraag staat in de tekst hoor:
    "In het bestand server.js kun je de naam van de map aangeven waarin je de bestanden geplaatst wilt hebben."

    BeantwoordenVerwijderen
    Reacties
    1. Ah, sorry. Lezen is, ook voor een docent Nederlands blijkbaar, moeilijk ;)

      Verwijderen
    2. Dag Willem,

      Ik heb de dropbox meteen ingezet in de lessen. Werkt goed!

      Nog een vraag: op dit moment heb ik het bevestigingsbericht voor de leerlingen uitgezet, omdat dat via mijn privé-mailadres gestuurd wordt. Is er een manier om het bevestigingsbericht aan de leerlingen van een ander e-mailadres te laten komen dan het geautoriseerde account (of bijvoorbeeld via een soort noreply-adres of een replyto-adres)?

      Verwijderen
    3. Hallo Nils,
      Van een ander e-mail adres laten komen zal niet gaan. Wel is het mogelijk een replyto adres op te nemen, maar daarvoor moet ik dan even in de code duiken.
      Even zien of ik daar tijd voor kan maken...

      Verwijderen
    4. Hallo Nils,
      Ik heb de code uitgebreid met de mogelijkheid een replyTo adres in te vullen!

      Verwijderen