Seeking advice on generic open-source package roadmap?

Since I am building something somewhat similar right now, I am going to tell you how I am doing it and you can choose to change whatever you want from it for another piece.

Django (with GeoDjango) is pretty good for this as a basic framework for python (again, if that is your thing, you could do this in another language).

My approach for user-level edits is similar to what CaptDragon described. I am using the django authentication framework. For this project, my APIs are being created using Django's Tasty Pie which already has a framework that allows you create proper RESTful APIs with authentication taken in consideration quite easily.

My Mapserver (or Geoserver or whatever you choose to use) are never exposed directly to the outside world (only the local server has access to those)... all the tiles get served out using a tile server (geowebcache, tilecache, tilestache whatever).

I don't need to mention Openlayers, since you already picked that. Good choice.

PostgreSQL/PostGIS was another no-brainer. :)

As a javascript library, you can never go wrong with jQuery. If you are going to do allow several edits, you may benefit from having some structure of your javascript objects using something like backbone.js. Take this with a grain of salt. Some people love it - others hate it.

If you don't want your site to look so ugly, do yourself a favor and use a css framework like Bootstrap or Compass or alternative, for $20, just buy one from themeforest or wrapstrap (if you are going to open source it you may want to look at the license if you are going to buy it though). Hooking one of these up take around a day and make a huge difference on how your site looks!

Personally, I have looked at Django-cms (and Pinax) several times and I can never convince myself that it is worth the trouble. I have never regretted that decision yet.

Since you are picking a project that will require various versions of your schema (the more you develop, the more it will change), just use south. Don't even hesitate about it! Seriously.

That is what I would use, but the lovely thing about Open Source is that you can change parts to suit your own needs.


I'm using an stack similar to Ragi's I'm near the alpha version of my application and at this point it seems that the choices where right. Here is my solution:

At the server:

  • Ubuntu server + apache web server + apache tomcat.
  • Postgresql + postgis as database.
  • Geoserver, (in my case I use it only for rasters).
  • Django Framework + Tastypie. Tastypie serves all the vectors through the API and the users have 'per object' permission.
  • python-gsconfig to control geoserver from python.
  • jasper reports to generate pdfs.
  • pyjasper to control jasper reports from python.
  • High performance geostatistical library for interpolation.

At the client:

  • ExtJs 4 -> That's fantastic, extjs works very well with tastypie and you have many things working out of the box, like windows and tables. I started using it in pure code but nou I use Sencha Architect 2 which helps a lot.
  • OpenLayers -> With two methods inserted one in a extjs store and one in a openlayers layer you have them update each other on data change.

Is it even possible to have registered site users edit just their own features?

It appears that this is possible using Cartaro. It is based on Drupal (I know, you said nothing limiting like Drupal, but hear me out!) and it allows for users to only edit their own features, among other options. Here's a screenshot taken from the People page when logged in as an admin, that shows the types of permissions that can be set for users:

Cartaro permissions

Also, Cartaro runs on PostGIS, GeoServer, and OpenLayers, so it potentially could have all that you're looking for.

What is the best top layer UI for a site like this?

I don't know what the "best" top layer is, but it looks like Cartaro could provide what you're looking for since Drupal has many UI options. It looks like Cartaro is early in development (I don't personally know of anyone who's using it), but it has potential.