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 29 - Code Repository Reorganization #260

Closed
sbenthall opened this issue Jun 4, 2012 · 14 comments
Closed

GNIP 29 - Code Repository Reorganization #260

sbenthall opened this issue Jun 4, 2012 · 14 comments
Assignees
Labels
gnip A GeoNodeImprovementProcess Issue
Milestone

Comments

@sbenthall
Copy link
Contributor

https://github.com/GeoNode/geonode/wiki/GNIP-29---Code-Repository-Reorganization

It is proposed to re-organize the GeoNode core repository to make it more similar to a standard django project layout and make it more friendly to template projects as introduced in Django 1.4

@ghost ghost assigned jj0hns0n Jun 4, 2012
@dwins
Copy link
Contributor

dwins commented Jun 4, 2012

This GNIP appears to be proposing a lot more than just rearranging the files in the code repository. I see several modules in the Django project mentioned (data, people, search, security, projects) which do not exist in the current repository.

Also implied is support for Django's new template system, which I'm not really opposed to but should be discussed more explicitly in the proposal.

Also, why are geonode-rpm, geonode-deb, geonode-registry, geonode-cloud etc. listed in the geonode/src/ directory? Are you proposing we move these into the main repository? I don't understand what motivates this move, and there is not much discussion in the proposal.

@dwins
Copy link
Contributor

dwins commented Jun 4, 2012

Also, in response to this comment from the proposal:

|--------- geonode-geoserver-ext/ (may no longer be required once new security subsystem is implemented)

The new security system in GeoServer does not replace all of the functionality in geonode-server-ext, and our security scheme is far from standardized. I don't see the GeoNode GeoServer extensions going away any time soon.

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 4, 2012

On Mon, Jun 4, 2012 at 12:19 PM, David Winslow
[email protected]
wrote:

This GNIP appears to be proposing a lot more than just rearranging the files in the code repository.  I see several modules in the Django project mentioned (data, people, search, security, projects) which do not exist in the current repository.

Those are just examples to show how it would work. data would be the
name of the core module after the refactor in GNIP 30. The rest would
be introduced by other GNIPs. But for purposes of this GNIP, they are
just examples.

Also implied is support for Django's new template system, which I'm not really opposed to but should be discussed more explicitly in the proposal.

There is a separate GNIP (7) for this.

Also, why are geonode-rpm, geonode-deb, geonode-registry, geonode-cloud etc. listed in the geonode/src/ directory? Are you proposing we move these into the main repository? I don't understand what motivates this move, and there is not much discussion in the proposal.

They were proposed as submodules. Ariel was opposed to this kind of
thing, and Im more or less ok with just NOT having the src directory
at all and moving geoserver-geonode-dev and geonode-client as top
level modules next to geonode itself.


Reply to this email directly or view it on GitHub:
#260 (comment)

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 4, 2012

On Mon, Jun 4, 2012 at 12:21 PM, David Winslow
[email protected]
wrote:

Also, in response to this comment from the proposal:

|--------- geonode-geoserver-ext/ (may no longer be required once new security subsystem is implemented)

The new security system in GeoServer does not replace all of the functionality in geonode-server-ext, and our security scheme is far from standardized.  I don't see the GeoNode GeoServer extensions going away any time soon.

Think this should live at the top level. next to the other ones. I
will update it.


Reply to this email directly or view it on GitHub:
#260 (comment)

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 4, 2012

Updated. https://github.com/GeoNode/geonode/wiki/GNIP-29---Code-Repository-Reorganization

Just to be clear though. It's my long-term intention that both
geoserver-geonode-ext and geonode-client both go away completely and
that we just just plain vanilla geoserver with some light
configuration and the same for geoexplorer (lightly configured for use
inside geonode). I see no (long term) reason to have these be separate
projects outside of the normal projects.

On Mon, Jun 4, 2012 at 12:25 PM, Jeffrey Johnson [email protected] wrote:

On Mon, Jun 4, 2012 at 12:21 PM, David Winslow
[email protected]
wrote:

Also, in response to this comment from the proposal:

