Difference between revisions of "Google Code In 2017 Tasks"

From OSGeo
Jump to navigation Jump to search
(→‎Bulk Uploading Tasks: add list_tasks.py Python3 change)
 
(56 intermediate revisions by 8 users not shown)
Line 2: Line 2:
 
[[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]]
 
[[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>
 
</center>
 +
 +
= Interested Mentors =
 +
 +
Please '''first fill out the Google form''' mentioned at the top of:  [[Google Code In 2017 Mentors]]
  
 
= Effort for a Task =
 
= Effort for a Task =
Line 38: Line 42:
 
= Project Tasks =
 
= Project Tasks =
  
Choose tasks from any of the OSGeo projects below (these are official OSGeo projects, projects in OSGeo incubation, and OSGeo community projects):
+
* moved to private document on 2017-10-26
 
 
== Content Management Systems ==
 
 
 
=== GeoNode ===
 
 
 
official website: http://geonode.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
== Desktop ==
 
 
 
=== GRASS GIS ===
 
 
 
official website: http://grass.osgeo.org/
 
 
 
mentors: [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]]
 
 
 
more info: http://grasswiki.osgeo.org/wiki/GRASS_GCI_Ideas_2017
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Create a screenshot for the next 74 release announcement || ADVANCED || For this task... || documentation || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 2 || Design the t-shirt for the next code-sprint || BEGINNER || For this task... || marketing || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 3 || Add examples to manual pages || INTERMEDIATE || For this task... || documentation || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 4 || Make new tutorial videos for GRASS GIS || INTERMEDIATE || For this task... || marketing || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 5 || Write a short blog entry about GRASS GIS (or a certain module) || INTERMEDIATE || For this task... || marketing || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 6 || Enhance the visual index || ADVANCED || For this task... || coding,C || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 7 || Make screenshots to populate the visual change log in new features pages (e.g., for New Features GRASS 7.4) || INTERMEDIATE || For this task... || documentation || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 8 || Create icons/phrases to include in sticker sheets || BEGINNER || For this task... || marketing || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 9 || Give a talk about GRASS GIS to classmates || BEGINNER || For this task... || marketing || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 8 || Submit a patch for a certain bug or enhancement ticket || ADVANCED || For this task... || coding,C || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|-
 
| 9 || Contribute tests for modules || ADVANCED || For this task... || coding,C || [[User:Veroandreo|Veronica Andreo]], [[User:Lucadelu|Luca Delucchi]] ||
 
|+
 
|}
 
 
 
=== gvSIG ===
 
 
 
official website: http://www.gvsig.com/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Marble ===
 
 
 
official website: http://marble.kde.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Opticks ===
 
 
 
official website: http://opticks.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Virtual Terrain Project ===
 
 
 
official website: https://wiki.osgeo.org/wiki/Virtual_Terrain_Project
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== QGIS ===
 
 
 
official website: http://qgis.org
 
 
 
mentor: [[User:Sfkeller]], [[Victoria Rautenbach]]
 
 
 
tasks:
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Enhance map style of [http://plugins.qgis.org/plugins/vector_tiles_reader/ "Vector Tiles Reader"] plugin || INTERMEDIATE || Update the built-in base map QGIS styles (QML) for OpenMapTiles. (See also [https://github.com/geometalab/Vector-Tiles-Reader-QGIS-Plugin/issues/89 Issue #89]). || cartography/graphic designing (aka 'coding') || [[User:Sfkeller]] ||
 
|-
 
| 2 || Make a new tutorial video for a popular QGIS plugin || INTERMEDIATE || QGIS has numerous plugins that provide additional functionalities, however, a number of these plugins do not have a website or tutorials available. For this task, use any open data (e.g. from your cities open data portal or the World Bank portal) to create a video tutorial to demonstrate how the plugin works. || marketing || [[Victoria Rautenbach]] ||
 
|-
 
| 3 || Write a basic tutorial for creating a map that can be used to train school learners || INTERMEDIATE  || For this task, you need to write a tutorial that can be used by school learners to get started with QGIS to design their first map. You use any open data (e.g. from your cities open data portal or the World Bank portal) for this tutorial. Add a bit of a story to the tutorial to capture the attention of the user. || documentation || [[Victoria Rautenbach]] ||
 
|-
 
| 4 || tbd. || tbd.  || tbd. || tbd. || pending ||
 
|+
 
|}
 
 
 
