Difference between revisions of "Summer Milestone 10 lucamatsumoto Macro Work Submission"

From crowdresearch
Jump to: navigation, search
Line 3: Line 3:
 
This is the rough design idea of the page to submit works for macro tasks.  
 
This is the rough design idea of the page to submit works for macro tasks.  
  
=== Macro Work v.s. Micro Work ===
+
=== Design Considerations ===
What is the difference between macro and micro work? Although they are not fundamentally different, I would imagine,
+
* Since macro tasks take longer time than micro tasks, the result document may be a lot longer, and it may have a complex format. It will be in binary format like PDF, or application specific files such as doc, ppt, xls, mp3 etc.
+
* Requesters may or may not know how many files workers will create. For example, if the task is programming in Java, the number of source codes and their names may vary.
+
* Requesters may want to specify file name patterns in some cases.
+
  
=== Features for Macro Work Submission ===
+
:;Macro Work v.s. Micro Work
* Upload binary file(s)
+
::What is the difference between macro and micro work? Although they are not fundamentally different, I would imagine,
* Use the file names given by workers
+
::* Since macro tasks take longer time than micro tasks, the result document may be a lot longer, and it may have a complex format. It will be in binary format like PDF, or application specific files such as doc, ppt, xls, mp3 etc.
* Requester can specify file naming convention
+
::* Requesters may or may not know how many files workers will create. For example, if the task is programming in Java, the number of source codes and their names may vary.
* Google Drive/Drop Box integration
+
::* Requesters may want to specify file name patterns in some cases.
 +
::* How do requesters get the files submitted by workers? Download manually from our site, or should we provide a convenient way?
 +
 
 +
:;Features for Macro Work Submission
 +
 
 +
::* Upload binary file(s)
 +
::* Use the file names given by workers
 +
::* Requester can specify file naming convention
 +
::* Requester Google Drive/Drop Box integration to get the files (nice to have?)
  
 
=== Page Designs ===
 
=== Page Designs ===
The following are the design ideas. It doesn't show all the features listed above.
+
:The following are the page design ideas. It doesn't include all the features listed above.
 +
<br/>
  
'''Option 1: Add "file upload form" to the prototype page'''
+
:'''Option 1: Add "file upload form" to the prototype page'''
  
: [[File:PrototypeWithUpload.png]]
+
:If we have "file upload form" in our template, we can create a prototype page like this.
 +
:: [[File:PrototypeWithUpload.png]]
  
  
'''Option 2: Create a new page to upload multiple files'''
+
:'''Option 2: Create a new page to upload multiple files'''
  
: [[File:SubmitWork.png]]
+
:To submit many files at one time with comments, we can add a page like this.
 +
:: [[File:SubmitWork.png]]
  
 
=== Open Questions ===
 
=== Open Questions ===
1. Google Drive/Drop Box Integration
+
1. Google Drive/Drop Box Integration (nice to have feature?)
: I believe the files should be uploaded to Google Drive/Drop Box thru Daemo. If we allow workers to upload files directly to Google Drive/Drop Box, we can't keep track of the work submission.
+
: Requesters may want to receive the work files in their Google Drive/Drop Box folder. If so, the files should not be uploaded to Google Drive/Drop Box directly. It should be done through Daemo. If we allow workers to upload files directly to Google Drive/Drop Box, we can't keep track of the work submission.
  
2. How long should we keep the files
+
2. How long should we keep the files?
 
: If we store uploaded files in our database, it will eat up the storage space. Should we ask requesters to download the files and remove them from our storage after a while?
 
: If we store uploaded files in our database, it will eat up the storage space. Should we ask requesters to download the files and remove them from our storage after a while?
  
Line 37: Line 44:
 
----
 
----
 
----
 
----
==== Need more time to design... ====
+
<br/>
 +
Below is just for my memo. I need to think more on these.
  
The followings are just for my memo. I need to think more on these.
+
=== Data Model ===
  