|--------- geonode-geoserver-ext/ (may no longer be required once new security subsystem is implemented)

The new security system in GeoServer does not replace all of the functionality in geonode-server-ext, and our security scheme is far from standardized.  I don't see the GeoNode GeoServer extensions going away any time soon.

Think this should live at the top level. next to the other ones. I
will update it.


Reply to this email directly or view it on GitHub:
#260 (comment)

@sbenthall
Copy link
Contributor Author

Ariel has mentioned that it would be great if we could get more committers to weigh in on GNIPs. We should probably soon make that a matter of explicit project policy. But I feel like for changes that will affect all developers like this GNIP, it is especially important.

@rmarianski
Copy link
Contributor

Generally speaking, I'd prefer not to use submodules to include other repos, and instead rely on something like build automation to setup development environments.

In terms of scope, if it's just a matter of moving things around I'm +1 for reorganizations that make sense. But just to make sure I understand things correctly, does this gnip also include creating a set of pluggable django apps and ensuring templates degrade gracefully whether those apps exist in the environment or not?

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 5, 2012

Rob, the goal is to get rid of submodules entirely. geonode-client and
geonode-integration have already been moved directly into the repo in
the dev branch. Of course geonode-client is pulling in submodules, but
I dont see us getting away from that very easily.

This GNIP itself is only about the reorganization, but the layout does
indicate the proposed layout for template projects and django apps
that is described more in GNIP 7. But yes, the goal that you should be
able to use a minimal amount of pluggable apps if desired, and not
have any problems with the templates etc. I.e. the minimal amount of
reliance between apps as is necessary to do what is needed, and a
clear statement of which ones rely on others.

On Tue, Jun 5, 2012 at 11:04 AM, Robert Marianski
[email protected]
wrote:

Generally speaking, I'd prefer not to use submodules to include other repos, and instead rely on something like build automation to setup development environments.

In terms of scope, if it's just a matter of moving things around I'm +1 for reorganizations that make sense. But just to make sure I understand things correctly, does this gnip also include creating a set of pluggable django apps and ensuring templates degrade gracefully whether those apps exist in the environment or not?


Reply to this email directly or view it on GitHub:
#260 (comment)

@rmarianski
Copy link
Contributor

Thanks for clarifying. Sounds good to me.

@dwins
Copy link
Contributor

dwins commented Jun 5, 2012

It probably makes sense to minimize scope for this GNIP by not including "making apps pluggable" as part of it. We can raise "foo is not pluggable" issues later as the need arises.

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 5, 2012

David, not sure where you want this change made? I've indicated in the
proposed layout which ones are intended to be the result of other
GNIPs and are not required now, but are only indicative so that they
are 'considered' now as we make this change.

On Tue, Jun 5, 2012 at 12:04 PM, David Winslow
[email protected]
wrote:

It probably makes sense to minimize scope for this GNIP by not including "making apps pluggable" as part of it.  We can raise "foo is not pluggable" issues later as the need arises.


Reply to this email directly or view it on GitHub:
#260 (comment)

@dwins
Copy link
Contributor

dwins commented Jun 5, 2012

As far as I could tell, it's not a change so much as a clarification. The proposal to reorganize the repo should just be moving things around and updating the build scripts to accommodate. "reorganizing" the code should not involve modifying it.

@jj0hns0n
Copy link
Contributor

jj0hns0n commented Jun 5, 2012

Agreed. This should simply be a series of git mv commands and as you
say updating the build and other scripts to handle for that. I dont
see anything about 'pluggables' in that GNIP page which is what I was
asking about. There is some indication about where those things would
live in the repo per other GNIPs, but it is strictly indicative.

On Tue, Jun 5, 2012 at 12:13 PM, David Winslow
[email protected]
wrote:

As far as I could tell, it's not a change so much as a clarification.  The proposal to reorganize the repo should just be moving things around and updating the build scripts to accommodate.  "reorganizing" the code should not involve modifying it.


Reply to this email directly or view it on GitHub:
#260 (comment)

@jj0hns0n
Copy link
Contributor