== Geospatial Libraries ==
 
 
 
=== FDO ===
 
 
 
official website: http://fdo.osgeo.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== GDAL/OGR ===
 
 
 
official website: http://gdal.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Geoinformatica ===
 
 
 
official website: https://wiki.osgeo.org/wiki/Geoinformatica
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== GEOS ===
 
 
 
official website: https://trac.osgeo.org/geos/
 
 
 
mentor: [[User:Robe|Regina Obe]]
 
 
 
tasks:
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Design a logo || INTERMEDIATE || something simple, and squarish || art || pending ||
 
|-
 
| 2 || create a comic strip of the set operations on geometries: union, intersection, difference || BEGINNER  || use your imagination || art || pending ||
 
|+
 
|}
 
 
 
=== GeoTools ===
 
 
 
official website: http://www.geotools.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== MetaCRS ===
 
 
 
official website: http://metacrs.osgeo.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Orfeo ToolBox (OTB) ===
 
 
 
official website: http://www.orfeo-toolbox.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== OSSIM ===
 
 
 
official website: https://trac.osgeo.org/ossim/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== pgRouting ===
 
 
 
official website: https://wiki.osgeo.org/wiki/PgRouting
 
 
 
mentor: [[User:Cvvergara|Vicky Vergara]]
 
 
 
more info: https://github.com/pgRouting/pgrouting/wiki/Google-Code-In
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || create a page for the pgRouting workshop using the Wikipedia example || INTERMEDIATE || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 2 || add the results and a brief explanation of the results to the page created on Task 1 || INTERMEDIATE  || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 3 || create a page for the pgRouting workshop using the Hanoslav example || INTERMEDIATE  || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 4 || add the results and a brief explanation of the results to the page created on Task 3 || INTERMEDIATE || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|+
 
|}
 
 
 
=== PostGIS ===
 
 
 
official website: http://postgis.net/
 
 
 
mentor: [[User:Robe|Regina Obe]]
 
 
 
tasks:
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Design a laptop sticker with a PostGIS elephant ||BEGINNER || Use your imagination || art || [[User:Robe|Regina Obe]] ||
 
|-
 
|-
 
| 2 || create a page of 5 commonly used PostGIS queries and what they solve ||INTERMEDIATE || For this task look over our docs for ideas of some queries and pick 5 you think are most useful|| documentation || [[User:Robe|Regina Obe]] ||
 
|-
 
| 3 || create a screen cast of how to install PostGIS (pick any OS you want) || INTERMEDIATE  ||  || documentation || [[User:Robe|Regina Obe]] ||
 
|-
 
| 4 || create a comic strip of the core postgis types: geometry, geography, raster, and topology talking to each other  || BEGINNER  || For this task imagine there are 4 friends geomie, geoggie, rasterfa, and topolo what kind of conversation would they have? Each has a different perspective on things, geomie sees the world as a flat simple plane you can fall off of if you walk too far, geoggie sees the world as round where you can walk in any direction forever, rasterfa sees the world as a flat colorful place and believes a picture is worth a 1000 words, and topolo believes in the interconnectivity of all shapes where one object starts another begins but shares the flat view with geomie  || art || [[User:Robe|Regina Obe]] ||
 
|+
 
|}
 
 
 
=== Postal Address Geo-Coder ===
 
 
 
official website: https://wiki.osgeo.org/wiki/Postal_Address_Geo-Coder
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Proj4php ===
 
 
 
official website: https://wiki.osgeo.org/wiki/Proj4php
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
== Metadata Catalogs ==
 
 
 
=== GeoNetwork ===
 
 
 
official website: http://geonetwork-opensource.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== pycsw ===
 
 
 
official website: http://pycsw.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
== Web Mapping ==
 
 
 
=== deegree ===
 
 
 
official website: http://www.deegree.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== geomajas ===
 
 
 
