Version 13 (modified by 4 years ago) ( diff ) | ,
---|
GSoC 2020: GRASS GIS startup mechanism
Title: | Creation of a new GRASS GIS startup mechanism |
Student Name: | Linda Kladivova |
Organization: | OSGeo - Open Source Geospatial Foundation |
Mentor Name: | Anna Petrasova, Martin Landa, Vaclav Petras, Moritz Lennert |
GSoC proposal: | View proposal |
GitHub Repository: | 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
Time Period | Milestones | |
---|---|---|
Tasks | Status | |
May 4 - June 1 |
|
Ok |
June 1 - June 7 | Location wizard - first page
|
Ok |
June 8 - June 14 | Location wizard - EPSG page - (see https://github.com/OSGeo/grass/pull/670):
| TBD |
June 15 - June 21 | Location wizard
| TBD |
June 22 - June 28 | Finishing the implementation of Location wizard
| TBD |
June 29 - July 5 | Data catalog:
| First evaluation
TBD |
July 6 - July 12 | Data catalog: | TBD |
July 13 - July 19 | Finishing the implementation of Data catalog
| TBD |
July 20 - July 26 | General GUI:
| TBD |
July 27 - August 2 | General GUI:
| TBD |
August 3 - August 9 | General GUI:
| TBD |
August 10 - August 16 | Integrating the components into the new welcome page (continued) | TBD |
August 17 - August 23 | Finishing up, testing, documentation | TBD |
August 24 - August 31 | Finalizing the existing work Submitting the final work | TBD |
Bonding period report
Introduce myself in dev list, get in contact with my mentors and discuss the design of functions
After being accepted as a student for GSoC 2020, I introduced myself to grass dev lists on May 13. Also, I got in contact with my mentors - Martin Landa, Anna Petrasova, Vaclav Petras and Moritz Lennert. On May 14 we set up the video call where we discussed how to set up my GRASS dev environment and how to proceed with future work.
Prepare the wiki page about the project
I created my project wiki page (2) and added the link to the GSoC 2018 Accepted proposals page (3). The wiki page includes - General information about the project (title, mentors, links to the proposal and GitHub repository, etc.), a brief description of the project, goal, and timeline of tasks and deliverables.
I will keep my wiki page up to date and will add weekly reports following the instructions in the GSoC Recommendations for Student page (4).
Set up the GitHub repository of the project
I have chosen GitHub (5) as a public repository for the development of this project. I added the link to the GSoC 2020 Accepted proposals page (3), to my wiki page (2) and I shared it with my mentors. My repository is licensed under the GNU General Public License v3.0, according to the license of GRASS GIS.
Set up a developer environment
I checked and updated my developer environment so as to be ready to start coding after the bonding period.
Four PR already created
I created two PR related to the First Page of Location Wizard: https://github.com/OSGeo/grass/pull/493 and https://github.com/OSGeo/grass/pull/646. Both of them are already closed. In those PR the layout of this page was changed quite significantly. The database directory was mentioned as the last attribute and can be changed. The Location Name was marked as required. Location Title was renamed as Description and marked as optional (also in the Summary Page this was renamed). Both checkboxes "Set default region and resolution" and "Create user mapset" were removed.
I also created a single PR related to removing the picture of the world: https://github.com/OSGeo/grass/pull/657 which is still open and made one improvement related to automatic detection of case-independent cases of grassdata directory that is not literally mentioned in the roadmap: https://github.com/OSGeo/grass/pull/664 (issue: https://github.com/OSGeo/grass/issues/644.)
(1) https://lists.osgeo.org/pipermail/grass-dev/2018-April/088262.html
(2) https://trac.osgeo.org/grass/wiki/GSoC/2020/StartupWindow
(3) https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2020_Accepted
(4) https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students
(5) https://github.com/lindakladivova/grass
Weekly reports
Week 1
1) What did I complete this week?
I created a single PR related to the bigger topic related to changes in EPSG page (see https://github.com/OSGeo/grass/pull/670). I made a change in layout definition. Now it is defined by BoxSizer instead of GridBagSizer. Also, path to usr/share/proj/epsg was removed. Search and EPSG code text inputs were merged into one search input. An informative link to epsg.io was added.
Removing the picture of the world: https://github.com/OSGeo/grass/pull/657 was already merged into master. Similarly, I am already done with the automatic detection of case-independent cases of grassdata directory: https://github.com/OSGeo/grass/pull/664 (issue: https://github.com/OSGeo/grass/issues/644.)
2) What am I going to achieve for next week?
Next week I am going to continue on PR regarding the EPSG page (see https://github.com/OSGeo/grass/pull/670). The layout is done, now I am gonna focus on events. There are several requirements:
- searching in a list on the fly
- choose automatically the first row and permit "next" button
- if epsg code is empty, nothing is selected and "next" button is not active
- change informative URL according to a query string
Furthermore, I am gonna work on improvement (see https://github.com/OSGeo/grass/issues/682). GRASS should create a grassdata directory in the default path for its platform automatically.
3) Is there any blocking issue?
No, it isn't.
Week 2
1) What did I complete this week?
2) What am I going to achieve for next week?
3) Is there any blocking issue?