datagovuk / dgu_d7

Data.gov.uk Drupal 7 project
24 stars 23 forks source link

ckan and drupal integration #269

Closed jplow closed 9 years ago

jplow commented 10 years ago

Hi There,

I am having some issues getting ckan and drupal to integrate. I have followed the data.gov.uk To Go installation instructions, have got the ckan component up and running - can ingest and view data and can run an independent installation of drupal 7 so know the LAMP stack is configured. For example, the Home link redirects to /data/search and /blog returns a 404 error. I've looked at some of the other issues and I think symlinks and clean-urls are set-up - I can link to the assests directory. My feeling is that the apache config file may not have been set up correctly but I have no idea how they should be set up.

One further thing, the module dgu_home_page is no longer available in the download.

Any help or pointers would be much appreciated.

Thanks,

Jonathan

j420n commented 10 years ago

Hello Jonathan,

Sorry for the late reply, I have been trying to understand exactly where things have gone wrong.

Can you tell me which steps you have followed in the To Go Blog, are you using a Virtual Machine or a Non Virtual Machine?

It could be that some files and possibly programs which you are using may be a different version to the required ones.

Could you tell me which versions of the following programs you are using. drush nodejs npm

If you can send me any other info which you think is relevant, I will do my best to help you.

The dgu_home_page module is not being used any longer.

jplow commented 10 years ago

Hi There,

We have set up a fresh machine on Ubuntu 12.04. drush version 6.2.0 nodejs version 0.10.26 npm version 1.4.3

So we followed Option 2: Fresh machine prep and then steps 2,3,4 and 5. We used: dgu-vagrant-puppet togo branch ckan branch release-v2.0.1-dgu ckanext-archiver branch master ckanext-datapreview branch master ckanext-dgu branch master (pathspec '903-redesign' did not match any file(s) known to git.) ckanext-ga-report branch master ckanext-harvest b ranch '2.0' ckanext-os branch master ckanext-qa branch '2.0' ckanext-spatial branch 'dgu' ckanext-importlib branch master ckanext-hierarchy branch master shared_dguk_assets branch 'redesign' logreporter branch master

We had some issues along the way: lxml 2.2.4 updated to lxml 3.3.1 DefaultOrganizationForm missing from plugins.py - plugins.py updated from github master branch Had to edit manifests to include mod_rewrite pytz updated to pytz-2013.9

We managed to run through up all steps up to and including step 5 without any errors. The ckan component appears to be working, I can log in via web, view datasets, add harvest sources and harvest metadata.

Step 6: Drupal instal The LAMP stack is configured and I can install and run a standalone version of Drupal. I cloned https://github.com/datagovuk/dgu_d7.git and made distro in /var/www Then ran sudo drush --yes --verbose site-install dgu ..... and enabled modules I was initially having trouble with authentication but added dgu_drupal_auth to ckan.plugins in ckan.ini.

I have had a look in the logs and found the following (it might help?):