official website: http://www.geomajas.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== GeoMOOSE ===
 
 
 
official website: http://www.geomoose.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== GeoServer ===
 
 
 
official website: http://geoserver.org/
 
 
 
mentor: [[Victoria Rautenbach]]
 
 
tasks:
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Create two new SLD stylesheets for the example layers in GeoServer  || INTERMEDIATE || When you install GeoServer for the first time, there is a couple of example layers and styles avaiable to get new user started. For this task, you will create new styles that demonstrate different cartographic techniques possible with SLD. Also make sure to use colour slesctions that would complement OpenStreetMap as a basemap.  || user interface/coding || [[Victoria Rautenbach]] ||
 
|-
 
| 2 || Create an illustration or video to explain what GeoServer is and why you would use it || BEGINNER  || For this task, you can use any visual medium to illustrate or explain why it is important to use map server and what GeoServer is. || marketing || [[Victoria Rautenbach]] ||
 
|+
 
|}
 
 
 
=== GeoWebCache ===
 
 
 
official website: https://wiki.osgeo.org/wiki/GeoWebCache
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== istSOS ===
 
 
 
official website: http://wiki.osgeo.org/wiki/IstSOS
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Mapbender ===
 
 
 
official website: http://mapbender.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== MapFish ===
 
 
 
official website: http://www.mapfish.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== MapGuide Open Source ===
 
 
 
official website: http://mapguide.osgeo.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== MapProxy ===
 
 
 
official website: https://wiki.osgeo.org/wiki/MapProxy
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== MapServer ===
 
 
 
official website: http://mapserver.org
 
 
 
mentor: [[Jeff McKenna]]
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Design a laptop sticker || BEGINNER|| For this task... || marketing || [[Jeff McKenna]] ||
 
|-
 
| 2 || Make a video promoting MapServer, the fastest mapping engine || BEGINNER || For this task... || marketing || [[Jeff McKenna]] ||
 
|-
 
| 3 || Install MS4W on a Windows machine, and take screenshot || INTERMEDIATE || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 4 || Find and fix mistakes/urls on the mapserver.org || INTERMEDIATE || For this task... || documentation ||  [[Jeff McKenna]] ||
 
|-
 
| 5 || Give a presentation to classmates about MapServer || BEGINNER  || For this task... || marketing || [[Jeff McKenna]] ||
 
|-
 
| 6 || Fix any bug in the issue tracker || ADVANCED || For this task... || coding,C || [[Jeff McKenna]] ||
 
|+
 
|}
 
 
 
=== OpenLayers ===
 
 
 
official website: http://openlayers.org/
 
 
 
mentor: [[Victoria Rautenbach]]
 
 
 
tasks:
 
 
 
=== PyWPS ===
 
 
 
official website: http://www.pywps.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== Team Engine ===
 
 
 
official website: http://teamengine.sourceforge.net/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
=== ZOO-Project ===
 
 
 
official website: http://www.zoo-project.org/
 
 
 
mentor: N/A
 
 
 
tasks: N/A
 
 
 
== Outreach ==
 
 
 
=== FOSS4G ===
 
 
 
official website: http://foss4g.org
 
 
 
mentor: [[Jeff McKenna]]
 
 
 
{| border="1" cellpadding="2" class="wikitable sortable"
 
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Make a video about the FOSS4G conference || BEGINNER || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 2 || Present the history of the FOSS4G conference to classmates || INTERMEDIATE  || For this task... || marketing || [[Jeff McKenna]] ||
 
|-
 
| 3 || Create a replacement page for http://foss4g.org listing all conferences  || INTERMEDIATE  || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 4 || Create a new social media page for FOSS4G (facebook?) || INTERMEDIATE || For this task... || documentation || [[Jeff McKenna]] ||
 
|+
 
|}
 
 
 
=== GeoForAll ===
 
 
 
official website: http://www.osgeo.org/education
 
  
mentor: N/A
+
= Bulk Uploading Tasks =
  
tasks: N/A
+
'''Documentation'''
  
