Difference between revisions of "Google Code In 2018 Tasks"
Jump to navigation
Jump to search
(7 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
;Quality Assurance | ;Quality Assurance | ||
: Tasks related to testing and ensuring code is of high quality | : Tasks related to testing and ensuring code is of high quality | ||
− | ; | + | ;Design |
: Tasks related to user experience research or user interface design and interaction | : Tasks related to user experience research or user interface design and interaction | ||
Line 43: | Line 43: | ||
= Project Tasks = | = Project Tasks = | ||
− | * | + | * see shared spreadsheet on Google Drive |
= Bulk Uploading Tasks = | = Bulk Uploading Tasks = | ||
Line 53: | Line 53: | ||
'''Prep''' | '''Prep''' | ||
− | NOTE: the python scripts for bulk uploading are written for Python2, | + | 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 | # git clone https://code.googlesource.com/codein/api api | ||
Line 62: | Line 62: | ||
#* <code>easy_install requests</code> | #* <code>easy_install requests</code> | ||
#* <code>pip install requests</code> | #* <code>pip install requests</code> | ||
− | # (for Python3 | + | # for Python2, no more changes are needed, proceed to next sections below (export tasks, or list tasks, or upload tasts, etc) |
− | #* <code>print ('\t'.join([str(t['id']), t['name']]))</code> | + | # for Python3, make the following changes: |
− | # | + | #* in ''list_tasks.py'' change print command on line# 45 to |
− | #* <code>next_page = int(result.group(1))</code> | + | #** <code>print ('\t'.join([str(t['id']), t['name']]))</code> |
− | # ( | + | #* in ''list_tasks.py'' convert to an int on line# 52 to |
− | #* <code>print ('\t'.join(['OK', str(t['id']), t['name'], '']))</code> | + | #** <code>next_page = int(result.group(1))</code> |
− | # | + | #* in ''csv_uploader.py'' change line# 64 to |
− | #* <code>print ('\t'.join(['ERROR', '', t['name'], e.response.text]))</code> | + | #** <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 CSV''' |
Latest revision as of 15:21, 17 October 2018
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 ....