Difference between revisions of "Google Code In 2019 Tasks"
Jump to navigation
Jump to search
Vrautenbach (talk | contribs) (Created page with "Category:Google Code In") |
Camerongreen (talk | contribs) |
||
Line 1: | Line 1: | ||
+ | <center> | ||
+ | [[Image:GCI-logo.jpg|400px|link=https://developers.google.com/open-source/gci/]] <font size="+3"> @ </font> [[Image:Osgeo-logo.png|300px|link=http://www.osgeo.org]] | ||
+ | </center> | ||
+ | |||
+ | = Interested Mentors = | ||
+ | |||
+ | Please '''first fill out the Google form''' mentioned at the top of: [[Google Code In 2018 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 | ||
+ | ;Design | ||
+ | : 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 = | ||
+ | |||
+ | * OSGeo's 2017 tasks: https://codein.withgoogle.com/archive/2017/organization/5168183002529792/task/ | ||
+ | * 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 = | ||
+ | |||
+ | * see shared spreadsheet on Google Drive | ||
+ | |||
+ | = Bulk Uploading Tasks = | ||
+ | |||
+ | '''Documentation''' | ||
+ | |||
+ | * [https://code.googlesource.com/codein/api API] | ||
+ | |||
+ | '''Prep''' | ||
+ | |||
+ | NOTE: the python scripts for bulk uploading are written for Python2, but the instructions below should work for both Python2 & 3: | ||
+ | |||
+ | # git clone https://code.googlesource.com/codein/api api | ||
+ | # cd api | ||
+ | # check your Python version: | ||
+ | #* <code>python -V</code> | ||
+ | # install module "requests" through easy_install or pip: | ||
+ | #* <code>easy_install requests</code> | ||
+ | #* <code>pip install requests</code> | ||
+ | # for Python2, no more changes are needed, proceed to next sections below (export tasks, or list tasks, or upload tasts, etc) | ||
+ | # for Python3, make the following changes: | ||
+ | #* in ''list_tasks.py'' change print command on line# 45 to | ||
+ | #** <code>print ('\t'.join([str(t['id']), t['name']]))</code> | ||
+ | #* in ''list_tasks.py'' convert to an int on line# 52 to | ||
+ | #** <code>next_page = int(result.group(1))</code> | ||
+ | #* in ''csv_uploader.py'' change line# 64 to | ||
+ | #** <code>with open(filename, 'rt') as csvfile:</code> | ||
+ | #* in ''csv_uploader.py'' change print command on line# 83 to | ||
+ | #** <code>print ('\t'.join(['OK', str(t['id']), t['name'], '']))</code> | ||
+ | #* in ''csv_uploader.py'' change print command on line# 86 to | ||
+ | #** <code>print ('\t'.join(['ERROR', '', t['name'], e.response.text]))</code> | ||
+ | #* in ''client.py'' change instances of "urlparse" to "urllib.parse" | ||
+ | |||
+ | '''Export CSV''' | ||
+ | |||
+ | * export your tasks from the Google spreadsheet (assuming you created a new sheet in the shared doc ''Code-in Bulk Upload Spreadsheet'') 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 ''Code-in Bulk Upload Spreadsheet'') | ||
+ | ** verify that your dashboard '''PROFILE email address''' is the EXACT same as what you entered in the '''"mentors" field''' in 'Code-in Bulk Upload Spreadsheet' (otherwise your uploaded tasks will have empty/missing mentor) | ||
+ | |||
+ | '''List Tasks through Commandline''' | ||
+ | |||
+ | # see usage of list_tasks.py | ||
+ | #* <code>python list_tasks.py --help</code> | ||
+ | # get a list of tasks at the commandline | ||
+ | #* <code>python list_tasks.py --apikey [OSGeoKey]'''</code> | ||
+ | #** should return something like: | ||
+ | <pre> | ||
+ | 5126447435874304 gvSIG: Make a ..... | ||
+ | 5172599543824384 gvSIG: Install..... | ||
+ | 5702068213907456 MapServer: Find and fix .... | ||
+ | 5723293673848832 gvSIG: Make a .... | ||
+ | 5761046167945216 gvSIG: Give a talk about .... | ||
+ | 5762611012435968 MapServer: Design a .... | ||
+ | 5765029615894528 MapServer: Install .... | ||
+ | </pre> | ||
+ | |||
+ | '''Upload Tasks through Commandline''' | ||
+ | |||
+ | # see usage of csv_uploader.py | ||
+ | #* <code>python csv_uploader.py --help</code> | ||
+ | # upload your csv at the commandline | ||
+ | #* <code>python csv_uploader.py -v --apikey [OSGeoKey] project-tasks.csv</code> | ||
+ | #** should return something like: | ||
+ | <pre> | ||
+ | OK 6030299680997376 MapServer: Give a .... | ||
+ | OK 5944469725642752 MapServer: Make a .... | ||
+ | OK 5765029615894528 MapServer: Install .... | ||
+ | OK 5702068213907456 MapServer: Find and fix .... | ||
+ | OK 5770211091283968 MapServer: Fix .... | ||
+ | </pre> | ||
[[Category:Google Code In]] | [[Category:Google Code In]] |
Revision as of 05:08, 15 October 2019
Interested Mentors
Please first fill out the Google form mentioned at the top of: Google Code In 2018 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
- Design
- 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
- OSGeo's 2017 tasks: https://codein.withgoogle.com/archive/2017/organization/5168183002529792/task/
- 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
- see shared spreadsheet on Google Drive
Bulk Uploading Tasks
Documentation
Prep
NOTE: the python scripts for bulk uploading are written for Python2, but the instructions below should work for both Python2 & 3:
- 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
pip install requests
- for Python2, no more changes are needed, proceed to next sections below (export tasks, or list tasks, or upload tasts, etc)
- for Python3, make the following changes:
- in list_tasks.py change print command on line# 45 to
print ('\t'.join([str(t['id']), t['name']]))
- in list_tasks.py convert to an int on line# 52 to
next_page = int(result.group(1))
- in csv_uploader.py change line# 64 to
with open(filename, 'rt') as csvfile:
- in csv_uploader.py change print command on line# 83 to
print ('\t'.join(['OK', str(t['id']), t['name'], ]))
- in csv_uploader.py change print command on line# 86 to
print ('\t'.join(['ERROR', , t['name'], e.response.text]))
- in client.py change instances of "urlparse" to "urllib.parse"
- in list_tasks.py change print command on line# 45 to
Export CSV
- export your tasks from the Google spreadsheet (assuming you created a new sheet in the shared doc Code-in Bulk Upload Spreadsheet) 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 Code-in Bulk Upload Spreadsheet)
- verify that your dashboard PROFILE email address is the EXACT same as what you entered in the "mentors" field in 'Code-in Bulk Upload Spreadsheet' (otherwise your uploaded tasks will have empty/missing mentor)
List Tasks through Commandline
- see usage of list_tasks.py
python list_tasks.py --help
- get a list of tasks at the commandline
python list_tasks.py --apikey [OSGeoKey]
- should return something like:
5126447435874304 gvSIG: Make a ..... 5172599543824384 gvSIG: Install..... 5702068213907456 MapServer: Find and fix .... 5723293673848832 gvSIG: Make a .... 5761046167945216 gvSIG: Give a talk about .... 5762611012435968 MapServer: Design a .... 5765029615894528 MapServer: Install ....
Upload Tasks through Commandline
- see usage of csv_uploader.py
python csv_uploader.py --help
- upload your csv at the commandline
python csv_uploader.py -v --apikey [OSGeoKey] project-tasks.csv
- should return something like:
OK 6030299680997376 MapServer: Give a .... OK 5944469725642752 MapServer: Make a .... OK 5765029615894528 MapServer: Install .... OK 5702068213907456 MapServer: Find and fix .... OK 5770211091283968 MapServer: Fix ....