=== OSGeo-Live ===
+
* [https://code.googlesource.com/codein/api API]
  
official website: http://live.osgeo.org/
+
'''Prep'''
  
mentor: [[User:Cvvergara|Vicky Vergara]]
+
NOTE: the python scripts for bulk uploading are written for Python2, these steps below were adapted for Python3:
  
more info: https://wiki.osgeo.org/wiki/OSGeoLive_Google_Code_In
+
# 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 Python3) in ''list_tasks.py'' change print command on line# 46 to
 +
#* <code>print ('\t'.join([str(t['id']), t['name']]))</code>
 +
# (for Python3) in ''list_tasks.py'' convert to an int on line# 52 to
 +
#* <code>next_page = int(result.group(1))</code>
 +
# (for Python3) in ''csv_uploader.py'' change print command on line# 81 to
 +
#* <code>print ('\t'.join(['OK', str(t['id']), t['name'], '']))</code>
 +
# (for Python3) in ''csv_uploader.py'' change print command on line# 84 to
 +
#* <code>print ('\t'.join(['ERROR', '', t['name'], e.response.text]))</code>
 +
# (for Python3) in ''client.py'' change instances of "urlparse" to "urllib.parse"
  
{| border="1" cellpadding="2" class="wikitable sortable"
+
'''Export CSV'''
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Download and install OSGeoLive || INTERMEDIATE || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 2 || Make a video for downloading and installing OSGeo-Live || INTERMEDIATE  || For this task... || marketing || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 3 || QGIS quick start video [PART 1] || INTERMEDIATE  || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|-
 
| 4 || QGIS quick start video [PART 2] || INTERMEDIATE || For this task... || documentation || [[User:Cvvergara|Vicky Vergara]] ||
 
|+
 
|}
 
  
=== OSGeo Foundation ===
+
* 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)
  
official website: http://osgeo.org
+
'''List Tasks through Commandline'''
  
mentor: [[Jeff McKenna]]
+
# 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>
  
{| border="1" cellpadding="2" class="wikitable sortable"
+
'''Upload Tasks through Commandline'''
!width="30"|#
 
!width="200"|Name
 
!width="60"|Level
 
!width="200"|Description
 
!width="100"|Keywords
 
!width="200"|Mentor
 
!width="100"|Ticket
 
|-
 
| 1 || Make a short video about the OSGeo foundation || BEGINNER || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 2 || Present the history of the OSGeo foundation to classmates || INTERMEDIATE  || For this task... || marketing || [[Jeff McKenna]] ||
 
|-
 
| 3 || Checkout part of git.osgeo.org locally, and create a screenshot  || INTERMEDIATE  || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 4 || Create a page on the OSGeo wiki || BEGINNER || For this task... || documentation || [[Jeff McKenna]] ||
 
|-
 
| 5 || Style the page https://trac.osgeo.org || INTERMEDIATE  || For this task... || documentation || [[Jeff McKenna]] ||
 
|+
 
|}
 
  
 +
# 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]]

Latest revision as of 07:28, 15 November 2017

GCI-logo.jpg @ Osgeo-logo.png

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

Project Tasks

  • moved to private document on 2017-10-26

Bulk Uploading Tasks

Documentation

Prep

NOTE: the python scripts for bulk uploading are written for Python2, these steps below were adapted for Python3:

  1. git clone https://code.googlesource.com/codein/api api
  2. cd api
  3. check your Python version:
    • python -V
  4. install module "requests" through easy_install or pip:
    • easy_install requests
    • pip install requests
  5. (for Python3) in list_tasks.py change print command on line# 46 to
    • print ('\t'.join([str(t['id']), t['name']]))
  6. (for Python3) in list_tasks.py convert to an int on line# 52 to
    • next_page = int(result.group(1))
  7. (for Python3) in csv_uploader.py change print command on line# 81 to
    • print ('\t'.join(['OK', str(t['id']), t['name'], ]))
  8. (for Python3) in csv_uploader.py change print command on line# 84 to
    • print ('\t'.join(['ERROR', , t['name'], e.response.text]))
  9. (for Python3) 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

  1. see usage of list_tasks.py
    • python list_tasks.py --help
  2. 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

  1. see usage of csv_uploader.py
    • python csv_uploader.py --help
  2. 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 ....