This is complete in dev, closing

afabiani pushed a commit that referenced this issue Jun 5, 2018
travislbrundage pushed a commit to travislbrundage/geonode that referenced this issue Oct 17, 2018
* Fix for third party login issues

* Add declaration
afabiani pushed a commit that referenced this issue Oct 18, 2018
* Remove an ipdb line

* Enable DB_DATASTORE when using WorldMap

* Now it is possible to edit and style also from local dev

* Fixes #263

* Fixes #273

* Synced with geonode master

* Fixes a problem with layers upload

* Add url dispatcher for worldmap api

* WorldMap api version is now 2.8

* Added worldmap geoexplorer client source code. Fixes #265

* Fixed javascript build.xml and a few things in GeoExplorer.js

* Ported the action model and its api, which is needed by hypermap

* Updating instructions for geonode-worldmap

* Fixes #264

* Fixes #280

* Update instructions adding the configuration of update_last_wm_geonode_layers

* Trying to increase accesstoken expiration to see if this affects #283

* Removed google earth tool. Fixed the gxp_mapshare tool. Fixing google map api key read

* Adding a missing import which caused an error when looking at map page as anonymous user

* Migrate worldmap map revisions. Fixes #266

* Restore map print tool

* Fixes #267

* Fixes #260 (gazetteer)

* Forgot one requirement in previous commit

* Fixes #272

* Fixes permission issues with editing and use the correct source for wm layers

* Fixes #283

* Fixes #314

* Fixes #298

* Point to the correct warper site in the rectify images dialog

* Correctly identify a local layer when using GeoNodeQueryTool

* Fixes #322

* Fixes zoom to extent tool

* Fixes the regression casuing all the extent issues

* Fixes #301

* Release 2.8.0

* Updated changelog for version 2.8

* Update README

* Update README

* Add the feature search functionality

* Forgot file in previous commit

* Improve map thumbnails

* Make layer configuration in json map more robust

* Removed a stale file

* Adds a status message when updating the gazetteer fields for a layer

* Fixes #334

* Fixes #300

* Fixes #330

* Fixes #327

* Fixes #336

* Fixes #340

* Align to master branch

* Fixes #343

* Prepare 2.8.1

*  - Fix issue with layer upload

*  - Fix issue with layer upload

* Backport master fixes

*  - Fix reproj issue on bbox_to_projection

* fix slow login/logout on certain circumstances

It seems connexion was make through public location,
while it's an internal call, making the request
very slow on some setups (not sure geoserver login
works anyway...)

* use geoip2 for monitoring

* Use HTML widget in GXP for any field starting with "descriptio". Refs #348

* Constrain pip to 9.0.3

* Updated changelog for version 2.8

* Backporting Master PRs

* Fixes #350

* Re-enable thumbnails for layers. Fixes #351

* Now categories order is respected for existing maps. Refs #341

* Sync with GeoNode 2.8 part 1/2

* Updating geoexplorer to last version

* Fixes a couple of things which were broken by merge with 2.8.0

* Fixing a couple of things broke when merging

* renaming celery to celery_app

* Fixes the updatelayers command

* Update helpers.py

* Backporting Master PRs

* Backporting Master PRs

* Fixes #367

* Fixes 31

Adding the {% trans %} tag for translation.

* Fixes https://github.com/camp-zju/geonode/issues/32

Add lable _() for translation

* Fixes https://github.com/camp-zju/geonode/issues/33

Add "Text" in .js file for translation

* Fixes https://github.com/camp-zju/geonode/issues/34

add Tianditu basemap

* Add Chinese translation file

* Add Chinese translation file

* Fixes https://github.com/camp-zju/geonode/issues/36

* Modify the file for translation

* Fixes https://github.com/camp-zju/geonode/issues/37

* Some improvement to the createlayer application

* Fixes part of #358 (the layer extent)

* Now thumbanils are not generate from layers which are created. Fixes #358

* Backporting Master PRs

* Fixes #3801

* Fixes #375

* Backporting Master PRs

* Update integration.py

