Google Code In 2017 Tasks
Interested Mentors
Please first fill out the Google form mentioned at the top of: Google Code In 2017 Mentors
Effort for a Task
- Each task is expected to take 3-5 hours of work to complete
- Students have at least 3 days to complete the task
Types of Tasks
There are 5 types of Code-in Tasks in general:
- Code
- Tasks related to writing or refactoring code
- Documentation/Training
- Tasks related to creating/editing documents and helping others learn more
- Outreach/Research
- Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
- Quality Assurance
- Tasks related to testing and ensuring code is of high quality
- User Interface
- Tasks related to user experience research or user interface design and interaction
Beginner Tasks
- A student can only complete a total of 2 beginner tasks
- Each OSGeo project should specify that a task is a beginner task by including "[BEGINNER]" at the end of the task name
Example Tasks
- Haiku project's 2016 tasks: https://codein.withgoogle.com/archive/2016/organization/5146925732986880/task/
- Haiku project's tasks in json format: https://raw.githubusercontent.com/pulkomandy/GCITool/master/tasks.json
- "Install and open project XXX and take a screenshot showing the interface, with your Code-in dashboard in the background"
- "Fix an issue in the tracker for project XXX [DIFFICULT]"
- "Present the project XXX to your class [BEGINNER]"
Project Tasks
- moved to private document on 2017-10-26
Bulk Uploading Tasks
Documentation
Steps
NOTE: the python scripts for bulk uploading are written for Python2, these steps below were adapted for Python3:
- git clone https://code.googlesource.com/codein/api api
- cd api
- check your Python version:
- python -V
- install module "requests" through easy_install or pip:
- easy_install requests
- (for Python3) in list_tasks.py change print command on line# 46 to
print ('\t'.join([str(t['id']), t['name']]))
- (for Python3) in csv_uploader.py change print command on line# 81 to
print ('\t'.join(['OK', str(t['id']), t['name'], ]))
- (for Python3) in csv_uploader.py change print command on line# 84 to
print ('\t'.join(['ERROR', , t['name'], e.response.text]))
- (for Python3) in client.py change instances of "urlparse" to "urllib.parse"
- export your tasks from the Google spreadsheet (assuming you created a new sheet in the shared doc spreadsheet_template_bulk) as CSV (File/Download as/CSV), but before that be sure to:
- make sure that the "categories" field is comma separated INTEGERs (see the "column definitions" sheet in spreadsheet_template_bulk)
- verify that your dashboard PROFILE email address is the EXACT same as what you entered in the "mentors" field in 'spreadsheet_template_bulk' (otherwise your uploaded tasks will have empty/missing mentor)
- see usage of list_tasks.py
- python list_tasks.py --help
- get a list of tasks at commandline
- python list_tasks.py --apikey [OSGeoKey]
- should return something like:
5126447435874304 gvSIG: Make a video for downloading, uncompressing and launching gvSIG BATOVí. 5172599543824384 gvSIG: Install Educational Games add-on on gvSIG BATOVí. 5702068213907456 MapServer: Find and fix mistakes/urls on mapserver.org 5723293673848832 gvSIG: Make a video of trying the game demo of Uruguay included in Educational Games add-on. 5761046167945216 gvSIG: Give a talk about gvSIG BATOVí to classmates. 5762611012435968 MapServer: Design a laptop sticker
5765029615894528 MapServer: Install MS4W on a Windows machine, and take screenshot