[[TOC]] {{{ #!html
}}} = GRASS Google Summer of Code 2014 = == About == * [http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2014 The OSGeo GSoC 2014 main page] * [http://www.google-melange.com/gsoc/homepage/google/gsoc2014 Official GSoC 2014 page at Google] == Ideas == ''Post your ideas here or to the [http://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list] if you want to discuss them more. ''Some bigger ideas may have their own pages, so you can link them here. You can also have a look at (and re-suggest!) ideas from previous years ([http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2007 2007], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2008#Ideas 2008], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2009#Ideas 2009], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2010#Ideas 2010], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2011#Ideas 2011], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2012#Ideas 2012], [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2013#Ideas 2013]) and [wiki:GSoC projects from previous years].'' === Compiling GRASS GIS on Android === * The C part, with libraries and modules (already partly done, but not on trunk and not with updated dependencies). * The GUI, is there any path through Vaclav's [http://geo.fsv.cvut.cz/data/osgeorel/2013-04-fem-gis/petrasova-petras-fem-gis-2013-04.pdf remark] in FEM code sprint last year about wxWidgets (not yet [http://trac.wxwidgets.org/ticket/14469 wxPython], [http://trac.wxwidgets.org/ticket/15291 Phonenix version] maybe) application rendered as HTML5 using [https://developer.gnome.org/gtk3/stable/gtk-broadway.html GTK+ Broadway] (which is probably more suitable for server-client application), or any other possibility? * Output expected 1) a SVN trunk directory with sufficient material for setting up your own Android compilation. * Output expected 2) a Android nightly binary for Android 4.x for the GRASS GIS text version * Output expected 3) a route to explore the GUI options, or a proof of concept (display maps, or display modules GUI independently) === Testing framework for GRASS GIS === * GRASS GIS needs automated testing mechanism which should: * be part of the main source code to be actually used * be at least somehow easy to use, so that everybody can write tests * be cross-platform, so that it runs even on MS Windows where tests are desperately needed * The purpose of this project is to develop a general mechanism which would be applicable for testing GRASS modules, libraries or workflows with different data sets. * Several sample tests for different parts of code, especially modules, will be written to test the testing framework. * The testing framework will permit usage of different testing methods such as doctests, Python scripts, Shell scripts or even compiled C programs, although they might not be applicable for all platforms. This will enable the possibility to use existing tests in GRASS source code and also user scripts as test cases in the proposed testing framework. * The testing framework will enable the use of different testing data sets because different test cases might need special data. * The testing of GUI in terms of the graphical user interface itself will not be covered by this project. However, the developed testing method should be applicable to testing of GUI internal functionality. * The test suite would be implemented in Python and based on testing tools included in standard Python distribution ([http://docs.python.org/2/library/unittest.html unittest] and [http://docs.python.org/2/library/doctest.html doctest]). The goal is not to write from scratch but also not to bring a new dependency. * The usage of Makefile system will be limited to triggering the test or tests with the right parameters for particular location in the source tree. * Previous work: * Missing guidelines for testing ticket (#2105) * [http://grasswiki.osgeo.org/wiki/Test_Suite Test Suite] proposed at [http://grasswiki.osgeo.org/wiki/GRASS_Community_Sprint_Prague_2011#Testing_and_benchmarking Prague 2011] * Older test suite from Soeren Gebbert * [http://lists.osgeo.org/listinfo/grass-qa GRASS GIS Quality Assessment and monitoring list] * Student: Vaclav Petras * Mentor: Soeren Gebbert == For students == * If you have your own ideas, propose them, explain them on the [http://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list]. * If you like some idea here or from previous yeas, write about it on [http://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list]. * Follow some good practices in your ideas and proposals: * Stress why the project would be useful. * Show that you know what how you will proceed. Make sure that what you propose is feasible. * Be specific in the implementation (or at least as specific as you can). * Explain how the final product will look like, how do we use it, perhaps, you can add some drawings (here to the wiki page) * Explain how the idea relates to existing GRASS GIS functions and features. * Don't include steps such as "install GRASS" or "compile GRASS libraries (on my machine)", you should do this before GSoC. * Compile GRASS 7 (trunk) from source and prepare environment for development: * See links appropriate for you at [http://grass.osgeo.org/development/how-to-start/]. * If you struggle with it, consult at [http://lists.osgeo.org/listinfo/grass-dev grass-dev mailing list]. * See also SUBMITTING files in source code. * Be active on GRASS mailing lists ([http://lists.osgeo.org/listinfo/grass-user grass-user] [http://lists.osgeo.org/listinfo/grass-dev grass-dev]), fix some [http://trac.osgeo.org/grass/report bugs], implement some (smaller) features, or write some (simpler) GRASS module (and post it to mailing list) to show your willingness and abilities. == Accepted proposals == ''The template for this part is [http://grasswiki.osgeo.org/wiki/GRASS_SoC_Ideas_2013#Accepted_Ideas here].'' ''The student page with the tracking of the project should be child of this page, e.g. `GSoC/2014/TemporalGISAlgebra`. The project itself may have also its own page if it seems to be larger than the GSoC project, e.g. `Grass7/TemporalGISAlgebra` (the name does not have to be the same and it does not have to be subpage of any page).'' ''The student page with the tracking of the project should be child of this page, e.g. `GSoC/2014/TemporalGISAlgebra`. The project itself may have also its own page if it seems to be larger than the GSoC project, e.g. `Grass7/TemporalGISAlgebra` (the name does not have to be the same and it does not have to be subpage of any page).''