CKAN Right Time Context
CKAN extension that gives you the ability to manage right-time resources provided by a FIWARE Context Broker. This extension provides a basic view for data preview of context broker resources and can be combined with other plugins (e.g. ckanext-wirecloud_view) for advanced visualization.
Note: This extension is tested using CKAN 2.5, 2.6, 2.7 and 2.8.
Key Features
- FIWARE NGSI Integration: Manage resources from Context Brokers supporting NGSIv1 and NGSIv2
- Real-Time Data Preview: Built-in view for displaying context broker data
- Resource Proxy: Proxied requests to Context Brokers through CKAN
- OAuth2 Authentication: Support for secured Context Broker instances via OAuth2
- Multi-Tenancy Support: FIWARE-Service and FIWARE-ServicePath headers
- Two Resource Formats:
fiware-ngsi: For Context Broker queries (v1 and v2)
fiware-ngsi-registry: For NGSI registration resources
- Flexible Authentication: OAuth2, X-Auth-Token (deprecated), or no authentication
- SSL Verification: Configurable SSL certificate verification for HTTPS connections
Technical Details
The extension adds two new resource formats:
fiware-ngsi Format
For querying Context Broker entities:
- Supports NGSIv2 queries: /v2/entities, /v2/entities/{id}
- Supports NGSIv1 queries: /v1/queryContext, /v1/contextEntities/{id}
- Requires resource_proxy plugin to be enabled
- Optional payload for v1 queryContext requests
fiware-ngsi-registry Format
For NGSI registration with entity patterns:
- Entity ID and type specification
- Pattern matching support (isPattern)
- Attribute filtering
- Geo-location expressions (georel, geometry, coords)
Configuration Options
- Auth Type: None, OAuth 2.0, or X-Auth-Token (deprecated)
- Tenant: FIWARE-Service header for multi-tenancy
- Service Path: FIWARE-ServicePath for data filtering
- Payload: JSON query for NGSIv1 queryContext requests
- SSL Verification: Control via
ckan.right_time_context.verify_requests or CKAN_RIGHT_TIME_CONTEXT_VERIFY_REQUESTS environment variable
Dependencies
Requires resource_proxy plugin (included with CKAN) and optionally ckanext-oauth2 for secured Context Brokers.