Group features

Overview

GeoNode should have a flexible ‘group’ functionality, to let people join together to represent anything from a loose collection of individuals working together to a formal organization.  The primary purpose of this is as a way to handle permissions, so you can define read/manage/view permissions for a group at once.  An important secondary feature is for a group to ‘endorse’ maps and data, as something that their group stands behind.

Use Cases

  • A field worker in Africa has a shapefile of reported AIDs cases by address.  She works for an organization with 200 people, and wants to share the information with everyone in it, but it would be a violation of privacy to open it to the world.  Without ‘groups’ she would have to individually add every single user.  With a group for her organization she could add the group and set permissions for everyone at once.
  • The UK government sets up a national GeoNode for small municipalities to upload their data and meet their INSPIRE requirements.  Forming a group lets several people collaborate on uploading the data and filling out the metadata, instead of doing it all themselves.  They will use the GeoNode as a point of collaboration, working within their group.  Once they are ready to share their data with the world they can hit publish and then also ‘endorse’ the data.  There may also be data that they have but they don’t officially stand behind, like bike paths from a local bike group, that they would publish, but not ‘endorse’.  The ‘endorse’ functionality is really an additional piece of very valuable metadata, telling potential data consumers if the organization is behind it, or if it just put the data up.

Specification

Each group should have a ‘Profile’ page that anyone can view to learn about a group, who is in it, what data and maps are associated with it, and which ones are endorsed.

The wireframe above highlights most of the needed features, but a few points to note are the feeds of new or updated content, the links to members and followers, the search functionality, and the ‘Endorsed’ status.  Administrators of the group will also have access to a ‘dashboard’ page:

Technical Details

Most of the work for this will take place in the Django framework, but it will need to tie in to GeoServer’s security system so the permissions get propagated.  Could also be good to leverage the ‘endorsed’ status in some way, perhaps only endorsed data is searchable from GeoNetwork.