User Feedback system___________________________
The GEOSS user community is assumed to consist of researchers who are used to complex data, but also of users who are looking to find a dataset on which they can do a simple analysis and use the results e.g. for showing on a map on a tablet or phone application. When a researcher has worked extensively with a dataset he might want to be able to provide another researcher with information such as references and detailed information on a certain region. Since the dataset is of importance to him, he will probably take some time to provide his/her feedback. Someone who uses the dataset as-is might just be able to quickly provide a rating with justification and perhaps to add some comments and tags. To be able to satisfy both user groups several design concepts have been used.
A user without much time will only use the first page and see a simple form without a request for details. A user that wants to add more details can go to the other tabs and fill everything in as desired.
'Add more’ button for elements
Many fields in the GeoViQua User Quality model can consist of 0 to many items. To support this, “Add” buttons are used. In this way a user can specify as many of the elements as he/she wants, but is not bothered by all the form fields if he/she is not interested in filling them in.
Some GeoViQua data quality elements such as GVQ_Publication and GVQ_DiscoveredIssue contain many fields to be filled in. These fields can take up a lot of screen space, which reduces the sense of overview the user has. One solution to this problem is enabling pop-up windows for every element that open upon clicking. However users often do not like to click a lot and could get confused by nested popups. Therefore it has been decided to make such elements collapsible. The user can always reopen the element and check the content and can clearly view the relations between the nested elements.
For storage of the feedback items a relational database is used. An advantage of using a relational database is the support for complex search queries. Since the feedback data is highly relational it makes sense to use a relational database. A disadvantage is that it is more difficult to create the XML output. Especially the elements of the ISO 19115 Metadata Standard for Geographic Data elements are sometimes very complex because of the some zero to many relations, some interchangeable elements, extensive namespacing and extensive support for differently formatted data.
The feedback catalogue uses the Django framework with a PostgreSQL database as backend. The API framework Tastypie is used to construct a RESTful interface. Via this interface feedback items and collections can be requested and searched and feedback items can be posted. A picture of the architecture is shown below:
The following software packages have been selected to support the feedback catalogue:
Django is a high-level Python Web framework that can be used under BSD license. It is used by large sites such as Instagram and Mozilla and enables the developer to create his data model entirely in Python. It comes with a database independent database-access API, therefore supporting switching of database type.
Tastypie is a web service API framework for Django. It provides a convenient and highly customizable, abstraction for creating REST-style interfaces. Since posting data is done with JSON format and getting/searching for data with XML, Tastypie has been chosen as layer API layer on top of the Django model.
PostgreSQL is a powerful, open-source object-relational database system which can run on all major platforms. Because of its good performance characteristics and flexibility it is considered suitable for this project.
More information can be found in the following sites:
Open Source Code: https://github.com/GeoViQua/geo-userfeedback
Demo Site: http://geoviqua.stcorp.nl/home.html