Combining Drupal Content Management System with OGC Web Services By Terefe Hanchiso Sodango (Haramaya University, Ethiopia) Dr. U.D. (Ulanbek) Turdukulov & Drs. B.J. (Barend) Köbben(University of Twente, the Netherlands) Presentation for AfricaGIS 2013 + GSDI 14 Conference, Addis
Overview Following the recent developments in web technology, Geographic Information Systems are becoming increasingly web services oriented. OGC Web Services are the essential elements of web GIS. The two main and widely used are WMS and WFS.
Obviously as there is a need to share these services on the web, there may be also a need to make systems safe and secured from unauthorized use. Part of the solution is applying different roles, privileges and permission levels to users in order to make the services be accessible and consumable by authorized users only. Presentation for AfricaGIS 2013 + GSDI 14 Conference, Addis
Content Management System is a suitable tool to implement the aforementioned functionality. This study aims at finding the suitable Drupal software stacks for implementing OGC Web Services and access control. Drupal CMS is proposed because it is free, extensible and has a lot of powerful modules for the intended purpose.
Various geospatial modules were combined with Drupal CMS for the implementation of WMS, WFS, WFS-T and access control.
Some of the tested modules were: Mapping Kit, OpenLayers, Nicemap, Mapbox, MapServer, Mapstraction, OpenLayers KML Layer, Umapper, WMS, WFS, Content Access, Access Control List (ACL), Field Permission and others.
Among these, Mapping Kit and OpenLayers were selected for further investigation and implementation in Drupal-6.26 environment. These two modules were selected over others due to their suitability for OGC compliant Web Services (WMS, WFS and WFS-T).
On the other hand, Content Access, Access Control Lists and Field Permission modules were selected for access control. A number of other modules which are not listed here were also assessed.
To impose the RBAC (Role Based Access Control) on entities (WMS, WFS, WFS-T) three arbitrary additional roles namely: Planner, Resident and Public were created.
The roles were assigned with different permission levels in the system based on a usecase scenario assumed by the author. Every Drupal node consisting of WMS, WFS or WFS-T services was set RBAC.
For each role, user accounts were created to test functionality of access control. Generally, in this study Drupal stacks which is suitable for serving OGC compliant Web Services and applying access control is selected and implemented.
Introduction GIS is becoming Web Service oriented. OWS are the essential elements of web GIS. Since 1994, the OGC issues consensus standards. The OGC has defined standards for Web Map Service (WMS), Web Feature Service (WFS), Web Catalogue Service (CS-W) etc. Two common are WMS and WFS Use interface with a common GetCapabilities operation and use simple HTTP
Introduction continued OBJECTIVES Main Objective: To find suitable Drupal stacks for implementation of OGC web services. Specific Objectives: To find suitable Drupal stacks for implementation of OGC web services.and apply role based access control on the services (WMS, WFS and WFS-T).
CMS and OGC Web Services OS CMSs can provide security (effective for protection of data). Drupal is a free web-based CMS. It provides frameworks of modular interface. Drupal website is stored and treated as nodes Content Type Node Node Node V i e w s Page Block Block
CMS and OGC Web Services Flexibility, robustness, scalability, security and large support base make Drupal popular CMS It has more than 7,004 modules 1 5
Assessment of Some Drupal Modules Core modules: are used to offer basic functionalities Content Construction Kit (CCK):Create new content types and extend existing Chaos tool suite: Panels and Views OpenLayers Module: powerful JavaScript library Mapping Kit:It has a collection of modules which support mapping and allow adding geographic capabilities to Drupal.
Mapbox: Provides maki styled map layers to OpenLayers. Nicemap: Nicemap is a WMS client for Drupal. It is used to access publicly available NASA s WMS server. Geo Module:This module is used to provide a storage engine and API for geospatial data. Views Module:It is a framework for other modules. It enables users to make lists, tables, maps and other outputs of database queries Content Access Module: Allows managing permission for content types by role.
System Architecture IMPLEMENTATION Client application Serevers Interface s Direct Access (WFS-T) MapServer Web Client, OpenLayers WMS Drupal-6.26 WFS Apache Web Server Databases Geo-Database Postgresql/PostGIS File System [vector or raster] (ESRI shape files etc)
System Components tested in Drupal 6.26 version
Mapping Kit Module Mapping Kit is able to serve WMS from the MapServer application through OGC Get-Capabilities and GetMap requests. E.g. Service: http://itcnt07.itc.nl/cgi-bin/mapserv.exe?map=// itcnt03/students/sodango27912/www/enschede/ 1.map&SERVICE=WMS&REQUEST=GetMap&Layers=neb ourhood,streets,schools&srs=epsg:28992& Layers: nebourhood,streets,schools Projection: EPSG:28992 Bounding box: 246000,464000,265700,479000 Queryable: Yes
The resulting map of the GetMap Request
Mapcontext: Used to provide extent, projection, and the layers to include List of URL, layer names, projection, extent etc
The resulting map of the request
Inline map Code [map width="600" height="300" layers="1, 2, 3" 1="http:// itcnt07.itc.nl/cgi-bin/mapserv.exe?map=//sites/default/files/maps/ enschede/ 1.map& EnschedeNeighbourhood nebourhood" 2="wms http:// localhost/cgi-bin/mapserv.exe?map//sites/default/files/maps/ enschede/1.map& Enschede Existing Schools schools" 3="WMS http://itcnt07.itc.nl/cgi-bin/mapserv.exe? map=//sites/default/files/maps/ enschede/1.map& Enschede Risk Points riskpts" maxextent="246000,464000,265700,479000" class= "align-left" style="border: 2px solid red;" projection="epsg:28992"/]
The resulting map of the inline map code
Inline map mixed with text class= align-left and class= align-right
WFS request
WFS request [map context="node/80/enschede Schools" controls="default,statusbar,layerswitcher" layers="1" 1=" http://itcnt07.itc.nl/cgi-bin/mapserv.exe?map=//sites/ default/files/maps/enschede/1.map& Ensch ede Schools Schools maxfeatures=64, extract=true, stylemap= {strokecolor: blue,strokewidth:5,stroke Opacity: 0.5,fillOpacity:0.5}width="600" height="300" /]
Role Based Access Control (RBAC) set on (WMS, WFS and WFS-T)
Access Control is applied on Drupal Entities
While Creating User Accounts Role is Assigned
Users with Public Role
User with Public role can view
Users with Resident Role
User with Resident role can view but cannot edit WMS, WFS or WFS-T layers.
Users with Planner Role
Planner can view and edit WMS, WFS or WFS-T layers.
Planner Can WFS-T Features
Suitable Drupal Stack
CONCLUSION AND RECOMMENDATION Conclusion Mapping Kit and OpenLayers are more suitable for serving OGC compliant Web Services. RBAC is applied on OGC Web Services to restrict unauthorized access.
Conclusion continued The geospatial and content access modules used were effective and able to perform the proposed functionality. Therefore, the suitable stack is composed of Drupal-6.x, Mapping Kit, OpenLayers, Access Control List, Content Access and Field Permission.
Recommendation Mapping Kit and Openlayers modules are recommended for their suitability of serving OGC compliant WMS, WFS and WFS-T. On the other hand to impose access control: Access Control List, Content Access and Field Permission modules are suitable.
Recommendation continued Especially, Mapping Kit has many submodules which can provide varieties of mapping services. easy customization of maps It allows maps to be added to contents It has sub-modules which are useful to add content types for mapping. It doesn t require Views module for displaying It has relatively good documentation
Recommendation continued Mapping Kit module is not yet developed for Drupal-7.x, therefore, users opting to use Drupal-7.x can consider another approaches too. For example Cartaro is another stack which can give OGC compliant Web Services in Drupal 7.x.
Thank You Very Much! Presentation for AfricaGIS 2013 + GSDI 14 Conference, Addis
Presentation for AfricaGIS 2013 + GSDI 14 Presentation for AfricaGIS 2013 + GSDI 14 Conference, Addis Conference, Addis