*  - Backport fixes from master

*  - Backport fixes from master

*  - Allow registered users to edit Remote Services

* Updating the client

* Move the worldmap documentation to the correct place

* Removed stale worldmap documentation page

*  - Backport commit 15123a5 from master

* A couple of fixes and removing geoexplorer source code

*  - Backport commit 6c0e8ca from master

* Removing from git the compiled geoexplorer worldmap client

* Removing worldmap account, which will be part of the cga geonode project

* Removing all static files, which should be added by pip install worldmap-geoexplorer

* Fixing a number of things before sending PR to GeoNode 2.7.x

* Updated requirements for WorldMap

* Including a local_settings sample file for worldmap

* Now using django-geoexplorer-worldmap from the pypi package

*  - Backport fixes from master branch

* Updated worldmap installation documentation

* Removed the worldmap.queue application for now

* Reset a couple of files

*  - Backport from master

* Fixes pep8 violations

* By default USE_WORLDMAP is False

* Fixes PEP8 violations and a syntax error

* Fixes a problem with createlayer app

* By default we dont use hypermap

* [Backport fixes from master]

* [Backport fixes from master]

* Backport from master branch

*  - SITEURL rstrip (/) consistently

* [Fixes #3800] Uploading shapefiles without a datefield and time-enabled is False in importer settings fails in 2.7.x

*  - Backport stable fixes from master branch

*  - Backport stable fixes from master branch

*  - Backporting Docker Improvs and Fixes from master branch

* Update Dockerfile

* Externalize OGC TIMEOUT setting as ENV var

*  - Fix celery initialization when using GeoNode ad a depenency

* pep8 issues

* - Fix celery initialization when using GeoNode ad a depenency

* - Fix celery initialization when using GeoNode ad a depenency

* - Fix celery initialization when using GeoNode ad a depenency

* pep8 fixes

* - Fix celery initialization when using GeoNode ad a depenency

*  - Fixes layer replace

* Update helpers.py

* Update helpers.py

* add missing ast import

docker compose would fail due to a missing import, looking for global ast

* [backport 2.7.x] Minor improvements: allow registered users to invite others / improve French translation

*  - Packagin scripts updates

*  - Fix max zoom issue

*  - backport from master

*  - Backport fixes and PRs from master

*  - Minor Layout improvements

*  - Backport fixes and PRs from master (#3846)

*  - Backport fixes and PRs from master

*  - Minor Layout improvements

* Backport fixes from master branch

* Backport fix #3853

* Backport #3856

*  - Backporting master branch fixes

*  - Backporting fixes from master

* Backport fixes from master

* Backport fixes from master

*  - Fix integration tests

* Backport fixes from master

*  - Fix typo

* Ported the mobile client as per #404

* Includes commands in Makefile to create and remove databases needed when using the worldmap contrib application

* Now there is not a local_settings.py file, so we need to set DATABASES when using worldmap application

* Updated worldmap installation instructions and setup_worlmap make command

* When parsing ALLOWED_HOSTS the error can be more generic (in my case got a syntax error)

* Added the initial migration for datastore_shards app

* Fix issue with styles introduced with latest GeoNode synced code

* Correctly reference the google maps api

* add some localizations

* Skip a layer in the map if its source is missing

* Add localization

* Uncommenting a line wrongly commented out

* Started the GeoFence refactoring

* Fixes a problem with owner permissions not being synced on geofence

* Use psycopg2 for syncing geofence if there is a GEOFENCE_URL setting

* Handle a case of possible null values from geofence database

* Adding a GEOFENCE_URL in OGC_SERVER

* Fixes permissions sync with geofence for anonymous users

* Fixes an issue with guardian anonymous permissions

* Fixes another issue with anonymous user

* Skipping not anymore existing layers in maps

* Fixes the google maps api path

* Fixes #441

* Fixes #439

* Make sure coordinates are not flipped for a wm map

* Removing an unwanted print statment

* Fixes #454

* Fixes after sync with master

* Fixes pep8 violations

* Fixes some problem with automatic merge and migrations
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