Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GNIP-63: Contrib apps cleanup on GeoNode #4311

Closed
16 of 17 tasks
afabiani opened this issue Mar 26, 2019 · 11 comments
Closed
16 of 17 tasks

GNIP-63: Contrib apps cleanup on GeoNode #4311

afabiani opened this issue Mar 26, 2019 · 11 comments
Assignees
Labels
gnip A GeoNodeImprovementProcess Issue
Milestone

Comments

@afabiani
Copy link
Member

afabiani commented Mar 26, 2019

GNIP: Contrib apps cleanup on GeoNode

Overview

GeoNode contrib apps should be considered like "extensions" allowing GeoNode to add some specific functionalities for specific purposes.
From another point of view, they could be considered like "plugins" that might be activated from the administrator of the system in order to extend it.

Proposed by

Alessio Fabiani GeoSolutions

Assigned to release

2.10

Motivation

Although GeoNode contrib apps should be treated as plugins, which means simply to install and configure as external libraries each one with its own specific documentation, most of them are not currently based on this concept. They are, instead, part of the core with several "if-else" statements around creating confusion and the impossibility to maintain them in the long term.
Also, they lack documentation and most of the time the few/outdated documentation is mixed with the core one and not having a dedicated section.

Proposal

The aim of this proposal is to:

  1. Identify and remove from the "core" module the contrib apps outdated and not maintained anymore.
  2. Clean up the documentation accordingly
  3. Where possible/not too difficult before the 2.10 release, extract the active contrib apps as external libraries and envisage a way to install/activate them with a procedure as simple as "pip install my-contrib-app" and few tweaks of the local settings.

Obsolete/outdated contrib apps identified until now

NOTE: for those apps listed below, we are proposing to first move them in their own repository and later on, if-and-only-if a volunteer/maintainer will be identified, work to transform them in a real pluggable Django apps instead of mixed stuff of "if-else" inside the GeoNode core.

  • createlayer
  • datastore_shards
  • geosites
  • geotiffio
  • worldmap

Contrib apps eligible for deletion

  • api_basemaps
  • dynamic
  • exif
  • favorite
  • geogig
  • mp
  • nlp
  • slack

Contrib apps in use to be extracted and transformed into external plugins or promoted to core apps

  • monitoring; to be extracted
  • ows_api; to be promoted
  • metadata_xsl; to be promoted

Related Issues

Updates

  • createlayer; promoted
  • datastore_shards; extracted
  • geosites; extracted
  • geotiffio; extracted
  • worldmap; extracted
  • api_basemaps; deleted
  • dynamic; deleted
  • exif; deleted
  • favorite; deleted
  • geogig; deleted
  • mp; deleted
  • nlp; deleted
  • slack; deleted
  • monitoring; extracted
  • ows_api; promoted
  • metadata_xsl; promoted
@afabiani afabiani added gnip A GeoNodeImprovementProcess Issue feature A new feature to be added to the codebase labels Mar 26, 2019
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue Mar 26, 2019
@afabiani afabiani self-assigned this Mar 26, 2019
@ahmednoureldeen
Copy link
Contributor

I am voting for createlayer app to be a core app, it makes sense for me to be able to create empty layer in my SDI when i don't have shape file.

@capooti
Copy link
Member

capooti commented Apr 3, 2019

+1
would we use the GeoNode organization on GH? Or should we use a different space?

afabiani pushed a commit that referenced this issue May 23, 2019
GNIP: Contrib apps cleanup on GeoNode / metadataxsl promoted
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 23, 2019
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 23, 2019
@afabiani
Copy link
Member Author

Extracted contrib apps available here along with correctly formatted READMEs

https://github.com/GeoNode/contribs

afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 27, 2019
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 27, 2019
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 27, 2019
…xif,monitoring promoted / slack,nlp,mp removed
afabiani pushed a commit to geosolutions-it/geonode that referenced this issue May 27, 2019
…hards,worldmap,geotiffio,geosites extracted
afabiani pushed a commit that referenced this issue May 28, 2019
GNIP: Contrib apps cleanup on GeoNode / metadataxsl promoted
@capooti
Copy link
Member

capooti commented Jun 6, 2019

@afabiani this is breaking WorldMap. My (uncorrect) assumption was that this change would have happened after 2.10. I wouldn't like to fork from master right now that we have the 2.10 release coming soon.
Can we for now backport worldmap and datastore_shards contrib apps in core? Otherwise I haven't the time in the next few days - before the release - to work on a new deployment procedure for this. Thanks!

@simboss
Copy link

simboss commented Jun 6, 2019

@capooti nobody is chasing us after releasing at the summit, the goal is to get as close as possible. For sure there will be more need for documentation hence if you need some more time, that is not an issue, I believe.

@simboss
Copy link

simboss commented Jun 6, 2019

@afabiani let's take this into account...

@afabiani
Copy link
Member Author

afabiani commented Jun 7, 2019

@capooti I have put the code along with the instruction on how to activate it again here

https://github.com/GeoNode/contribs/tree/master/geonode/contrib/worldmap

Could have a look at this?

@afabiani
Copy link
Member Author

afabiani commented Jun 7, 2019

@capooti by the way, I have made few changes in order to simplify the activation of hooksets from the settings and environment variables, see https://github.com/GeoNode/geonode/blob/master/geonode/settings.py#L1190

Try to follow the same approach, the GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY instructs on which hookset activate

@capooti
Copy link
Member

capooti commented Jun 7, 2019

Thanks @afabiani and @simboss will have a look and let you know. For deployment should I consider the creation of a package on pypi?

@afabiani
Copy link
Member Author

@capooti absolutely yes, that would be ver good IMHO

@capooti
Copy link
Member

capooti commented Jun 10, 2019

@afabiani OK will try to work on this now.

@afabiani afabiani modified the milestone: 2.10 Jun 24, 2019
@afabiani afabiani removed the feature A new feature to be added to the codebase label Aug 22, 2019
@afabiani afabiani changed the title GNIP: Contrib apps cleanup on GeoNode GNIP.63: Contrib apps cleanup on GeoNode Aug 22, 2019
@afabiani afabiani changed the title GNIP.63: Contrib apps cleanup on GeoNode GNIP-63: Contrib apps cleanup on GeoNode Aug 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gnip A GeoNodeImprovementProcess Issue
Projects
None yet
Development

No branches or pull requests

4 participants