= GSoC 2020: GRASS GIS startup mechanism = || Title: || '''Creation of a new GRASS GIS startup mechanism''' || ||Student Name: || Linda Kladivova || ||Organization: || [http://www.osgeo.org OSGeo - Open Source Geospatial Foundation] || || Mentor Name: || Anna Petrasova, Martin Landa, Vaclav Petras, Moritz Lennert || || GSoC proposal: ||[https://summerofcode.withgoogle.com/dashboard/project/6062634991878144/details/ View proposal] || || !GitHub Repository: || [https://github.com/lindakladivova view repository] || == Abstract == This project will focus on the creation of a more user-friendly GRASS GIS startup. The general idea is to make the initial user’s contact easier and with a less steep learning curve. While programming new GRASS startup GUI several tasks will be solved – changes in Location wizard structure, Data Catalog as well as general GUI. == Goal == GRASS GIS comes with the concept of Location and Mapset which is not going to be replaced because of its advantages such as organized structure. The goal of this project is to make this concept more user-friendly (especially in terms of the welcome screen). The motion is that the Data Catalog will be expanded so that in addition to raster and vector data, it can manage even Locations and Mapsets. Then this widget could be used in the welcome screen. The work schedule below has been compiled on the basis of the Roadmap available here: https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/New_Startup#PragueRoadmap. To sum up the schedule: From June 1st to June 28th (4 weeks), I plan to work on the Location wizard (the topic for the first evaluation), from June 29th to July 19th (3 weeks) I plan to program the new form of the Data Catalog (the topic for the second evaluation). From July 20th to August 23rd I will work on creating the new welcome page itself by integrating the improved components. == Timeline == {{{#!th style="background: #ddd" rowspan=2 '''Time Period''' }}} {{{#!th style="background: #ddd" colspan=2 '''Milestones''' }}} |----------------------- {{{#!th style="background: #ddd" Tasks }}} {{{#!th style="background: #ddd" Status }}} |----------------------- {{{#!td May 4 - June 1 \\ ''Community Bonding'' }}} {{{#!td - Introduce myself in dev list, get in contact with my mentors and discuss the design of functions - Prepare the wiki page about the project - Set up the !GitHub repository of the project - Setup GRASS GIS developer environment - Familiarize with the code in wxPython and with the development process - Discuss the elements of the startup window and get acquainted with the whole design - Contribute small features related to Location Wizard (see week 1) (first PR already created, see https://github.com/OSGeo/grass/pull/493) }}} {{{#!td Ok \\ Ok \\ Ok \\ Ok \\ Ok \\ \\ Ok }}} |----------------------- {{{#!td June 1 - June 7 \\ ''Week 1'' }}} {{{#!td '''Location wizard - first page''' - Major code refactoring - Remove map picture - Database directory not editable but mentioned - Location name marked as required - Location title (renamed as description) marked as optional - "Set default region and resolution" removed and set automatically if info is available - "Create user mapset" removed (user can do it from the data catalog in the future, now with a button in the startup window) }}} {{{#!td TBD }}} |----------------------- {{{#!td June 8 - June 14 \\ ''Week 2'' }}} {{{#!td '''Location wizard - EPSG page:''' - Remove path to "/usr/share/proj/epsg" - Merge search and EPSG code text inputs - Add a link to epsg.io. Possibly put text from the text field into a query part of the URL. - Show the matching CSRs as user types EPSG or any text (like now), if only a number, assume it is EPSG (don't search through definition) - "to WGS" dialog as an additional }}} {{{#!td TBD }}} |----------------------- {{{#!td June 15 - June 21 \\ ''Week 3'' }}} {{{#!td '''Location wizard''' - Choose projection page (Projection from a list choice) - Rename to something like “Define custom”, esp. if a search is removed from the EPSG page. - Final page: - Try harder to show EPSG, e.g. in the case file was used - PROJ.4 definition - add mechanisms to show WKT for new versions Proj - Location download functionality - Show data catalog but from a metadata file - Action there is downloading the whole location }}} {{{#!td TBD }}} |----------------------- {{{#!td June 22 - June 28 \\ ''Week 4'' }}} {{{#!td '''Finishing the implementation of Location wizard ''' - Testing and documentation }}} {{{#!td TBD }}} |----------------------- {{{#!td June 29 - July 5 \\ ''Week 5'' }}} {{{#!td '''Data catalog:''' - Another toolbar on the side - Load/show data button on the side - A choice in context menu to load the data for part of the tree - Support multiple databases to data catalog }}} {{{#!td First evaluation - Submission deadline: 3 July TBD }}} |----------------------- {{{#!td July 6 - July 12 \\ ''Week 6'' }}} {{{#!td '''Data catalog:''' - Add button to add existing or new database - New location action from context menu on a database node (#3578) - New mapset action from context menu on a location node (#3579) }}} {{{#!td TBD }}} |----------------------- {{{#!td July 13 - July 19 \\ ''Week 7'' }}} {{{#!td '''Finishing the implementation of Data catalog''' - Testing and documentation }}} {{{#!td TBD }}} |-----------------------