{22} Trac tickets (2647 matches)
Results (501 - 600 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#2845 | defect | seanh | seanh | ckan-v1.8 | closed | fixed | Editing an organization removes all datasets from the organization |
Run CKAN with the publisher profile and organizations plugins enabled. Make an organization. Make a dataset and add it to the organization. Edit the organization and change e.g. its description. After saving the organization, all its datasets have been removed from the organization and now belong to no organization. |
1344859286000000 | 1347271110000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2870 | enhancement | seanh | ross | new | 1.8 tag_list not defined |
From: <thedatahub.org@…> Date: Thu, Aug 16, 2012 at 3:20 AM Subject: WebApp? Error: <class 'genshi.template.eval.UndefinedError?'>: "tag_list" not defined To: ckan-sysadmin@…, kindly@… URL: http://ckan.net/dataset/uk-postboxes Module weberror.errormiddleware:162 in call << traceback_supplement = Supplement, self, environ
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.package:322 in read << template = template[:template.index('.') + 1] + format
Module ckan.lib.base:153 in render << try:
Module pylons.templating:249 in cached_template << return content
Module ckan.lib.base:102 in render_template << if loader_class == NewTextTemplate?:
Module genshi.core:183 in render << method = self.serializer or 'xml'
Module genshi.output:57 in encode << _encode = lambda string: string
Module genshi.output:569 in call << def call(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module genshi.filters.transform:1145 in call << :param stream: The marked event stream to filter
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module genshi.filters.transform:1145 in call << :param stream: The marked event stream to filter
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module genshi.filters.transform:1145 in call << :param stream: The marked event stream to filter
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module ckanext.googleanalytics.plugin:93 in download_adder << [downloaded %s times]</span>
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module genshi.filters.transform:1175 in call << """
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.core:288 in _ensure << # unchanged
Module genshi.filters.transform:686 in _unmark << def _unmark(self, stream):
Module genshi.filters.transform:1145 in call << :param stream: The marked event stream to filter
Module genshi.filters.transform:714 in call << stream = iter(stream)
Module genshi.filters.transform:682 in _mark << def _mark(self, stream):
Module genshi.template.base:605 in _include << from genshi.template.loader import TemplateNotFound?
Module genshi.template.base:565 in _flatten << elif kind is EXPR:
Module genshi.template.base:277 in _eval_expr << if vars:
Module genshi.template.eval:178 in evaluate << traceback_hide = 'before_and_this'
Module ?:51 in <Expression u"tag_list(c.pkg_dict.get('tags', ))"> << <li py:if="c.pkg_dict.get('tags')" class="sidebar-section">
Module genshi.template.eval:309 in lookup_name << val = BUILTINS.get(name, val)
Module genshi.template.eval:410 in undefined << """Raise an UndefinedError? immediately."""
UndefinedError?: "tag_list" not defined CGI Variables CKAN_CURRENT_URL '/dataset/uk-postboxes' CKAN_LANG 'en' CKAN_LANG_IS_DEFAULT True CKAN_PAGE_CACHABLE True CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT 'text/html,text/plain,text/xml' HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' HTTP_ACCEPT_ENCODING 'gzip' HTTP_ACCEPT_LANGUAGE 'vi,en-us;q=0.7,en;q=0.3' HTTP_CONNECTION 'close' HTTP_HOST 'ckan.net' HTTP_USER_AGENT 'coccoc/1.0 ()' PATH_INFO '/dataset/uk-postboxes' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/dataset/uk-postboxes' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '47065' REQUEST_METHOD 'GET' REQUEST_URI '/dataset/uk-postboxes' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'ckan.net' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '<address>Apache/2.2.22 (Ubuntu) Server at ckan.net Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> beaker.session {'_accessed_time': 1345083636.079552, '_creation_time': 1345083636.079552} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: >, ) paste.registry <paste.registry.Registry object at 0x7f52e47477d0> paste.throw_errors True pylons.action_method <bound method PackageController?.read of <ckan.controllers.package.PackageController? object at 0x7f52e477b810>> pylons.controller <ckan.controllers.package.PackageController? object at 0x7f52e477b810> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52e477be90> pylons.routes_dict {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f5312955a50> routes.url <routes.util.URLGenerator object at 0x7f52eb8c9090> webob._parsed_query_vars (GET([]), ) webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f5308983a80> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f52eb8c9090>, {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'}) |
1345114732000000 | 1345114732000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2952 | enhancement | seanh | icmurray | ckan 2.0 | new | incorporate javascriopt translations into translations workflow |
There are now javascript translations. There's a paster command, trans js. This is a ticket to ensure that using trans js is documented in the normal ckan translation workflow (which is followed after a feature freeze, prior to release). And to see if there's any need for further incorporation into the current translation process. |
1349118945000000 | 1349118945000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3005 | enhancement | seanh | seanh | ckan 2.0 | new | Add following/unfollowing of groups: model, API, frontend, tests | 1351013744000000 | 1351013744000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3009 | enhancement | seanh | seanh | ckan 2.0 | closed | fixed | On-site notification of new dashboard activity |
We want a "bubble" with a number in it to appear in the top-right of the site next to your user name when you're logged in, telling you how many new activity stream items you have in your dashboard activity stream. There's a github issue for this here: |
1351615762000000 | 1353949938000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3028 | enhancement | seanh | seanh | ckan 2.0 | new | Feature: dashboard activity stream filtering | 1355141244000000 | 1355141244000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3029 | defect | seanh | dread | assigned | JSONP parameter scuppers Search in API |
http://datahub.io/api/2/search/package?jsonp=jsonpcallback&q=canada returns {"count": 0, "results": []} I believe this worked in CKAN 1.4 or 1.5, but it is broken on 1.7.1, 1.8 and whatever demo.ckan.org is running. I suspect the jsonpcallback parameter is getting sent to SOLR. This bug prevents using javascript on another site to search CKAN (although hopefully the action API would work). |
1355238035000000 | 1355243824000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1096 | defect | rufuspollock | pudo | ckan-future | new | [super] CKAN Hosted |
Many users of CKAN want to have their own instance without much effort. Setting these up in separate places is a maintenance nightmare, we should much rather have some tenant separation in core CKAN. Some ideas:
|
1303235062000000 | 1339774484000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1279 | enhancement | ross | amercader | ckan-v1.8 | closed | duplicate | Refactor or deprecate Authorization Groups |
Authorization Groups are going to be deprecated in 1.8 It is still unclear how Authorization Groups fit in the new authz model, so they have been left out of the logic and auth refactoring (Tickets #1229 and #1253) |
1313415367000000 | 1338212028000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1508 | enhancement | ross | rgrp | ckan-v1.6 | closed | fixed | [super] Finalize and deploy some of our major (new) features as of Dec 2011 |
This ticket is about finalizing, then deploying (to http://thedatahub.org/), and finally announcing some of recent major new features such as:
It would be best if this was done by someone *unfamiliar* with the extensions so feedback could be provided on quality of install docs etc etc. |
1323088817000000 | 1328000871000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1512 | defect | ross | rgrp | ckan-v1.8 | closed | fixed | Modifying user name makes you semi-log-out |
If you modify your user name, it looks like you are logged out, but you are actually logged in and therefore can't login. (Reported by Pablo) As a work around, you need to logout and log back in. implementation
|
1323100214000000 | 1342781122000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1551 | enhancement | ross | ross | ckan-backlog | closed | fixed | CKAN auth for webstore changes |
Webstore should use auth api ( #1550 ) for authenticating users accessing webstore rather than talking directly to the CKAN database. We also need it to suppose /user/ urls and /userid/ for accessing databases. |
1324049966000000 | 1346662048000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1574 | enhancement | ross | ross | ckan-v1.7 | closed | fixed | [super] Storage changes including automated save to Webstore |
Allow uploading of files to push the data into webstore. Initially we were going to suggest changes to ckanext-storage but after further analysis we arrived at the conclusion that this should be implemented by ckanext-archiver as it already handles archiving of data from various sources and would be the best place to 'archive' to webstore.
Tickets
|
1324315633000000 | 1338202955000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1579 | enhancement | ross | ross | ckan-backlog | closed | fixed | Full text search in Webstore |
We should allow full text search within databases for individual databases, although we may want to wait for any pending ports to postgres. |
1324385698000000 | 1338212496000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1608 | enhancement | ross | ross | ckan-sprint-2012-01-23 | closed | fixed | Merge storage into Core |
As part of Storage Changes and http://ckan.okfnpad.org/newstorage it was decided to merge ckanext-storage back into core. Other changes:
|
1325582044000000 | 1330036982000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1609 | enhancement | ross | ross | ckan-sprint-2012-01-23 | closed | fixed | Celery task for ckanext-archiver to write to webstore. |
From super Storage changes - #1574 - and http://ckan.okfnpad.org/newstorage we determined that ckanext-archiver should have a celery task for grabbing local file uploads and writing to webstore AnalysisWhen I upload a file to CKAN:
|
1325582253000000 | 1327057030000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1610 | enhancement | ross | ross | closed | duplicate | Move webstore to Postgres instead of Sqlite |
The default backing store for webstore should be Postgres and not sqlite. This was agreed as part of the #1574 storage changes and on http://ckan.okfnpad.org/newstorage |
1325587341000000 | 1325852472000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1611 | enhancement | ross | ross | closed | duplicate | Implement auth API calls for webstore/external use |
As part of #1574 we decided that it would be better for webstore (and future external services) to be able to authenticate simply with CKAN-Core. Currently webstore access the CKAN database to obtain the key for the user but it would be better if this connection was not so tightly bound and that webstore used an API as any other external service might. Need to discuss further with dread |
1325590191000000 | 1325846987000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1649 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | Verify RDF Extension (ckanext-rdf) works |
|
1326709096000000 | 1338205274000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1650 | enhancement | ross | ross | ckan-future | closed | wontfix | Add new language/translation of fields for datasets. |
Datasets should have a field that specifies the language used in the dataset, this should be a two character ISO 639-1 code (see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for list) . Also make sure all tests and migrations are resolved. [2d] Determine the best approach to having 'translation_of' references to show which dataset the current one is a translation of. This may be a translation of field, or a 'copied from' field or another form of package relationship. [2d] |
1326709392000000 | 1346670010000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1657 | enhancement | ross | ross | closed | wontfix | Configuration for reverse proxying |
Provide configuration for reverse proxying that will correctly handle the mapping of a URL to a sub-folder (using X-SCRIPT-NAME)
|
1326711580000000 | 1338206640000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1658 | enhancement | ross | ross | closed | wontfix | Implement proxy caching |
Implement proxy caching for performance gains
|
1326712354000000 | 1338206622000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1669 | enhancement | ross | ross | ckan-v1.7 | closed | fixed | [super] Publisher profile |
Implement the necessary backend changes to build profile for publishers using the group refactor. See http://ckan.okfnpad.org/publisherprofiles Subtickets are at: |
1326802473000000 | 1338204071000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1670 | enhancement | ross | ross | ckan-sprint-2012-03-05 | closed | fixed | Publisher profile documentation |
Super #1669 Analysis of all permissions for users given their publishers to ensure that we have covered all of the bases and haven't missed any use-cases. |
1326802549000000 | 1338205180000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1671 | enhancement | ross | ross | ckan-sprint-2012-02-06 | closed | fixed | Publisher profile sysadmin authz |
Super #1669 Implement authz for sysadmins in publisher profile |
1326802607000000 | 1328526614000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1672 | enhancement | ross | ross | ckan-sprint-2012-02-06 | closed | fixed | Publisher profile user authz |
Super #1669 Authz for normal users in publisher profile as per sysadmin |
1326802680000000 | 1328526625000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1673 | enhancement | ross | ross | ckan-sprint-2012-02-06 | closed | fixed | Add approval status field to groups |
Super #1669 As groups need to be authorised in some cases, particularly publisher profiles, we need a field to denote how this is managed. We should add an 'approval_status' field that will be used to denote its status. By default this will be "approved" but this will allow us to override it with a "pending" or "denied" status. The latter should also change the main status of the Group. |
1326802753000000 | 1328526644000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1674 | enhancement | ross | ross | ckan-sprint-2012-02-06 | closed | fixed | Test auth logic hooks for publisher profile |
Super #1669 Test all of the new auth logic hooks for publisher profile to make sure they work as expected. Also make sure that we have a test to compare the naming of the core auth funcs with the profile hooks (so we can see what may have changed in one but not the other). |
1326802841000000 | 1328526677000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1675 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | Publisher admin authz |
Super #1669 Authz for the publisher admin (who has permission to administer the publisher group themselves). |
1326802923000000 | 1328709915000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1676 | enhancement | ross | ross | ckan-sprint-2012-02-06 | closed | fixed | Publisher editor authz |
Super #1669 Editor authz for publisher groups need to be implemented and tested. |
1326802971000000 | 1328526670000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1680 | enhancement | ross | ross | closed | wontfix | Group refactor top level element |
The new group refactor allows for a hierarchy of groups where each group has a type - to be able to implement a tree of groups. It will need a flag within the group to denote that it is a top level group, to circumvent the need to determine whether the group is a child of a parent node (for a specific use case - a publisher representing the department that only contains publishers). Suggest 'is_top_level' |
1326896362000000 | 1326900832000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1681 | enhancement | ross | ross | closed | fixed | Core storage document |
Document all of the changes and usage for #1574 so that we can mark it 'done done'. Make sure we document any setup issues/processes and the settings.py setup required for CKAN so that Mark can announce next week and it should be easily deployable/testable. Internal (perhaps in README somewhere or wiki): how does process work, where does data end up and in what order etc External: here's how to configure it and here's what you get ... (goes in main sphinx docs) |
1326904939000000 | 1338202930000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1685 | enhancement | ross | ross | ckan-backlog | closed | wontfix | Move archiver download function to core |
Archiver is included in some places just for access to download(), we should move this to lib in core. |
1326984170000000 | 1346670530000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1687 | enhancement | ross | ross | closed | invalid | Deploy new storage changes from master to datahub |
We need to deploy the new storage changes (and webstore) to thedatahub for further testing |
1327056976000000 | 1329338671000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1690 | enhancement | ross | ross | closed | fixed | Rename storage settings with the ckan prefix |
Missed the ckan prefix on the storage settings names so this needs to be fixed. |
1327064844000000 | 1327066713000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1693 | defect | ross | ross | closed | fixed | register_pluggable_behaviour should not be in routing |
We should try and move register_pluggable_behaviour into environment and out of routing as it is causing import issues when using simple search. These functions already take a map and so they should be fine any time after the call to make_map |
1327321474000000 | 1338206601000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1742 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | Naming of a new package/group can clash with a route |
It is possible to create a group or a dataset called new, or edit, which will then be inaccessible as it is blocked by the existing routes with those names. We should maintain a list of invalid names in the verification that happens behind the scenes in the UI. |
1328116317000000 | 1331555193000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1755 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Alpha paged view of publishers |
The publisher index page should show an alpha paged list of publishers. |
1328530634000000 | 1328631064000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1756 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Treeview of hierarchical publishers |
The publisher index page should show a treeview of the publishers within the system. Probably behind a tab. |
1328530689000000 | 1328709846000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1757 | enhancement | ross | ross | ckan-sprint-2012-03-05 | closed | fixed | DGU Hide administrators from public view |
On publisher view page - hide administrators from public view - only logged in admins of group should see them. |
1328530775000000 | 1338205187000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1758 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Check user management auth |
Ensure publisher edit page only allows admins to manage users. #1675 is related. |
1328530915000000 | 1328709897000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1759 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Create publisher form access |
Only sysadmin can access create publisher form. |
1328530956000000 | 1329732744000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1760 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Extract current publisher hierarchy |
Write a one-off script for import of the data. |
1328531001000000 | 1328709560000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1761 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU History visibility |
History on user profile should only be visible to a user who is a member of at least one group. |
1328532889000000 | 1328716686000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1762 | enhancement | ross | ross | ckan-sprint-2012-02-20 | closed | fixed | DGU Join publisher form |
A new form for create publisher -> Add publisher access to your account' New wizard Autocomplete publisher name if linked from publisher view. Email address used to publish should be activated/validated on first use. Original email still used to log in. |
1328532992000000 | 1329729305000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1793 | enhancement | ross | ross | closed | duplicate | Publisher changes |
Changes to publishers for customer |
1329214299000000 | 1329214522000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1794 | enhancement | ross | ross | closed | fixed | Publisher changes |
Changes to publishers for customer that would otherwise clutter up the master branch. |
1329214301000000 | 1332148972000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1795 | enhancement | ross | ross | closed | wontfix | Add approval_status to Package (as for Group) |
The Package model should have a approval_status as the Group model does. See migration 049. |
1329234060000000 | 1338206587000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1796 | enhancement | ross | dread | ckan-future | closed | fixed | Get rid of lxml dependency |
lxml is used in CKAN core in two places:
Both of these could be done with xml.dom built into Python and would save us a sizeable and slightly problematic dependency. lxml is needed by these extensions: ckanext-inspire, ckanext-harvest, ckanext-csw & ckanext-wordpresser, so we'd have to add this to their requirements. |
1329244440000000 | 1340635557000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2204 | enhancement | ross | rgrp | ckan-sprint-2012-04-30 | closed | fixed | [super] Related (Stuff) Extension |
This is a reworking of the existing apps extension. Initial proposal at http://wiki.ckan.org/Proposals#Apps_in_CKAN and http://wiki.ckan.org/Proposals#References.2FLinks_in_CKAN NamingWhat do we call this extension?
Proposal"Related Stuff": Apps as in an application (website/service/tool) that uses this dataset (as in Apps and Ideas extension)
ImplementationNew table named Related with following structure || id (int) || type || title || description (markdown) || image_url || owner_id || url || created (timestamp)
Related2Dataset (note that related_id, dataset_id tuple should be unique). This allows for m2m connections. If a given related item is only with one dataset this could be simplified. May contain status so dataset owner can turn this on/off. || id || dataset_id || related_id || status status should be used to allow for a dataset owner (for dataset_id) to de-activate the relationship between the dataset and the related. Url
/dataset/{id}/related <- list
/dataset/{id}/related/{id} (optional) /dataset/{id} will have a Related tab (with bubble with count).
/related/{id}/edit AuthorizationAddition of related item be considered orthogonal to datasets (and hence with separate authorization i.e. i can add the info that site X uses dataset Y without needing permission to edit dataset Y). Thus any logged in user could add a Related item. We set the owner of the related item to creating user and going forward only that user or a sysadmin can update or delete. NB: we could have a system where datasets owners have to approve related items before they show up next to their dataset. This would add substantial complexity so I propose we leave out of phase 1. Tasks and estimates {7.5d}[x] Model + Migration for Related table. {0.75d} [x] Controller for Related (or relevant sections in Package controller). {0.75d} [x] Routing setup. {0.25d} [x] Schema for related. {0.5d} [x] Logic layer actions. {1.0d} [x] Auth (default + publisher). {0.5d} [x] Templates + Dataset changes (new tab etc). {1.0d} [x] JS Application for adding Related objects in a modal. {1.0d} [x] Testing. {0.75d} [x] Dataset owner disabling of Related (via M2M table). {0.5d}
[x] Documentation. {0.25d} |
1330862992000000 | 1337594723000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2209 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | Object->RDF mapping |
Super is [1649] We need to provide customisable mappings between CKAN models and RDF. This needs to be easily configurable for different clients and should take into account objects related to the model being mapped. Current contenders for impl are:
Approach is to get a mapping complete of the attributes directly in the package class, and then provide mappings for related objects (tags/resources etc). We'll then need to be able to publish the RDF to a triplestore. See http://ckan.okfnpad.org/rdfmapping for further analysis. |
1331027277000000 | 1336566051000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2210 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | Add method to group for adding members |
It is necessary to add a helper method to Group for adding members to that group so that
|
1331028470000000 | 1331549369000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2211 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | Logic layer access to publisher functionality |
Most of the get_group/add_member style calls should be handled, or at least provided via logic layer. Don't need to break existing code, but do need to provide access via logic layer |
1331028751000000 | 1331549406000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2228 | enhancement | ross | ross | ckan-sprint-2012-03-19 | closed | fixed | IGroupForm should allow overriding of non-edit templates |
IGroupForm should allow overriding of non-edit templates so that it can specify the index +/or search +/or view. |
1331637803000000 | 1332149030000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2239 | enhancement | ross | ross | ckan-sprint-2012-04-30 | closed | fixed | EC ODP RDF/N3 templates |
Implement the EC/ODP template for RDF to match the requested schemas. Using the previous work on allowing for templatised RDF representations we should implement the proposed schema for EC/ODP. We also agreed to allow upload of RDF as an extra (raised to top level in package schema) which will instead be used for the RDF template. On insertion extra CKAN triples will be added... initially this is just owl:sameAs although we're awaiting EC/ODP agreement on which triples we should add to show the CKAN link. |
1332169703000000 | 1335516499000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2240 | enhancement | ross | ross | ckan-sprint-2012-04-02 | closed | fixed | Document CityData ideas |
Document the ideas raised on 14/03 for CityData? and distribute to team for discussion |
1332169761000000 | 1332408769000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2255 | enhancement | ross | ross | ckan-sprint-2012-04-30 | closed | fixed | Organizations (Privacy + Ownership) |
[x] The publisher_form extension and the 'publisher' component of the system will be renamed to organizations to both make its functionality clear, and to differentiate it from the publish auth profile. Ownership of datasets is important and this ticket will enforce membership for a dataset to a single individual organization. The workflow for adding a dataset to a publisher/organization will stay the same but there will be no mechanism for adding existing datasets to an organization from within the organization forms.
[x] Privacy will be enforced by changing the dataset form to have a public/private switch next to the organization drop-down which will be set as the capacity with which the dataset is added to an Organization. Private means visible only within the Organization, and should be the default. [x] Search will be affected as the public/private status of a dataset will need to be added to the schema [x] Only public datasets showing in site search, and private showing in organization dataset search (if user is within the organization). [x] Make sure resources are restricted in visibility if the parent dataset is private [x] Documentation should be updated to reflect these changes. [x] Verify, then add, then re-add to documentation.
|
1332417218000000 | 1334663670000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2280 | enhancement | ross | johnglover | ckan-sprint-2012-04-30 | closed | fixed | Move ecportal to organizations, add history template | 1333552029000000 | 1334834302000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2293 | defect | ross | rgrp | ckan-sprint-2012-06-25 | closed | fixed | Rename of Group results in disappearance of associated datasets from group page |
Rename of group makes all the datasets associated with the group disappear on the group listing page. (But they are still there if you look at edit). Suspect this is because we are using group name (rather than id!!) in the search index ... As group rename should be rare I'm marking this as minor though actual effect is major. Assigning to rossjones for review and cost assessment. |
1334432078000000 | 1340266982000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2303 | enhancement | ross | ross | ckan-sprint-2012-04-30 | closed | fixed | Move ECPortal rdf dump paster |
Move ECPortal rdf dump paster command into core so that it can be run on thedatahub for virtuoso install. |
1334582692000000 | 1334664098000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2312 | enhancement | ross | ross | ckan-future | closed | duplicate | Analysis of how datasets could belong to users instead of Groups |
DUPLICATE OF #2548 Currently datasets can only be part of a group but that is quite heavyweight when a single user wants to upload a single dataset. To resolve this it would be great if a dataset could be attached to a user directly - find out how. |
1334663770000000 | 1340188765000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2322 | enhancement | ross | rgrp | ckan-sprint-2012-05-29 | closed | fixed | Convenience offset on end of resource urls: /raw, /api, /viewer |
Raw/raw or /download (latter may be better) /dataset/{id}/resource/{resource-id}/raw => redirects to resource url (download) API/dataset/{id}/resource/{resource-id}/api[/....] => either redirects or directly serves /api/data/{resource-id} Viewer (Explorer?)Do data viewer but without anything else showing (full-screen?). this would not be just the data explorer but other cases too (including iframe etc ...) /dataset/{id}/resource/{resource-id}/viewer Resource (pre)-viewer without anything else (perhaps include resource title) Assigning for kindly for review. These would take about 20m to implement and would be *very* convenient from my experience of using the data API. Implementation at enhancement-2322-convenience-urls |
1335236581000000 | 1344086640000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2323 | enhancement | ross | ross | ckan-backlog | closed | fixed | Auto-complete in organizations |
Apparently auto-complete in Organizations may not work. Check and fix. See https://github.com/okfn/ckan/commit/5eca7d5e37c0ef392b768b8b3768b2c3f93448b5 |
1335274354000000 | 1340188400000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2349 | enhancement | ross | ross | ckan-sprint-2012-06-25 | closed | fixed | Make sure semantic.datahub.io gets created |
[x] Redeploy Sparql endpoint
[x] Make sure it is available at datahub.io/sparql or semantic.datahub.io/sparql [x] Generate daily dumps [x] Make dumps available via web [x] Notify Hugh once running [x] Announce to LD guys [x] Think about how we can apply this to publicdata.eu (can we do the same?) ... (being done elsewhere) |
1335880412000000 | 1340356629000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2353 | enhancement | ross | ross | ckan-sprint-2012-05-15 | closed | fixed | Provisional user stories for CMS + Blogging |
Provide some provisional user stories for the CMS/Blogging feature. Should include some of the functionality from wordpresser but be more generic. |
1335884700000000 | 1336566004000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2364 | enhancement | ross | ross | ckan-sprint-2012-05-15 | closed | fixed | Investigation of payment gateways |
Need to investigate alternative payment gateways |
1335889757000000 | 1337077531000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2365 | enhancement | ross | ross | ckan-sprint-2012-06-25 | closed | fixed | Investigation of multisite |
What would as a multisite CKAN look like? This is really part of the work around turnkey/hosted CKAN |
1335889911000000 | 1340266964000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2366 | enhancement | ross | amercader | ckan-sprint-2012-06-25 | closed | fixed | Remove Authorization Groups |
1.7 will hide the link on the footer and put a deprecation notice on the related pages, but they should be completely removed on 1.8. |
1335892563000000 | 1346316322000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2374 | enhancement | ross | dread | ckan-v1.8 | closed | worksforme | tag search paging |
Currently in the logic function tag_search you can specify limit and offset, but no count is returned. Therefore pagination is not possible for tag results. This is desired though. |
1336154025000000 | 1340287976000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2379 | enhancement | ross | ross | ckan-sprint-2012-06-25 | closed | fixed | RDF output, api/sparql |
From: Pierre-Yves Vandenbussche In my use case I need to fetch every sparql endpoint associated to a dataset. With the previous version of your endpoint, I was doing this query: SELECT DISTINCT ?dataset ?endpoint ?title ?identifier WHERE {
} ORDER BY ?title Using your new version,dcterms:title of a dataset is now a rdfs:label ... OK Unfortunately, I don't have the information of "api/sparql" anymore. So I can not differentiate between a dump file and a SPARQL endpoint... Add the required information to the RDF template. |
1336735947000000 | 1340033026000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2380 | enhancement | ross | ross | opendatasuite 1 | closed | duplicate | DataGM Upgrade |
Provide a new test install of DataGM based on the ODS demo site being completed through June. |
1337002144000000 | 1340627558000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2381 | enhancement | ross | ross | ckan-v1.8 | closed | fixed | Related item count on ALL dataset pages |
Make sure the related item count is available on all dataset pages (inc. follow) when it is enabled. |
1337009133000000 | 1337011327000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2385 | enhancement | ross | ross | ckan-sprint-2012-05-29 | closed | fixed | Specifying capacity in search api call |
Currently you can specify the capacity in the API search, this should be stripped and default to public for now. |
1337092899000000 | 1337102816000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2409 | enhancement | ross | markw | ckan-sprint-2012-05-29 | closed | fixed | Accept headers not handled correctly |
CKAN returns HTML when an Accept header should make it return RDF/XML: http://lists.okfn.org/pipermail/ckan-dev/2012-May/002237.html |
1337683898000000 | 1337856979000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2410 | enhancement | ross | ross | ckan-sprint-2012-05-29 | closed | wontfix | New RDF serialization required VOID vocab for related datasets |
Taken from http://lists.okfn.org/pipermail/ckan-dev/2012-May/002218.html A few months ago, the RDF provided when dereferencing a dataset's URI was very useful. It described the datasets using many of the "right" RDF vocabularies (dcterms, void, etc). The RDF that is returned now no longer has these nice descriptions. Instead, it seems to be a mindless transcription of the CKAN record. For example, the older descriptions gave: <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states>
but now it's simply: <http://thedatahub.org/dataset/farmers-markets-geographic-data-united-states>
My old copies of the dataset descriptions mentioned a "GoLD CKAN 1.0" that was credited for the nicer modeling. Where did that go? Can we get it back? Thanks, Tim Lebo <http://semantic.ckan.net/record/91d2c0de-75a4-4bb6-b260-bc2946e1be8b>
… |
1337684531000000 | 1338193633000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2413 | enhancement | ross | ross | ckan-sprint-2012-05-29 | closed | fixed | Replace/Fork autoneg |
Take revelvant parts of autoneg ( https://github.com/wwaites/autoneg.git ) so that we can remove the dependency (just for two functions) and thereby remove flup as well. |
1337761125000000 | 1337766546000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2414 | enhancement | ross | ross | ckan-sprint-2012-06-25 | closed | fixed | Remove LXML as a dependency on core CKAN |
Core CKAN currently has a dependency on LXML and it would be nice if we could remove it (although this *may* be indirectly through genshi). |
1337761192000000 | 1338471374000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2423 | enhancement | ross | seanh | ckan-sprint-2012-05-29 | closed | duplicate | Get rid of CKAN's lxml dependency | 1337946234000000 | 1338193199000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2424 | enhancement | ross | seanh | ckan-sprint-2012-05-29 | closed | duplicate | Get rid of CKAN's autoneg dependency | 1337946279000000 | 1338193269000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2500 | defect | ross | icmurray | ckan-v1.8 | closed | fixed | get_action should raise an exception if the action requested doesn't exist |
Original bug report:
|
1339072580000000 | 1340293636000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2514 | enhancement | ross | seanh | closed | wontfix | Follow/unfollow button looks weird |
It's in the tab bar (maybe not the right place for a button? but I wanted it to be next to the follower tab and count) and doesn't like very much like a button |
1339578189000000 | 1340959787000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2515 | enhancement | ross | seanh | closed | fixed | Related tab doesn't look selected when selected |
The related tab on the dataset page doesn't change its appearance when selected like the other tabs do |
1339578247000000 | 1340967971000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2519 | enhancement | ross | ross | ckan-v1.9 | closed | fixed | Dataproxy (converters) enhancement |
Whilst the error messages returned from the dataproxy are informative, they aren't particularly human readable. It isn't clear to the user whether they should retry, or whether the format of their data is causing the problem etc... Would be lovely if the error messages returned contained a human readable version of the error. |
1339584955000000 | 1345565215000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2545 | requirement | ross | ross | opendatasuite 1 | closed | fixed | Need to build DataGM site based on ODS |
RequirementsWe need to clone the demo ODS site for DataGM as soon as we have a mostly working demo so that the DataGM team can try it out and comment/feedback on functionality. InterfaceNone User StoriesNone Tasks[ ] Deploy demo DataGM site. Estimates |
1340016640000000 | 1344337973000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2549 | enhancement | ross | ross | ckan 2.0 | closed | wontfix | Merge organization logic into groups |
RequirementsMerge the organizations plugin into the core groups functionality. Most of this is templating and a small number of changes to the group controller. Investigate the possibility of removing the Membership model and using FKs. InterfaceThis is likely to consist of:
User StoriesNone Tasks[ ] Code
[ ] Documentation Estimates |
1340017421000000 | 1350562037000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2577 | enhancement | ross | ross | ckan-v1.9 | closed | fixed | Dataproxy raises 500 when it can't get CSV |
When given a url parameter for a file it cannot fetch, the app raises a 500 instead of something useful. Better error reporting in the JSON would be useful |
1340207124000000 | 1346669735000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2601 | defect | ross | seanh | closed | fixed | 500 Server Error when editing datasets with organizations plugins enabled |
Add the organizations and organizations_dataset plugins to ini file, run ckan, login, create an organization, create a dataset and put in organization, edit the dataset and set organization to none, try to edit the dataset again (you must be sysadmin to do this) and get a 500: Error - <class 'genshi.template.eval.UndefinedError'>: [] has no member named "get" URL: http://127.0.0.1:5000/dataset/edit/fooset File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/weberror/errormiddleware.py', line 162 in __call__ app_iter = self.application(environ, sr_checker) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/beaker/middleware.py', line 73 in __call__ return self.app(environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/beaker/middleware.py', line 155 in __call__ return self.wrap_app(environ, session_start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/routes/middleware.py', line 130 in __call__ response = self.app(environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 125 in __call__ response = self.dispatch(controller, environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 324 in dispatch return controller(environ, start_response) File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 221 in __call__ res = WSGIController.__call__(self, environ, start_response) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 221 in __call__ response = self._dispatch_call() File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call response = self._inspect_call(func) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 107 in _inspect_call result = self._perform_call(func, args) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/controllers/core.py', line 60 in _perform_call return func(**args) File '/home/seanh/Projects/ckan/ckan/ckan/controllers/package.py', line 499 in edit extra_vars=vars) File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 148 in render return cached_template(template_name, render_template, loader_class=loader_class) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/pylons/templating.py', line 249 in cached_template return render_func() File '/home/seanh/Projects/ckan/ckan/ckan/lib/base.py', line 101 in render_template return literal(stream.render(method=method, encoding=None, strip_whitespace=True)) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/core.py', line 183 in render return encode(generator, method=method, encoding=encoding, out=out) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 57 in encode return _encode(''.join(list(iterator))) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 339 in __call__ for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 670 in __call__ for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 771 in __call__ for kind, data, pos in chain(stream, [(None, None, None)]): File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/output.py', line 586 in __call__ for ev in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/core.py', line 288 in _ensure for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 605 in _include for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/markup.py', line 327 in _match for event in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 545 in _flatten for kind, data, pos in stream: File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/directives.py', line 169 in _generate attrs = _eval_expr(self.expr, ctxt, vars) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/base.py', line 277 in _eval_expr retval = expr.evaluate(ctxt) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/eval.py', line 178 in evaluate return eval(self.code, _globals, {'__data__': data}) File '/home/seanh/Projects/ckan/ckan/ckanext/organizations/templates/organization_package_form.html', line 110 in <Expression u"{'selected':'selected'} if organization.get('id','') == group['id'] else {}"> <option value="${group['id']}" py:attrs="{'selected':'selected'} if organization.get('id','') == group['id'] else {}">${group['title']}</option> File '/home/seanh/Projects/ckan/ckan/ckan/config/environment.py', line 248 in genshi_lookup_attr val = cls.undefined(key, owner=obj) File '/home/seanh/.virtualenvs/ckan/local/lib/python2.7/site-packages/genshi/template/eval.py', line 410 in undefined raise UndefinedError(key, owner=owner) UndefinedError: [] has no member named "get" |
1340722754000000 | 1341291379000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2605 | enhancement | ross | ross | ckan-v1.8 | closed | fixed | Problem with user.get_groups |
From DR at DGU Basically get_groups() appears to cache its results, but this falls down when subsequent calls are in a different session. We get this when saving a dataset. get_groups() first gets called in the controller when it is trying to work out what permissions the user has. It later gets called, and by this time c.userobj is detached, so get_groups() fails. I'm working around this by refreshing c.userobj (from c.user) before calling get_groups(), but I wonder if the get_groups caching could detect the detached session and bypass the cache in this case? diff at https://gist.github.com/3003117 |
1340793006000000 | 1343127369000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2623 | enhancement | ross | seanh | closed | invalid | Organization join/authorization buttons weirdness |
Enable the organizations and organizations_dataset plugins. Start CKAN. Login and create a new organization. Logout. Login with a different account that is a sysadmin. Go to the organization you just created with the other account. There are Edit and Join buttons. Click on the Edit button, and the Join button changes to Authorization. It should probably be an Authorization button right from the start if you are a sysadmin. |
1341220902000000 | 1341232433000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2624 | enhancement | ross | seanh | ckan-v1.8 | closed | fixed | Organizations breaks dataset tag editing |
Enable the organizations and organizations_dataset plugins, login to ckan, create a group, create a dataset and add it to the group. Edit the dataset, add some tags to it. The new tags are not saved when you submit. Disable the organizations and organizations_dataset plugins and tag editing works again. |
1341226411000000 | 1341831716000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2649 | enhancement | ross | ross | ckan-v1.8 | closed | fixed | Description on resources not rendered as markdown |
When a resource doesn't have a description, it is rendered as markdown from the description of the dataset. If the resource does have a description it isn't rendered as markdown .. |
1341923135000000 | 1342084280000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2650 | enhancement | ross | ross | ckan-v1.8 | closed | fixed | Description on resources not rendered as markdown |
When a resource doesn't have a description, it is rendered as markdown from the description of the dataset. If the resource does have a description it isn't rendered as markdown .. |
1341923137000000 | 1341943716000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2668 | defect | ross | dread | ckan-v1.9 | closed | fixed | Permission for sysadmin to read a deleted publisher |
As a sysadmin I should be able to view deleted groups/publishers (publisher profile) but I can't. In addition, there don't seem to be tests for permissions of deleted publishers. |
1342171453000000 | 1345565100000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2670 | defect | ross | dread | ckan-v1.8 | closed | fixed | model.Group.get_children_groups returns deleted groups |
I believe it should only return active ones. On DGU we see deleted publishers popping up. |
1342175117000000 | 1342440953000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2736 | enhancement | ross | ross | ckan-v1.9 | closed | wontfix | Archiver fixes |
We need to check the archiver to make sure it works as we would expect after the changes in #2732:
Maybe this could/should be implemented as a service rather than a celery task? |
1343121237000000 | 1346670097000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2865 | enhancement | ross | ross | closed | fixed | 1.8 unicode error |
URL: http://thedatahub.org/el/tag/jutatt%C3%A1sok Module weberror.errormiddleware:162 in call << traceback_supplement = Supplement, self, environ
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.template:30 in view << """
Module ckan.lib.base:153 in render << try:
Module pylons.templating:249 in cached_template << return content
Module ckan.lib.base:95 in render_template << template = globsapp_globals?.genshi_loader.load(template_name,
Module genshi.template.loader:223 in load << loadfunc = directory(loadfunc)
Module genshi.template.loader:286 in _load_from_directory << def _load_from_directory(filename):
UnicodeEncodeError?: 'ascii' codec can't encode character u'\xe1' in position 73: ordinal not in range(128) CGI Variables CKAN_CURRENT_URL '/el/tag/jutatt%C3%A1sok' CKAN_LANG 'en' CKAN_LANG_IS_DEFAULT True CKAN_PAGE_CACHABLE True CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/el/tag/jutatt\xc3\xa1sok' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/el/tag/jutatt\xc3\xa1sok' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '49520' REQUEST_METHOD 'GET' REQUEST_URI '/el/tag/jutatt%c3%a1sok' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> beaker.session {'_accessed_time': 1345113298.778472, '_creation_time': 1345113298.778472} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: >, ) paste.registry <paste.registry.Registry object at 0x7f5309add610> paste.throw_errors True pylons.action_method <bound method TemplateController?.view of <ckan.controllers.template.TemplateController? object at 0x7f52b0ea2d10>> pylons.controller <ckan.controllers.template.TemplateController? object at 0x7f52b0ea2d10> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52b0ea2b90> pylons.routes_dict {'url': u'el/tag/jutatt\xe1sok', 'action': u'view', 'controller': u'template'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f531296ea10> routes.url <routes.util.URLGenerator object at 0x7f5309add810> webob._parsed_query_vars (GET([]), ) webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52d4004990> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f5309add810>, {'url': u'el/tag/jutatt\xe1sok', 'action': u'view', 'controller': u'template'}) |
1345114613000000 | 1346670331000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2866 | enhancement | ross | ross | closed | fixed | 1.8 template error |
URL: http://thedatahub.org/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8 Module weberror.errormiddleware:162 in call << traceback_supplement = Supplement, self, environ
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.user:409 in perform_reset << c.reset_key = request.params.get('key')
Module ckan.lib.mailer:100 in verify_reset_link << if not user.reset_key or len(user.reset_key) < 5:
AttributeError?: 'NoneType?' object has no attribute 'strip' CGI Variables CKAN_CURRENT_URL '/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%253Db4c2d03fa8' CKAN_LANG 'it' CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d' QUERY_STRING 'key%3Db4c2d03fa8' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '54634' REQUEST_METHOD 'GET' REQUEST_URI '/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> beaker.session {'_accessed_time': 1345066159.520708, '_creation_time': 1345066159.520708} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: >, ) paste.parsed_dict_querystring (MultiDict?([('key=b4c2d03fa8', )]), 'key%3Db4c2d03fa8') paste.parsed_querystring ([('key=b4c2d03fa8', )], 'key%3Db4c2d03fa8') paste.registry <paste.registry.Registry object at 0x7f52eba637d0> paste.throw_errors True pylons.action_method <bound method UserController?.perform_reset of <ckan.controllers.user.UserController? object at 0x7f52e49f7a50>> pylons.controller <ckan.controllers.user.UserController? object at 0x7f52e49f7a50> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52f5649ad0> pylons.routes_dict {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f5312961ad0> routes.url <routes.util.URLGenerator object at 0x7f52de7f6390> webob._parsed_query_vars (GET([('key=b4c2d03fa8', )]), 'key%3Db4c2d03fa8') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52fc4f1a08> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f52de7f6390>, {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'}) |
1345114641000000 | 1346670324000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2868 | enhancement | ross | ross | closed | fixed | 1.8 SOLR error |
From: <thedatahub.org@…> Date: Wed, Aug 15, 2012 at 8:34 AM Subject: WebApp? Error: <class 'ckan.lib.search.common.SearchError?'>: SOLR returned an error running query: {'sort': 'metadata_modified desc', 'fq': u'groups:"welcome" capacity:"public" +site_id:"www.ckan.net" +state:active', 'facet.mincount': 1, 'rows': 21, 'facet.limit': '50', 'facet': 'true', 'q': '*:*', 'start': -20, 'wt': 'json', 'fl': 'id data_dict'} Error: "'start' parameter cannot be negative" To: ckan-sysadmin@…, kindly@… URL: http://thedatahub.org/feeds/group/welcome.atom?page=0 Module weberror.errormiddleware:162 in call << traceback_supplement = Supplement, self, environ
Module beaker.middleware:73 in call << self.cache_manager)
Module beaker.middleware:155 in call << headers.append(('Set-cookie', cookie))
Module routes.middleware:131 in call << r'\1', oldpath)
Module pylons.wsgiapp:125 in call <<
Module pylons.wsgiapp:324 in dispatch << if log_debug:
Module ckan.lib.base:239 in call << try:
Module pylons.controllers.core:221 in call << return response(environ, self.start_response)
Module pylons.controllers.core:172 in _dispatch_call << req.environpylons.action_method? = func
Module pylons.controllers.core:107 in _inspect_call << func.name, args)
Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method"""
Module ckan.controllers.feed:180 in group << data_dictfq? = 'groups:"%s"' % id
Module ckan.controllers.feed:57 in _package_search << # package_search action modifies the data_dict, so keep our copy intact.
Module ckan.logic.action.get:1130 in package_search << query = search.query_for(model.Package)
Module ckan.lib.search.query:350 in run << except SolrException?, e:
SearchError?: SOLR returned an error running query: {'sort': 'metadata_modified desc', 'fq': u'groups:"welcome" capacity:"public" +site_id:"www.ckan.net" +state:active', 'facet.mincount': 1, 'rows': 21, 'facet.limit': '50', 'facet': 'true', 'q': '*:*', 'start': -20, 'wt': 'json', 'fl': 'id data_dict'} Error: "'start' parameter cannot be negative" CGI Variables CKAN_CURRENT_URL '/feeds/group/welcome.atom?page%3D0' CKAN_LANG 'ja' CONTENT_TYPE '; charset=utf-8' DOCUMENT_ROOT '/etc/apache2/htdocs' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT '*/*' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'close' HTTP_FROM 'googlebot(at)googlebot.com' HTTP_HOST 'thedatahub.org' HTTP_USER_AGENT 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' PATH_INFO '/feeds/group/welcome.atom' PATH_TRANSLATED '/etc/ckan/datahub/apache.wsgi/ja/feeds/group/welcome.atom' QUERY_STRING 'page=0' REMOTE_ADDR '127.0.0.1' REMOTE_PORT '33139' REQUEST_METHOD 'GET' REQUEST_URI '/ja/feeds/group/welcome.atom?page=0' SCRIPT_FILENAME '/etc/ckan/datahub/apache.wsgi' SERVER_ADDR '127.0.0.1' SERVER_ADMIN '[no address given]' SERVER_NAME 'thedatahub.org' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' SERVER_SIGNATURE '<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n' SERVER_SOFTWARE 'Apache/2.2.22 (Ubuntu)' WSGI Variables application <beaker.middleware.CacheMiddleware? object at 0x7f5312a51650> beaker.cache <beaker.cache.CacheManager? object at 0x7f5312a51790> beaker.get_session <bound method SessionMiddleware?._get_session of <beaker.middleware.SessionMiddleware? object at 0x7f5312a516d0>> beaker.session {'_accessed_time': 1345016040.884951, '_creation_time': 1345016040.884951} mod_wsgi.application_group 'ckan.net|' mod_wsgi.callable_object 'application' mod_wsgi.handler_script mod_wsgi.input_chunked '0' mod_wsgi.listener_host mod_wsgi.listener_port '8080' mod_wsgi.process_group 'datahub' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.script_reloading '1' mod_wsgi.version (3, 3) paste.cookies (<SimpleCookie: >, ) paste.parsed_dict_querystring (MultiDict?([('page', '0')]), 'page=0') paste.parsed_querystring ([('page', '0')], 'page=0') paste.registry <paste.registry.Registry object at 0x7f5302eef7d0> paste.throw_errors True pylons.action_method <bound method FeedController?.group of <ckan.controllers.feed.FeedController? object at 0x7f52f0341750>> pylons.controller <ckan.controllers.feed.FeedController? object at 0x7f52f0341750> pylons.environ_config {'session': 'beaker.session', 'cache': 'beaker.cache'} pylons.pylons <pylons.util.PylonsContext? object at 0x7f52f0341450> pylons.routes_dict {'action': u'group', 'controller': u'feed', 'id': u'welcome'} repoze.who.logger <logging.Logger object at 0x7f53127b2b50> repoze.who.plugins {'openid': <OpenIdIdentificationPlugin? 139994769488336>, 'friendlyform': <FriendlyFormPlugin? 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator? object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin? 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>} routes.route <routes.route.Route object at 0x7f5312961e90> routes.url <routes.util.URLGenerator object at 0x7f52f0341210> webob._parsed_query_vars (GET([('page', '0')]), 'page=0') webob.adhoc_attrs {'language': 'en-us'} wsgi process 'Multi process AND threads (?)' wsgi.file_wrapper <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52ed4873f0> wsgi.version (1, 1) wsgiorg.routing_args (<routes.util.URLGenerator object at 0x7f52f0341210>, {'action': u'group', 'controller': u'feed', 'id': u'welcome'}) |
1345114696000000 | 1345124503000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2879 | enhancement | ross | ross | ckan 2.0 | closed | wontfix | Datasets (Package) should have a 'public' field |
The Package model should have a boolean field added to it describing its visibility beyond that supplied via auth. The related permission for viewing packages where public is set to False would be package.view (show, whatever), and *never* visible for unauthenticated users. |
1345466389000000 | 1350562096000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#29 | enhancement | rgrp | rgrp | milestone16 | closed | fixed | Improve installation process |
|
1152553638000000 | 1183648166000000 |