INFO:repoze.who:-- repoze.who request started (/blog) --
INFO:repoze.who:request classification: browser
INFO:repoze.who:identifier plugins registered [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
INFO:repoze.who:identifier plugins matched for classification "browser": [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
DEBUG:repoze.who:no identity returned from <FriendlyFormPlugin 140281207112208> (None)
DEBUG:repoze.who:identity returned from <OpenIdIdentificationPlugin 140281207082768>: {}
DEBUG:repoze.who:identity returned from <DGUAuthTktCookiePlugin 140281207054288>: {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}
DEBUG:repoze.who:identities found: [(<OpenIdIdentificationPlugin 140281207082768>, {}), (<DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'})]
INFO:repoze.who:authenticator plugins registered [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:authenticator plugins matched for classification "browser": [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:userid preauthenticated by <DGUAuthTktCookiePlugin 140281207054288>: "jplo" (repoze.who.userid set)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>: (None)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>: (None)
DEBUG:repoze.who:identities authenticated: [((0, 0), None, <DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}, u'jplo')]
DEBUG:routes.middleware:Matched GET /blog
DEBUG:routes.middleware:Route path: '/*url', defaults: {'action': u'view', 'controller': u'template'}
DEBUG:routes.middleware:Match dict: {'url': u'blog', 'action': u'view', 'controller': u'template'}
DEBUG:ckanext.dgu.authentication.drupal_auth:Drupal cookie found for server request xxx.xxx.xxx.xxx
DEBUG:pylons.wsgiapp:Setting up Pylons stacked object globals
DEBUG:pylons.wsgiapp:Resolved URL to controller: u'template'
DEBUG:pylons.wsgiapp:Controller appears to be a class, instantiating
DEBUG:pylons.wsgiapp:Calling controller class with WSGI interface
DEBUG:pylons.controllers.core:Calling '__before__' method with keyword args: **{'pylons': <pylons.util.PylonsContext object at 0x7f95c3bf2950>, 'url': u'blog', 'start_response': <function repl_start_response at 0x7f95c3b2eed8>, 'controller': u'template', 'environ': {'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route object at 0x7f95c3494610>, 'mod_wsgi.listener_port': '80', 'HTTP_COOKIE': 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI', 'mod_wsgi.listener_host': '', 'pylons.routes_dict': {'url': u'blog', 'action': u'view', 'controller': u'template'}, 'webob._parsed_query_vars': (GET([]), ''), 'SERVER_SOFTWARE': 'Apache/2.2.22 (Ubuntu)', 'SCRIPT_NAME': '', 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f95c384c0d0>>, 'webob.adhoc_attrs': {'response': <Response at 0x7f95b0342a90 200 OK>, 'language': 'en-us'}, 'mod_wsgi.handler_script': '', 'SERVER_SIGNATURE': '<address>Apache/2.2.22 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80</address>\n', 'REQUEST_METHOD': 'GET', 'REMOTE_USER': u'jplo', 'PATH_INFO': '/blog', 'beaker.cache': <beaker.cache.CacheManager object at 0x7f95c384c450>, 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'repoze.who.plugins': {'ckanext.dgu.authentication.drupal_repoze_plugin:DrupalLoginPlugin': <ckanext.dgu.authentication.drupal_repoze_plugin.DrupalLoginPlugin object at 0x7f95c3a5e510>, 'openid': <OpenIdIdentificationPlugin 140281207082768>, 'dgu_auth_tkt': <DGUAuthTktCookiePlugin 140281207054288>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, 'friendlyform': <FriendlyFormPlugin 140281207112208>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>}, 'repoze.who.identity': <repoze.who identity (hidden, dict-like) at 140280745452448>, 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_REFERER': 'http://xxx.xxx.xxx.xxx/data/search', 'SERVER_NAME': 'xxx.xxx.xxx.xxx', 'REMOTE_ADDR': '192.171.142.155', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'mod_wsgi.request_handler': 'wsgi-script', 'paste.throw_errors': True, 'wsgi.url_scheme': 'http', 'fanstatic.needed': <fanstatic.core.NeededResources object at 0x7f95b03421d0>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x7f95c3bf2890>, {'url': u'blog', 'action': u'view', 'controller': u'template'}), 'PATH_TRANSLATED': '/var/ckan/wsgi_app.py/blog', 'SERVER_PORT': '80', 'REMOTE_USER_DATA': 'userid_type:unicode', 'wsgi.multiprocess': False, 'mod_wsgi.input_chunked': '0', 'SERVER_ADDR': 'xxx.xxx.xxx.xxx', 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'CKAN_CURRENT_URL': '/blog', 'pylons.controller': <ckan.controllers.template.TemplateController object at 0x7f95b03c5350>, 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', 'paste.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'wsgi.input': <mod_wsgi.Input object at 0x7f95c3dcb3f0>, 'REMOTE_USER_TOKENS': [''], 'HTTP_HOST': 'xxx.xxx.xxx.xxx', 'beaker.session': {'_accessed_time': 1394457108.965813, '_creation_time': 1394457108.965813}, 'wsgi.multithread': True, 'mod_wsgi.callable_object': 'application', 'repoze.who.logger': <logging.Logger object at 0x7f95c3844a90>, 'routes.url': <routes.util.URLGenerator object at 0x7f95c3bf2890>, 'REQUEST_URI': '/blog', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'pylons.pylons': <pylons.util.PylonsContext object at 0x7f95c3bf2950>, 'CKAN_LANG_IS_DEFAULT': True, 'wsgi.version': (1, 1), 'paste.registry': <paste.registry.Registry object at 0x7f95c3e26d50>, 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <mod_wsgi.Log object at 0x7f95c3b170b0>, 'REMOTE_PORT': '54992', 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5', 'mod_wsgi.version': (3, 3), 'paste.cookies': (<SimpleCookie: SESS441bf3cd410720f25f8cb7fbfc30adeb='Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI' SESS853538fc88173efe9dce07d36fb7e600='mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M' auth_tkt='ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode' has_js='1'>, 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI'), 'CONTENT_TYPE': '; charset=utf-8', 'mod_wsgi.application_group': 'localhost|', 'mod_wsgi.script_reloading': '1', 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f95c3c38e40>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}, 'action': u'view'}
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.controllers.core:Looking for u'view' method to handle the request
DEBUG:pylons.controllers.core:Calling 'not_found' method with keyword args: **{'url': u'blog'}
DEBUG:pylons.controllers.util:Aborting request, status: 404, detail: '', headers: None, comment: None
DEBUG:pylons.controllers.core:'not_found' method raised HTTPException: HTTPNotFound (code: 404)
Traceback (most recent call last):
  File "/home/co/ckan/lib/python2.7/site-packages/pylons/controllers/core.py", line 107, in _inspect_call
    result = self._perform_call(func, args)
  File "/home/co/ckan/lib/python2.7/site-packages/pylons/controllers/core.py", line 60, in _perform_call
    return func(**args)
  File "/vagrant/src/ckanext-dgu/ckanext/dgu/plugin.py", line 35, in not_found
    abort(404)
  File "/vagrant/src/ckan/ckan/lib/base.py", line 49, in abort
    comment=comment)
  File "/home/co/ckan/lib/python2.7/site-packages/pylons/controllers/util.py", line 196, in abort
    raise exc.exception
HTTPNotFound: The resource could not be found.

Thanks for your help,

Jonathan

j420n commented 10 years ago

Hi Jonathan,

I noticed this in the error log you provided. " 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'weberror.evalexception': , 'CKAN_CURRENT_URL': '/blog', 'pylons.controller': , 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', " I am sure the DOCUMENT_ROOT should be set to /var/www " DEBUG:pylons.util:No attribute called depricated_properties found on c object, returning empty string DEBUG:pylons.controllers.core:Looking for u'view' method to handle the request DEBUG:pylons.controllers.core:Calling 'not_found' method with keyword args: {'url': u'blog'} DEBUG:pylons.controllers.util:Aborting request, status: 404, detail: '', headers: None, comment: None DEBUG:pylons.controllers.core:'not_found' method raised HTTPException: HTTPNotFound (code: 404) " This seems a bit odd, I will look into it. Are you using any VirtualHost Configurations with Apache2? It may be something to do with Views, it may be worth checking this link out. https://drupal.org/project/issues/views

I use --working-copy on my drush, I dont know if this would help you or not. drush make --working-copy --no-gitinfofile distro.make /var/www

I am sorry if this was not very helpful. I will let you know if i come across anything which may help you.

jplow commented 10 years ago

Hi There,

My virtualHost configuration matches that of https://github.com/datagovuk/dgu-vagrant-puppet/blob/togo/puppet/modules/dgu_ckan/templates/apache-ckan.erb

This is a copy form my machine:

 # Avoid 'unable to determine server name'
ServerName localhost

<VirtualHost *:80>

  WSGIScriptAlias / /var/ckan/wsgi_app.py

  # Used for debug mode: Force single-threaded execution
  WSGIDaemonProcess singlethreaded
  WSGIProcessGroup singlethreaded

  # pass authorization info on (needed for rest api)
  WSGIPassAuthorization On
  ErrorLog /var/log/ckan/ckan-apache.error.log
  CustomLog /var/log/ckan/ckan-apache.custom.log combined

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
</VirtualHost>

I modified the conf file to add a DocumentRoot to see if this made a difference: e.g. DocumentRoot "/var/www" or DocumentRoot "/var/www/profiles/dgu/modules/features"

But this made no difference other than DocumentRoot was '/var/www' rather than '/etc/apache2/htdocs' in the logs.

I took a look at /vagrant/resources/apache.vhost as you suggested. Looking through at some of the aliases I know that these directories do not exist on my machine e.g. var/www/inventory-template does not exist

Using my existing setup I am picking up route mapping such as publisher_index /publisher
publisher_edit /publisher/edit/:id /data/search

and these all successfully return web pages.

DEBUG:routes.middleware:Route path: '/data/search', defaults: {'action': u'search', 'controller': u'package'}
DEBUG:routes.middleware:Match dict: {'action': u'search', 'controller': u'package'}

However when the route path is something like:

DEBUG:routes.middleware:Route path: '/*url', defaults: {'action': u'view', 'controller': u'template'}
DEBUG:routes.middleware:Match dict: {'url': u'blog', 'action': u'view', 'controller': u'template'}

The mapping fails to route correctly.

Below is a log from a successful routing:

INFO:repoze.who:-- repoze.who request started (/data/search) --
INFO:repoze.who:request classification: browser
INFO:repoze.who:identifier plugins registered [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
INFO:repoze.who:identifier plugins matched for classification "browser": [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
DEBUG:repoze.who:no identity returned from <FriendlyFormPlugin 140281207112208> (None)
DEBUG:repoze.who:identity returned from <OpenIdIdentificationPlugin 140281207082768>: {}
DEBUG:repoze.who:identity returned from <DGUAuthTktCookiePlugin 140281207054288>: {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}
DEBUG:repoze.who:identities found: [(<OpenIdIdentificationPlugin 140281207082768>, {}), (<DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'})]
INFO:repoze.who:authenticator plugins registered [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:authenticator plugins matched for classification "browser": [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:userid preauthenticated by <DGUAuthTktCookiePlugin 140281207054288>: "jplo" (repoze.who.userid set)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>: (None)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>: (None)
DEBUG:repoze.who:identities authenticated: [((0, 0), None, <DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}, u'jplo')]
DEBUG:routes.middleware:Matched GET /data/search
DEBUG:routes.middleware:Route path: '/data/search', defaults: {'action': u'search', 'controller': u'package'}
DEBUG:routes.middleware:Match dict: {'action': u'search', 'controller': u'package'}
DEBUG:ckanext.dgu.authentication.drupal_auth:Drupal cookie found for server request xxx.xxx.xxx.xxx
DEBUG:pylons.wsgiapp:Setting up Pylons stacked object globals
DEBUG:pylons.wsgiapp:Resolved URL to controller: u'package'
DEBUG:pylons.wsgiapp:Controller appears to be a class, instantiating
DEBUG:pylons.wsgiapp:Calling controller class with WSGI interface
DEBUG:pylons.controllers.core:Calling '__before__' method with keyword args: **{'action': u'search', 'start_response': <function repl_start_response at 0x7f95b03ad398>, 'controller': u'package', 'environ': {'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route object at 0x7f95c3256ad0>, 'mod_wsgi.listener_port': '80', 'HTTP_COOKIE': 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI', 'mod_wsgi.listener_host': '', 'pylons.routes_dict': {'action': u'search', 'controller': u'package'}, 'webob._parsed_query_vars': (GET([]), ''), 'SERVER_SOFTWARE': 'Apache/2.2.22 (Ubuntu)', 'SCRIPT_NAME': '', 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f95c384c0d0>>, 'webob.adhoc_attrs': {'response': <Response at 0x7f95b03ac4d0 200 OK>, 'language': 'en-us'}, 'mod_wsgi.handler_script': '', 'SERVER_SIGNATURE': '<address>Apache/2.2.22 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80</address>\n', 'REQUEST_METHOD': 'GET', 'REMOTE_USER': u'jplo', 'PATH_INFO': '/data/search', 'beaker.cache': <beaker.cache.CacheManager object at 0x7f95c384c450>, 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'repoze.who.plugins': {'ckanext.dgu.authentication.drupal_repoze_plugin:DrupalLoginPlugin': <ckanext.dgu.authentication.drupal_repoze_plugin.DrupalLoginPlugin object at 0x7f95c3a5e510>, 'openid': <OpenIdIdentificationPlugin 140281207082768>, 'dgu_auth_tkt': <DGUAuthTktCookiePlugin 140281207054288>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, 'friendlyform': <FriendlyFormPlugin 140281207112208>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>}, 'repoze.who.identity': <repoze.who identity (hidden, dict-like) at 140280678335120>, 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_REFERER': 'http://xxx.xxx.xxx.xxx/blog', 'SERVER_NAME': 'xxx.xxx.xxx.xxx', 'REMOTE_ADDR': '192.171.142.155', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'mod_wsgi.request_handler': 'wsgi-script', 'paste.throw_errors': True, 'wsgi.url_scheme': 'http', 'fanstatic.needed': <fanstatic.core.NeededResources object at 0x7f95b03ac450>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x7f95c3e9b910>, {'action': u'search', 'controller': u'package'}), 'PATH_TRANSLATED': '/var/ckan/wsgi_app.py/data/search', 'SERVER_PORT': '80', 'REMOTE_USER_DATA': 'userid_type:unicode', 'wsgi.multiprocess': False, 'mod_wsgi.input_chunked': '0', 'SERVER_ADDR': 'xxx.xxx.xxx.xxx', 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'CKAN_CURRENT_URL': '/data/search', 'pylons.controller': <ckan.controllers.package.PackageController object at 0x7f95b0342fd0>, 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', 'paste.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'wsgi.input': <mod_wsgi.Input object at 0x7f95b02f5030>, 'REMOTE_USER_TOKENS': [''], 'HTTP_HOST': 'xxx.xxx.xxx.xxx', 'beaker.session': {'_accessed_time': 1394463365.483295, '_creation_time': 1394463365.483295}, 'wsgi.multithread': True, 'mod_wsgi.callable_object': 'application', 'repoze.who.logger': <logging.Logger object at 0x7f95c3844a90>, 'routes.url': <routes.util.URLGenerator object at 0x7f95c3e9b910>, 'REQUEST_URI': '/data/search', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'pylons.pylons': <pylons.util.PylonsContext object at 0x7f95b0342dd0>, 'CKAN_LANG_IS_DEFAULT': True, 'wsgi.version': (1, 1), 'paste.registry': <paste.registry.Registry object at 0x7f95b03427d0>, 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <mod_wsgi.Log object at 0x7f95b03c53b0>, 'REMOTE_PORT': '57746', 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5', 'mod_wsgi.version': (3, 3), 'paste.cookies': (<SimpleCookie: SESS441bf3cd410720f25f8cb7fbfc30adeb='Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI' SESS853538fc88173efe9dce07d36fb7e600='mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M' auth_tkt='ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode' has_js='1'>, 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI'), 'CONTENT_TYPE': '; charset=utf-8', 'mod_wsgi.application_group': 'localhost|', 'mod_wsgi.script_reloading': '1', 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f95c3e7deb8>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}, 'pylons': <pylons.util.PylonsContext object at 0x7f95b0342dd0>}
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.controllers.core:Looking for u'search' method to handle the request
DEBUG:pylons.controllers.core:Calling 'search' method with keyword args: **{}
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:ckan.logic:Access check - jplo site_read
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:ckan.logic:Access OK - jplo site_read
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:ckan.logic:Access check - jplo package_search
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:ckan.logic:Access OK - jplo package_search
DEBUG:ckan.lib.search.query:Package query: {'sort': 'score desc, popularity desc, name asc', 'fq': [' capacity:"public" +site_id:"localhost" +state:active'], 'facet.mincount': 1, 'rows': 21, 'facet.field': ['groups', 'tags', 'res_format', 'license', 'resource-type', 'UKLP', 'license_id-is-ogl', 'publisher', 'openness_score', 'spatial-data-service-type', 'all_themes', 'theme-primary', 'unpublished'], 'facet.limit': '50', 'facet': 'true', 'q': '*:*', 'start': 0, 'wt': 'json', 'qf': 'title^4 name^3 notes^2 text tags^0.3 group_titles^0.3 extras_harvest_document_content^0.2', 'fl': 'id data_dict'}
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:ckan.lib.base:Template cache-control: private
DEBUG:pylons.templating:Created render namespace with pylons vars: {'c': <pylons.util.AttribSafeContextObj at 0x7f95b0342610 action=u'search', author=u'jplo', controller=u'package', drill_down_url=<function drill_down_url at 0x7f95b03ad578>, environ={'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route ...ate'}, facet_titles=OrderedDict([('groups', u'Groups'), ('tags', u'Tags'), ('res...d')]), facets={'publisher': {'ons': 1, 'northern-ireland-spatial-data-infr...: 4}}, fields=[], fields_grouped={}, geographic_granularity=[('', ''), ('national', 'national'), ('regional', 'regional'...fy')], language='en', licenses=[(u'License Not Specified', u'notspecified'), (u'Open Data C...ed')], page=Page:
Collection type:  <type 'list'>
(Current) page:   1
Fi...:  1
, pylons=<pylons.util.PylonsContext object at 0x7f95b0342dd0>, q=u'', query_error=False, remote_addr='192.171.142.155', remove_field=<function remove_field at 0x7f95b03ada28>, resource_columns=('description', 'url', 'format'), schema_fields=set(['temporal_granularity', 'contact-phone', 'temporal_cove...as']), search_facets={'publisher': {'items': [{'count': 1, 'display_name': 'ons',...ry'}}, search_facets_limits={'publisher': 10, 'UKLP': 10, 'license': 10, 'tags': 10, 'li...: 10}, search_url_params='', sort_by=<function _sort_by at 0x7f95b03aded8>, sort_by_fields=[], sort_by_selected='score desc, popularity desc, name asc', start_response=<function repl_start_response at 0x7f95b03ad398>, temporal_granularity=[('', ''), ('year', 'year'), ('quarter', 'quarter'), ('month...fy')], update_frequency=[('', ''), ('never', 'never'), ('annual', 'annual'), ('quart...fy')], user=u'jplo', userobj=<User id=d1b304a2-06aa-4ac6-be7e-dd162f127f93 name=jplo open...True>>, 'ungettext': <function ungettext at 0x7f95c0d5b488>, 'g': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'url': <routes.util.URLGenerator object at 0x7f95c3e9b910>, 'h': <ckan.config.environment._Helpers object at 0x7f95c3486990>, 'request': <Request at 0x7f95b0342d50 GET http://xxx.xxx.xxx.xxx/data/search>, 'tmpl_context': <pylons.util.AttribSafeContextObj at 0x7f95b0342610 action=u'search', author=u'jplo', controller=u'package', drill_down_url=<function drill_down_url at 0x7f95b03ad578>, environ={'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route ...ate'}, facet_titles=OrderedDict([('groups', u'Groups'), ('tags', u'Tags'), ('res...d')]), facets={'publisher': {'ons': 1, 'northern-ireland-spatial-data-infr...: 4}}, fields=[], fields_grouped={}, geographic_granularity=[('', ''), ('national', 'national'), ('regional', 'regional'...fy')], language='en', licenses=[(u'License Not Specified', u'notspecified'), (u'Open Data C...ed')], page=Page:
Collection type:  <type 'list'>
(Current) page:   1
Fi...:  1
, pylons=<pylons.util.PylonsContext object at 0x7f95b0342dd0>, q=u'', query_error=False, remote_addr='192.171.142.155', remove_field=<function remove_field at 0x7f95b03ada28>, resource_columns=('description', 'url', 'format'), schema_fields=set(['temporal_granularity', 'contact-phone', 'temporal_cove...as']), search_facets={'publisher': {'items': [{'count': 1, 'display_name': 'ons',...ry'}}, search_facets_limits={'publisher': 10, 'UKLP': 10, 'license': 10, 'tags': 10, 'li...: 10}, search_url_params='', sort_by=<function _sort_by at 0x7f95b03aded8>, sort_by_fields=[], sort_by_selected='score desc, popularity desc, name asc', start_response=<function repl_start_response at 0x7f95b03ad398>, temporal_granularity=[('', ''), ('year', 'year'), ('quarter', 'quarter'), ('month...fy')], update_frequency=[('', ''), ('never', 'never'), ('annual', 'annual'), ('quart...fy')], user=u'jplo', userobj=<User id=d1b304a2-06aa-4ac6-be7e-dd162f127f93 name=jplo open...True>>, 'translator': <gettext.NullTranslations instance at 0x7f95c3a3a998>, 'session': {'_accessed_time': 1394463365.483295, '_creation_time': 1394463365.483295}, 'N_': <function gettext_noop at 0x7f95c0d5b140>, 'app_globals': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'config': {'error_email_from': 'paste@localhost', 'ckan.auth.create_dataset_if_not_in_organization': 'false', 'cswservice.contact_role': '', 'ckanext-archiver.archive_dir': '/tmp/resource_cache', 'ckan.auth.user_delete_groups': 'false', 'pylons.package': 'ckan', 'cswservice.contact_region': '', 'ckan.plugins': 'dgu_drupal_auth dgu_publisher_form dgu_publishers dgu_auth_api dgu_form dgu_theme cswserver harvest gemini_csw_harvester gemini_doc_harvester gemini_waf_harvester spatial_harvest_metadata_api spatial_query qa synchronous_search dgu_search dgu_dataset_form spatial_metadata os_search os_preview archiver dgu_api ga-report datapreview dgu_inventory hierarchy_display', 'extra_public_paths': '/vagrant/src/ckanext-os/ckanext/os/public,/vagrant/src/ckanext-os/ckanext/os/public,/vagrant/src/ckanext-dgu/ckanext/dgu/theme/public,/vagrant/src/ckanext-dgu/ckanext/dgu/../../../shared_dguk_assets,/vagrant/src/ckanext-harvest/ckanext/harvest/public,/vagrant/src/ckanext-qa/ckanext/qa/public,/vagrant/src/ckanext-ga-report/ckanext/ga_report/public,/vagrant/src/ckanext-datapreview/ckanext/datapreview/public', 'cswservice.title': 'Untitled Service - set cswservice.title in config', 'pylons.app_globals': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'cswservice.contact_voice': '', 'app_instance_uuid': '${app_instance_uuid}', 'ckan.auth.user_create_organizations': 'false', 'pylons.g': None, 'ckan.site_id': 'localhost', 'ckan.main_css': '/base/css/main.css', 'ckanext-os.gazetteer.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'cswservice.keyword_type': 'theme', 'extra_template_paths': '/vagrant/src/ckanext-os/ckanext/os/templates,/vagrant/src/ckanext-os/ckanext/os/templates,/vagrant/src/ckanext-dgu/ckanext/dgu/theme/templates,/vagrant/src/ckanext-spatial/ckanext/spatial/templates,/vagrant/src/ckanext-harvest/ckanext/harvest/templates,/vagrant/src/ckanext-qa/ckanext/qa/templates,/vagrant/src/ckanext-ga-report/ckanext/ga_report/templates,/vagrant/src/ckanext-datapreview/ckanext/datapreview/templates,/vagrant/src/ckanext-hierarchy/ckanext/hierarchy/templates,/vagrant/src/ckanext-hierarchy/ckanext/hierarchy/public', 'ckan.site_title': u'CKAN', 'ckan.site_url': u'http://localhost:80', 'dgu.xmlrpc_username': 'ckan', 'ga-report.period': 'monthly', 'app_conf': {'ckan.cache_url_root': 'http://localhost:5000/data/resource_cache/', 'ckanext-archiver.archive_dir': '/tmp/resource_cache', 'ckan.favicon': '/images/icons/ckan.ico', 'ckan.locale_default': 'en', 'googleanalytics.username': 'zephod@gmail.com', 'ckan.site_description': '', 'ckan.auth.create_dataset_if_not_in_organization': 'false', 'ckan.spatial.dataset_extent_map.routes': 'ckanext.dgu.controllers.package:PackageController/read', 'app_instance_uuid': '${app_instance_uuid}', 'ckan.auth.user_create_organizations': 'false', 'ckan.backup_dir': '/var/ckan/backup', 'ckan.locales_filtered_out': 'el ro lt sl', 'ckan.log_dir': '/var/ckan/log', 'ckanext-os.gazetteer.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.site_title': 'CKAN', 'ckan.site_url': 'http://localhost:80', 'dgu.xmlrpc_username': 'ckan', 'ckan.plugins': 'dgu_drupal_auth dgu_publisher_form dgu_publishers dgu_auth_api dgu_form dgu_theme cswserver harvest gemini_csw_harvester gemini_doc_harvester gemini_waf_harvester spatial_harvest_metadata_api spatial_query qa synchronous_search dgu_search dgu_dataset_form spatial_metadata os_search os_preview archiver dgu_api ga-report datapreview dgu_inventory hierarchy_display', 'ckan.feeds.author_name': '', 'ga-report.period': 'monthly', 'dgu.xmlrpc_domain': 'drupal.libre.gov.fr:80', 'ckan.auth.user_delete_groups': 'false', 'ckan.locale_order': 'en de fr it es pl ru nl sv no cs_CZ hu pt_BR fi bg ca sq sr sr_Latn', 'who.config_file': '/var/ckan/who.ini', 'ckan.auth.roles_that_cascade_to_sub_groups': 'admin', 'ckan.datapreview.limit': '2000000', 'ckan.feeds.author_link': '', 'solr_url': 'http://127.0.0.1:8983/solr', 'googleanalytics.id': 'UA-10855508-1', 'sqlalchemy.url': 'postgresql://dgu:pass@localhost/ckan', 'ckan.auth.create_unowned_dataset': 'false', 'ckan.spatial.dataset_extent_map.map_type': 'os', 'ckan.legacy_templates': 'true', 'who.log_level': 'warning', 'cache_dir': '/var/ckan/data', 'ckan.dump_dir': '/var/ckan/dump', 'ckan.auth.user_create_groups': 'false', 'package_form': 'package_gov3', 'ckan.feeds.authority_name': '', 'dgu.use_raw_js': 'true', 'ckanext-os.geoserver.apikey': '0822e7b98adf11e1a66e183da21c99ac', 'googleanalytics.account': 'data.gov.uk', 'ckan.auth.user_delete_organizations': 'false', 'googleanalytics.token.filepath': '/var/ckan/ga_auth_token.dat', 'ckan.spatial.srid': '4258', 'ga-report.bounce_url': '/', 'ckan.feeds.date': '2012', 'ckan.auth.create_user_via_api': 'false', 'ckan.gravatar_default': 'identicon', 'ckan.site_logo': '/img/logo_64px_wide.png', 'package': 'ckan', 'dgu.xmlrpc_password': 'letmein', 'ckanext-os.geoserver.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckanext-os.libraries.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.auth.anon_create_dataset': 'false', 'beaker.session.key': 'ckan', 'beaker.session.secret': '${app_instance_secret}', 'who.log_file': '/var/ckan/data/who_log.ini'}, 'pylons.paths': {'templates': [], 'controllers': '/vagrant/src/ckan/ckan/controllers', 'static_files': '/vagrant/src/ckan/ckan/public', 'root': '/vagrant/src/ckan/ckan'}, 'ckan.locale_order': 'en de fr it es pl ru nl sv no cs_CZ hu pt_BR fi bg ca sq sr sr_Latn', 'who.config_file': '/var/ckan/who.ini', 'ckan.auth.roles_that_cascade_to_sub_groups': 'admin', 'ckan.feeds.author_link': '', 'cswservice.contact_position': '', 'solr_url': 'http://127.0.0.1:8983/solr', 'buffet.template_options': {'myghty.data_dir': '/var/ckan/data/templates', 'mako.directories': [], 'myghty.component_root': [], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/var/ckan/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True}, 'sqlalchemy.url': 'postgresql://dgu:pass@localhost/ckan', 'global_conf': {'error_email_from': 'paste@localhost', '__file__': '/var/ckan/ckan.ini', 'test_smtp_server': 'localhost', 'smtp_server': 'localhost', 'here': '/var/ckan', 'search.facets': 'groups tags res_format license resource-type UKLP license_id-is-ogl publisher openness_score spatial-data-service-type all_themes theme-primary unpublished', 'test_smtp_server_port': '1025', 'email_to': 'you@yourdomain.com', 'debug': 'true'}, 'cswservice.rndlog_threshold': 0.01, '__file__': '/var/ckan/ckan.ini', 'test_smtp_server': 'localhost', 'ckan.spatial.dataset_extent_map.map_type': 'os', 'cache.dir': '/var/ckan/data', 'search.facets': 'groups tags res_format license resource-type UKLP license_id-is-ogl publisher openness_score spatial-data-service-type all_themes theme-primary unpublished', 'ckan.site_intro_text': '', 'who.log_level': 'warning', 'routes.named_routes': {'dataset_new': {'action': 'new', 'needed': [], 'controller': 'package', 'highlight_actions': 'new', 'icon': None}, 'qa_api_resource': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'register': {'action': 'register', 'needed': [], 'controller': 'user', 'highlight_actions': 'register', 'icon': None}, 'publisher_edit': {'action': 'edit', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'edit', 'icon': None}, 'publisher_apply': {'action': 'apply', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'apply', 'icon': None}, 'user_edit': {'action': 'edit', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'edit', 'icon': 'cog'}, 'user_datasets': {'action': 'read', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'read', 'icon': 'sitemap'}, 'group_activity': {'action': 'activity', 'needed': ['id', 'offset'], 'controller': 'group', 'highlight_actions': 'activity', 'icon': 'time'}, 'group_list': {'action': 'list', 'needed': [], 'controller': 'group', 'highlight_actions': 'list', 'icon': None}, 'ckanadmin_index': {'action': 'index', 'needed': [], 'controller': 'admin', 'highlight_actions': 'index', 'icon': 'legal'}, 'qa_organisation_action': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': '', 'icon': None}, 'storage_upload_handle': {'action': 'upload_handle', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'upload_handle', 'icon': None}, 'storage_file': {'action': 'file', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'file', 'icon': None}, 'home': {'action': 'index', 'needed': [], 'controller': 'home', 'highlight_actions': 'index', 'icon': None}, 'user_activity_stream': {'action': 'activity', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'activity', 'icon': 'time'}, 'qa_organisation': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': 'index', 'icon': None}, 'organization_read': {'action': 'read', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'read', 'icon': None}, 'qa_resource_checklink': {'action': 'check_link', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_resource:QAResourceController', 'highlight_actions': 'check_link', 'icon': None}, 'storage_api': {'action': 'index', 'needed': [], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'index', 'icon': None}, 'group_read': {'action': 'read', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'read', 'icon': 'sitemap'}, 'user_followers': {'action': 'followers', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'followers', 'icon': 'group'}, 'related_edit': {'action': 'edit', 'needed': ['id', 'related_id'], 'controller': 'related', 'highlight_actions': 'edit', 'icon': None}, 'publisher_index': {'action': 'index', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'index', 'icon': None}, 'publisher_new': {'action': 'new', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'new', 'icon': None}, 'related_dashboard': {'action': 'dashboard', 'needed': [], 'controller': 'related', 'highlight_actions': 'dashboard', 'icon': None}, 'related_read': {'action': 'read', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'read', 'icon': None}, 'dataset_history': {'action': 'history', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'history', 'icon': None}, 'group_index': {'action': 'index', 'needed': [], 'controller': 'group', 'highlight_actions': 'index search', 'icon': None}, 'organization_action': {'action': '', 'needed': ['action', 'id'], 'controller': 'group', 'highlight_actions': '', 'icon': None}, 'ckanadmin_config': {'action': 'config', 'needed': [], 'controller': 'admin', 'highlight_actions': 'config', 'icon': 'check'}, 'storage_upload_success_empty': {'action': 'success_empty', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'success_empty', 'icon': None}, 'related_delete': {'action': 'delete', 'needed': ['id', 'related_id'], 'controller': 'related', 'highlight_actions': 'delete', 'icon': None}, 'organization_about': {'action': 'about', 'needed': ['id'], 'controller': 'organization', 'highlight_actions': 'about', 'icon': 'info-sign'}, 'ckanadmin': {'action': '', 'needed': ['action'], 'controller': 'admin', 'highlight_actions': '', 'icon': None}, 'api_spatial_query': {'action': 'spatial_query', 'needed': ['register'], 'controller': 'ckanext.spatial.controllers.api:ApiController', 'highlight_actions': 'spatial_query', 'icon': None}, 'organizations_index': {'action': 'index', 'needed': [], 'controller': 'organization', 'highlight_actions': 'index', 'icon': None}, 'related_new': {'action': 'new', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'new', 'icon': None}, 'related_list': {'action': 'list', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'list', 'icon': 'picture'}, 'qa_api_resources_formatted': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'storage_api_auth_form': {'action': 'auth_form', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'auth_form', 'icon': None}, 'harvesting_job_create': {'action': 'create_harvesting_job', 'needed': [], 'controller': 'ckanext.harvest.controllers.view:ViewController', 'highlight_actions': 'create_harvesting_job', 'icon': None}, 'user_dashboard': {'action': 'dashboard', 'needed': [], 'controller': 'user', 'highlight_actions': 'dashboard', 'icon': 'list'}, 'qa_organisation_action_id': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': '', 'icon': None}, 'publisher_apply_empty': {'action': 'apply', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'apply', 'icon': None}, 'storage_upload_success': {'action': 'success', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'success', 'icon': None}, 'search': {'action': 'search', 'needed': [], 'controller': 'package', 'highlight_actions': 'index search', 'icon': None}, 'qa_api_resource_formatted': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'dataset_search': {'action': 'search', 'needed': [], 'controller': 'package', 'highlight_actions': 'search', 'icon': None}, 'dataset_followers': {'action': 'followers', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'followers', 'icon': 'group'}, 'storage_api_get_metadata': {'action': 'get_metadata', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'get_metadata', 'icon': None}, 'qa_dataset_action': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_package:QAPackageController', 'highlight_actions': '', 'icon': None}, 'user_index': {'action': 'index', 'needed': [], 'controller': 'user', 'highlight_actions': 'index', 'icon': None}, 'dataset_read': {'action': 'read', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'read', 'icon': None}, 'harvest': {'action': 'index', 'needed': [], 'controller': 'ckanext.harvest.controllers.view:ViewController', 'highlight_actions': 'index', 'icon': None}, 'add dataset': {'action': 'new', 'needed': [], 'controller': 'package', 'highlight_actions': 'new', 'icon': None}, 'user_follow': {'action': 'follow', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'follow', 'icon': None}, 'qa_dataset': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_package:QAPackageController', 'highlight_actions': 'index', 'icon': None}, 'about': {'action': 'about', 'needed': [], 'controller': 'home', 'highlight_actions': 'about', 'icon': None}, 'storage_upload': {'action': 'upload', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'upload', 'icon': None}, 'dataset_activity': {'action': 'activity', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'activity', 'icon': 'time'}, 'dataset_edit': {'action': 'edit', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'edit', 'icon': None}, 'group_about': {'action': 'about', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'about', 'icon': 'info-sign'}, 'organization_new': {'action': 'new', 'needed': [], 'controller': 'group', 'highlight_actions': 'new', 'icon': None}, 'reports_api': {'action': '', 'needed': ['action'], 'controller': 'ckanext.dgu.controllers.api:DguReportsController', 'highlight_actions': '', 'icon': None}, 'storage_api_set_metadata': {'action': 'set_metadata', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'set_metadata', 'icon': None}, 'publisher_users': {'action': 'users', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'users', 'icon': None}, 'qa': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_home:QAHomeController', 'highlight_actions': 'index', 'icon': None}, 'storage_api_auth_request': {'action': 'auth_request', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'auth_request', 'icon': None}, 'qa_api': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'organization_index': {'action': 'index', 'needed': [], 'controller': 'group', 'highlight_actions': 'index', 'icon': None}, 'dataset_authz': {'action': 'authz', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'authz', 'icon': None}, 'publisher_read': {'action': 'read', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'read', 'icon': None}, 'login': {'action': 'login', 'needed': [], 'controller': 'user', 'highlight_actions': 'login', 'icon': None}, 'group_new': {'action': 'new', 'needed': [], 'controller': 'group', 'highlight_actions': 'new', 'icon': None}, 'organization_activity': {'action': 'activity', 'needed': ['id'], 'controller': 'organization', 'highlight_actions': 'activity', 'icon': 'time'}, 'group_action': {'action': '', 'needed': ['action', 'id'], 'controller': 'group', 'highlight_actions': '', 'icon': None}, 'qa_api_resources_available': {'action': 'resources_available', 'needed': ['id'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': 'resources_available', 'icon': None}}, 'email_to': 'you@yourdomain.com', 'pylons.h': <ckan.config.environment._Helpers object at 0x7f95c3486990>, 'ckan.auth.user_create_groups': 'false', 'ckan.locales_filtered_out': 'el ro lt sl', 'dgu.use_raw_js': 'true', 'ckanext-os.geoserver.apikey': '0822e7b98adf11e1a66e183da21c99ac', 'googleanalytics.account': 'data.gov.uk', 'googleanalytics.token.filepath': '/var/ckan/ga_auth_token.dat', 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'myghty.data_dir': '/var/ckan/data/templates', 'mako.directories': [], 'myghty.component_root': [], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/var/ckan/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True}}], 'ckan.spatial.srid': '4258', 'ckan.feeds.date': '2012', 'ckan.gravatar_default': 'identicon', 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'pylons.strict_c': False, 'ckanext-os.libraries.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'googleanalytics.id': 'UA-10855508-1', 'debug': True, 'dgu.xmlrpc_password': 'letmein', 'ckan.cache_url_root': 'http://localhost:5000/data/resource_cache/', 'ckan.site_custom_css': '', 'ckan.favicon': '/images/icons/ckan.ico', 'cswservice.contact_fax': '', 'cswservice.contact_instructions': '', 'ckan.locale_default': 'en', 'googleanalytics.username': 'zephod@gmail.com', 'ckan.site_description': '', 'test_smtp_server_port': '1025', 'ckan.spatial.dataset_extent_map.routes': 'ckanext.dgu.controllers.package:PackageController/read', 'ckan.backup_dir': '/var/ckan/backup', 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}, 'cswservice.contact_pcode': '', 'ckan.log_dir': '/var/ckan/log', 'cswservice.contact_name': 'No contact - set cswservice.contact_name in config', 'pylons.c_attach_args': True, 'cswservice.abstract': 'Unspecified service description - set cswservice.abstract in config', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'smtp_server': 'localhost', 'ckan.feeds.author_name': '', 'lang': None, 'ckan.site_about': '', 'dgu.xmlrpc_domain': 'drupal.libre.gov.fr:80', 'package_form': 'package_gov3', 'ckan.datapreview.limit': '2000000', 'pylons.errorware': {'debug': True}, 'ckan.auth.anon_create_dataset': 'false', 'ckan.auth.create_unowned_dataset': 'false', 'cswservice.contact_hours': '', 'routes.map': <ckan.config.routing.Mapper object at 0x7f95c3256710>, 'cswservice.contact_city': '', 'here': '/var/ckan', 'ckan.legacy_templates': 'true', 'pylons.cache_dir': '/var/ckan/data', 'ckan.dump_dir': '/var/ckan/dump', 'ckan.feeds.authority_name': '', 'cswservice.provider_name': 'Unnamed provider - set cswservice.provider_name in config', 'ckan.auth.user_delete_organizations': 'false', 'cswservice.contact_email': '', 'cswservice.keywords': '', 'ga-report.bounce_url': '/', 'package': 'ckan', 'ckan.auth.create_user_via_api': 'false', 'beaker.cache.data_dir': '/var/ckan/data/cache', 'ckan.site_logo': u'/img/logo_64px_wide.png', 'cswservice.contact_address': '', 'who.log_file': '/var/ckan/data/who_log.ini', 'ckanext-os.geoserver.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.host': 'localhost:80', 'beaker.session.key': 'ckan', 'beaker.session.secret': '${app_instance_secret}', 'beaker.session.data_dir': '/var/ckan/data/sessions', 'cswservice.contact_country': ''}, 'response': <Response at 0x7f95b0342d10 200 OK>, '_': <function ugettext at 0x7f95c0d5b2a8>}
DEBUG:ckan.lib.base:rendering /vagrant/src/ckanext-dgu/ckanext/dgu/theme/templates/package/search.html [genshi]
DEBUG:pylons.util:No attribute called __members__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __methods__ found on c object, returning empty string
DEBUG:ckan.logic:Access check - jplo package_create
DEBUG:ckan.logic:Access OK - jplo package_create
DEBUG:ckan.logic:Access check - jplo package_create
DEBUG:ckan.logic:Access OK - jplo package_create
DEBUG:MARKDOWN:in markdown.markdown(), received text:
Cabinet Office head office energy use updated from on-site meters showing use, cost and carbon impact.
DEBUG:MARKDOWN:in markdown.markdown(), received text:
WMS
DEBUG:MARKDOWN:in markdown.markdown(), received text:
Ratings for all articles on the Directgov website.  One data file is available per day. Sets of files are organised by month on the download page
DEBUG:MARKDOWN:in markdown.markdown(), received text:
Comparison of developments in GDP and the labour market in the latest quarter.

Source agency: Office for National Statistics

Designation: Supporting material

Language: English

Alternative title: GDP and Labour Market coherence
DEBUG:MARKDOWN:in markdown.markdown(), received text:
A monthly updated list of all financial transactions over \u00a325k made by NHS Barnsley as part of the government's commitment to transparency in expenditure.
DEBUG:pylons.controllers.core:Controller returned a unicode string , writing it to pylons.response
DEBUG:pylons.controllers.core:Calling 'after' method with keyword args: **{'action': u'search', 'start_response': <function cookie_setting_start_response at 0x7f95c3b2eed8>, 'controller': u'package', 'environ': {'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route object at 0x7f95c3256ad0>, 'mod_wsgi.listener_port': '80', 'HTTP_COOKIE': 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI', 'mod_wsgi.listener_host': '', 'pylons.routes_dict': {'action': u'search', 'controller': u'package'}, 'webob._parsed_query_vars': (GET([]), ''), 'SERVER_SOFTWARE': 'Apache/2.2.22 (Ubuntu)', 'CKAN_PAGE_CACHABLE': False, 'SCRIPT_NAME': '', 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f95c384c0d0>>, 'webob.adhoc_attrs': {'response': <Response at 0x7f95b03ac4d0 200 OK>, 'language': 'en-us'}, 'mod_wsgi.handler_script': '', 'SERVER_SIGNATURE': '<address>Apache/2.2.22 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80</address>\n', 'REQUEST_METHOD': 'GET', 'REMOTE_USER': u'jplo', 'PATH_INFO': '/data/search', 'beaker.cache': <beaker.cache.CacheManager object at 0x7f95c384c450>, 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', '__no_cache__': True, 'repoze.who.plugins': {'ckanext.dgu.authentication.drupal_repoze_plugin:DrupalLoginPlugin': <ckanext.dgu.authentication.drupal_repoze_plugin.DrupalLoginPlugin object at 0x7f95c3a5e510>, 'openid': <OpenIdIdentificationPlugin 140281207082768>, 'dgu_auth_tkt': <DGUAuthTktCookiePlugin 140281207054288>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, 'friendlyform': <FriendlyFormPlugin 140281207112208>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>}, 'pylons.action_method': <bound method PackageController.search of <ckan.controllers.package.PackageController object at 0x7f95b0342fd0>>, 'repoze.who.identity': <repoze.who identity (hidden, dict-like) at 140280678335120>, 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_REFERER': 'http://xxx.xxx.xxx.xxx/blog', 'SERVER_NAME': 'xxx.xxx.xxx.xxx', 'REMOTE_ADDR': '192.171.142.155', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'mod_wsgi.request_handler': 'wsgi-script', 'paste.throw_errors': True, 'wsgi.url_scheme': 'http', 'fanstatic.needed': <fanstatic.core.NeededResources object at 0x7f95b03ac450>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x7f95c3e9b910>, {'action': u'search', 'controller': u'package'}), 'PATH_TRANSLATED': '/var/ckan/wsgi_app.py/data/search', 'SERVER_PORT': '80', 'REMOTE_USER_DATA': 'userid_type:unicode', 'wsgi.multiprocess': False, 'mod_wsgi.input_chunked': '0', 'SERVER_ADDR': 'xxx.xxx.xxx.xxx', 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'CKAN_CURRENT_URL': '/data/search', 'pylons.controller': <ckan.controllers.package.PackageController object at 0x7f95b0342fd0>, 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', 'CKAN_DEBUG_INFO': [{'template_path': '/vagrant/src/ckanext-dgu/ckanext/dgu/theme/templates/package/search.html', 'vars': {'c': <pylons.util.AttribSafeContextObj at 0x7f95b0342610 action=u'search', author=u'jplo', controller=u'package', drill_down_url=<function drill_down_url at 0x7f95b03ad578>, environ={...}, facet_titles=OrderedDict([('groups', u'Groups'), ('tags', u'Tags'), ('res...d')]), facets={'publisher': {'ons': 1, 'northern-ireland-spatial-data-infr...: 4}}, fields=[], fields_grouped={}, geographic_granularity=[('', ''), ('national', 'national'), ('regional', 'regional'...fy')], groups=[], is_an_official=True, language='en', licenses=[(u'License Not Specified', u'notspecified'), (u'Open Data C...ed')], page=Page:
Collection type:  <type 'list'>
(Current) page:   1
Fi...:  1
, pylons=<pylons.util.PylonsContext object at 0x7f95b0342dd0>, q=u'', query_error=False, remote_addr='192.171.142.155', remove_field=<function remove_field at 0x7f95b03ada28>, resource_columns=('description', 'url', 'format'), schema_fields=set(['temporal_granularity', 'contact-phone', 'temporal_cove...as']), search_facets={'publisher': {'items': [{'count': 1, 'display_name': 'ons',...ry'}}, search_facets_limits={'publisher': 10, 'UKLP': 10, 'license': 10, 'tags': 10, 'li...: 10}, search_url_params='', sort_by=<function _sort_by at 0x7f95b03aded8>, sort_by_fields=[], sort_by_selected='score desc, popularity desc, name asc', start_response=<function cookie_setting_start_response at 0x7f95c3b2eed8>, temporal_granularity=[('', ''), ('year', 'year'), ('quarter', 'quarter'), ('month...fy')], update_frequency=[('', ''), ('never', 'never'), ('annual', 'annual'), ('quart...fy')], user=u'jplo', userobj=<User id=d1b304a2-06aa-4ac6-be7e-dd162f127f93 name=jplo open...True>>, 'app_globals': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'g': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'h': <ckan.config.environment._Helpers object at 0x7f95c3486990>, 'request': <Request at 0x7f95b0342d50 GET http://xxx.xxx.xxx.xxx/data/search>, 'tmpl_context': <pylons.util.AttribSafeContextObj at 0x7f95b0342610 action=u'search', author=u'jplo', controller=u'package', drill_down_url=<function drill_down_url at 0x7f95b03ad578>, environ={...}, facet_titles=OrderedDict([('groups', u'Groups'), ('tags', u'Tags'), ('res...d')]), facets={'publisher': {'ons': 1, 'northern-ireland-spatial-data-infr...: 4}}, fields=[], fields_grouped={}, geographic_granularity=[('', ''), ('national', 'national'), ('regional', 'regional'...fy')], groups=[], is_an_official=True, language='en', licenses=[(u'License Not Specified', u'notspecified'), (u'Open Data C...ed')], page=Page:
Collection type:  <type 'list'>
(Current) page:   1
Fi...:  1
, pylons=<pylons.util.PylonsContext object at 0x7f95b0342dd0>, q=u'', query_error=False, remote_addr='192.171.142.155', remove_field=<function remove_field at 0x7f95b03ada28>, resource_columns=('description', 'url', 'format'), schema_fields=set(['temporal_granularity', 'contact-phone', 'temporal_cove...as']), search_facets={'publisher': {'items': [{'count': 1, 'display_name': 'ons',...ry'}}, search_facets_limits={'publisher': 10, 'UKLP': 10, 'license': 10, 'tags': 10, 'li...: 10}, search_url_params='', sort_by=<function _sort_by at 0x7f95b03aded8>, sort_by_fields=[], sort_by_selected='score desc, popularity desc, name asc', start_response=<function cookie_setting_start_response at 0x7f95c3b2eed8>, temporal_granularity=[('', ''), ('year', 'year'), ('quarter', 'quarter'), ('month...fy')], update_frequency=[('', ''), ('never', 'never'), ('annual', 'annual'), ('quart...fy')], user=u'jplo', userobj=<User id=d1b304a2-06aa-4ac6-be7e-dd162f127f93 name=jplo open...True>>, 'actions': <class 'ckan.model.authz.Action'>, 'translator': <gettext.NullTranslations instance at 0x7f95c3a3a998>, 'session': {'_accessed_time': 1394463365.483295, '_creation_time': 1394463365.483295}, 'N_': <function gettext_noop at 0x7f95c0d5b140>, 'ungettext': <function ungettext at 0x7f95c0d5b488>, 'config': {'error_email_from': 'paste@localhost', 'ckan.auth.create_dataset_if_not_in_organization': 'false', 'cswservice.contact_role': '', 'ckanext-archiver.archive_dir': '/tmp/resource_cache', 'ckan.auth.user_delete_groups': 'false', 'pylons.package': 'ckan', 'cswservice.contact_region': '', 'ckan.plugins': 'dgu_drupal_auth dgu_publisher_form dgu_publishers dgu_auth_api dgu_form dgu_theme cswserver harvest gemini_csw_harvester gemini_doc_harvester gemini_waf_harvester spatial_harvest_metadata_api spatial_query qa synchronous_search dgu_search dgu_dataset_form spatial_metadata os_search os_preview archiver dgu_api ga-report datapreview dgu_inventory hierarchy_display', 'extra_public_paths': '/vagrant/src/ckanext-os/ckanext/os/public,/vagrant/src/ckanext-os/ckanext/os/public,/vagrant/src/ckanext-dgu/ckanext/dgu/theme/public,/vagrant/src/ckanext-dgu/ckanext/dgu/../../../shared_dguk_assets,/vagrant/src/ckanext-harvest/ckanext/harvest/public,/vagrant/src/ckanext-qa/ckanext/qa/public,/vagrant/src/ckanext-ga-report/ckanext/ga_report/public,/vagrant/src/ckanext-datapreview/ckanext/datapreview/public', 'cswservice.title': 'Untitled Service - set cswservice.title in config', 'pylons.app_globals': <ckan.lib.app_globals._Globals object at 0x7f95c24ebf90>, 'cswservice.contact_voice': '', 'app_instance_uuid': '${app_instance_uuid}', 'ckan.auth.user_create_organizations': 'false', 'pylons.g': None, 'ckan.site_id': 'localhost', 'ckan.main_css': '/base/css/main.css', 'ckanext-os.gazetteer.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'cswservice.keyword_type': 'theme', 'extra_template_paths': '/vagrant/src/ckanext-os/ckanext/os/templates,/vagrant/src/ckanext-os/ckanext/os/templates,/vagrant/src/ckanext-dgu/ckanext/dgu/theme/templates,/vagrant/src/ckanext-spatial/ckanext/spatial/templates,/vagrant/src/ckanext-harvest/ckanext/harvest/templates,/vagrant/src/ckanext-qa/ckanext/qa/templates,/vagrant/src/ckanext-ga-report/ckanext/ga_report/templates,/vagrant/src/ckanext-datapreview/ckanext/datapreview/templates,/vagrant/src/ckanext-hierarchy/ckanext/hierarchy/templates,/vagrant/src/ckanext-hierarchy/ckanext/hierarchy/public', 'ckan.site_title': u'CKAN', 'ckan.site_url': u'http://localhost:80', 'dgu.xmlrpc_username': 'ckan', 'ga-report.period': 'monthly', 'app_conf': {'ckan.cache_url_root': 'http://localhost:5000/data/resource_cache/', 'ckanext-archiver.archive_dir': '/tmp/resource_cache', 'ckan.favicon': '/images/icons/ckan.ico', 'ckan.locale_default': 'en', 'googleanalytics.username': 'zephod@gmail.com', 'ckan.site_description': '', 'ckan.auth.create_dataset_if_not_in_organization': 'false', 'ckan.spatial.dataset_extent_map.routes': 'ckanext.dgu.controllers.package:PackageController/read', 'app_instance_uuid': '${app_instance_uuid}', 'ckan.auth.user_create_organizations': 'false', 'ckan.backup_dir': '/var/ckan/backup', 'ckan.locales_filtered_out': 'el ro lt sl', 'ckan.log_dir': '/var/ckan/log', 'ckanext-os.gazetteer.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.site_title': 'CKAN', 'ckan.site_url': 'http://localhost:80', 'dgu.xmlrpc_username': 'ckan', 'ckan.plugins': 'dgu_drupal_auth dgu_publisher_form dgu_publishers dgu_auth_api dgu_form dgu_theme cswserver harvest gemini_csw_harvester gemini_doc_harvester gemini_waf_harvester spatial_harvest_metadata_api spatial_query qa synchronous_search dgu_search dgu_dataset_form spatial_metadata os_search os_preview archiver dgu_api ga-report datapreview dgu_inventory hierarchy_display', 'ckan.feeds.author_name': '', 'ga-report.period': 'monthly', 'dgu.xmlrpc_domain': 'drupal.libre.gov.fr:80', 'ckan.auth.user_delete_groups': 'false', 'ckan.locale_order': 'en de fr it es pl ru nl sv no cs_CZ hu pt_BR fi bg ca sq sr sr_Latn', 'who.config_file': '/var/ckan/who.ini', 'ckan.auth.roles_that_cascade_to_sub_groups': 'admin', 'ckan.datapreview.limit': '2000000', 'ckan.feeds.author_link': '', 'solr_url': 'http://127.0.0.1:8983/solr', 'googleanalytics.id': 'UA-10855508-1', 'sqlalchemy.url': 'postgresql://dgu:pass@localhost/ckan', 'ckan.auth.create_unowned_dataset': 'false', 'ckan.spatial.dataset_extent_map.map_type': 'os', 'ckan.legacy_templates': 'true', 'who.log_level': 'warning', 'cache_dir': '/var/ckan/data', 'ckan.dump_dir': '/var/ckan/dump', 'ckan.auth.user_create_groups': 'false', 'package_form': 'package_gov3', 'ckan.feeds.authority_name': '', 'dgu.use_raw_js': 'true', 'ckanext-os.geoserver.apikey': '0822e7b98adf11e1a66e183da21c99ac', 'googleanalytics.account': 'data.gov.uk', 'ckan.auth.user_delete_organizations': 'false', 'googleanalytics.token.filepath': '/var/ckan/ga_auth_token.dat', 'ckan.spatial.srid': '4258', 'ga-report.bounce_url': '/', 'ckan.feeds.date': '2012', 'ckan.auth.create_user_via_api': 'false', 'ckan.gravatar_default': 'identicon', 'ckan.site_logo': '/img/logo_64px_wide.png', 'package': 'ckan', 'dgu.xmlrpc_password': 'letmein', 'ckanext-os.geoserver.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckanext-os.libraries.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.auth.anon_create_dataset': 'false', 'beaker.session.key': 'ckan', 'beaker.session.secret': '${app_instance_secret}', 'who.log_file': '/var/ckan/data/who_log.ini'}, 'pylons.paths': {'templates': [], 'controllers': '/vagrant/src/ckan/ckan/controllers', 'static_files': '/vagrant/src/ckan/ckan/public', 'root': '/vagrant/src/ckan/ckan'}, 'ckan.locale_order': 'en de fr it es pl ru nl sv no cs_CZ hu pt_BR fi bg ca sq sr sr_Latn', 'who.config_file': '/var/ckan/who.ini', 'ckan.auth.roles_that_cascade_to_sub_groups': 'admin', 'ckan.feeds.author_link': '', 'cswservice.contact_position': '', 'solr_url': 'http://127.0.0.1:8983/solr', 'buffet.template_options': {'myghty.data_dir': '/var/ckan/data/templates', 'mako.directories': [], 'myghty.component_root': [], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/var/ckan/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True}, 'sqlalchemy.url': 'postgresql://dgu:pass@localhost/ckan', 'global_conf': {'error_email_from': 'paste@localhost', '__file__': '/var/ckan/ckan.ini', 'test_smtp_server': 'localhost', 'smtp_server': 'localhost', 'here': '/var/ckan', 'search.facets': 'groups tags res_format license resource-type UKLP license_id-is-ogl publisher openness_score spatial-data-service-type all_themes theme-primary unpublished', 'test_smtp_server_port': '1025', 'email_to': 'you@yourdomain.com', 'debug': 'true'}, 'cswservice.rndlog_threshold': 0.01, '__file__': '/var/ckan/ckan.ini', 'test_smtp_server': 'localhost', 'ckan.spatial.dataset_extent_map.map_type': 'os', 'cache.dir': '/var/ckan/data', 'search.facets': 'groups tags res_format license resource-type UKLP license_id-is-ogl publisher openness_score spatial-data-service-type all_themes theme-primary unpublished', 'ckan.site_intro_text': '', 'who.log_level': 'warning', 'routes.named_routes': {'dataset_new': {'action': 'new', 'needed': [], 'controller': 'package', 'highlight_actions': 'new', 'icon': None}, 'qa_api_resource': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'register': {'action': 'register', 'needed': [], 'controller': 'user', 'highlight_actions': 'register', 'icon': None}, 'publisher_edit': {'action': 'edit', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'edit', 'icon': None}, 'publisher_apply': {'action': 'apply', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'apply', 'icon': None}, 'user_edit': {'action': 'edit', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'edit', 'icon': 'cog'}, 'user_datasets': {'action': 'read', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'read', 'icon': 'sitemap'}, 'group_activity': {'action': 'activity', 'needed': ['id', 'offset'], 'controller': 'group', 'highlight_actions': 'activity', 'icon': 'time'}, 'group_list': {'action': 'list', 'needed': [], 'controller': 'group', 'highlight_actions': 'list', 'icon': None}, 'ckanadmin_index': {'action': 'index', 'needed': [], 'controller': 'admin', 'highlight_actions': 'index', 'icon': 'legal'}, 'qa_organisation_action': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': '', 'icon': None}, 'storage_upload_handle': {'action': 'upload_handle', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'upload_handle', 'icon': None}, 'storage_file': {'action': 'file', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'file', 'icon': None}, 'home': {'action': 'index', 'needed': [], 'controller': 'home', 'highlight_actions': 'index', 'icon': None}, 'user_activity_stream': {'action': 'activity', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'activity', 'icon': 'time'}, 'qa_organisation': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': 'index', 'icon': None}, 'organization_read': {'action': 'read', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'read', 'icon': None}, 'qa_resource_checklink': {'action': 'check_link', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_resource:QAResourceController', 'highlight_actions': 'check_link', 'icon': None}, 'storage_api': {'action': 'index', 'needed': [], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'index', 'icon': None}, 'group_read': {'action': 'read', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'read', 'icon': 'sitemap'}, 'user_followers': {'action': 'followers', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'followers', 'icon': 'group'}, 'related_edit': {'action': 'edit', 'needed': ['id', 'related_id'], 'controller': 'related', 'highlight_actions': 'edit', 'icon': None}, 'publisher_index': {'action': 'index', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'index', 'icon': None}, 'publisher_new': {'action': 'new', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'new', 'icon': None}, 'related_dashboard': {'action': 'dashboard', 'needed': [], 'controller': 'related', 'highlight_actions': 'dashboard', 'icon': None}, 'related_read': {'action': 'read', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'read', 'icon': None}, 'dataset_history': {'action': 'history', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'history', 'icon': None}, 'group_index': {'action': 'index', 'needed': [], 'controller': 'group', 'highlight_actions': 'index search', 'icon': None}, 'organization_action': {'action': '', 'needed': ['action', 'id'], 'controller': 'group', 'highlight_actions': '', 'icon': None}, 'ckanadmin_config': {'action': 'config', 'needed': [], 'controller': 'admin', 'highlight_actions': 'config', 'icon': 'check'}, 'storage_upload_success_empty': {'action': 'success_empty', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'success_empty', 'icon': None}, 'related_delete': {'action': 'delete', 'needed': ['id', 'related_id'], 'controller': 'related', 'highlight_actions': 'delete', 'icon': None}, 'organization_about': {'action': 'about', 'needed': ['id'], 'controller': 'organization', 'highlight_actions': 'about', 'icon': 'info-sign'}, 'ckanadmin': {'action': '', 'needed': ['action'], 'controller': 'admin', 'highlight_actions': '', 'icon': None}, 'api_spatial_query': {'action': 'spatial_query', 'needed': ['register'], 'controller': 'ckanext.spatial.controllers.api:ApiController', 'highlight_actions': 'spatial_query', 'icon': None}, 'organizations_index': {'action': 'index', 'needed': [], 'controller': 'organization', 'highlight_actions': 'index', 'icon': None}, 'related_new': {'action': 'new', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'new', 'icon': None}, 'related_list': {'action': 'list', 'needed': ['id'], 'controller': 'related', 'highlight_actions': 'list', 'icon': 'picture'}, 'qa_api_resources_formatted': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'storage_api_auth_form': {'action': 'auth_form', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'auth_form', 'icon': None}, 'harvesting_job_create': {'action': 'create_harvesting_job', 'needed': [], 'controller': 'ckanext.harvest.controllers.view:ViewController', 'highlight_actions': 'create_harvesting_job', 'icon': None}, 'user_dashboard': {'action': 'dashboard', 'needed': [], 'controller': 'user', 'highlight_actions': 'dashboard', 'icon': 'list'}, 'qa_organisation_action_id': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_organisation:QAOrganisationController', 'highlight_actions': '', 'icon': None}, 'publisher_apply_empty': {'action': 'apply', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'apply', 'icon': None}, 'storage_upload_success': {'action': 'success', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'success', 'icon': None}, 'search': {'action': 'search', 'needed': [], 'controller': 'package', 'highlight_actions': 'index search', 'icon': None}, 'qa_api_resource_formatted': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'dataset_search': {'action': 'search', 'needed': [], 'controller': 'package', 'highlight_actions': 'search', 'icon': None}, 'dataset_followers': {'action': 'followers', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'followers', 'icon': 'group'}, 'storage_api_get_metadata': {'action': 'get_metadata', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'get_metadata', 'icon': None}, 'qa_dataset_action': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_package:QAPackageController', 'highlight_actions': '', 'icon': None}, 'user_index': {'action': 'index', 'needed': [], 'controller': 'user', 'highlight_actions': 'index', 'icon': None}, 'dataset_read': {'action': 'read', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'read', 'icon': None}, 'harvest': {'action': 'index', 'needed': [], 'controller': 'ckanext.harvest.controllers.view:ViewController', 'highlight_actions': 'index', 'icon': None}, 'add dataset': {'action': 'new', 'needed': [], 'controller': 'package', 'highlight_actions': 'new', 'icon': None}, 'user_follow': {'action': 'follow', 'needed': ['id'], 'controller': 'user', 'highlight_actions': 'follow', 'icon': None}, 'qa_dataset': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_package:QAPackageController', 'highlight_actions': 'index', 'icon': None}, 'about': {'action': 'about', 'needed': [], 'controller': 'home', 'highlight_actions': 'about', 'icon': None}, 'storage_upload': {'action': 'upload', 'needed': [], 'controller': 'ckan.controllers.storage:StorageController', 'highlight_actions': 'upload', 'icon': None}, 'dataset_activity': {'action': 'activity', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'activity', 'icon': 'time'}, 'dataset_edit': {'action': 'edit', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'edit', 'icon': None}, 'group_about': {'action': 'about', 'needed': ['id'], 'controller': 'group', 'highlight_actions': 'about', 'icon': 'info-sign'}, 'organization_new': {'action': 'new', 'needed': [], 'controller': 'group', 'highlight_actions': 'new', 'icon': None}, 'reports_api': {'action': '', 'needed': ['action'], 'controller': 'ckanext.dgu.controllers.api:DguReportsController', 'highlight_actions': '', 'icon': None}, 'storage_api_set_metadata': {'action': 'set_metadata', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'set_metadata', 'icon': None}, 'publisher_users': {'action': 'users', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'users', 'icon': None}, 'qa': {'action': 'index', 'needed': [], 'controller': 'ckanext.qa.controllers.qa_home:QAHomeController', 'highlight_actions': 'index', 'icon': None}, 'storage_api_auth_request': {'action': 'auth_request', 'needed': ['label'], 'controller': 'ckan.controllers.storage:StorageAPIController', 'highlight_actions': 'auth_request', 'icon': None}, 'qa_api': {'action': '', 'needed': ['action'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': '', 'icon': None}, 'organization_index': {'action': 'index', 'needed': [], 'controller': 'group', 'highlight_actions': 'index', 'icon': None}, 'dataset_authz': {'action': 'authz', 'needed': ['id'], 'controller': 'package', 'highlight_actions': 'authz', 'icon': None}, 'publisher_read': {'action': 'read', 'needed': [], 'controller': 'ckanext.dgu.controllers.publisher:PublisherController', 'highlight_actions': 'read', 'icon': None}, 'login': {'action': 'login', 'needed': [], 'controller': 'user', 'highlight_actions': 'login', 'icon': None}, 'group_new': {'action': 'new', 'needed': [], 'controller': 'group', 'highlight_actions': 'new', 'icon': None}, 'organization_activity': {'action': 'activity', 'needed': ['id'], 'controller': 'organization', 'highlight_actions': 'activity', 'icon': 'time'}, 'group_action': {'action': '', 'needed': ['action', 'id'], 'controller': 'group', 'highlight_actions': '', 'icon': None}, 'qa_api_resources_available': {'action': 'resources_available', 'needed': ['id'], 'controller': 'ckanext.qa.controllers.qa_api:ApiController', 'highlight_actions': 'resources_available', 'icon': None}}, 'email_to': 'you@yourdomain.com', 'pylons.h': <ckan.config.environment._Helpers object at 0x7f95c3486990>, 'ckan.auth.user_create_groups': 'false', 'ckan.locales_filtered_out': 'el ro lt sl', 'dgu.use_raw_js': 'true', 'ckanext-os.geoserver.apikey': '0822e7b98adf11e1a66e183da21c99ac', 'googleanalytics.account': 'data.gov.uk', 'googleanalytics.token.filepath': '/var/ckan/ga_auth_token.dat', 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'myghty.data_dir': '/var/ckan/data/templates', 'mako.directories': [], 'myghty.component_root': [], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/var/ckan/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True}}], 'ckan.spatial.srid': '4258', 'ckan.feeds.date': '2012', 'ckan.gravatar_default': 'identicon', 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'pylons.strict_c': False, 'ckanext-os.libraries.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'googleanalytics.id': 'UA-10855508-1', 'debug': True, 'dgu.xmlrpc_password': 'letmein', 'ckan.cache_url_root': 'http://localhost:5000/data/resource_cache/', 'ckan.site_custom_css': '', 'ckan.favicon': '/images/icons/ckan.ico', 'cswservice.contact_fax': '', 'cswservice.contact_instructions': '', 'ckan.locale_default': 'en', 'googleanalytics.username': 'zephod@gmail.com', 'ckan.site_description': '', 'test_smtp_server_port': '1025', 'ckan.spatial.dataset_extent_map.routes': 'ckanext.dgu.controllers.package:PackageController/read', 'ckan.backup_dir': '/var/ckan/backup', 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}, 'cswservice.contact_pcode': '', 'ckan.log_dir': '/var/ckan/log', 'cswservice.contact_name': 'No contact - set cswservice.contact_name in config', 'pylons.c_attach_args': True, 'cswservice.abstract': 'Unspecified service description - set cswservice.abstract in config', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'smtp_server': 'localhost', 'ckan.feeds.author_name': '', 'lang': None, 'ckan.site_about': '', 'dgu.xmlrpc_domain': 'drupal.libre.gov.fr:80', 'package_form': 'package_gov3', 'ckan.datapreview.limit': '2000000', 'pylons.errorware': {'debug': True}, 'ckan.auth.anon_create_dataset': 'false', 'ckan.auth.create_unowned_dataset': 'false', 'cswservice.contact_hours': '', 'routes.map': <ckan.config.routing.Mapper object at 0x7f95c3256710>, 'cswservice.contact_city': '', 'here': '/var/ckan', 'ckan.legacy_templates': 'true', 'pylons.cache_dir': '/var/ckan/data', 'ckan.dump_dir': '/var/ckan/dump', 'ckan.feeds.authority_name': '', 'cswservice.provider_name': 'Unnamed provider - set cswservice.provider_name in config', 'ckan.auth.user_delete_organizations': 'false', 'cswservice.contact_email': '', 'cswservice.keywords': '', 'ga-report.bounce_url': '/', 'package': 'ckan', 'ckan.auth.create_user_via_api': 'false', 'beaker.cache.data_dir': '/var/ckan/data/cache', 'ckan.site_logo': u'/img/logo_64px_wide.png', 'cswservice.contact_address': '', 'who.log_file': '/var/ckan/data/who_log.ini', 'ckanext-os.geoserver.host': 'osinspiremappingprod.ordnancesurvey.co.uk', 'ckan.host': 'localhost:80', 'beaker.session.key': 'ckan', 'beaker.session.secret': '${app_instance_secret}', 'beaker.session.data_dir': '/var/ckan/data/sessions', 'cswservice.contact_country': ''}, 'response': <Response at 0x7f95b0342d10 200 OK>, '_': <function ugettext at 0x7f95c0d5b2a8>}, 'template_name': 'package/search.html', 'template_type': 'genshi', 'renderer': None, 'c_vars': ['_BaseController__timer', '__class__', '__delattr__', '__depricated_properties__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__version__', '__weakref__', 'action', 'author', 'controller', 'drill_down_url', 'environ', 'facet_titles', 'facets', 'fields', 'fields_grouped', 'geographic_granularity', 'language', 'licenses', 'page', 'pylons', 'q', 'query_error', 'remote_addr', 'remove_field', 'resource_columns', 'schema_fields', 'search_facets', 'search_facets_limits', 'search_url_params', 'sort_by', 'sort_by_fields', 'sort_by_selected', 'start_response', 'temporal_granularity', 'update_frequency', 'user', 'userobj']}], 'paste.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'wsgi.input': <mod_wsgi.Input object at 0x7f95b02f5030>, 'REMOTE_USER_TOKENS': [''], 'HTTP_HOST': 'xxx.xxx.xxx.xxx', 'beaker.session': {'_accessed_time': 1394463365.483295, '_creation_time': 1394463365.483295}, 'wsgi.multithread': True, 'mod_wsgi.callable_object': 'application', 'repoze.who.logger': <logging.Logger object at 0x7f95c3844a90>, 'routes.url': <routes.util.URLGenerator object at 0x7f95c3e9b910>, 'REQUEST_URI': '/data/search', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'pylons.pylons': <pylons.util.PylonsContext object at 0x7f95b0342dd0>, 'CKAN_LANG_IS_DEFAULT': True, 'wsgi.version': (1, 1), 'paste.registry': <paste.registry.Registry object at 0x7f95b03427d0>, 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <mod_wsgi.Log object at 0x7f95b03c53b0>, 'REMOTE_PORT': '57746', 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5', 'mod_wsgi.version': (3, 3), 'paste.cookies': (<SimpleCookie: SESS441bf3cd410720f25f8cb7fbfc30adeb='Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI' SESS853538fc88173efe9dce07d36fb7e600='mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M' auth_tkt='ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode' has_js='1'>, 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI'), 'CONTENT_TYPE': '; charset=utf-8', 'mod_wsgi.application_group': 'localhost|', 'mod_wsgi.script_reloading': '1', 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f95c3e7deb8>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}, 'pylons': <pylons.util.PylonsContext object at 0x7f95b0342dd0>}
DEBUG:pylons.controllers.core:Calling Response object to return WSGI data
INFO:repoze.who:no challenge required
INFO:ckanext.dgu.authentication.auth_tkt:Remembering non-Drupal identity u'jplo'
INFO:repoze.who:-- repoze.who request ended (/data/search) --
INFO:repoze.who:-- repoze.who request started (/api/2/util/preview_list) --
INFO:repoze.who:request classification: browser
INFO:repoze.who:identifier plugins registered [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
INFO:repoze.who:identifier plugins matched for classification "browser": [<FriendlyFormPlugin 140281207112208>, <OpenIdIdentificationPlugin 140281207082768>, <DGUAuthTktCookiePlugin 140281207054288>]
DEBUG:repoze.who:no identity returned from <FriendlyFormPlugin 140281207112208> (None)
DEBUG:repoze.who:identity returned from <OpenIdIdentificationPlugin 140281207082768>: {}
DEBUG:repoze.who:identity returned from <DGUAuthTktCookiePlugin 140281207054288>: {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}
DEBUG:repoze.who:identities found: [(<OpenIdIdentificationPlugin 140281207082768>, {}), (<DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'})]
INFO:repoze.who:authenticator plugins registered [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:authenticator plugins matched for classification "browser": [<ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>]
INFO:repoze.who:userid preauthenticated by <DGUAuthTktCookiePlugin 140281207054288>: "jplo" (repoze.who.userid set)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>: (None)
DEBUG:repoze.who:no userid returned from <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>: (None)
DEBUG:repoze.who:identities authenticated: [((0, 0), None, <DGUAuthTktCookiePlugin 140281207054288>, {'tokens': [''], 'timestamp': 1392735695, 'repoze.who.userid': u'jplo', 'userdata': 'userid_type:unicode'}, u'jplo')]
DEBUG:routes.middleware:Matched GET /api/2/util/preview_list
DEBUG:routes.middleware:Route path: '/api/2/util/preview_list', defaults: {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}
DEBUG:routes.middleware:Match dict: {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}
DEBUG:ckanext.dgu.authentication.drupal_auth:Drupal cookie found for server request xxx.xxx.xxx.xxx
DEBUG:pylons.wsgiapp:Setting up Pylons stacked object globals
DEBUG:pylons.wsgiapp:Resolved URL to controller: u'ckanext.os.controllers.preview_list:PreviewList'
DEBUG:pylons.wsgiapp:Controller appears to be a class, instantiating
DEBUG:pylons.wsgiapp:Calling controller class with WSGI interface
DEBUG:pylons.controllers.core:Calling '__before__' method with keyword args: **{'action': u'view', 'start_response': <function repl_start_response at 0x7f95b0344140>, 'controller': u'ckanext.os.controllers.preview_list:PreviewList', 'environ': {'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route object at 0x7f95c3486ed0>, 'mod_wsgi.listener_port': '80', 'HTTP_REFERER': 'http://xxx.xxx.xxx.xxx/data/search', 'mod_wsgi.listener_host': '', 'pylons.routes_dict': {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}, 'webob._parsed_query_vars': (GET([('_', '1394463370094')]), '_=1394463370094'), 'SERVER_SOFTWARE': 'Apache/2.2.22 (Ubuntu)', 'SCRIPT_NAME': '', 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f95c384c0d0>>, 'webob.adhoc_attrs': {'response': <Response at 0x7f95b03acb50 200 OK>, 'language': 'en-us'}, 'mod_wsgi.handler_script': '', 'SERVER_SIGNATURE': '<address>Apache/2.2.22 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80</address>\n', 'REQUEST_METHOD': 'GET', 'REMOTE_USER': u'jplo', 'PATH_INFO': '/api/2/util/preview_list', 'beaker.cache': <beaker.cache.CacheManager object at 0x7f95c384c450>, 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '_=1394463370094', 'repoze.who.plugins': {'ckanext.dgu.authentication.drupal_repoze_plugin:DrupalLoginPlugin': <ckanext.dgu.authentication.drupal_repoze_plugin.DrupalLoginPlugin object at 0x7f95c3a5e510>, 'openid': <OpenIdIdentificationPlugin 140281207082768>, 'dgu_auth_tkt': <DGUAuthTktCookiePlugin 140281207054288>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, 'friendlyform': <FriendlyFormPlugin 140281207112208>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>}, 'repoze.who.identity': <repoze.who identity (hidden, dict-like) at 140280678328672>, 'paste.parsed_dict_querystring': (MultiDict([('_', '1394463370094')]), '_=1394463370094'), 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI', 'SERVER_NAME': 'xxx.xxx.xxx.xxx', 'REMOTE_ADDR': '192.171.142.155', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'mod_wsgi.request_handler': 'wsgi-script', 'paste.throw_errors': True, 'wsgi.url_scheme': 'http', 'fanstatic.needed': <fanstatic.core.NeededResources object at 0x7f95c37df410>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x7f95c3b1a590>, {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}), 'PATH_TRANSLATED': '/var/ckan/wsgi_app.py/api/2/util/preview_list', 'SERVER_PORT': '80', 'REMOTE_USER_DATA': 'userid_type:unicode', 'wsgi.multiprocess': False, 'mod_wsgi.input_chunked': '0', 'SERVER_ADDR': 'xxx.xxx.xxx.xxx', 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'CKAN_CURRENT_URL': '/api/2/util/preview_list?_=1394463370094', 'pylons.controller': <ckanext.os.controllers.preview_list.PreviewList object at 0x7f95b03acc10>, 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', 'paste.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'wsgi.input': <mod_wsgi.Input object at 0x7f95b0342bb0>, 'REMOTE_USER_TOKENS': [''], 'HTTP_HOST': 'xxx.xxx.xxx.xxx', 'beaker.session': {'_accessed_time': 1394463366.463502, '_creation_time': 1394463366.463502}, 'wsgi.multithread': True, 'mod_wsgi.callable_object': 'application', 'repoze.who.logger': <logging.Logger object at 0x7f95c3844a90>, 'routes.url': <routes.util.URLGenerator object at 0x7f95c3b1a590>, 'REQUEST_URI': '/api/2/util/preview_list?_=1394463370094', 'HTTP_ACCEPT': '*/*', 'pylons.pylons': <pylons.util.PylonsContext object at 0x7f95b03acf50>, 'CKAN_LANG_IS_DEFAULT': True, 'wsgi.version': (1, 1), 'paste.registry': <paste.registry.Registry object at 0x7f95c37df290>, 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <mod_wsgi.Log object at 0x7f95b0342770>, 'REMOTE_PORT': '57767', 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5', 'mod_wsgi.version': (3, 3), 'paste.cookies': (<SimpleCookie: SESS441bf3cd410720f25f8cb7fbfc30adeb='Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI' SESS853538fc88173efe9dce07d36fb7e600='mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M' auth_tkt='ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode' has_js='1'>, 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI'), 'CONTENT_TYPE': '; charset=utf-8', 'mod_wsgi.application_group': 'localhost|', 'mod_wsgi.script_reloading': '1', 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f95b0344210>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}, 'pylons': <pylons.util.PylonsContext object at 0x7f95b03acf50>}
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.util:No attribute called __depricated_properties__ found on c object, returning empty string
DEBUG:pylons.controllers.core:Looking for u'view' method to handle the request
DEBUG:pylons.controllers.core:Calling 'view' method with keyword args: **{}
DEBUG:pylons.controllers.core:Controller returned a string , writing it to pylons.response
DEBUG:pylons.controllers.core:Calling 'after' method with keyword args: **{'action': u'view', 'start_response': <function cookie_setting_start_response at 0x7f95b0344320>, 'controller': u'ckanext.os.controllers.preview_list:PreviewList', 'environ': {'AUTH_TYPE': 'cookie', 'routes.route': <routes.route.Route object at 0x7f95c3486ed0>, 'mod_wsgi.listener_port': '80', 'HTTP_REFERER': 'http://xxx.xxx.xxx.xxx/data/search', 'mod_wsgi.listener_host': '', 'pylons.routes_dict': {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}, 'webob._parsed_query_vars': (GET([('_', '1394463370094')]), '_=1394463370094'), 'SERVER_SOFTWARE': 'Apache/2.2.22 (Ubuntu)', 'SCRIPT_NAME': '', 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f95c384c0d0>>, 'webob.adhoc_attrs': {'response': <Response at 0x7f95b03acb50 200 OK>, 'language': 'en-us'}, 'mod_wsgi.handler_script': '', 'SERVER_SIGNATURE': '<address>Apache/2.2.22 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80</address>\n', 'REQUEST_METHOD': 'GET', 'REMOTE_USER': u'jplo', 'PATH_INFO': '/api/2/util/preview_list', 'beaker.cache': <beaker.cache.CacheManager object at 0x7f95c384c450>, 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '_=1394463370094', 'repoze.who.plugins': {'ckanext.dgu.authentication.drupal_repoze_plugin:DrupalLoginPlugin': <ckanext.dgu.authentication.drupal_repoze_plugin.DrupalLoginPlugin object at 0x7f95c3a5e510>, 'openid': <OpenIdIdentificationPlugin 140281207082768>, 'dgu_auth_tkt': <DGUAuthTktCookiePlugin 140281207054288>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f95c3a5e490>, 'friendlyform': <FriendlyFormPlugin 140281207112208>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f95c3a5e4d0>}, 'pylons.action_method': <bound method PreviewList.view of <ckanext.os.controllers.preview_list.PreviewList object at 0x7f95b03acc10>>, 'repoze.who.identity': <repoze.who identity (hidden, dict-like) at 140280678328672>, 'paste.parsed_dict_querystring': (MultiDict([('_', '1394463370094')]), '_=1394463370094'), 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI', 'SERVER_NAME': 'xxx.xxx.xxx.xxx', 'REMOTE_ADDR': '192.171.142.155', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'mod_wsgi.request_handler': 'wsgi-script', 'paste.throw_errors': True, 'wsgi.url_scheme': 'http', 'fanstatic.needed': <fanstatic.core.NeededResources object at 0x7f95c37df410>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x7f95c3b1a590>, {'action': u'view', 'controller': u'ckanext.os.controllers.preview_list:PreviewList'}), 'PATH_TRANSLATED': '/var/ckan/wsgi_app.py/api/2/util/preview_list', 'SERVER_PORT': '80', 'REMOTE_USER_DATA': 'userid_type:unicode', 'wsgi.multiprocess': False, 'mod_wsgi.input_chunked': '0', 'SERVER_ADDR': 'xxx.xxx.xxx.xxx', 'DOCUMENT_ROOT': '/etc/apache2/htdocs', 'mod_wsgi.process_group': 'singlethreaded', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'CKAN_CURRENT_URL': '/api/2/util/preview_list?_=1394463370094', 'pylons.controller': <ckanext.os.controllers.preview_list.PreviewList object at 0x7f95b03acc10>, 'CKAN_LANG': 'en', 'SCRIPT_FILENAME': '/var/ckan/wsgi_app.py', 'SERVER_ADMIN': '[no address given]', 'paste.evalexception': <weberror.evalexception.EvalException object at 0x7f95c384c5d0>, 'wsgi.input': <mod_wsgi.Input object at 0x7f95b0342bb0>, 'REMOTE_USER_TOKENS': [''], 'HTTP_HOST': 'xxx.xxx.xxx.xxx', 'beaker.session': {'_accessed_time': 1394463366.463502, '_creation_time': 1394463366.463502}, 'wsgi.multithread': True, 'mod_wsgi.callable_object': 'application', 'repoze.who.logger': <logging.Logger object at 0x7f95c3844a90>, 'routes.url': <routes.util.URLGenerator object at 0x7f95c3b1a590>, 'REQUEST_URI': '/api/2/util/preview_list?_=1394463370094', 'HTTP_ACCEPT': '*/*', 'pylons.pylons': <pylons.util.PylonsContext object at 0x7f95b03acf50>, 'CKAN_LANG_IS_DEFAULT': True, 'wsgi.version': (1, 1), 'paste.registry': <paste.registry.Registry object at 0x7f95c37df290>, 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <mod_wsgi.Log object at 0x7f95b0342770>, 'REMOTE_PORT': '57767', 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5', 'mod_wsgi.version': (3, 3), 'paste.cookies': (<SimpleCookie: SESS441bf3cd410720f25f8cb7fbfc30adeb='Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI' SESS853538fc88173efe9dce07d36fb7e600='mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M' auth_tkt='ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode' has_js='1'>, 'SESS853538fc88173efe9dce07d36fb7e600=mfbiIZmZbU6s6wqwGOb9qEY-kH0YUc69LYBMae7Ak7M; auth_tkt="ec99aa41e3cb4e71ead62ed54cf95aa2530375cfjplo!userid_type:unicode"; has_js=1; SESS441bf3cd410720f25f8cb7fbfc30adeb=Da04yDyomnD5fYcatiitIULqBhJFgHVOtaBzyW_alkI'), 'CONTENT_TYPE': '; charset=utf-8', 'mod_wsgi.application_group': 'localhost|', 'mod_wsgi.script_reloading': '1', 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f95b0344210>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}, 'pylons': <pylons.util.PylonsContext object at 0x7f95b03acf50>}
DEBUG:pylons.controllers.core:Calling Response object to return WSGI data
INFO:repoze.who:no challenge required
INFO:ckanext.dgu.authentication.auth_tkt:Remembering non-Drupal identity u'jplo'
INFO:repoze.who:-- repoze.who request ended (/api/2/util/preview_list) --

I'll keep looking to see if I can spot anything else.

Thanks,

Jonathan

j420n commented 10 years ago

Hey Jonathan I came accross something which may help you. In the vhost section of you apache you must ensure that you can see

AllowOveride All

This is why /blogs are not being shown, i think.

jplow commented 10 years ago

Hi There,

I have AllowOverride All enabled in apache.conf but not in my vitual host (ckan.conf - listed in a previous post).

Our apache.conf file is listed below (just in case you can see anything obivous in it).

# Security
ServerTokens OS
ServerSignature On
TraceEnable On

ServerName "nercbgskwckan"
ServerRoot "/etc/apache2"

PidFile ${APACHE_PID_FILE}
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

User www-data
Group www-data

AccessFileName .htaccess
<FilesMatch "^\.ht">
     Order allow,deny
     Deny from all
     Satisfy all
</FilesMatch>

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

DefaultType none
HostnameLookups Off
ErrorLog "/var/log/apache2/error.log"
LogLevel warn
EnableSendfile On

#Listen 80

Include "/etc/apache2/mods-enabled/*.load"
Include "/etc/apache2/mods-enabled/*.conf"
Include "/etc/apache2/ports.conf"

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

Include "/etc/apache2/conf.d/*.conf"
Include "/etc/apache2/sites-enabled/*.conf"

Thanks,

Jonathan

j420n commented 10 years ago

Hey Jonathan, It may be worth trying to add something like this to your virtualhost directive.. There should be a file in /etc/apache2/sites-enabled/something.vhost

It should look something like;

   <VirtualHost *:8000>
   ServerName localhost
   ## Vhost docroot
   DocumentRoot /var/www/
   ## Directories, there should at least be a declaration for /var/www/
   <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
   </Directory>
   ## Load additional static includes
   ## Logging
   ErrorLog /var/log/apache2/error.log
   ServerSignature Off
   CustomLog /var/log/apache2/access.log combined
     </VirtualHost>
jplow commented 10 years ago

Hi There,

I decided to start with a fresh server and see if a clean install would help: it didn't :-(

So I've amended my virtualhost as you suggest above.

I've commented out

WSGIScriptAlias / /var/ckan/wsgi_app.py

and replaced it with

DocumentRoot /var/www
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

That did allow pages like /forum to redirect to the drupal site - example below: untitled1 So now none of the styling and other links work so I went back to the vhost and add:

  WSGIScriptAlias /data /var/ckan/wsgi_app.py
  WSGIScriptAlias /assets /var/ckan/wsgi_app.py
  WSGIScriptAlias /feeds /var/ckan/wsgi_app.py
  WSGIScriptAlias /css /var/ckan/wsgi_app.py
  WSGIScriptAlias /dataset /var/ckan/wsgi_app.py
  WSGIScriptAlias /scripts /var/ckan/wsgi_app.py
  WSGIScriptAlias /images /var/ckan/wsgi_app.py
  WSGIScriptAlias /publisher /var/ckan/wsgi_app.py
  WSGIScriptAlias /harvest /var/ckan/wsgi_app.py

Now /forum looks like: untitled2

As you can see it looks like some variable are not being passed:

    Notice: Undefined property: stdClass::$field_publishers in include() (line 73 of /var/www/profiles/dgu/themes/custom/dguk/templates/page.tpl.php).
    Warning: Invalid argument supplied for foreach() in include() (line 73 of /var/www/profiles/dgu/themes/custom/dguk/templates/page.tpl.php).
    Warning: Missing argument 2 for dgu_search_apachesolr_query_prepare(), called in /var/www/profiles/dgu/modules/contrib/apachesolr/apachesolr.module on line 1498 and defined in dgu_search_apachesolr_query_prepare() (line 323 of /var/www/profiles/dgu/modules/features/dgu_search/dgu_search.module).
    Warning: htmlspecialchars() expects parameter 1 to be string, array given in dgu_search_search_block() (line 146 of /var/www/profiles/dgu/modules/features/dgu_search/dgu_search.module).
    Notice: Undefined index: keyword in include() (line 8 of /var/www/profiles/dgu/modules/features/dgu_search/templates/dgu_search_form.tpl.php).
    Warning: Invalid argument supplied for foreach() in include() (line 17 of /var/www/profiles/dgu/modules/features/dgu_search/templates/dgu_search_form.tpl.php).

/data/search still seesm to be one of the few pages that works as expected, perhaps as it all goes through

WSGIScriptAlias /data /var/ckan/wsgi_app.py

It still feels to me that ckan and drupal are not taking to each other as they should?

Thanks,

Jonathan

j420n commented 10 years ago

Good morning Jonathan, I think the variables are not being passed because there is not enough data in the database? I am trying to configure drupal to work with ckan i will let you know if I find anything worth mentioning.

j420n commented 10 years ago

Hey Jonathan, There have been a few updates in the repository. The updates should fix the errors you were having on /forum.

How are you getting on with ckan?