GeoNode Template Project Setup
Once you are comfortable using, installing and administering a GeoNode instance and doing basic customization, you should proceed to understanding how to deploy a custom GeoNode project and beginning to work toward your project’s goals by modifying GeoNode itself, adding new pluggable modules to it, or creating your own pluggable. Your mentor will guide you through the initial steps and then point you toward resources as you begin to build on top of the GeoNode platform. You will start with small changes and then build up as your own capabilities grow. Since you will be using GitHub, you, your team members and your mentor will collaborate on your custom project over time and can begin to work on your own Open Source projects that you can encourage others in the local and/or global community to contribute to.
Goals/Objectives/Outcomes
- Understand how to setup a custom Geonode project from the template project
- Understand how to put a custom project under version control using Git and GitHub
- Understand how to deploy a custom project on top of installed GeoNode packages
- Understand how to apply custom theming to a GeoNode project
- Understand how to to add additional django modules to a GeoNode project
- Understand how to create a simple django module from scratch and add it to a GeoNode project and integrate it into the User Interface
- Understand how to update the GeoNode code below a custom GeoNode project
- Understand how to use a specific fork/branch of GeoNode core with a Custom GeoNode project
Reference Material
- http://docs.geonode.org/en/master/tutorials/devel/projects/index.html#customize-projects
- https://www.djangopackages.com/grids/g/project-templates/
- https://www.djangopackages.com/
- https://github.com/GeoNode/geonode-project
Measures of Success
- Participant has setup a custom GeoNode project, applied custom theming and added additional Django modules to it and has tracked these changes over time in a GitHub repository
- Participant has demonstrated the ability to update the core GeoNode installation below the custom project from packages or by using a specific fork and branch of GeoNode from another GitHub repository
- Participant is familiar with the wide range of Django pluggables and has investigated some which might appropriate for their project
- Participant has determined whether an existing pluggable is suitable for their project or if a new one is necessary for their use case
- Participant has begun the process of developing a new module for their project and has started on the models, views and templates and integrated it into the UI of their custom GeoNode project