=== URL ===
+
Current TaskWorkResult model is like this.
  
  Page URL: /work/
+
  TaskWorkerResult
API URL:  /api/work/
+
    task_worker = ForeignKey
 +
    result = TextField
 +
    template_item = ForeignKey
 +
    statuses = ((1, 'Created'),(2, 'Accepted'),(3, 'Rejected'))
 +
    status = IntegerField
  
=== Data Model ===
+
It has just one TextField for result. We need a way to associate multiple files to the TaskWorkResult.
  
 
  Work
 
  Work
Line 54: Line 66:
 
     file_count    IntegerField
 
     file_count    IntegerField
 
      
 
      
* The file count field is to keep the number of files originally uploaded. This may be useful because the files may be deleted or lost after we upload them to the destination site.
+
The file count field above is to keep the number of files originally uploaded. This may be useful because the files may be deleted later or requesters my lose them after moving them to Google Drive/Drop Box.
  
 
  WorkFiles
 
  WorkFiles
Line 60: Line 72:
 
     work      ForeignKey (id) -> Work
 
     work      ForeignKey (id) -> Work
 
     link      TextField (or URLField)
 
     link      TextField (or URLField)
 +
 +
=== URL ===
 +
 +
Page URL: /work/
 +
API URL:  /api/work/

Revision as of 09:24, 31 July 2015

Macro Work Submission Page

This is the rough design idea of the page to submit works for macro tasks.

Design Considerations

Macro Work v.s. Micro Work
What is the difference between macro and micro work? Although they are not fundamentally different, I would imagine,
  • Since macro tasks take longer time than micro tasks, the result document may be a lot longer, and it may have a complex format. It will be in binary format like PDF, or application specific files such as doc, ppt, xls, mp3 etc.
  • Requesters may or may not know how many files workers will create. For example, if the task is programming in Java, the number of source codes and their names may vary.
  • Requesters may want to specify file name patterns in some cases.
  • How do requesters get the files submitted by workers? Download manually from our site, or should we provide a convenient way?
Features for Macro Work Submission
  • Upload binary file(s)
  • Use the file names given by workers
  • Requester can specify file naming convention
  • Requester Google Drive/Drop Box integration to get the files (nice to have?)

Page Designs

The following are the page design ideas. It doesn't include all the features listed above.


Option 1: Add "file upload form" to the prototype page
If we have "file upload form" in our template, we can create a prototype page like this.
PrototypeWithUpload.png


Option 2: Create a new page to upload multiple files
To submit many files at one time with comments, we can add a page like this.
SubmitWork.png

Open Questions

1. Google Drive/Drop Box Integration (nice to have feature?)

Requesters may want to receive the work files in their Google Drive/Drop Box folder. If so, the files should not be uploaded to Google Drive/Drop Box directly. It should be done through Daemo. If we allow workers to upload files directly to Google Drive/Drop Box, we can't keep track of the work submission.

2. How long should we keep the files?

If we store uploaded files in our database, it will eat up the storage space. Should we ask requesters to download the files and remove them from our storage after a while?

END




Below is just for my memo. I need to think more on these.

Data Model

Current TaskWorkResult model is like this.

TaskWorkerResult
    task_worker = ForeignKey
    result = TextField
    template_item = ForeignKey
    statuses = ((1, 'Created'),(2, 'Accepted'),(3, 'Rejected'))
    status = IntegerField

It has just one TextField for result. We need a way to associate multiple files to the TaskWorkResult.

Work
    id             AutoField
    task           ForeignKey (id) -> Task
    comment        TextField
    file_count     IntegerField
    

The file count field above is to keep the number of files originally uploaded. This may be useful because the files may be deleted later or requesters my lose them after moving them to Google Drive/Drop Box.

WorkFiles
    id        AutoField
    work      ForeignKey (id) -> Work
    link      TextField (or URLField)

URL

Page URL: /work/
API URL:  /api/work/